diff --git a/src/main/java/de/jottyfan/minecraft/QuicklyClient.java b/src/main/java/de/jottyfan/minecraft/QuicklyClient.java index 466de95..516e66f 100644 --- a/src/main/java/de/jottyfan/minecraft/QuicklyClient.java +++ b/src/main/java/de/jottyfan/minecraft/QuicklyClient.java @@ -15,5 +15,6 @@ public class QuicklyClient implements ClientModInitializer { @Override public void onInitializeClient() { BlockRenderLayerMap.putBlock(QuicklyBlocks.COTTONPLANT, ChunkSectionLayer.CUTOUT); + BlockRenderLayerMap.putBlock(QuicklyBlocks.CANOLAPLANT, ChunkSectionLayer.CUTOUT); } } diff --git a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java index 1d4c807..447ee7d 100644 --- a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java +++ b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java @@ -31,6 +31,8 @@ public class QuicklyBlocks { p -> new BlockOreDeepslateTurquoise(p)); public static final Block COTTONPLANT = registerBlock("blockcottonplant", Properties.ofFullCopy(Blocks.WHEAT), p -> new BlockPlant(p, "cottonseed", "cotton")); + public static final Block CANOLAPLANT = registerBlock("blockcanolaplant", Properties.ofFullCopy(Blocks.WHEAT), + p -> new BlockPlant(p, "canolaseed", "canola")); private static final Block registerBlock(String name, Properties properties) { return QuicklyBlocks.registerBlock(name, properties, p -> new Block(p)); @@ -57,6 +59,7 @@ public class QuicklyBlocks { block.accept(ORETURQUOISE); block.accept(OREDEEPSLATETURQUOISE); block.accept(COTTONPLANT); + block.accept(CANOLAPLANT); }); } } diff --git a/src/main/java/de/jottyfan/minecraft/composter/QuicklyComposter.java b/src/main/java/de/jottyfan/minecraft/composter/QuicklyComposter.java index 8310cd8..1c18c2f 100644 --- a/src/main/java/de/jottyfan/minecraft/composter/QuicklyComposter.java +++ b/src/main/java/de/jottyfan/minecraft/composter/QuicklyComposter.java @@ -13,6 +13,8 @@ public class QuicklyComposter { public static final void registerComposterItems() { CompostingChanceRegistry.INSTANCE.add(QuicklyItems.COTTONSEED, 0.5f); CompostingChanceRegistry.INSTANCE.add(QuicklyItems.COTTON, 0.75f); + CompostingChanceRegistry.INSTANCE.add(QuicklyItems.CANOLASEED, 0.5f); + CompostingChanceRegistry.INSTANCE.add(QuicklyItems.CANOLA, 0.75f); } } diff --git a/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java b/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java index d995d43..582864c 100644 --- a/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java +++ b/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java @@ -26,6 +26,10 @@ public class QuicklyItems { public static final Item COTTON = registerItem("cotton"); public static final Item COTTONPLANT = registerItem("cottonplant"); public static final Item COTTONSEED = registerItem("cottonseed", properties -> new Plant(properties, "blockcottonplant")); + public static final Item CANOLA = registerItem("canola"); + public static final Item CANOLAPLANT = registerItem("canolaplant"); + public static final Item CANOLASEED = registerItem("canolaseed", properties -> new Plant(properties, "blockcanolaplant")); + public static final Item ROTTENFLESHSTRIPES = registerItem("rotten_flesh_stripes"); public static final Item ARMOR_TURQUOISE_BOOTS = registerItem("turquoise_boots", ArmorType.BOOTS); diff --git a/src/main/java/de/jottyfan/minecraft/loot/QuicklyLootTables.java b/src/main/java/de/jottyfan/minecraft/loot/QuicklyLootTables.java index 4cc31b9..cacdefe 100644 --- a/src/main/java/de/jottyfan/minecraft/loot/QuicklyLootTables.java +++ b/src/main/java/de/jottyfan/minecraft/loot/QuicklyLootTables.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.loot; import de.jottyfan.minecraft.item.QuicklyItems; import net.fabricmc.fabric.api.loot.v3.LootTableEvents; import net.minecraft.resources.Identifier; +import net.minecraft.world.item.Item; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; @@ -18,19 +19,19 @@ public class QuicklyLootTables { public static final void registerChanges() { LootTableEvents.MODIFY.register((key, tableBuilder, source, registries) -> { if (source.isBuiltin()) { - // TODO: maybe, better harvest cotton from dry grass instead? Identifier shortGrass = Identifier.fromNamespaceAndPath("minecraft", "blocks/short_grass"); - Identifier tallGrass = Identifier.fromNamespaceAndPath("minecraft", "blocks/tall_grass"); + Identifier tallGrass = Identifier.fromNamespaceAndPath("minecraft", "blocks/tall_grass"); if (key.identifier().equals(shortGrass)) { - LootPool.Builder poolBuilder = LootPool.lootPool() - .setRolls(ConstantValue.exactly(1f)) - .when(LootItemRandomChanceCondition.randomChance(0.1f)) - .add(LootItem.lootTableItem(QuicklyItems.COTTONSEED)); - tableBuilder.withPool(poolBuilder); + tableBuilder.withPool(harvestItemByChance(QuicklyItems.COTTONSEED, 0.05f)); } else if (key.identifier().equals(tallGrass)) { - // for the canola loot table block later + tableBuilder.withPool(harvestItemByChance(QuicklyItems.CANOLASEED, 0.03f)); } } }); } + + private static final LootPool.Builder harvestItemByChance(Item item, float chance) { + return LootPool.lootPool().setRolls(ConstantValue.exactly(1f)) + .when(LootItemRandomChanceCondition.randomChance(chance)).add(LootItem.lootTableItem(item)); + } } diff --git a/src/main/resources/assets/quickly/blockstates/blockcanolaplant.json b/src/main/resources/assets/quickly/blockstates/blockcanolaplant.json new file mode 100644 index 0000000..434396e --- /dev/null +++ b/src/main/resources/assets/quickly/blockstates/blockcanolaplant.json @@ -0,0 +1,12 @@ +{ + "variants": { + "age=0": { "model": "quickly:block/canolaplant0" }, + "age=1": { "model": "quickly:block/canolaplant1" }, + "age=2": { "model": "quickly:block/canolaplant2" }, + "age=3": { "model": "quickly:block/canolaplant3" }, + "age=4": { "model": "quickly:block/canolaplant4" }, + "age=5": { "model": "quickly:block/canolaplant5" }, + "age=6": { "model": "quickly:block/canolaplant6" }, + "age=7": { "model": "quickly:block/canolaplant7" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/items/canola.json b/src/main/resources/assets/quickly/items/canola.json new file mode 100644 index 0000000..8fdba97 --- /dev/null +++ b/src/main/resources/assets/quickly/items/canola.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "quickly:item/canola" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/items/canolaplant.json b/src/main/resources/assets/quickly/items/canolaplant.json new file mode 100644 index 0000000..3658447 --- /dev/null +++ b/src/main/resources/assets/quickly/items/canolaplant.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "quickly:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/items/canolaseed.json b/src/main/resources/assets/quickly/items/canolaseed.json new file mode 100644 index 0000000..3658447 --- /dev/null +++ b/src/main/resources/assets/quickly/items/canolaseed.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "quickly:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/lang/de_de.json b/src/main/resources/assets/quickly/lang/de_de.json index 5fd9f62..8a9d53a 100644 --- a/src/main/resources/assets/quickly/lang/de_de.json +++ b/src/main/resources/assets/quickly/lang/de_de.json @@ -1,6 +1,9 @@ { + "item.quickly.blockcanolaplant": "Rapspflanze", "item.quickly.blockcottonplant": "Baumwollpflanze", "item.quickly.blockturquoise": "Türkisblock", + "item.quickly.canola": "Raps", + "item.quickly.canolaseed": "Rapssaat", "item.quickly.cotton": "Baumwolle", "item.quickly.cottonseed": "Baumwollsaat", "item.quickly.kelpbundle": "Seegrassbündel", diff --git a/src/main/resources/assets/quickly/lang/en_us.json b/src/main/resources/assets/quickly/lang/en_us.json index 970de52..f0de2c7 100644 --- a/src/main/resources/assets/quickly/lang/en_us.json +++ b/src/main/resources/assets/quickly/lang/en_us.json @@ -1,6 +1,9 @@ { + "item.quickly.blockcanolaplant": "canola plant", "item.quickly.blockcottonplant": "cotton plant", "item.quickly.blockturquoise": "block of turquoise", + "item.quickly.canola": "canola", + "item.quickly.canolaseed": "canola seed", "item.quickly.cotton": "cotton", "item.quickly.cottonseed": "cotton seed", "item.quickly.kelpbundle": "kelp bundle", diff --git a/src/main/resources/assets/quickly/models/block/canolaplant0.json b/src/main/resources/assets/quickly/models/block/canolaplant0.json new file mode 100644 index 0000000..c47f474 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant0.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant1.json b/src/main/resources/assets/quickly/models/block/canolaplant1.json new file mode 100644 index 0000000..aee18b0 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant1.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant2.json b/src/main/resources/assets/quickly/models/block/canolaplant2.json new file mode 100644 index 0000000..d684604 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant2.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant3.json b/src/main/resources/assets/quickly/models/block/canolaplant3.json new file mode 100644 index 0000000..d649b88 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant3.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant3" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant4.json b/src/main/resources/assets/quickly/models/block/canolaplant4.json new file mode 100644 index 0000000..0089ec8 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant4.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant4" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant5.json b/src/main/resources/assets/quickly/models/block/canolaplant5.json new file mode 100644 index 0000000..b0a16be --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant5.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant5" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant6.json b/src/main/resources/assets/quickly/models/block/canolaplant6.json new file mode 100644 index 0000000..a8b69b4 --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant6.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant6" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/block/canolaplant7.json b/src/main/resources/assets/quickly/models/block/canolaplant7.json new file mode 100644 index 0000000..a196e6a --- /dev/null +++ b/src/main/resources/assets/quickly/models/block/canolaplant7.json @@ -0,0 +1,6 @@ +{ + "parent":"block/cross", + "textures":{ + "cross":"quickly:block/canolaplant7" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/item/canola.json b/src/main/resources/assets/quickly/models/item/canola.json new file mode 100644 index 0000000..5e47682 --- /dev/null +++ b/src/main/resources/assets/quickly/models/item/canola.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickly:item/canola" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/item/canolaplant.json b/src/main/resources/assets/quickly/models/item/canolaplant.json new file mode 100644 index 0000000..71bf44e --- /dev/null +++ b/src/main/resources/assets/quickly/models/item/canolaplant.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickly:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/models/item/canolaseed.json b/src/main/resources/assets/quickly/models/item/canolaseed.json new file mode 100644 index 0000000..71bf44e --- /dev/null +++ b/src/main/resources/assets/quickly/models/item/canolaseed.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "quickly:item/canolaseed" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant0.png b/src/main/resources/assets/quickly/textures/block/canolaplant0.png new file mode 100644 index 0000000..12eae03 Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant0.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant1.png b/src/main/resources/assets/quickly/textures/block/canolaplant1.png new file mode 100644 index 0000000..0849b41 Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant1.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant2.png b/src/main/resources/assets/quickly/textures/block/canolaplant2.png new file mode 100644 index 0000000..568009c Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant2.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant3.png b/src/main/resources/assets/quickly/textures/block/canolaplant3.png new file mode 100644 index 0000000..5df1b33 Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant3.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant4.png b/src/main/resources/assets/quickly/textures/block/canolaplant4.png new file mode 100644 index 0000000..577b32b Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant4.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant5.png b/src/main/resources/assets/quickly/textures/block/canolaplant5.png new file mode 100644 index 0000000..ac625ca Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant5.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant6.png b/src/main/resources/assets/quickly/textures/block/canolaplant6.png new file mode 100644 index 0000000..a60e7fe Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant6.png differ diff --git a/src/main/resources/assets/quickly/textures/block/canolaplant7.png b/src/main/resources/assets/quickly/textures/block/canolaplant7.png new file mode 100644 index 0000000..8bf076a Binary files /dev/null and b/src/main/resources/assets/quickly/textures/block/canolaplant7.png differ diff --git a/src/main/resources/assets/quickly/textures/item/canola.png b/src/main/resources/assets/quickly/textures/item/canola.png new file mode 100644 index 0000000..0bf131f Binary files /dev/null and b/src/main/resources/assets/quickly/textures/item/canola.png differ diff --git a/src/main/resources/assets/quickly/textures/item/canolaseed.png b/src/main/resources/assets/quickly/textures/item/canolaseed.png new file mode 100644 index 0000000..e1ef6ed Binary files /dev/null and b/src/main/resources/assets/quickly/textures/item/canolaseed.png differ