BuildUp

TDPlanter Changelog

Alle TD-Mods

Aktuell veroeffentlicht: 1.4.0

1.4.0

Added

  • Add the datapack-extensible tdplanter:natural_soils boundary for ordinary plants and automatic trees.

Fixed

  • Keep trees off farmland, sand, End Stone, Nether substrates, and decorative blocks that only inherit broad dirt tags.
  • Preserve Rich Soil and Fertilized Soil bonuses for trees through their full-block soil recipes.
  • Allow sugar cane on curated natural soils as well as the supported sand family.

1.3.0

Added

  • Add a structured coverage diagnosis with stable JSON exports under logs/tdplanter, runtime and loaded-mod versions, reload warnings, classified plant and soil candidates, expanded compatibility maps, namespace summaries, and all five effective TDPlanter recipe families.

1.2.0

Added

  • Add a persistent manual production switch to both planter interfaces; redstone remains authoritative and already paid output keeps draining.
  • Add reusable substrate-family tags and datapack-extensible coverage-ignore tags.

Fixed

  • Prevent Farmer's Delight mushroom-colony recipes from conflicting with the vanilla mushroom definitions.
  • Keep pristine broken planters stack-compatible with freshly crafted planters.
  • Restrict drop-level tool tags to the shears slot so hoe tags cannot trigger incorrect shears accounting.
  • Keep the Alex's Caves and Mekanism compatibility tests aligned with the current detector and soil contracts.
  • Centralize dependency versions, metadata compatibility policy, and installed-mod test patterns in gradle.properties; one mods-directory property can exercise all supported optional integrations after updates.
  • Match special plants to compatible sand, aquatic, Nether, sculk, and End substrate families.
  • Preserve native tool-gated harvest behavior for reviewed special plants.
  • Keep prepaid fertilizer yield visible in the Details tab after the input slot empties.
  • Commit fertilizer and hoe wear when a growth cycle starts, retain that fertilizer for the cycle, and show its native item tooltip in Details; shears remain a harvest-time cost.

1.1.7

Added

  • Add annotated planter, module, and filter screenshots to the English and German GuideME handbook.

1.1.6

Added

  • Add explicit planter support for the remaining reviewed vanilla plants, clear third-party crop gaps, and reported special soils.

Fixed

  • Restrict ordinary field crops to farmland-class soils while retaining dirt for trees, special plants, and tilling.

1.1.5

Added

  • Add a concise English and German GuideME handbook with separate pages for setup, upgrades, modules, filters, automation, and troubleshooting.

Fixed

  • Exclude recipe displays, harvest drops, and decorative name matches from loaded-registry plant and soil coverage gaps.

1.1.4

Added

  • Add built-in growth definitions for vanilla plants whose growth mechanics cannot be inferred from ordinary crop or sapling conventions.
  • Add a read-only loaded-registry coverage command that reports supported seeds and soils plus candidates requiring review.

Fixed

  • Allow fresh planters and planters with identical stored state to stack up to 64 while keeping different configurations separate.
  • Detect berry and grape bushes from conventional registry names, including irregular berries plurals.
  • Match Biomes We've Gone Yucca trees to their native sand substrate and oak-log trunk.

1.1.3

Fixed

  • Match native harvest products for supported Herbs & Harvest, Farmer's Delight, YUNG's Cave Biomes, Alex's Caves, Quark, Regions Unexplored, and Oh The Biomes We've Gone plants and fruit trees.

1.1.2

Added

  • Allow growth recipes to require a specific fertilizer ingredient.
  • Add a kelp recipe that requires a reusable water bucket fertilizer.
  • Allow drops to select native alternatives based on an installed tool tag.

Fixed

  • Match HerbalBrews lavender, hibiscus, coffee, and tea-family harvest products and shears behavior.

1.1.1

Fixed

  • Match filter editor buttons to the planter's dark textured controls and group harvest choices in inset panels.
  • Give the harvest editor button room below the input slots and keep progress indicators clear of it.
  • Recalculate harvest choices from installed tools when opening the filter, including leaves unlocked by shears; retain saved rules when tools change.

1.1.0

