From 346ee85ca328d3f611e70ad5621b2f172a3b41f2 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Mon, 25 Nov 2024 21:04:24 +0100 Subject: [PATCH] added crops - but loot table does not work yet --- .../de/jottyfan/quickiemod/Quickiemod.java | 9 ++ .../jottyfan/quickiemod/QuickiemodClient.java | 6 +- .../jottyfan/quickiemod/block/BlockPlant.java | 79 ++++++++++++++++ .../jottyfan/quickiemod/block/ModBlocks.java | 14 ++- .../quickiemod/identifier/ModIdentifiers.java | 10 +++ .../de/jottyfan/quickiemod/item/ItemSeed.java | 45 ++++++++++ .../de/jottyfan/quickiemod/item/ModItems.java | 85 +++++++++++++----- .../blockstates/blockcanolaplant.json | 12 +++ .../blockstates/blockcottonplant.json | 12 +++ .../assets/quickiemod/lang/de_de.json | 4 +- .../assets/quickiemod/lang/en_us.json | 4 +- .../quickiemod/models/block/canolaplant0.json | 6 ++ .../quickiemod/models/block/canolaplant1.json | 6 ++ .../quickiemod/models/block/canolaplant2.json | 6 ++ .../quickiemod/models/block/canolaplant3.json | 6 ++ .../quickiemod/models/block/canolaplant4.json | 6 ++ .../quickiemod/models/block/canolaplant5.json | 6 ++ .../quickiemod/models/block/canolaplant6.json | 6 ++ .../quickiemod/models/block/canolaplant7.json | 6 ++ .../quickiemod/models/block/cottonplant0.json | 6 ++ .../quickiemod/models/block/cottonplant1.json | 6 ++ .../quickiemod/models/block/cottonplant2.json | 6 ++ .../quickiemod/models/block/cottonplant3.json | 6 ++ .../quickiemod/models/block/cottonplant4.json | 6 ++ .../quickiemod/models/block/cottonplant5.json | 6 ++ .../quickiemod/models/block/cottonplant6.json | 6 ++ .../quickiemod/models/block/cottonplant7.json | 6 ++ .../assets/quickiemod/models/item/canola.json | 6 ++ .../quickiemod/models/item/canolabottle.json | 6 ++ .../models/item/canolabottlestack.json | 6 ++ .../quickiemod/models/item/canolaplant.json | 6 ++ .../quickiemod/models/item/canolaseed.json | 6 ++ .../assets/quickiemod/models/item/cotton.json | 6 ++ .../quickiemod/models/item/cottonplant.json | 6 ++ .../quickiemod/models/item/cottonseed.json | 6 ++ .../textures/block/cottonplant3.png | Bin 5360 -> 5505 bytes .../textures/block/cottonplant4.png | Bin 5847 -> 5775 bytes .../textures/block/cottonplant5.png | Bin 5853 -> 5806 bytes .../textures/block/cottonplant6.png | Bin 6486 -> 6320 bytes .../loot_table/chests/seeds_in_chest.json | 40 +++++++++ .../recipe/shaped_canolabottlestack.json | 15 ++++ .../recipe/shaped_string_from_cotton.json | 15 ++++ .../recipe/shapeless_canolabottle.json | 11 +++ .../shapeless_canolabottle_from_stack.json | 10 +++ 44 files changed, 487 insertions(+), 28 deletions(-) create mode 100644 src/main/java/de/jottyfan/quickiemod/block/BlockPlant.java create mode 100644 src/main/java/de/jottyfan/quickiemod/item/ItemSeed.java create mode 100644 src/main/resources/assets/quickiemod/blockstates/blockcanolaplant.json create mode 100644 src/main/resources/assets/quickiemod/blockstates/blockcottonplant.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant0.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant1.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant2.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant3.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant4.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant5.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant6.json create mode 100644 src/main/resources/assets/quickiemod/models/block/canolaplant7.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant0.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant1.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant2.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant3.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant4.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant5.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant6.json create mode 100644 src/main/resources/assets/quickiemod/models/block/cottonplant7.json create mode 100644 src/main/resources/assets/quickiemod/models/item/canola.json create mode 100644 src/main/resources/assets/quickiemod/models/item/canolabottle.json create mode 100644 src/main/resources/assets/quickiemod/models/item/canolabottlestack.json create mode 100644 src/main/resources/assets/quickiemod/models/item/canolaplant.json create mode 100644 src/main/resources/assets/quickiemod/models/item/canolaseed.json create mode 100644 src/main/resources/assets/quickiemod/models/item/cotton.json create mode 100644 src/main/resources/assets/quickiemod/models/item/cottonplant.json create mode 100644 src/main/resources/assets/quickiemod/models/item/cottonseed.json create mode 100644 src/main/resources/data/quickiemod/loot_table/chests/seeds_in_chest.json create mode 100644 src/main/resources/data/quickiemod/recipe/shaped_canolabottlestack.json create mode 100644 src/main/resources/data/quickiemod/recipe/shaped_string_from_cotton.json create mode 100644 src/main/resources/data/quickiemod/recipe/shapeless_canolabottle.json create mode 100644 src/main/resources/data/quickiemod/recipe/shapeless_canolabottle_from_stack.json diff --git a/src/main/java/de/jottyfan/quickiemod/Quickiemod.java b/src/main/java/de/jottyfan/quickiemod/Quickiemod.java index 08ef398..fabe44f 100644 --- a/src/main/java/de/jottyfan/quickiemod/Quickiemod.java +++ b/src/main/java/de/jottyfan/quickiemod/Quickiemod.java @@ -13,6 +13,7 @@ import de.jottyfan.quickiemod.item.ModItems; import de.jottyfan.quickiemod.itemgroup.ModItemGroup; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; +import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; import net.minecraft.block.Block; import net.minecraft.item.Item; @@ -25,12 +26,20 @@ public class Quickiemod implements ModInitializer { public static final String MOD_ID = "quickiemod"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); + private void registerComposterItems() { + CompostingChanceRegistry.INSTANCE.add(ModItems.ITEM_COTTONSEED, 0.5f); + CompostingChanceRegistry.INSTANCE.add(ModItems.ITEM_COTTON, 0.75f); + CompostingChanceRegistry.INSTANCE.add(ModItems.ITEM_CANOLASEED, 0.5f); + CompostingChanceRegistry.INSTANCE.add(ModItems.ITEM_CANOLA, 0.75f); + } + @Override public void onInitialize() { ModBlockentity.registerModBlockentities(); List items = ModItems.registerModItems(); List blocks = ModBlocks.registerModBlocks(); ModFeatures.registerFeatures(); + registerComposterItems(); ModItemGroup.registerItemGroup(items, blocks); PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> { diff --git a/src/main/java/de/jottyfan/quickiemod/QuickiemodClient.java b/src/main/java/de/jottyfan/quickiemod/QuickiemodClient.java index 3a28ec5..6ceb67f 100644 --- a/src/main/java/de/jottyfan/quickiemod/QuickiemodClient.java +++ b/src/main/java/de/jottyfan/quickiemod/QuickiemodClient.java @@ -1,6 +1,9 @@ package de.jottyfan.quickiemod; +import de.jottyfan.quickiemod.block.ModBlocks; import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; +import net.minecraft.client.render.RenderLayer; /** * @@ -11,6 +14,7 @@ public class QuickiemodClient implements ClientModInitializer { @Override public void onInitializeClient() { - + BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.BLOCK_COTTONPLANT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.BLOCK_CANOLAPLANT, RenderLayer.getCutout()); } } diff --git a/src/main/java/de/jottyfan/quickiemod/block/BlockPlant.java b/src/main/java/de/jottyfan/quickiemod/block/BlockPlant.java new file mode 100644 index 0000000..f662662 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/block/BlockPlant.java @@ -0,0 +1,79 @@ +package de.jottyfan.quickiemod.block; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.CropBlock; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootWorldContext.Builder; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Identifier; +import net.minecraft.util.ItemScatterer; +import net.minecraft.util.collection.DefaultedList; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class BlockPlant extends CropBlock { + + private Item seed; + private Item fruit; + + public BlockPlant(Identifier identifier, Item seed, Item fruit) { + super(AbstractBlock.Settings.copy(Blocks.WHEAT).registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); + this.seed = seed; + this.fruit = fruit; + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + DefaultedList list = DefaultedList.of(); + list.add(new ItemStack(getSeedsItem())); // the one from the seed + if (isMature(state)) { + list.add(new ItemStack(getSeedsItem(), new Random().nextInt(2))); + list.add(new ItemStack(fruit, new Random().nextFloat() > 0.9f ? 2 : 1)); + } + return list; + } + + private void spawnHarvested(World world, BlockPos pos, BlockState state) { + DefaultedList list = DefaultedList.of(); + getDroppedStacks(state, null).forEach(itemStack -> { + list.add(itemStack); + }); + ItemScatterer.spawn(world, pos, list); + } + + @Override + public BlockState onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { + spawnHarvested(world, pos, state); + return super.onBreak(world, pos, state, player); + } + + @Override + protected ItemConvertible getSeedsItem() { + return seed; + } + + @Override + protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { + if (!world.isClient && isMature(state)) { + spawnHarvested(world, pos, state); + world.setBlockState(pos, state.with(AGE, 0)); + } + return ActionResult.PASS; + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java b/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java index 8124151..e2974b6 100644 --- a/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java +++ b/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java @@ -56,10 +56,20 @@ public class ModBlocks { new BlockSandSalpeter(ModIdentifiers.BLOCK_SANDSALPETER)); public static final Block BLOCK_KELPSTACK = registerBlock(ModIdentifiers.BLOCK_KELPSTACK, new BlockSlippery(ModIdentifiers.BLOCK_KELPSTACK, 0.1f, 1.0f, BlockSoundGroup.WET_GRASS)); + public static final Block BLOCK_COTTONPLANT = registerBlock(ModIdentifiers.BLOCK_COTTONPLANT, + new BlockPlant(ModIdentifiers.BLOCK_COTTONPLANT, ModItems.ITEM_COTTONSEED, ModItems.ITEM_COTTON), false); + public static final Block BLOCK_CANOLAPLANT = registerBlock(ModIdentifiers.BLOCK_CANOLAPLANT, + new BlockPlant(ModIdentifiers.BLOCK_CANOLAPLANT, ModItems.ITEM_CANOLASEED, ModItems.ITEM_CANOLA), false); private static final Block registerBlock(Identifier identifier, Block block) { - Registry.register(Registries.ITEM, identifier, new BlockItem(block, new Item.Settings() - .registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)).useBlockPrefixedTranslationKey())); + return registerBlock(identifier, block, true); + } + + private static final Block registerBlock(Identifier identifier, Block block, boolean registerAsItem) { + if (registerAsItem) { + Registry.register(Registries.ITEM, identifier, new BlockItem(block, new Item.Settings() + .registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)).useBlockPrefixedTranslationKey())); + } return Registry.register(Registries.BLOCK, identifier, block); } diff --git a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java index 177e7d1..fae89bd 100644 --- a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java +++ b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java @@ -19,6 +19,14 @@ public class ModIdentifiers { public static final Identifier ITEM_QUICKIEINGOT = Identifier.of(Quickiemod.MOD_ID, "quickieingot"); public static final Identifier ITEM_CARROTSTACK = Identifier.of(Quickiemod.MOD_ID, "carrotstack"); public static final Identifier ITEM_ROTTENFLESHSTRIPES = Identifier.of(Quickiemod.MOD_ID, "rotten_flesh_stripes"); + public static final Identifier ITEM_COTTON = Identifier.of(Quickiemod.MOD_ID, "cotton"); + public static final Identifier ITEM_COTTONPLANT = Identifier.of(Quickiemod.MOD_ID, "cottonplant"); + public static final Identifier ITEM_COTTONSEED = Identifier.of(Quickiemod.MOD_ID, "cottonseed"); + public static final Identifier ITEM_CANOLA = Identifier.of(Quickiemod.MOD_ID, "canola"); + public static final Identifier ITEM_CANOLAPLANT = Identifier.of(Quickiemod.MOD_ID, "canolaplant"); + public static final Identifier ITEM_CANOLASEED = Identifier.of(Quickiemod.MOD_ID, "canolaseed"); + public static final Identifier ITEM_CANOLABOTTLE = Identifier.of(Quickiemod.MOD_ID, "canolabottle"); + public static final Identifier ITEM_CANOLABOTTLESTACK = Identifier.of(Quickiemod.MOD_ID, "canolabottlestack"); public static final Identifier TOOL_SPEEDPOWDERAXE = Identifier.of(Quickiemod.MOD_ID, "speedpowderaxe"); public static final Identifier TOOL_SPEEDPOWDERHOE = Identifier.of(Quickiemod.MOD_ID, "speedpowderhoe"); @@ -48,6 +56,8 @@ public class ModIdentifiers { public static final Identifier BLOCK_ORESULFOR = Identifier.of(Quickiemod.MOD_ID, "oresulphor"); public static final Identifier BLOCK_SANDSALPETER = Identifier.of(Quickiemod.MOD_ID, "sandsalpeter"); public static final Identifier BLOCK_KELPSTACK = Identifier.of(Quickiemod.MOD_ID, "kelpstack"); + public static final Identifier BLOCK_COTTONPLANT = Identifier.of(Quickiemod.MOD_ID, "blockcottonplant"); + public static final Identifier BLOCK_CANOLAPLANT = Identifier.of(Quickiemod.MOD_ID, "blockcanolaplant"); public static final Identifier BLOCKENTITY_ITEMHOARDER = Identifier.of(Quickiemod.MOD_ID, "itemhoarderblockentity"); public static final Identifier BLOCKENTITY_BLOCKSTACKER = Identifier.of(Quickiemod.MOD_ID, "blockstackerblockentity"); diff --git a/src/main/java/de/jottyfan/quickiemod/item/ItemSeed.java b/src/main/java/de/jottyfan/quickiemod/item/ItemSeed.java new file mode 100644 index 0000000..e79bfdf --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/item/ItemSeed.java @@ -0,0 +1,45 @@ +package de.jottyfan.quickiemod.item; + +import de.jottyfan.quickiemod.Quickiemod; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.registry.Registries; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class ItemSeed extends Item64Stack { + + private Identifier plant; + + public ItemSeed(Identifier identifier, Identifier plant) { + super(identifier); + this.plant = plant; + } + + @Override + public ActionResult useOnBlock(ItemUsageContext context) { + BlockPos pos = context.getBlockPos(); + World world = context.getWorld(); + if (this.asItem().equals(context.getStack().getItem())) { + BlockState state = world.getBlockState(pos); + if (Registries.BLOCK.containsId(plant)) { + if (Blocks.FARMLAND.equals(state.getBlock()) && world.getBlockState(pos.up()).isAir()) { + world.setBlockState(pos.up(), Registries.BLOCK.get(plant).getDefaultState()); + context.getStack().decrement(1); + } else { + Quickiemod.LOGGER.error("could not find block {} in Registries...", plant.toShortTranslationKey()); + } + } + } + return super.useOnBlock(context); + } + +} diff --git a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java index 197ca6e..e3626ee 100644 --- a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java +++ b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java @@ -16,28 +16,65 @@ import net.minecraft.util.Identifier; * */ public class ModItems { - public static final Item ITEM_STUB = registerItem(ModIdentifiers.ITEM_STUB, new Item64Stack(ModIdentifiers.ITEM_STUB)); - public static final Item ITEM_SPEEDPOWDER = registerItem(ModIdentifiers.ITEM_SPEEDPOWDER, new Item64Stack(ModIdentifiers.ITEM_SPEEDPOWDER)); - public static final Item ITEM_QUICKIEPOWDER = registerItem(ModIdentifiers.ITEM_QUICKIEPOWDER, new Item64Stack(ModIdentifiers.ITEM_QUICKIEPOWDER)); - public static final Item ITEM_SALPETER = registerItem(ModIdentifiers.ITEM_SALPETER, new Item64Stack(ModIdentifiers.ITEM_SALPETER)); - public static final Item ITEM_SULFOR = registerItem(ModIdentifiers.ITEM_SULFOR, new Item64Stack(ModIdentifiers.ITEM_SULFOR)); - public static final Item ITEM_OXIDIZEDCOPPERPOWDER = registerItem(ModIdentifiers.ITEM_OXIDIZEDCOPPERPOWDER, new Item64Stack(ModIdentifiers.ITEM_OXIDIZEDCOPPERPOWDER)); - public static final Item ITEM_SPEEDINGOT = registerItem(ModIdentifiers.ITEM_SPEEDINGOT, new Item64Stack(ModIdentifiers.ITEM_SPEEDINGOT)); - public static final Item ITEM_QUICKIEINGOT = registerItem(ModIdentifiers.ITEM_QUICKIEINGOT, new Item64Stack(ModIdentifiers.ITEM_QUICKIEINGOT)); - public static final Item ITEM_CARROTSTACK = registerItem(ModIdentifiers.ITEM_CARROTSTACK, new Item64Stack(ModIdentifiers.ITEM_CARROTSTACK)); - public static final Item ITEM_ROTTENFLESHSTRIPES = registerItem(ModIdentifiers.ITEM_ROTTENFLESHSTRIPES, new Item64Stack(ModIdentifiers.ITEM_ROTTENFLESHSTRIPES)); + public static final Item ITEM_STUB = registerItem(ModIdentifiers.ITEM_STUB, + new Item64Stack(ModIdentifiers.ITEM_STUB)); + public static final Item ITEM_SPEEDPOWDER = registerItem(ModIdentifiers.ITEM_SPEEDPOWDER, + new Item64Stack(ModIdentifiers.ITEM_SPEEDPOWDER)); + public static final Item ITEM_QUICKIEPOWDER = registerItem(ModIdentifiers.ITEM_QUICKIEPOWDER, + new Item64Stack(ModIdentifiers.ITEM_QUICKIEPOWDER)); + public static final Item ITEM_SALPETER = registerItem(ModIdentifiers.ITEM_SALPETER, + new Item64Stack(ModIdentifiers.ITEM_SALPETER)); + public static final Item ITEM_SULFOR = registerItem(ModIdentifiers.ITEM_SULFOR, + new Item64Stack(ModIdentifiers.ITEM_SULFOR)); + public static final Item ITEM_OXIDIZEDCOPPERPOWDER = registerItem(ModIdentifiers.ITEM_OXIDIZEDCOPPERPOWDER, + new Item64Stack(ModIdentifiers.ITEM_OXIDIZEDCOPPERPOWDER)); + public static final Item ITEM_SPEEDINGOT = registerItem(ModIdentifiers.ITEM_SPEEDINGOT, + new Item64Stack(ModIdentifiers.ITEM_SPEEDINGOT)); + public static final Item ITEM_QUICKIEINGOT = registerItem(ModIdentifiers.ITEM_QUICKIEINGOT, + new Item64Stack(ModIdentifiers.ITEM_QUICKIEINGOT)); + public static final Item ITEM_CARROTSTACK = registerItem(ModIdentifiers.ITEM_CARROTSTACK, + new Item64Stack(ModIdentifiers.ITEM_CARROTSTACK)); + public static final Item ITEM_ROTTENFLESHSTRIPES = registerItem(ModIdentifiers.ITEM_ROTTENFLESHSTRIPES, + new Item64Stack(ModIdentifiers.ITEM_ROTTENFLESHSTRIPES)); + public static final Item ITEM_COTTON = registerItem(ModIdentifiers.ITEM_COTTON, + new Item64Stack(ModIdentifiers.ITEM_COTTON)); + public static final Item ITEM_COTTONPLANT = registerItem(ModIdentifiers.ITEM_COTTONPLANT, + new Item64Stack(ModIdentifiers.BLOCK_COTTONPLANT)); + public static final Item ITEM_COTTONSEED = registerItem(ModIdentifiers.ITEM_COTTONSEED, + new ItemSeed(ModIdentifiers.ITEM_COTTONSEED, ModIdentifiers.BLOCK_COTTONPLANT)); + public static final Item ITEM_CANOLA = registerItem(ModIdentifiers.ITEM_CANOLA, + new Item64Stack(ModIdentifiers.ITEM_CANOLA)); + public static final Item ITEM_CANOLAPLANT = registerItem(ModIdentifiers.ITEM_CANOLAPLANT, + new Item64Stack(ModIdentifiers.BLOCK_CANOLAPLANT)); + public static final Item ITEM_CANOLASEED = registerItem(ModIdentifiers.ITEM_CANOLASEED, + new ItemSeed(ModIdentifiers.ITEM_CANOLASEED, ModIdentifiers.BLOCK_CANOLAPLANT)); + public static final Item ITEM_CANOLABOTTLE = registerItem(ModIdentifiers.ITEM_CANOLABOTTLE, + new Item64Stack(ModIdentifiers.ITEM_CANOLABOTTLE)); + public static final Item ITEM_CANOLABOTTLESTACK = registerItem(ModIdentifiers.ITEM_CANOLABOTTLESTACK, + new Item64Stack(ModIdentifiers.ITEM_CANOLABOTTLESTACK)); - public static final Item TOOL_SPEEDPOWDERAXE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERAXE, new ToolSpeedpowderAxe(ModIdentifiers.TOOL_SPEEDPOWDERAXE)); - public static final Item TOOL_SPEEDPOWDERHOE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERHOE, new ToolSpeedpowderHoe(ModIdentifiers.TOOL_SPEEDPOWDERHOE)); - public static final Item TOOL_SPEEDPOWDERPICKAXE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERPICKAXE, new ToolSpeedpowderPickaxe(ModIdentifiers.TOOL_SPEEDPOWDERPICKAXE)); - public static final Item TOOL_SPEEDPOWDERSHEARS = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERSHEARS, new ToolSpeedpowderShears(ModIdentifiers.TOOL_SPEEDPOWDERSHEARS)); - public static final Item TOOL_SPEEDPOWDERSHOVEL = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERSHOVEL, new ToolSpeedpowderShovel(ModIdentifiers.TOOL_SPEEDPOWDERSHOVEL)); - public static final Item TOOL_SPEEDPOWDERWATERHOE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERWATERHOE, new ToolSpeedpowderWaterHoe(ModIdentifiers.TOOL_SPEEDPOWDERWATERHOE)); - public static final Item TOOL_QUICKIEPOWDERAXE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERAXE, new ToolQuickiepowderAxe(ModIdentifiers.TOOL_QUICKIEPOWDERAXE)); - public static final Item TOOL_QUICKIEPOWDERHOE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERHOE, new ToolQuickiepowderHoe(ModIdentifiers.TOOL_QUICKIEPOWDERHOE)); - public static final Item TOOL_QUICKIEPOWDERPICKAXE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERPICKAXE, new ToolQuickiepowderPickaxe(ModIdentifiers.TOOL_QUICKIEPOWDERPICKAXE)); - public static final Item TOOL_QUICKIEPOWDERSHOVEL = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERSHOVEL, new ToolQuickiepowderShovel(ModIdentifiers.TOOL_QUICKIEPOWDERSHOVEL)); - public static final Item TOOL_QUICKIEPOWDERWATERHOE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERWATERHOE, new ToolQuickiepowderWaterHoe(ModIdentifiers.TOOL_QUICKIEPOWDERWATERHOE)); + public static final Item TOOL_SPEEDPOWDERAXE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERAXE, + new ToolSpeedpowderAxe(ModIdentifiers.TOOL_SPEEDPOWDERAXE)); + public static final Item TOOL_SPEEDPOWDERHOE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERHOE, + new ToolSpeedpowderHoe(ModIdentifiers.TOOL_SPEEDPOWDERHOE)); + public static final Item TOOL_SPEEDPOWDERPICKAXE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERPICKAXE, + new ToolSpeedpowderPickaxe(ModIdentifiers.TOOL_SPEEDPOWDERPICKAXE)); + public static final Item TOOL_SPEEDPOWDERSHEARS = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERSHEARS, + new ToolSpeedpowderShears(ModIdentifiers.TOOL_SPEEDPOWDERSHEARS)); + public static final Item TOOL_SPEEDPOWDERSHOVEL = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERSHOVEL, + new ToolSpeedpowderShovel(ModIdentifiers.TOOL_SPEEDPOWDERSHOVEL)); + public static final Item TOOL_SPEEDPOWDERWATERHOE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERWATERHOE, + new ToolSpeedpowderWaterHoe(ModIdentifiers.TOOL_SPEEDPOWDERWATERHOE)); + public static final Item TOOL_QUICKIEPOWDERAXE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERAXE, + new ToolQuickiepowderAxe(ModIdentifiers.TOOL_QUICKIEPOWDERAXE)); + public static final Item TOOL_QUICKIEPOWDERHOE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERHOE, + new ToolQuickiepowderHoe(ModIdentifiers.TOOL_QUICKIEPOWDERHOE)); + public static final Item TOOL_QUICKIEPOWDERPICKAXE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERPICKAXE, + new ToolQuickiepowderPickaxe(ModIdentifiers.TOOL_QUICKIEPOWDERPICKAXE)); + public static final Item TOOL_QUICKIEPOWDERSHOVEL = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERSHOVEL, + new ToolQuickiepowderShovel(ModIdentifiers.TOOL_QUICKIEPOWDERSHOVEL)); + public static final Item TOOL_QUICKIEPOWDERWATERHOE = registerItem(ModIdentifiers.TOOL_QUICKIEPOWDERWATERHOE, + new ToolQuickiepowderWaterHoe(ModIdentifiers.TOOL_QUICKIEPOWDERWATERHOE)); private static final Item registerItem(Identifier identifier, Item item) { return Registry.register(Registries.ITEM, identifier, item); @@ -57,6 +94,12 @@ public class ModItems { items.add(ITEM_QUICKIEINGOT); items.add(ITEM_CARROTSTACK); items.add(ITEM_ROTTENFLESHSTRIPES); + items.add(ITEM_COTTON); + items.add(ITEM_COTTONSEED); + items.add(ITEM_CANOLA); + items.add(ITEM_CANOLASEED); + items.add(ITEM_CANOLABOTTLE); + items.add(ITEM_CANOLABOTTLESTACK); items.add(TOOL_SPEEDPOWDERPICKAXE); items.add(TOOL_SPEEDPOWDERAXE); diff --git a/src/main/resources/assets/quickiemod/blockstates/blockcanolaplant.json b/src/main/resources/assets/quickiemod/blockstates/blockcanolaplant.json new file mode 100644 index 0000000..987b3c0 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/blockcanolaplant.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "quickiemod:block/canolaplant0" }, + "age=1": { "model": "quickiemod:block/canolaplant1" }, + "age=2": { "model": "quickiemod:block/canolaplant2" }, + "age=3": { "model": "quickiemod:block/canolaplant3" }, + "age=4": { "model": "quickiemod:block/canolaplant4" }, + "age=5": { "model": "quickiemod:block/canolaplant5" }, + "age=6": { "model": "quickiemod:block/canolaplant6" }, + "age=7": { "model": "quickiemod:block/canolaplant7" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/blockstates/blockcottonplant.json b/src/main/resources/assets/quickiemod/blockstates/blockcottonplant.json new file mode 100644 index 0000000..38dfbac --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/blockcottonplant.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "quickiemod:block/cottonplant0" }, + "age=1": { "model": "quickiemod:block/cottonplant1" }, + "age=2": { "model": "quickiemod:block/cottonplant2" }, + "age=3": { "model": "quickiemod:block/cottonplant3" }, + "age=4": { "model": "quickiemod:block/cottonplant4" }, + "age=5": { "model": "quickiemod:block/cottonplant5" }, + "age=6": { "model": "quickiemod:block/cottonplant6" }, + "age=7": { "model": "quickiemod:block/cottonplant7" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/lang/de_de.json b/src/main/resources/assets/quickiemod/lang/de_de.json index b72f024..e211fb9 100644 --- a/src/main/resources/assets/quickiemod/lang/de_de.json +++ b/src/main/resources/assets/quickiemod/lang/de_de.json @@ -69,8 +69,8 @@ "block.quickiemod.itemhoarder": "Itemsauger", "block.quickiemod.monsterhoarder": "Monstersauger", "block.quickiemod.kelpstack": "Seegrassbündel", - "block.quickiemod.cottonplant": "Baumwollpflanze", - "block.quickiemod.canolaplant": "Canolapflanze", + "block.quickiemod.blockcottonplant": "Baumwollpflanze", + "block.quickiemod.blockcanolaplant": "Canolapflanze", "block.quickiemod.blocksulphor": "Schwefelblock", "block.quickiemod.blocksalpeter": "Salpeterblock", "block.quickiemod.blockspeedpowder": "Fluchtpulverblock", diff --git a/src/main/resources/assets/quickiemod/lang/en_us.json b/src/main/resources/assets/quickiemod/lang/en_us.json index 9bac343..a5b3ef0 100644 --- a/src/main/resources/assets/quickiemod/lang/en_us.json +++ b/src/main/resources/assets/quickiemod/lang/en_us.json @@ -69,8 +69,8 @@ "block.quickiemod.itemhoarder": "item hoarder", "block.quickiemod.monsterhoarder": "monster hoarder", "block.quickiemod.kelpstack": "kelp bundle", - "block.quickiemod.cottonplant": "cotton plant", - "block.quickiemod.canolaplant": "canola plant", + "block.quickiemod.blockcottonplant": "cotton plant", + "block.quickiemod.blockcanolaplant": "canola plant", "block.quickiemod.blocksulphor": "block of sulfur", "block.quickiemod.blocksalpeter": "block of salpeter", "block.quickiemod.blockspeedpowder": "block of speedpowder", diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant0.json b/src/main/resources/assets/quickiemod/models/block/canolaplant0.json new file mode 100644 index 0000000..87814f8 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant0.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant1.json b/src/main/resources/assets/quickiemod/models/block/canolaplant1.json new file mode 100644 index 0000000..e68dadc --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant1.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant2.json b/src/main/resources/assets/quickiemod/models/block/canolaplant2.json new file mode 100644 index 0000000..2f5ee99 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant2.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant3.json b/src/main/resources/assets/quickiemod/models/block/canolaplant3.json new file mode 100644 index 0000000..9ffb888 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant3.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant3" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant4.json b/src/main/resources/assets/quickiemod/models/block/canolaplant4.json new file mode 100644 index 0000000..345cd3a --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant4.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant4" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant5.json b/src/main/resources/assets/quickiemod/models/block/canolaplant5.json new file mode 100644 index 0000000..cfcb6f8 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant5.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant5" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant6.json b/src/main/resources/assets/quickiemod/models/block/canolaplant6.json new file mode 100644 index 0000000..b07ce06 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant6.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant6" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/canolaplant7.json b/src/main/resources/assets/quickiemod/models/block/canolaplant7.json new file mode 100644 index 0000000..916aea4 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/canolaplant7.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/canolaplant7" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant0.json b/src/main/resources/assets/quickiemod/models/block/cottonplant0.json new file mode 100644 index 0000000..dbf487d --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant0.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant1.json b/src/main/resources/assets/quickiemod/models/block/cottonplant1.json new file mode 100644 index 0000000..dc809b5 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant1.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant2.json b/src/main/resources/assets/quickiemod/models/block/cottonplant2.json new file mode 100644 index 0000000..5af3fba --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant2.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant3.json b/src/main/resources/assets/quickiemod/models/block/cottonplant3.json new file mode 100644 index 0000000..8b1f69d --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant3.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant3" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant4.json b/src/main/resources/assets/quickiemod/models/block/cottonplant4.json new file mode 100644 index 0000000..a733dbc --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant4.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant4" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant5.json b/src/main/resources/assets/quickiemod/models/block/cottonplant5.json new file mode 100644 index 0000000..6b195fc --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant5.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant5" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant6.json b/src/main/resources/assets/quickiemod/models/block/cottonplant6.json new file mode 100644 index 0000000..18ed782 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant6.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant6" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/cottonplant7.json b/src/main/resources/assets/quickiemod/models/block/cottonplant7.json new file mode 100644 index 0000000..8b17f77 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/cottonplant7.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickiemod:block/cottonplant7" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/canola.json b/src/main/resources/assets/quickiemod/models/item/canola.json new file mode 100644 index 0000000..92a204d --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/canola.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/canola" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/canolabottle.json b/src/main/resources/assets/quickiemod/models/item/canolabottle.json new file mode 100644 index 0000000..3091d87 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/canolabottle.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/canolabottle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/canolabottlestack.json b/src/main/resources/assets/quickiemod/models/item/canolabottlestack.json new file mode 100644 index 0000000..47b93ab --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/canolabottlestack.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/canolabottlestack" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/canolaplant.json b/src/main/resources/assets/quickiemod/models/item/canolaplant.json new file mode 100644 index 0000000..91ee0b6 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/canolaplant.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/canolaseed.json b/src/main/resources/assets/quickiemod/models/item/canolaseed.json new file mode 100644 index 0000000..91ee0b6 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/canolaseed.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/cotton.json b/src/main/resources/assets/quickiemod/models/item/cotton.json new file mode 100644 index 0000000..e9c043a --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/cotton.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/cotton" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/cottonplant.json b/src/main/resources/assets/quickiemod/models/item/cottonplant.json new file mode 100644 index 0000000..7410b36 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/cottonplant.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/cottonseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/cottonseed.json b/src/main/resources/assets/quickiemod/models/item/cottonseed.json new file mode 100644 index 0000000..7410b36 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/cottonseed.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickiemod:item/cottonseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/textures/block/cottonplant3.png b/src/main/resources/assets/quickiemod/textures/block/cottonplant3.png index d19a18943c71002bf9ab98bde9c04f795c423341..6ce03a452147fdb1073e2b49ae9b0e67f1832b93 100644 GIT binary patch delta 1902 zcmV-!2a)*jDS<1HB!3HfR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3004N}?N(co+c*sT z=PC9G1i%M)96rRVy+Mw@O^Kw(o^fK&rYb+N$^ryI0N4#sGRKd9yZHw{CL4_NQ9}yB z;^&e}oS~?_e&sxqb?13r*rnXr&A!1f38Y+?iKqR59XieHG=G!O@?U{=rVP#BZsa`e z<=$RqK-R}VvjU+jvu*Q%8Ay0mD-O^f}ncXz$?e8RV@PVSk*|Ci=B;pZVSn`G_sX&?lJsLZe_-v_Aou;THF{#7ZLnF>FmK2`tu}1=rJei=v~I}G z!yhwi-I?#~S$B$w(FeMFZ`#jAV-?v2U=ik`)>2Ller2F|J{538%o@5@p^PKpP@8Q< z3p86XX$5*B2KSvDHOkcKIAx`Z5*;5LA(^XTIgJXE5`R}2&EUpCog*5ep*2|Q)kDI& z7CO_WGhHRM&Dch8WkN8*Bi}yEtB$>oSt7E!u|i!urU6x00{uh44UABqp!yTwbv*tC zuL1`B3A18>*%ot!D4uT3B`47WM-O?;9>q2T03xLJC^p7lCUXWT{ubU$)RQ;^3{C0#eo)GjnCAT=+RmKXwQ5Ru9bGx`1u?Trm>{)X zMqCi;#uD4~1K#GlMD-F^tix~CutTl%*nb6=wzy%plrkB_i%1ulQyTkVcvVvOc|kO6 z=G5FLU^a!EZdELBzY1=?S&gh}v|TJ28}`EUYG%JXs!U6)MIM^#L7Hbbo=SW&?DlEP zrroq#wKp(odz%6C9yoZHts<@t-Z#zrP=77W&$w~CEAbm5_FsZ$?AvJ5tAS$JZ6FZV zxTNr_&B1(gOZ#(y1m7vi{0DH3!C?A!accko0fm!!1RZ}x(W;0YR2(u?Cp-9oIMyl@ zp+cw?T6HkF^b49aBq=VAf@{ISkHxBki?gl{u7V)=0pjf7r060g{x2!Ci1pyOAMfrx z?%n}Hwa7H9Edpq|Z6;z-F_m5wJ6_R^A@pMcy)v_mIZ2A6<@maXkFR%Op4Ix?pQA_3 zSPbxq#1VgHm^SeS@yw=eaNZ{lvb?MkpA(OpbV1@rt}7nDan89c@XVl@Ow1DpiN#zK zD^1MurbawX98xu%@`aSgD(5ZETCvRP_v9}OWb~C~uG1Vr42xKT1Q80#D4+-%VOn)k zEF@?@+QL8V`XzEH-kX=9cAN=mt%1(bxdP#vO(Ej2$AEQ9WE>NpD&iAq7 z)J_2ZGjOFh{G}=|`$>AGp@oiszHQ**x}hn1z~v4w_+-eY>`H!`LN*J$pV2p^fq`3~ zYt8GezK_!fAW2=tZ-9eCU@S-3>n+~h+1%T|XX^d^0KemM#ichP6#xJZTWM5SbXZMH zI%BgE27v-3IX7f9Fk)q8Eo3=lV=Xi_Wi%~0Hexj`V`DI5H90pkH85i^leY+_4l^<} zH8wdnG&eUnF*GofYYA-*F)=zaHB>P;Iy5;tGc=Rt2_OzJF*-6eR53U@G&wpmG_w>6 z5do7z3S1;&I5T5qFflYOW;tbHEi_|cGc7qVV>vA{HexqnIbk(1I5#(w!U{(YF)=MN zHB>P;Iy5;tGc>ao3vLJ&0f7bR00006VoOIv00IDN03iLXh9Q%i6CVi+84)oeV%wEk zlfx4zf7(ezK~y-)?UFr;gg_95KNlkr1TSFffdo^p;2k`Rp_!qlP(%&HL=1&)!5?gU z@||JF-GzSHy7~b=$V|eUDNK0LO7& zHu?A*XqrY()5NxIlx0a(RY)lTD2hVA74UuEaBy80r4&umpp?S4ZI)$02yyQQd7kTi z-w{IKc^=1cAf+S-0^{uj073|cVZby^)^%l`XO82zZ%rJ>I*K9zW@6WLd^}o`3hs59b7GzVSs#Gynhq07*qoM6N<$f^Ls+g#Z8m delta 1952 zcmV;R2VeMsEAT0hB!5VHR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3004N}?N?cLBqCN51P&t%tR}&w7haNJWdOA+%>VJP3x;)TgPndOZ81ijRNql!F9Pk6+JLH6+N9tykdL zW}r@&dth`tU5cxIb!EiF-I25SbZ_DGQD{J16hM1RuYW-W%(;GSu<;VyrvC%Ft=4es{C zZ#~C)dw$ZFcDpzjy`g)I7RQ=2W|4gW7U4|ln#z*UuS^uzsDM{(Fv!{nVZI4(wAogq zK(iGqtw2u1;C_&&MwtfnRaUA9(Q{`-$y^P)rHmjcaetlkBR}xcV0Fngqz1dXbI9=> z3oW;4xvLayGqw@BGQk*O$d6z1)sAD#wM1m&jTPeJxf&3KCD1<$bOR$a4ydvKzTWrG zEK``XNfDPn?0wPjoB?6EU1Z9Md z)yM@5kbej_1j*jH0CKQ8;2UF>krIlQSduBZB7Lf_QbW}mYpS_%a}5i;g@2|kw$yT`j#TQtOAlRp?5XF0R2y#i zAtMYmBaSrk&Dx>$!}|@^=&;6%so7C))}U3rOwim;WO4?^*b@j>um;AE*po9G$$Os6 zP0ny0VO0ntNSWj`nv8)#--%_=&D~+n0L9vDW4(Q5R!- z8GlYtt;6aYK{7}D;rRW$H2>A%tK}aP0L!5=Y%)492Q-Ngnr-{mJkahFj0zH@J zz2e)Y^73IsnNq@eJ8QTSoS5u!JdczWT%pu>HA>?UKbSS&^e=qD5SMRBiNlVFq;{Wb z+4_bZ$%O+@t7}w=wZ-FL3brkPL0|jvB^fK zhT#3-&vCgpZnZ6p)_h)#45x@b0PpKm2A&-9*_l6MPz6$@r7fyiwr7s$B=V zpqFlVzPRhU3B$EDrT#7g^WzZSl~0CfxY+JU^jqf4>+w*>kvuV)TftuID-x+cGWbG7 zxUhvgfwMU&h2#IVtTZpB^Z#TBR~meqntuUj{KlKHw~`D100D%PJOmwor6LuP78Fs) zP@U|eB965RMW_&Jg;pI*F8zWg4M~cNqu^R_@ME#+;Nq;SgR3A2etWTrHZkwq@T+C!w#lR~BgfM_n49d(h<|HWz&+&B+A7AgH zJj?sspQBIBSq$)r#4%=nm^SeS@yw=eaNZ{lv!bjLpA%1*bV1@rt}8CTaV|7j;F)1F zoth^O6N`loRyvp!O^tY(IHGDgCuqO|IySV+-++`~WI^h@MY$W;O(#{w$QAUFNsfAG6oD?c@V=_Uo^K=+H|e2f8s zU7%5OobO}DX`BH5XW&Y2`zv)|_LKBlTZTqVl6jfVPh>cVPR%1Vl-rAEj2e{V_{-8G&nS5 zWRrUcrVcPTGd46bGBGwXHZU`=r(vN+_|xMs~?h`%AbySO^&kj2eO#Mur)cm%0X$>309@~TPXy z7tXoxk6)wr*)mO2aU2H`p>11S*InSRE)!;1CgaH^w-47?YY~Lu=4k1Wm5&3ZluRG* zsOpM;$<2)W@e_Jp0&sqHB3~MKp4Z#n+QnFdQVMG=gY^OWC8sF!ZW)|j97)sEw6hIH zdu!Bh4SJpv>>qT?pezgYw9jy-;QCi diff --git a/src/main/resources/assets/quickiemod/textures/block/cottonplant4.png b/src/main/resources/assets/quickiemod/textures/block/cottonplant4.png index 4cd6a0534c40ace85e09f614ebc30909f43b858d..81cd078a91df1955d15ba472a87c04c8e776cd07 100644 GIT binary patch delta 2189 zcmV;82y*w=EsrgbBYy;OdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U-|ca_lG! z{bv=k1SBCI%i&?FW(TwUIoLoylFseq-kPtmD@GPVI_OBaV~&6R?&dFCOpcAy5PkCA z;&RC)&Jd!#u5v!fy7M_->=GXIW=}9wf>Ey5#8ZDj51HnBntwrP*)K;sQii0riJYgt zJnGAI$nn|HL?CoUwrwt$j)W&7cfHq%$fp<{w$|#5?4~N-{+tB%>M1xp9orCmf*jep zfPA(ARKgh^Ihv7{V!ba@1|~j)#NsL9E|fC{hW|TTCLyXr+U)mXidnD z!}pP6-H{*kwd@cxM|X7h-eNyDja_8tkqbXJwYG9fuqz{r=PHjoSZ`3Z5yH3=?r5{E zD1l}xI;}uX#NfV@qehuJ9p_l70;1!C14ia*SWaaGNq>o}jAC%(rp`fS|pwi(+9rc7`~Sn}iByldF|=p`Z>cdmeo&+>(qK>rwE21cmQr0SXAbw6K& zR{?{1ra5AR*%ouTC`z~Dl9OnGp<=vxk3yRckRpUufI*)*vYtfA15scOL`Y-=K^f4| zjah6uX>&K3Go1enZzjZ(H~wAb%%JW~=05WF8Eb8PCF;r8 z)qjQ~saDW^m_K6Xn8)Y!>aEm1?^^ve%q(AK?Qvul)2Wlys+>h z>Dcl7CN9ZR#ic5;lbv;e*;)6pRGoD$v0sm7E2#T4m)o>6)YojK4K?i4 zMP2RC@zd=WU1UDARX+H+t>T_!Sp}AlCACr5Y{qUIH$jKBxScsUL{f28S_Qs zns++;o$)_%gnum>{%Y!gGAx!^hXVD9`df_vh$UawY?O z0&#zg>4rtTK|Hf*>74h8!>lMN#OK8023?T&k?XR{Z=4Gb`*~*ANT=qB!^A?Njpa6G zMMEW?CXOhoM*04X%L?Z$&T6^Jn)l={4CS~|df(QXJswklh3sG7%QcR?1 zKknflcKjl_WO9|j$gzM5R7j2={11M2YvzBaCf%e^9O!(p?T=9)xC=CDw*7r<+l><- z@C;mOEq|pB%zlzyYiW@qpl=(vxNd3k9&ot>3_j_SAvscjrazwt-p}ZpvcSMC(7opN z*4)SG1CXY!k~hG?Auv{;>~)WKceVHS@0n(QKMfUfJI599|EiqzaF)cJ>IWjFcWil`=Vq-QlIAS?5HZU@i?+K?4Gcq+bH!v_V zF*P(eF))*)3T+E9F*-6eR53U@H87JL3nL3LF*-6eR53U@H88VE3lss9dkb77IXN^i zFf}+bEio`RV=XjdGdV3{G-PHiVl*~6H)dfsVKg;3llu!t3o$V*GBs2&I65^jvrPv?Vo-6Jz%@tqU$ zn2eYeSGS`aU2Z8f1q40Gnq{2_xsfAb#}WQQcBL}^GmDM`u-FU1Od0(jm2U?sZ^p? zt8qLYIUEj1DW~al`tz?_dl;eFY-&4 zo=2zC(KegSC(rZVCrR?9+wFdP(`gO{17+K`dh03w=3q1$8xhCxzk8-1v9zj02evAg P00000NkvXXu0mjfut)_t delta 2407 zcmV-t37GbeE!QoOBYy>fdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+TB-KlH)cE z{pTri1QOr^9EWRFZjj^Wagl8IbkDdaseD8#ixdc9djLqA{@0(w{DF&z#rTjUYK#__ zSFe;Y5xcLlp3eI9JTLZ|ywJ_PKp-(j-mglB-a*IQop(J-+<(P?3A#09%)(|?R7o$cwR$xBLz2hObD|icOCC>8Hl?VT3t68K z&o&L^wA3R;N7F^P-Y-^yP1M=3#go}@D|!Ar=QU=mssW>8!OOhX!V0_vlrRB;bqgNZ z-obp1%_Bx%Tz~JlWuavB$^3-cBSBvCd;FB{!X@Zh;9Czp zYnFOzexXyD5qw-RIhysw5Du2&p@bh+q5-T^P265dv#B|%@ zmReovsuSCcZ4RvDAk5*D-@eVejAP7Na?Z*fE7(OVeL;1Ae-2;+B5s_Zh85uJ{&-DX z83=|IW`Tp*7PCc^;2z1v3up#oz_@GArFH}$L{J@IjAI~RqvPNrEJ{SlIRsJwP=@KK zMk+wSg?~T|Mv`Za00-3p-S{TC#Y%xT8C{jV;lPm-uu;wc%lm-*NnVgcIdJeHgcwqg zpdm+&v+`n0akl52IQbM(Oeu*;nzFEX2@)lVh)PycM*9wmI#p5CoS`&Ba>myg3^^An zTzm;7mQUKp1O4Hc_7sW4?n_) zBbgyXN4`-zu>Np=12uP0qlMIDOgCzvrgVvLvz>&A84x4y0C)mwKn#gJF|*>lr-|Ie z4EqtPA`pxW6P)HIVnEP$M`5@dyMvrT6#o_6Op=8g{Zr)3gzin`e#GrF)Y{x7>OyRn z;eQOOWmMk?C6i<-VuzPGlRS6Y*U@~n@ZIr$CtKQhYO)@P;PyN^rWQ;wZ^|NtwT}XpvAO zn^>h#3(K~w_O>XbtrvwWn^B#{J!>M=_kSnFUABKZnrFgsH%7GmHJ!(zsYFF`xz?O) zRIoJ{)b&y*&S*S9&Z=MXnCcE`B#xV}cVL;W==!l`&MH6pmPLE=GCJM7*v63$$8&5Y zJ1oq^x6v@hThh;tXj680rsQ%cbG)lVJ)^N=Iu<6Xn@9TgKgoobAPlC z)-P+k_ALjoIVuAV6?z3bsoO-D+0cmh%kVV`MSo003qF{{d>EKgL6eK~)gY$ubVGt3 zt}5k$$%Y3CGFsiwz~6Zkx4Gn`AFylOW{6LEJm|?aO7>`J?7G#S#u1h>EIO9=v5`m$ zpnKT4UhE^Y;nJPEPSJq30vyw1xqtSxwNS(-_fVv^9_*XF6NyfNLbB2B^_c4v=C-iI zGN{5ZY!^py!TGix$OI?Maptwzd{B##xzMIJ>~7!gZQWy-)jwSAg=)C!LQew2!<|}? zUPsWQD?GQQ81}RpK?vz2WjxMfH)`>U=Vs z6jV_{88)J{>ZDjm(SF>+Kiu?7LeQ1>->Xi{pHZ z0fAkhQFEN{W5;Qn0RCs-N^kosbzt_B^jces90C2?z{Pc2Q}%$%9bo9mkWINM`DqII zJn()--;@PHw?OZj+gocNrw>4yx=P*v2Zz9TfwI><-rdvL+rMX8{rv!bopP&Ak+A|$sef})Gr%b35dj$-i_A`jdY6yRP#D!8Au-U8 z99A*4lM9Y706Kf)2+?3`W1bKC5I>L4xDksn8rkD+`~g8j!}xWw**xQKPK0QG;8Ejd zZx5DjlgnlSNIhRfR=Oz{a-QpyU$=Bn`t}hi80B7n5+#4e>g*jJkEbxtPpRnzOhbEh z|Jg>qCBQO^1RE}&zaBAqOJj0u0bBo$SvsX!(Xs(WUcPjVU)G+Am7L1UWRZw^8(a&c zdXDSXCXz2U-?epJPiAHWz+rkedTBd7F?E=pUTga_-^`7Ocp@R%)%*W1EWEE%^SrBj Zrr&uuo2SWwf;9jD002ovPDHLkV1lLmcXaB^>EX>4U6ba`-PAZ2)IW&i+q+TB)LlI$i7 z{bv>$g}!3KKT({raMxmBr(sW!3@dL0Sc9Dn`U%^!G}Tr|#W3@HSQ z$0e6IgNXKe%K0Yi&iDMVi+JLjy})1zX1P8SPyPWuXqw+?8h@cBzZ7jt8I*r4(RFFsRxHVvK|lZMGF9 z&}>Dg70`(o*mrW&C{w57oGVqh==fm8%v=r2$&3IgaetLj3~mhStdgXmG+63YL&Dn^ zI?bljT%~B6v5g?g1Z9LR|9F^p1$!U8L}cU675w7S4e-Je;2#sjfC%-ORDULTjr%ij z6(H!(G)DxOZ84XM;^|Rbasn+7^q8;SBW+UwQUuc;&Y;g6*+Akcz$0Z=A|x^bpbXd1 zja+~Ld4JChPO=jT00-Rx+t{OYin8a6jZ;;eL9+%?V3Q;REayDxM_oh>WiQ@&?}Jw# zeeyX-7@Ze_hH*S+6?N)0sA@EtG)IXp`WT|d7*ouNli>LF34NMkN-1X;&Cr~&J3}Dn z!bOTJzJ#JBmSjqNkfCT(0{bWmRdgOKq(#W@JBfGh(|hdN2zt` zuKOOknjU-Vd80OA{WN}n8co#rL~01?Mh#rmrGmzB;s<6xj2!`R1!_PHg*`B{k(}d! z+`tU?5xT-Nob&^nMguV*=ni7vX=68$Gn{`9ZbsvY8~;_>@N+-+b9fjDRWeT^*(cC@Y zz7%f=c=?n4T3eVftz>guag^=tQl-`FEq{{Nvl;0~JGA8+Z-SRkwJjL7IbW7k^=A5l zCck?XHp?!ev-KDGX*Pbz1i#3T?*+_Z`L%gTYX;LAJ1vXfK3X*px*t)Bdlv|JV%hu?;paqVt>bKr)&ZNt6o({A)$jmQC6h7#jXXylP$Zd+yo)NKwb1pJe_9f_d5~+`emWleGmQ z3`Nlv5j&_jWT;MdsgvRbE`Li3En+=5?#H`(kGpq(P%ksh>WTrHZkwq@T+C!w#hzF6 zV+4bUA}BMk#B?aO@_lx6vi~~KpK%?e3-^Y&AI05|6z?I(eSL(p*C+W487Cr(7wtF*rIkFgh|gvs4Qa0h59YTqH0xVK`zrWHc>eIAS&}G%#XeEjTtXIW09X zHaR(EWo0xnVKb8g3`Y(zF)cDRR53U@H846dII~v_ZU`2%lnV#|000JJOGiWi0sv|N zApNa|A(Pt_9|;Q?5i%Tzm)kOv0~IKLj7da6R5;7Ule?7a;_OVQ|0SF${x3p@61o)M_>5n}RS5@qM3EDn%T}EEWrNT_=;t zpzAu8Wnr2or_+h~d@dV}hVnunr6iZj0Wg_N*zI;44hOQ?EX87xa=ApB3B$Af%6&+T?&xm*H&Fc=Kbbsg7riK6J&JDAO8GD#9NO(TjT#^W*ddYw+E z!})y1^E`atr`PMfT;Zvp*=#C75Dn delta 2369 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