From 50d6a7c8357b3d3f46ef80ccf0d1b813d3418c6c Mon Sep 17 00:00:00 2001 From: Wormbo Date: Tue, 4 Jun 2024 10:07:38 +0200 Subject: [PATCH] Update 1.21-notes.md A whole lot of enums used as variant/style presets should probably go away. Also, nether variants of pasture seeds and nether behavior of floral fertilizer could be a thing. --- doc/1.21-notes.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/1.21-notes.md b/doc/1.21-notes.md index fa66cd3a57..92b68317b8 100644 --- a/doc/1.21-notes.md +++ b/doc/1.21-notes.md @@ -39,6 +39,21 @@ * Flattern certain block entity attributes or block properties into block types * mana spreader cover colors (to be able to tag them as `#c:dyed` and `#minecraft:dampens_vibrations`) * mana pool dye colors (maybe even turn "fabulous" into a separate "color" somehow?) +* Get rid of some enum-based behavioral changes:\ + (A lot of the enum preset variant approaches can probably convert the enum type to a record type, if they aren't outright replaced by different approaches.) + * Luminizer types should be subclasses + * Grass types should probably just be subclasses of `SpreadingSnowyDirtBlock` + * Spark augment types should be identified by item type + * Crafty Crate patterns are already translated from and to booleans per slot, maybe the slot configuration should not be restricted, allowing data packs to provide additiuonal flexibility here + * `OptionalDyeColor` can go away if mana pool colors are flattened into block types + * Mana pool variants (diluted, default size, or creative) should be subclasses, not enum-switched properties (fabulous should probably be a color variant) + * Mana spreader variants should not be stored as enum reference, but as presets (including flags for redstone trigger behavior and rotating color rendering) + * Stew effects for mystical flowers should not be defined in a private `DyeColor` switch referenced within the `BotaniaFlower` constructor + * Platform block types should be separate subclasses instead of using a variant enum to hard-code the existing types + * Natura pylon should be a separatre subclass, and pylon type variants should not be enum references + * Figure out if there's an alternative to the variant enum and massive switch cases in `CosmeticBaubleItem` + * Horn/drum variants should be subclasses instead of having a type/variant enum that is being switched over +* Elementium armor pieces (other than helmet) could be merged into `ElementiumArmorItem` with an additional constructor parameter for the pixie spawn chance (instead of duplicating the attribute modifier logic) ### Feature candidates (potentially breaking changes) * nice-to-have Patchouli features we could use, that are yet to be merged: @@ -80,3 +95,4 @@ * maybe add data-driven Orechid configurations to replace hard-coded GoG changes (mana cost per input item, operation speed) * GoG could eventually become a data pack instead of having all kinds of exceptions hard-coded into Botania * Armadillo: add it to Cocoon of Caprice as rare spawn, maybe find something to do with its scutes +* Nether variants/behavior for pasture seed variants (either reuse existing seed types or make new ones to make nylium) and floral fertilizer (spawn mushrooms on nylium)