Added

  • Edit an installed Filter Module directly from the planter with item pictures, individual harvest choices, an outcome summary, undo, and a separate advanced rule editor.
  • Copy a configured Filter Module onto one new module in a crafting grid while retaining the original. Persistent item components carry all rules, including individual exceptions and temporarily missing item IDs.
  • Preserve stored rules when changing plants or moving a filter to a server with a lower entry limit. The limit restricts new rules instead of deleting existing data.
  • Reject stale filter editors after source, crop, soil, recipe, distance, or wax changes. Filter menu opening and individual choices use network protocol 3; clients and servers must update together.
  • Pause growth and new harvests in both planter variants while the lower block receives a redstone signal, retaining progress and stopping lamp energy consumption. Already harvested output continues draining.
  • Expose output-buffer fullness to comparators, including immediate updates when items enter or leave the buffer.
  • Add optional Alex's Caves growth recipes for Cycad, Curly Fern, and Flytrap, each yielding its own plant item on supported crop soils.

1.0.4

Fixed

  • Harvest HerbalBrews coffee plants as coffee beans instead of producing brewed coffee directly.
  • Allow sugar cane to grow only on normal sand, and support Farm & Charm wild nettle and ribwort plus HerbalBrews hibiscus and lavender with their native harvest drops.
  • Harvest HerbalBrews tea blossoms as green tea leaves plus a replacement blossom, and give Rooibos and Yerba Mate their native leaf yields.

Changed

  • Set farmland to 1.25x growth and 1.1x yield, Farm & Charm Fertilized Soil to 1.25x growth, Farmer's Delight Rich Soil to 1.5x growth, and Rich Soil Farmland to 2.1x growth and 1.5x yield. Existing Farm & Charm Fertilized Farmland remains at 1.5x growth and 1.25x yield.
  • Allow Create Wrenches and Mekanism Configurators in Rotate mode to rotate both planter variants, including through an installed glass hood.

1.0.3

Fixed

  • Drain large harvests through the two output slots in batches instead of permanently blocking recipes with more output stacks, including Pewen trees.
  • Charge tools and fertilizer once when the first batch fits, retain the paid remainder through saves and input changes, and pause growth until that remainder reaches the output slots. Breaking the planter drops all remaining harvested items.
  • Report blocked output while harvest items are waiting for buffer space.

1.0.2

Fixed

  • Return ejected modules to the player's inventory instead of dropping them. Keep all affected modules installed when inventory space is insufficient.

1.0.1

Fixed

  • Keep planter and filter labels within their bounds with full-text tooltips, and improve gold text contrast.
  • Explain invalid and duplicate filter entries, show the configured server limit, and preserve text input when the filter is full. Report server-adjusted filter edits.
  • Fix clients disconnecting when opening planter menus by reading the server layout without rejecting LDLib's appended UI initialization data. Truncated layouts and invalid layout flags remain rejected.
  • Cover modular and Simple Planter opening packets through the server menu-opening path and registered menu factory, and use the current opening format in the module-ejection test.
  • Preserve items when merging into occupied menu slots, including shift-click and partial-stack transfers.
  • Restore farmland support for wheat, carrots, potatoes, and beetroot, and prevent component alternatives from indexing the same recipe more than once.
  • Retain the active fertilizer effect through all prepaid cycles, including save/load, and enforce configured hoe requirements when committing ready harvests.
  • Reject cached automation handlers after module removal or block-entity removal.
  • Serialize filter edits and acknowledgments so delayed responses and closing the editor do not discard newer changes.
  • Persist blocked harvest rolls and their costs until buffer space is available; relevant input, recipe, or effective configuration changes invalidate the pending result.
  • Reject malformed hood-condition values and correct the documented interaction support.

Performance

  • Avoid allocating default tier profiles when the configured tier already exists.

1.0.0

Performance

  • Reuse server configuration snapshots until a config lifecycle event, and reset them when the config unloads.
  • Skip adjacent inventory lookups for empty output buffers, reuse stateless harvest/export services, and commit the already-checked output merge without calculating it twice.
  • Remove the obsolete Hopper argument from menu slot counting.

Removed

  • Removed manual harvesting, its button and network request, the player-inventory/world-drop output setting, and the harvest interaction action. Automatic buffer harvesting now uses the shared HarvestService.

