kaledelights_compat-1.3.7.jar
Curse Maven Snippet
What's new
1.3.7 — Banana Roll Rework · Radgill Roll · Tag & Model Fixes
Added
- Banana sushi roll fully reworked (
alexsmobsdelight:banana_roll): brand-new finished-roll model (based on the rainbow futomaki layout, centre blocks in chocolate brown), new ingredient models for banana / chocolate / cut pitaya / apple, and an ordered recipe that reads exactly banana peel → rice → rice → banana → chocolate → banana → cut pitaya → roll up. - Banana peel as the roll's outer skin: the cuisine table's first step has always been a
hard-coded singleton (dried kelp → nori model). A dedicated parallel chain was built for banana
peel, with its own base id
banana_peel_rolland its own open-roll models, so the skin stays banana-yellow from the first step all the way to the finished roll. Dried kelp and every other roll are untouched. - Second banana-roll recipe using cocoa beans (
minecraft:cocoa_beans+minecraft:apple) that works without Paster Dream / Nether's Exoticism. Cocoa and chocolate share one model. - Radgill roll (
cavedelight:radgill_roll) now has a recipe — rice base → roll up → radgill slice — plus a new topping texture that copies the salmon sushi layout pixel-for-pixel and recolours it to the radgill slice palette. - Pitcher-plant sushi with its own rice base and a purple topping derived from the pitcher-plant texture.
- Dedicated rice bases for sakura / himekaido / pitcher-plant sushi.
Changed
- Four sushi now yield 2 instead of uneven amounts:
cavedelight:trilocaris_roll(1 → 2),immortalers_delight:kwat_pocket_sushi(1 → 2),culturaldelights:egg_roll(4 → 2),immortalers_delight:hamburger_meat_sushi(1 → 2). - Pitcher-plant topping tone softened (less saturated, shifted bluer) after feedback.
- Cocoa-bean ingredient modelling removed — chocolate and cocoa beans now share one model.
Fixed
- A whole tag could silently fail to load.
carryon:block_blacklistreferencedyoukaishomecoming:*while onlyyoukaisfeastswas installed; Forge drops an entire tag when one required entry cannot be resolved, so block-carry protection was effectively absent. All 268 entries are now per-entry"required": false. - Dedicated rice bases never took effect. The model id was being built the wrong way, so the swap silently no-op'd for every sakura / himekaido / pitcher-plant sushi. The base is now replaced by position, independent of id spelling.
- Banana peel was being eaten by the ingredient slot.
IngredientTableItem.findrecurses into child steps before checking itself, so a peel registered as both skin and topping was always captured by the topping slot. Banana peel is no longer an ingredient, and the skin step is intercepted at the table root instead. - Open-roll models pointed at the shared nori texture, so the skin turned back into seaweed
once rice was added. The chain now uses its own
banana_peel_open_*models.
Config / diagnostics
- Config values that actually take effect are printed in the log, in both English and Chinese
(
[Config]/[配置]), and section/key names are matched case-insensitively.
Fixed (2026-10-16)
- Palm density reduction now applies only when the crab mod is actually installed.
We used to ship an override of
crabbersdelight'splaced_feature/palm_placed.jsoninside the jar, but a datapack directory is loaded regardless of whether that mod is present — andPlacedFeature's codec only hasfeatureandplacement, so aconditionsblock there is silently ignored (verified with javap against 1.20.1). A player without the crab mod would therefore end up with a placed feature pointing at a non-existentcrabbersdelight:palm. The override is now delivered at runtime instead: during early setup we askModList.isLoaded("crabbersdelight")— if present we write the pack to<gameDir>/datapacks/kaledelights_palm_density/, if absent we delete it. Palm thinning thus takes effect only where the crab mod exists, and without it the density stays at the mod's own value. Existing chunks are untouched either way (same as before). - Optional linked mods were treated as guaranteed to be installed. Two data-layer spots
referenced a third-party mod without any absence guard:
crab_legs_cuttingused thecrabbers_delight_expand:crab_crackertag in its tool slot while only declaringcrabbersdelight(so installing the base crab mod without its expansion broke the recipe), andpalm_placed.jsonhad nomod_loadedcondition at all. Forge does not degrade gracefully here — a single unresolvable reference invalidates the entire tag / recipe. Every recipe and worldgen file that touches an optional mod now declares{"type": "forge:mod_loaded", "modid": "..."}. - 185 tag entries were still marked required.
kaleidoscope_cookery:pot_ingredientlisted many third-party items without"required": false, so a pack missing any one of those mods would have lost the wholepot_ingredienttag (and with it the wok recipes that need it). All tag entries from non-vanilla namespaces are now per-entry optional. AllowItemDeletion = falseis now genuinely honoured — single-player and dedicated servers. Reported by a user: with deletion switched off the items were still turned into air; in single-player the items only came back after a manual/reloadon every world load; and on a server the setting did nothing at all. Two root causes. (1) Our "remove the rule" step ran after the fact (one server tick later), while OneEnoughItem rebuilds its cache from scratch —clearCache()+putReplacement()— on both server start and every data reload, so the rule we had just removed came straight back. (2) During a resource reloadmatchItemreads a reload-override map that takes exclusive precedence, so the read-back verification used to confirm a removal always sawair, concluded "still there", and gave up after 3 retries — which is exactly why only a/reloadseemed to help. Pruning now happens at the entry point (a Mixin on OneEnoughItem'sItemReplacementCache.putReplacement/beginReloadOverride), so a disabled rule never reaches the cache in the first place: timing-independent, no/reloadneeded, and identical behaviour in single-player, on servers, in new and in existing worlds. Blacklist entries and disabled rule groups go through the same path. Only the rules this mod produces are affected — rules from other mods' or a pack's own datapacks are left completely alone.- Custom unification mappings now land on dedicated servers. They were only written to
saves/<world>/datapacks/, but a server keeps its world under<gameDir>/<level-name>/, so they never applied there. The world-level datapack is now also written next tolevel-name(read fromserver.properties). - The two log lines that printed the deletion switch inverted (
trueshown as "blocked") are fixed —truenow reads as允许 / ALLOWED.
Removed (2026-10-16)
- Millstone oil extraction is retired — right-clicking a millstone with a glass bottle to draw
rusticdelight:cooking_oilno longer exists. Disassembling Kaleidoscope Cookery 1.2.0 and 1.6.0 side by side shows the millstone has always ejected its output onto the ground (tick()→addFreshEntity, output slot cleared immediately afterwards); the oil never stays inside long enough to be collected from the block, in either version. The old handler was also reading the wrong item (it expectedoil_potwhile both versions outputkaleidoscope_cookery:oil) and used the 1.2.0-onlygetOutput()API, so it had effectively been dead for a while. Oil works the vanilla way: grind seeds → pick the oil up → right-click an oil can with it → draw cooking oil from the oil can with a glass bottle
This mod has no additional files

