Project overview

Minasty is a commissioned Minecraft project for which I designed and developed an interconnected set of farming, fertility, and resource-management systems.

Visit Minasty’s website ↗

The work centered on making gameplay mechanics configurable and persistent. Crops could have planting requirements, soil conditions could influence growth and rewards, and mining could provide additional resources based on the surrounding environment.

Rather than implementing everything as one large plugin, I separated the underlying frameworks from Minasty’s specific gameplay rules. This resulted in five deployable plugins, with reusable APIs, PostgreSQL-backed persistence, and dedicated administrative tooling.

All five plugins and their operator handbooks were delivered in September 2026, completing my agreed scope.

Farming: More than breaking crops

The farming system was designed around configurable progression and player interaction.

Using FarmingCore and MinastyFarming, a configured crop can have planting requirements involving its biome, the surrounding soil’s fertility, the player’s Agriculture level, and unlocked Technology knowledge.

Growth is influenced by configurable fertility curves. Rather than replacing Minecraft’s growth system with custom timers, the implementation works with supported vanilla growth events, allowing growth opportunities to be reduced or suppressed according to the environment.

Harvesting also follows a controlled lifecycle. Under the delivered default settings, a mature crop requires four accepted interactions, separated by a minimum delay, before the harvest completes.

Only a completed harvest produces its configured reward. Depending on configuration, supported vanilla items are delivered as world drops or directly into the player’s inventory, with overflow handled automatically.

Underneath these mechanics, FarmingCore maintains crop identities, tracks their locations, and exposes APIs for registration, planting, growth authorization, harvesting, and lifecycle integration.

MinastyFarming applies the project’s own crop definitions and rules without forcing those concerns into the reusable farming framework.

Soil fertility and regional resources

The farming mechanics are supported by a separate resource and fertility system.

ResourceCore, embedded in the Resources plugin, provides persistent, chunk-level resource values. Administrators can define resource conditions across different regions without modifying the underlying gameplay code.

The accompanying administrative tools support resource inspection, area editing, previews, confirmations, undo operations, and audit logging.

Edits are validated before publication, and conflicting updates are rejected rather than silently overwriting another administrator’s work.

MinastyFertility builds on that resource framework to model soil depletion, crop history, repeated planting, crop rotation, and recovery while land remains unused.

The system preserves its historical state across restarts and chunk unloads. Instead of continuously updating every piece of farmland, it calculates eligible recovery using tracked occupancy and elapsed time.

Fertility behavior is configurable, allowing the server’s content team to tune gameplay without changing the persistence model. The delivered default wear and recovery settings were neutral, leaving final balancing to the client.

Mining and supplementary rewards

MinastyOres extends resource-aware gameplay into mining.

Administrators can assign resource densities to world regions, which influence the probability of receiving additional rewards when mining eligible blocks.

These rewards supplement normal Minecraft behavior rather than replacing it. Vanilla drops and experience remain intact, Silk Touch suppresses supplementary rewards, and Fortune can influence the quantity received.

Optional Mining-level and Technology requirements provide additional progression controls.

A particular concern was preventing players from repeatedly placing and breaking blocks to generate rewards.

To address this, the system maintains durable provenance markers for blocks created through supported event paths. Those markers survive restarts and prevent ordinary place-and-break reward loops.

The protection has defined boundaries: it does not retroactively reconstruct every block’s history or detect arbitrary changes performed outside the observed event paths.

Engineering for persistent, consistent state

A substantial part of the project involved ensuring that game events, plugin state, and database operations behaved predictably together.

Several decisions were especially important:

Stable identity and lifecycle tracking. Crop state is associated with precise world locations and validated physical blocks. Deferred placement checks prevent the tracking system from assuming an event’s intended result necessarily occurred.

PostgreSQL-backed persistence. Crop tracking, resources, and fertility state use durable storage. Changes are committed before replacement state becomes available to ordinary readers, and uncertain storage failures are surfaced instead of being silently treated as empty or default data.

Replay-safe fertility accounting. FarmingCore records ordered lifecycle receipts. MinastyFertility processes those receipts while committing soil changes alongside its consumption position, preventing the same event from applying soil wear twice during recovery.

Validated configuration changes. Candidate farming configurations are validated before activation. Internal reload handling includes recovery of previous registrations when replacement fails.

These boundaries were designed to keep the systems maintainable while making failures detectable rather than allowing them to corrupt gameplay state silently.

Testing and verification

The implementation was supported by automated testing and PostgreSQL-backed acceptance tests covering crop identity, lifecycle transitions, configuration validation, resource mutations, restart recovery, and failure handling.

Live validation was also performed on Paper 26.2 for the farming integration.

This verified actual placement and tracking behavior, four-interaction harvesting, crop resets, completion-only rewards, and both world-drop and inventory-based delivery.

Additional cases exercised inventory overflow and item-specific stack limits, including a controlled test delivering 130 wheat.

The documented live validation specifically covered farming behavior; it should not be interpreted as a production performance benchmark or exhaustive live verification of every integration.

Delivery and follow-up

The September 2026 delivery consisted of five server plugins:

  • FarmingCore — reusable crop lifecycle and tracking framework.
  • Resources — chunk-level resource engine and administration.
  • MinastyFarming — client-specific crop rules and reward delivery.
  • MinastyFertility — soil state, depletion, and recovery.
  • MinastyOres — supplementary mining rewards and block provenance.

The handoff also included supporting API artifacts, configuration support, and operator handbooks documenting installation, configuration, operational behavior, and known limitations.

A subsequent delivery added a Technology integration hook after the separately maintained API became available. This was distinct from the investigated Nexo crop adapter, which remained deferred because its available API did not provide the required lifecycle controls.

The resulting work provides Minasty with a configurable gameplay foundation while keeping reusable frameworks, commissioned integrations, and externally maintained progression systems clearly separated.