Changed

  • Require the server's menu layout and reject missing or malformed opening data without a client-state fallback. Network protocol 2 requires matching client and server updates and rejects older protocol versions during connection.
  • Give every planter two permanent output buffer slots and automatic harvesting into the buffer. The Hopper Module enables downward export on modular planters; the rustic Simple Planter retains its built-in export. Removing a Hopper Module preserves buffered items and open menus, and cached automation handlers can no longer extract after removal.

Fixed

  • Accept Farm & Charm's Fertilized Soil in both planter variants and allow hoes to turn it into Fertilized Farmland, retaining the existing farmland growth and yield bonuses.
  • Send the server's slot layout when opening planter menus so delayed client block-entity updates cannot misalign output and player inventory slots.

Added

  • Add an optional tilled_soil block item ID to soil recipes for datapack-controlled hoe transformations; recipes without this field continue to use NeoForge's normal hoe transformation.

0.9.2

Fixed

  • Register existing menu slots with LDLib so items render only once and inventory clicks follow the scaled UI at high GUI scales; keep space below the interface for recipe viewer search.
  • Render bonsai trunks and foliage from the resolved growth recipe instead of always using oak blocks; show the seed model when tree materials cannot be resolved.
  • Give Pewen and eucalyptus distinct compact tree silhouettes and prevent overlapping trunk and foliage blocks.
  • Add an optional Alex's Caves Pewen growth recipe yielding Pewen logs and pines, overriding the unused oak grower inherited by its sapling.
  • Correct the same inherited oak-grower problem for Ancient, Thornwood, and Licoroot with optional growth recipes. Ancient yields jungle logs and Ancient leaves; Thornwood and Licoroot yield their own materials and render as leafless, branching bonsais.

0.9.1

Fixed

  • Show module installation and retrofit crafting recipes in EMI, including combined module installation and usage lookup on the module items. Displays are generated from loaded transform recipes and checked against the actual crafting logic.

0.9.0

Added

  • Install Hopper Modules, Glass Hoods, and Growth Lamps on planter items through shapeless crafting, individually or together. A lamp requires an existing hood or a hood in the same recipe. Existing modules and all other item state are preserved; duplicate or already installed modules are rejected.
  • Add the optional target.install_module field to crafting-only transform recipes so datapacks can customize module catalysts.

Fixed

  • Preserve additional planter item components, such as custom names, during crafting transformations, and validate cached crafting results against the current inputs.

0.8.2

Fixed

  • Restrict the missing-hood message and menu suppression to right-clicks with a Growth Lamp on a modular planter without a Glass Hood. Restore normal menu access without a hood for all other interactions, including waxed read-only access.
  • Clarify that the missing Glass Hood is required to install the Growth Lamp, not to open the planter menu.

0.8.1

Changed

  • Play the glass-breaking sound when successfully ejecting a Glass Hood.
  • Require an installed Glass Hood to open the modular planter menu by right-clicking, with a translated message explaining the missing upgrade. Direct item interactions and the Simple Planter menu remain available.

Fixed

  • Keep the Hopper Module status visible in the Overview tab when no hopper is installed, using the same muted appearance as other missing modules. Its eject button remains hidden until a hopper is installed.

0.8.0

Changed

  • Mining the upper glass hood or lamp now breaks the entire planter and preserves installed modules in its dropped item, just like mining the lower pot. The lower block's break protection is checked as well.

Added

  • Added module eject buttons to the Overview tab. Eject the hood together with its lamp, the lamp alone, or the hopper together with buffered output. Waxed planters reject module ejection.
  • Added survival pickaxe, item persistence, replacement, module ejection, and duplicate-drop regression coverage.

0.7.4

Fixed

  • Automatically scale down the Planter, Simple Planter, and Filter Module interfaces to fit the available screen space, preventing clipping at larger GUI scales or smaller window sizes without changing the player's GUI scale setting.

0.7.3

