diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/SeasonsModelGenerator.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/SeasonsModelGenerator.java new file mode 100644 index 00000000..d1adf6a1 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/SeasonsModelGenerator.java @@ -0,0 +1,34 @@ +package com.minelittlepony.unicopia.datagen.providers; + +import com.google.gson.JsonObject; + +import net.minecraft.data.client.BlockStateModelGenerator; +import net.minecraft.util.Identifier; + +class SeasonsModelGenerator { + private static final String[] SEASONS = { "fall", "summer", "winter" }; + + static UBlockStateModelGenerator create(BlockStateModelGenerator modelGenerator) { + return new UBlockStateModelGenerator(modelGenerator.blockStateCollector, (id, jsonSupplier) -> { + modelGenerator.modelCollector.accept(id, jsonSupplier); + modelGenerator.modelCollector.accept(id.withPrefixedPath("seasons/"), () -> { + JsonObject textures = jsonSupplier.get().getAsJsonObject().getAsJsonObject("textures"); + JsonObject seasonTextures = new JsonObject(); + for (String season : SEASONS) { + seasonTextures.add(season, createTextures(season, textures)); + } + JsonObject model = new JsonObject(); + model.add("textures", seasonTextures); + return model; + }); + }, modelGenerator::excludeFromSimpleItemModelGeneration); + } + + private static JsonObject createTextures(String season, JsonObject input) { + JsonObject textures = new JsonObject(); + input.entrySet().forEach(entry -> { + textures.addProperty(entry.getKey(), new Identifier(entry.getValue().getAsString()).withPath(path -> path.replace("/", "/seasons/" + season + "/")).toString()); + }); + return textures; + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockStateModelGenerator.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockStateModelGenerator.java index d53ec548..2d89a5e7 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockStateModelGenerator.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UBlockStateModelGenerator.java @@ -3,6 +3,10 @@ package com.minelittlepony.unicopia.datagen.providers; import java.util.HashMap; import java.util.Map; import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Supplier; + +import com.google.gson.JsonElement; import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.block.EdibleBlock; import com.minelittlepony.unicopia.block.FruitBearingBlock; @@ -22,6 +26,7 @@ import net.minecraft.block.ConnectingBlock; import net.minecraft.block.enums.DoorHinge; import net.minecraft.block.enums.DoubleBlockHalf; import net.minecraft.data.client.BlockStateModelGenerator; +import net.minecraft.data.client.BlockStateSupplier; import net.minecraft.data.client.BlockStateVariant; import net.minecraft.data.client.BlockStateVariantMap; import net.minecraft.data.client.Model; @@ -55,27 +60,33 @@ public class UBlockStateModelGenerator extends BlockStateModelGenerator { static final Identifier AIR_ITEM_ID = new Identifier("item/air"); static UBlockStateModelGenerator create(BlockStateModelGenerator modelGenerator) { - return new UBlockStateModelGenerator(modelGenerator); + return new UBlockStateModelGenerator(modelGenerator.blockStateCollector, modelGenerator.modelCollector, modelGenerator::excludeFromSimpleItemModelGeneration); } - private UBlockStateModelGenerator(BlockStateModelGenerator modelGenerator) { - super(modelGenerator.blockStateCollector, - (id, jsonSupplier) -> { - if (AIR_BLOCK_ID.equals(id) || AIR_ITEM_ID.equals(id)) { - throw new IllegalStateException("Registered air id for block model: " + jsonSupplier.get().toString()); - } - modelGenerator.modelCollector.accept(id, jsonSupplier); - }, - item -> modelGenerator.excludeFromSimpleItemModelGeneration(Block.getBlockFromItem(item)) - ); + protected UBlockStateModelGenerator(BlockStateModelGenerator modelGenerator) { + this(modelGenerator.blockStateCollector, modelGenerator.modelCollector, modelGenerator::excludeFromSimpleItemModelGeneration); + } - for (int i = 0; i < Models.STEM_GROWTH_STAGES.length; i++) { - Models.STEM_GROWTH_STAGES[i].upload(Unicopia.id("block/apple_sprout_stage" + i), TextureMap.stem(Blocks.MELON_STEM), modelCollector); - } + public UBlockStateModelGenerator( + Consumer blockStateCollector, + BiConsumer> modelCollector, + Consumer simpleItemModelExemptionCollector) { + super(blockStateCollector, (id, jsonSupplier) -> { + if (AIR_BLOCK_ID.equals(id) || AIR_ITEM_ID.equals(id)) { + throw new IllegalStateException("Registered air id for block model: " + jsonSupplier.get().toString()); + } + modelCollector.accept(id, jsonSupplier); + }, item -> simpleItemModelExemptionCollector.accept(Block.getBlockFromItem(item))); } @Override public void register() { + UBlockStateModelGenerator seasonsModelGenerator = SeasonsModelGenerator.create(this); + + for (int i = 0; i < Models.STEM_GROWTH_STAGES.length; i++) { + Models.STEM_GROWTH_STAGES[i].upload(Unicopia.id("block/apple_sprout_stage" + i), TextureMap.stem(Blocks.MELON_STEM), modelCollector); + } + // handmade registerAll((g, block) -> g.registerParentedItemModel(block, ModelIds.getBlockModelId(block)), UBlocks.SHAPING_BENCH, UBlocks.SURFACE_CHITIN); registerAll(UBlockStateModelGenerator::registerSimpleState, UBlocks.SHAPING_BENCH, UBlocks.BANANAS); @@ -150,9 +161,13 @@ public class UBlockStateModelGenerator extends BlockStateModelGenerator { Tree.REGISTRY.stream().filter(tree -> tree.sapling().isPresent()).forEach(tree -> registerFlowerPotPlant(tree.sapling().get(), tree.pot().get(), TintType.NOT_TINTED)); registerTintableCross(UBlocks.CURING_JOKE, TintType.NOT_TINTED); registerWithStages(UBlocks.GOLD_ROOT, Properties.AGE_7, BlockModels.CROP, 0, 0, 1, 1, 2, 2, 2, 3); - registerWithStages(UBlocks.OATS, UBlocks.OATS.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); - registerWithStages(UBlocks.OATS_STEM, UBlocks.OATS_STEM.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6); - registerWithStages(UBlocks.OATS_CROWN, UBlocks.OATS_CROWN.getAgeProperty(), BlockModels.CROP, 0, 1); + seasonsModelGenerator.registerWithStages(UBlocks.OATS, UBlocks.OATS.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); + seasonsModelGenerator.registerWithStages(UBlocks.OATS_STEM, UBlocks.OATS_STEM.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6); + seasonsModelGenerator.registerWithStages(UBlocks.OATS_CROWN, UBlocks.OATS_CROWN.getAgeProperty(), BlockModels.CROP, 0, 1); + + seasonsModelGenerator.registerItemModel(UItems.OATS); + seasonsModelGenerator.registerItemModel(UItems.OAT_SEEDS); + registerTallCrop(UBlocks.PINEAPPLE, Properties.AGE_7, Properties.BLOCK_HALF, new int[] { 0, 1, 2, 3, 4, 5, 5, 6 }, new int[] { 0, 0, 1, 2, 3, 4, 5, 6 } diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java index b864b076..394a45ba 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java @@ -41,7 +41,7 @@ public class UModelProvider extends FabricModelProvider { UItems.JAM_TOAST, UItems.JUICE, UItems.LIGHTNING_JAR, UItems.MANGO, UItems.MUFFIN, - UItems.OAT_SEEDS, UItems.OATMEAL, UItems.OATS, + UItems.OATMEAL, UItems.PEBBLES, UItems.PEGASUS_FEATHER, UItems.PINECONE, UItems.PINEAPPLE_CROWN, UItems.RAIN_CLOUD_JAR, UItems.ROCK_STEW, UItems.ROCK, UItems.ROTTEN_APPLE, UItems.SALT_CUBE, UItems.SCALLOP_SHELL, UItems.SHELLY, UItems.SOUR_APPLE_SEEDS, UItems.SOUR_APPLE, UItems.SPELLBOOK, UItems.STORM_CLOUD_JAR, diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage0.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage0.json deleted file mode 100644 index db42d773..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage0.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage0" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage0" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage0" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage1.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage1.json deleted file mode 100644 index 76ea5a37..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage1.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage1" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage1" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage1" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_lower.json deleted file mode 100644 index 76ce2472..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage10_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage10_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage10_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_mid.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_mid.json deleted file mode 100644 index 5fdecd9f..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_mid.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage10_mid" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage10_mid" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage10_mid" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_upper.json deleted file mode 100644 index f558c96a..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage10_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage10_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage10_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage10_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_lower.json deleted file mode 100644 index f6b2a41b..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage11_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage11_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage11_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_mid.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_mid.json deleted file mode 100644 index 2f29df3b..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_mid.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage11_mid" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage11_mid" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage11_mid" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_upper.json deleted file mode 100644 index 5fac5700..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage11_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage11_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage11_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage11_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage2.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage2.json deleted file mode 100644 index 3b7fbf87..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage2.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage2" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage2" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage2" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage3.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage3.json deleted file mode 100644 index 5a400e01..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage3.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage3" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage3" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage3" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage4.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage4.json deleted file mode 100644 index b22aa7ff..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage4.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage4" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage4" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage4" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_lower.json deleted file mode 100644 index 0995733e..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage5_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage5_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage5_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_upper.json deleted file mode 100644 index 4ce4305f..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage5_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage5_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage5_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage5_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_lower.json deleted file mode 100644 index 6942f1d1..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage6_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage6_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage6_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_upper.json deleted file mode 100644 index 0a74e651..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage6_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage6_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage6_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage6_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_lower.json deleted file mode 100644 index 10e419b5..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage7_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage7_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage7_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_upper.json deleted file mode 100644 index fb354a49..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage7_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage7_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage7_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage7_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_lower.json deleted file mode 100644 index 17fd8eb2..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage8_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage8_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage8_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_upper.json deleted file mode 100644 index 0fc4ebed..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage8_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage8_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage8_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage8_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_lower.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_lower.json deleted file mode 100644 index 14ac5a31..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_lower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage9_lower" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage9_lower" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage9_lower" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_upper.json b/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_upper.json deleted file mode 100644 index 5d5e68bc..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/block/oats_stage9_upper.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "crop": "unicopia:block/summer_oats_stage9_upper" - }, - "fall": { - "crop": "unicopia:block/fall_oats_stage9_upper" - }, - "winter": { - "crop": "unicopia:block/winter_oats_stage9_upper" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/item/oat_seeds.json b/src/main/resources/assets/unicopia/seasons/models/item/oat_seeds.json deleted file mode 100644 index b098c5cf..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/item/oat_seeds.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "layer0": "unicopia:item/summer_oat_seeds" - }, - "fall": { - "layer0": "unicopia:item/fall_oat_seeds" - }, - "winter": { - "layer0": "unicopia:item/winter_oat_seeds" - } - } -} diff --git a/src/main/resources/assets/unicopia/seasons/models/item/oats.json b/src/main/resources/assets/unicopia/seasons/models/item/oats.json deleted file mode 100644 index 7066a0e5..00000000 --- a/src/main/resources/assets/unicopia/seasons/models/item/oats.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "textures": { - "summer": { - "layer0": "unicopia:item/summer_oats" - }, - "fall": { - "layer0": "unicopia:item/fall_oats" - }, - "winter": { - "layer0": "unicopia:item/winter_oats" - } - } -} diff --git a/src/main/resources/assets/unicopia/textures/item/fall_oat_seeds.png b/src/main/resources/assets/unicopia/textures/item/seasons/fall/fall_oat_seeds.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/fall_oat_seeds.png rename to src/main/resources/assets/unicopia/textures/item/seasons/fall/fall_oat_seeds.png diff --git a/src/main/resources/assets/unicopia/textures/item/fall_oats.png b/src/main/resources/assets/unicopia/textures/item/seasons/fall/fall_oats.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/fall_oats.png rename to src/main/resources/assets/unicopia/textures/item/seasons/fall/fall_oats.png diff --git a/src/main/resources/assets/unicopia/textures/item/summer_oat_seeds.png b/src/main/resources/assets/unicopia/textures/item/seasons/summer/summer_oat_seeds.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/summer_oat_seeds.png rename to src/main/resources/assets/unicopia/textures/item/seasons/summer/summer_oat_seeds.png diff --git a/src/main/resources/assets/unicopia/textures/item/summer_oats.png b/src/main/resources/assets/unicopia/textures/item/seasons/summer/summer_oats.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/summer_oats.png rename to src/main/resources/assets/unicopia/textures/item/seasons/summer/summer_oats.png diff --git a/src/main/resources/assets/unicopia/textures/item/winter_oat_seeds.png b/src/main/resources/assets/unicopia/textures/item/seasons/winter/winter_oat_seeds.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/winter_oat_seeds.png rename to src/main/resources/assets/unicopia/textures/item/seasons/winter/winter_oat_seeds.png diff --git a/src/main/resources/assets/unicopia/textures/item/winter_oats.png b/src/main/resources/assets/unicopia/textures/item/seasons/winter/winter_oats.png similarity index 100% rename from src/main/resources/assets/unicopia/textures/item/winter_oats.png rename to src/main/resources/assets/unicopia/textures/item/seasons/winter/winter_oats.png