Fixed

  • Prefer direct seed-to-plant relationships over name-based automatic crop matches, preventing Farmer's Delight tomato seeds from being blocked by competing juvenile and mature plant definitions.
  • Resolve mature produce through the seed's crop name when a juvenile plant block has a different name, so budding tomatoes yield tomatoes instead of tomato seeds.
  • Replace generic recipe errors with server-supplied explanations for missing inputs, unsupported seeds, unsuitable soil, disabled cultivation, and recipe conflicts in both planter menus. Tooltips identify usable alternative soils or conflicting recipe IDs and provide English and German guidance.
  • Use declared status translation keys instead of constructing them with locale-dependent lowercasing.
  • Add optional compatibility tests using a local Farmer's Delight JAR, including farmland growth and harvesting checks for tomatoes, cabbage, onions, and rice in both planter variants.

0.7.2

Added

  • Added direct tag and logical drop-group entry fields to the Filter Module screen.
  • Added dependency checksum verification metadata and regression coverage for waxed automation, persisted filters, legacy output draining, datapack hood actions, structure cleanup, component-sensitive seeds, bounded harvest planning, and both Jade planter variants.

Fixed

  • Made wax mode freeze automatic harvesting, item transfer, and FE input, including capabilities cached before waxing.
  • Reset growth progress when the seed item or its components change, and made growth recipe caching component-aware.
  • Prevented combined tier, soil, and fertilizer yield multipliers from exceeding the supported effective limit, and bounded individual drop counts and planned output stacks before allocation.
  • Removed ghost hood and lamp state when the upper proxy is removed outside the normal player-break path, while retaining proxy repair behavior.
  • Made datapack install_hood actions use their declared recipe catalyst, preflighted multi-action recipes before mutation, and rejected ambiguous or predictably partial sequences.
  • Validated persisted and item-carried state at load and placement boundaries, clamped stored energy, and kept oversized legacy output buffers visible and drainable until production can resume.
  • Preserved unknown exact filter item IDs across data round trips while continuing to reject new unknown IDs submitted by clients.
  • Registered Jade information for the Simple Planter as well as the modular Planter.

0.7.1

Changed

  • The tier bands now use a dedicated gradient texture per tier: edge-dark, centre-bright horizontal sheen in the tier colour instead of a flat concrete tone. The textures are regenerated by tools/gen_band_textures.py.

0.7.0

Added

  • Added the Simple Planter (tdplanter:simple_planter): a rustic single-tier pot with a soil slot, a seed slot, and two output slots that always push the harvest into the container below. It takes no tool, fertilizer, or filter slots, accepts no modules or tier upgrades, and has no energy. It supports wax mode and the shared tdplanter:growth recipes at the Basic rate, and comes with a default crafting recipe (eight terracotta around a hopper) that packs can override.

Changed

  • The hoe requirement mode automation_required no longer blocks the Simple Planter, which has no tool automation; always_required still blocks hoe-gated crops on it.

0.6.0

Added

  • Added optional yield recipes for Farm & Charm and Alex's Caves fertilizers, with increasing bonuses above Bone Meal.
  • Added boosted Farm & Charm fertilized farmland and a Cocoa Beans recipe that requires jungle logs.
  • Added work-per-tick breakdowns and estimated cycle times to the planter details.
  • Added an optional JEI growth category so seed usages show compatible planter soils, configured drops, and base work.

Fixed

  • Moved the planter base-work text onto its own line below the drops label in both EMI and JEI so the recipe details no longer overlap.
  • Read JEI growth recipes from the active client level recipe manager so the category is populated after recipe synchronization.
  • Added a native EMI growth category with seed, soil, drops, and base-work information because JEMI intentionally skips JEI categories for mods that already provide an EMI plugin.
  • Register planter growth recipes with JEI after the client recipe manager becomes available, including recipe reloads, so seed usages show the TDPlanter category.
  • Place the two planter output slots directly beside the player inventory and align both sections as one compact bottom layout.
  • Reset growth work and the rendered crop stage whenever the inserted soil changes.
  • Disabled seed insertion by right-click so seeds are inserted through the dedicated UI slot.
  • Detected planted block items as seeds, including crops whose planting items use names such as roots, kernels, cloves, oats, hops, or peanuts.
  • Prevented automatic crop fallbacks from overriding explicit crop-specific soil requirements.
  • Prevented the overview work text from overlapping the inserted soil slot.
  • Made automatically detected stem crops harvest the detected fruit block's loot table instead of producing arbitrary fruit-block stacks.
  • Made melons produce melon slices while preserving normal pumpkin drops and equivalent loot behavior from modded stem fruits.
  • Kept saplings out of generic crop detection so age-bearing saplings such as Mangrove Propagules resolve only through tree detection.
  • Included the active soil yield factor in the planter details and effective yield total.
  • Kept yield_factor optional in the KubeJS soil schema to preserve existing scripts.
  • Ordered required KubeJS soil schema keys before the optional yield_factor key so datapack loading no longer aborts during schema registration.
  • Added a regression test for KubeJS's required-before-optional schema ordering contract.

Changed

  • Planter items now retain their tier, material, installed hood, lamp, hopper, filter module and configuration, wax state, and stored FE when broken.
  • Soil, seeds, tools, fertilizer, and buffered outputs now drop separately when a planter is broken, while transient growth progress is reset.
  • Standardized every Hopper Module on a compact two-slot output buffer instead of tier-dependent rows of output slots.
  • Centered the smaller output panel below the planter controls.
  • Shortened large work values in the overview while retaining exact current and required work in the tooltip and details tab.

0.5.0

Added

  • Added runtime fallback definitions for conventional crops, melon- and pumpkin-style stems, saplings, dirt-tagged blocks, and farmland blocks.
  • Rendered the inserted soil inside the planter using its own block model and texture.
  • Added hoe right-click tilling for inserted soil through NeoForge's HOE_TILL compatibility contract, including transformations supplied by other mods.

Changed

  • Rendered planted field crops and stems with their block models instead of upright seed-item models.
  • Removed the implicit plant-area right-click harvest; ordinary right-clicks now open the planter menu.
  • Gave farmland and automatically detected modded farmland a 1.25x soil growth factor while regular dirt remains at 1.0x.
  • Reworked the planter overview and details layout to show current and required work plus the active soil speed.
  • Replaced technical detail-page fields with live growth and yield totals plus their tier, soil, hoe, glass hood, growth lamp, and fertilizer multipliers.
  • Marked inactive optional modifiers separately so the configured benefit remains visible without being included in the effective total.

Fixed

  • Allowed automatically detected seeds such as Melon Seeds to enter the seed slot and participate in growth resolution.
  • Synchronized soil and seed changes to clients so the planter display updates immediately.
  • Kept explicit growth definitions authoritative without reporting their automatic fallbacks as ambiguities.
  • Made the Hopper Module automatically harvest ready crops into its output buffer and export them to inventories below.
  • Allowed Hopper Module exports to move the portion that fits instead of blocking the complete transfer.
  • Calculated the work bar from current work divided by required work instead of treating raw work units as a percentage.
  • Advanced field-crop and stem render stages from the actual growth progress and synchronized stage changes to clients.
  • Kept the first visible crop stage above the rendered soil surface so newly planted crops are not hidden by the planter rim.
  • Kept input item stacks off the details tab instead of allowing hidden overview slots to collapse into its upper-left corner.

0.4.2

Changed

  • Moved the Energy Port upward to align it with the updated rear housing.
  • Updated the Energy Port resource test for its custom housing and connector textures.

Documentation

  • Added a datapack guide covering all recipe formats, KubeJS and generated recipes, reload behavior, and troubleshooting.

0.4.1

Fixed

  • Added the missing recessed Energy Port to the functional rear FE input while the Hood and Growth Lamp are installed.
  • Prevented local vanilla asset exports under assets/minecraft from entering production JARs.

0.4.0

Added

  • Added Jade as an optional dependency with a planter tooltip that lists the tier and installed Hopper, Hood, Growth Lamp, and Filter Module components.
  • Added stored and maximum FE to the Jade tooltip only while a Growth Lamp is installed.

Changed

  • Displayed the Basic, Advanced, Elite, or Ultra tier in planter menu and Jade titles.
  • Replaced the planter FE indicator with a framed, segmented vertical gauge.

Fixed

  • Corrected the soil-slot pictogram so it represents soil instead of a module.
  • Prevented the planter status area from producing an unrelated tooltip over the soil slot.
  • Kept the complete FE gauge hidden while no Growth Lamp is installed.

0.3.3

Fixed

  • Hid every nested FE-bar element when no Growth Lamp is installed, including the previously visible empty background.
  • Prevented the absent Filter Module status from rendering across nearby input slots and moved the installed filter status beside its slot.
  • Replaced unreliable item-stack ghost overlays with six clear white pictograms for the shears, hoe, seed, fertilizer, soil, and Filter Module slots.

0.3.2

Fixed

  • Hid the FE bar unless a Growth Lamp is installed.
  • Restored compact empty-slot hints with LDLib2 item overlays and prevented the absent Filter Module label from overlapping nearby input slots.
  • Added LDLib2 event-driven tooltips for input slots, the Filter Module, installed modules, planter status, work progress, and stored energy.

0.3.1

Fixed

  • Centered the LDLib2 planter and Filter Module interfaces through the library's relative-root layout contract instead of anchoring them to the top-left corner.
  • Expanded and rebalanced the LDLib2 layout so module labels, the energy bar, controls, and inventory slots no longer overlap or clip.

0.3.0

Added

  • Added an exact runtime dependency on LDLib2 2.2.37 for Minecraft 1.21.1 and NeoForge.
  • Added LDLib2 tab, slot, button, progress, and dynamic-label components for the planter and Filter Module workflows.

Changed

  • Rebuilt the complete planter interface as a server-synchronized LDLib2 ModularUI while retaining the existing server-authoritative menu, inventory, and payload contracts.
  • Rebuilt the complete Filter Module interface with LDLib2 components while preserving direct inventory selection and JEI, EMI, and REI drag-and-drop integration.
  • Replaced the separate custom-rendered details window with an LDLib2 Details tab.

0.2.4

Fixed

  • Rebuilt the production JAR from the complete source output so runtime planter interactions include TransformResolver and no longer crash before opening the interface.

0.2.3

Fixed

  • Replaced the unintended dark upper hood body and hood-only crown with glass.
  • Kept the black material exclusive to the optional Growth Lamp housing.
  • Updated the Blockbench source to use the same glass texture across the complete hood.

0.2.2

Changed

  • Refined the glass hood geometry and its dark crown so the optional Growth Lamp no longer overlaps the hood.
  • Hid the FE interface and disabled external energy access unless a Growth Lamp is installed.
  • Added the editable Blockbench source for the glass hood.

0.2.1

Changed

  • Rebuilt the glass hood with continuous panes and a finer, closed dome profile.
  • Reduced the Growth Lamp housing and changed it to a black finish around the downward-facing purple panel.
  • Removed the visible FE heading while retaining the energy bar tooltip.

0.2.0

Added

  • Added a configurable Filter Module item with a server-authoritative right-click interface.
  • Added a dedicated planter module slot that activates the configuration stored on the inserted Filter Module.
  • Added factory-style whitelist and blocklist indicators to the filter interfaces.

Changed

  • Moved filter editing out of the planter interface and into the held Filter Module.
  • Migrated existing persisted planter filters into installed Filter Modules when their state is loaded.
  • Extended the glass hood to the full two-block structure and reshaped its upper section around the Growth Lamp.
  • Limited the Growth Lamp's purple surface to its downward-facing light panel.

0.1.4

Added

  • Added distinct item icons for planter modules and tier upgrades.

0.1.2

Changed

  • Redesigned the planter interface with clearer slot placement, status colors, input hints, and tooltips.
  • Added dedicated visual indicators for installed modules, stored energy, and planter progress.
  • Improved the planter base, tier band, glass hood, and Growth Lamp models.
  • Made the active Growth Lamp illuminate its surroundings.

0.1.1

Changed

  • Added project, release-verification, and development documentation.
  • Updated the release candidate version metadata.

0.1.0

Added

  • Added the initial modular planter with server-authoritative growth, harvesting, inventory handling, and persistence.
  • Added reloadable growth, soil, fertilizer, interaction, and transform recipe types.
  • Added Basic, Advanced, Elite, and Ultra tiers with state-preserving material transformations.
  • Added the glass hood, Growth Lamp, Hopper Module, wax mode, and configurable item filters.
  • Added optional KubeJS, JEI, EMI, REI, Jade, and GameTest integrations.
  • Added English and German localization, diagnostic commands, and automated release checks.