From 2fc20ae6d0a155fbef05a3636bd8be123dd86590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A6mer?= <78032176+BigGaemer@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:49:38 +0200 Subject: [PATCH] finally --- CHANGELOG | 6 +++- gradle.properties | 2 +- .../smithy/terraoriginum/TerraOriginum.java | 3 ++ .../terraoriginum/items/ghostlyItems.java | 4 +++ .../util/LootTableModifiers.java | 30 +++++++++++++++++++ .../terraoriginum/recipes/ghostly_boots.json | 20 +++++++++++++ .../recipes/ghostly_chestplate.json | 20 +++++++++++++ .../terraoriginum/recipes/ghostly_helmet.json | 20 +++++++++++++ .../recipes/ghostly_leggings.json | 20 +++++++++++++ 9 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/smithy/terraoriginum/util/LootTableModifiers.java create mode 100644 src/main/resources/data/terraoriginum/recipes/ghostly_boots.json create mode 100644 src/main/resources/data/terraoriginum/recipes/ghostly_chestplate.json create mode 100644 src/main/resources/data/terraoriginum/recipes/ghostly_helmet.json create mode 100644 src/main/resources/data/terraoriginum/recipes/ghostly_leggings.json diff --git a/CHANGELOG b/CHANGELOG index 9420299..30956fc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -19,4 +19,8 @@ ## 1.20.1-1.0.8 - shade invisibility no longer makes armour invisible -- added sylt \ No newline at end of file +- added sylt + +## 1.20.1-1.0.9 +- cotton and cotton armour are now obtainable +- cotton seeds can be obtained from breaking grass \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 649b1cc..865aaab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ yarn_mappings=1.20.1+build.10 loader_version=0.16.10 # Mod Properties -mod_version=1.20.1-1.0.8 +mod_version=1.20.1-1.0.9 maven_group=com.smithy archives_base_name=TerraOriginum diff --git a/src/main/java/com/smithy/terraoriginum/TerraOriginum.java b/src/main/java/com/smithy/terraoriginum/TerraOriginum.java index 359a6e1..902ce74 100644 --- a/src/main/java/com/smithy/terraoriginum/TerraOriginum.java +++ b/src/main/java/com/smithy/terraoriginum/TerraOriginum.java @@ -5,6 +5,7 @@ import com.smithy.terraoriginum.blocks.crucifix; import com.smithy.terraoriginum.items.*; import com.smithy.terraoriginum.registry.modEnchantments; import com.smithy.terraoriginum.registry.modPowers; +import com.smithy.terraoriginum.util.LootTableModifiers; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; @@ -30,6 +31,8 @@ public class TerraOriginum implements ModInitializer { ghostlyItems.register(); ghostlyArmourItems.register(); modPowers.register(); + + LootTableModifiers.modifyLootTables(); ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(umbrella.UMBRELLA)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(sunTotem.SUN_TOTEM)); diff --git a/src/main/java/com/smithy/terraoriginum/items/ghostlyItems.java b/src/main/java/com/smithy/terraoriginum/items/ghostlyItems.java index 378b4e6..9b2d823 100644 --- a/src/main/java/com/smithy/terraoriginum/items/ghostlyItems.java +++ b/src/main/java/com/smithy/terraoriginum/items/ghostlyItems.java @@ -1,7 +1,9 @@ package com.smithy.terraoriginum.items; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.item.Item; +import net.minecraft.item.ItemGroups; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; @@ -14,6 +16,8 @@ public class ghostlyItems { Registry.register(Registries.ITEM, new Identifier("terraoriginum", "ghostly_cloth"), GHOSTLY_CLOTH); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register((content) -> content.add(GHOSTLY_CLOTH)); + } diff --git a/src/main/java/com/smithy/terraoriginum/util/LootTableModifiers.java b/src/main/java/com/smithy/terraoriginum/util/LootTableModifiers.java new file mode 100644 index 0000000..a84c3dd --- /dev/null +++ b/src/main/java/com/smithy/terraoriginum/util/LootTableModifiers.java @@ -0,0 +1,30 @@ +package com.smithy.terraoriginum.util; + +import com.smithy.terraoriginum.items.cottonItems; +import net.fabricmc.fabric.api.loot.v2.LootTableEvents; +import net.minecraft.loot.LootPool; +import net.minecraft.loot.condition.RandomChanceLootCondition; +import net.minecraft.loot.entry.ItemEntry; +import net.minecraft.loot.function.SetCountLootFunction; +import net.minecraft.loot.provider.number.ConstantLootNumberProvider; +import net.minecraft.loot.provider.number.UniformLootNumberProvider; +import net.minecraft.util.Identifier; + +public class LootTableModifiers { + private static final Identifier GRASS_ID = + new Identifier("minecraft", "blocks/grass"); + + public static void modifyLootTables() { + LootTableEvents.MODIFY.register((resourceManager, lootManager, id, tableBuilder, source) -> { + if(GRASS_ID.equals(id)) { + LootPool.Builder poolBuilder = LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(RandomChanceLootCondition.builder(0.08f)) + .with(ItemEntry.builder(cottonItems.COTTON_SEEDS)) + .apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1.0f, 1.0f)).build()); + + tableBuilder.pool(poolBuilder.build()); + } + }); + } +} diff --git a/src/main/resources/data/terraoriginum/recipes/ghostly_boots.json b/src/main/resources/data/terraoriginum/recipes/ghostly_boots.json new file mode 100644 index 0000000..d094863 --- /dev/null +++ b/src/main/resources/data/terraoriginum/recipes/ghostly_boots.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#E#", + " # " + ], + "key": { + "#": { + "item": "terraoriginum:ghostly_cloth" + }, + "E": { + "item": "minecraft:netherite_boots" + } + }, + "result": { + "item": "terraoriginum:ghostly_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/terraoriginum/recipes/ghostly_chestplate.json b/src/main/resources/data/terraoriginum/recipes/ghostly_chestplate.json new file mode 100644 index 0000000..ad08bdd --- /dev/null +++ b/src/main/resources/data/terraoriginum/recipes/ghostly_chestplate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#E#", + " # " + ], + "key": { + "#": { + "item": "terraoriginum:ghostly_cloth" + }, + "E": { + "item": "minecraft:netherite_chestplate" + } + }, + "result": { + "item": "terraoriginum:ghostly_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/terraoriginum/recipes/ghostly_helmet.json b/src/main/resources/data/terraoriginum/recipes/ghostly_helmet.json new file mode 100644 index 0000000..fbd246d --- /dev/null +++ b/src/main/resources/data/terraoriginum/recipes/ghostly_helmet.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#E#", + " # " + ], + "key": { + "#": { + "item": "terraoriginum:ghostly_cloth" + }, + "E": { + "item": "minecraft:netherite_helmet" + } + }, + "result": { + "item": "terraoriginum:ghostly_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/terraoriginum/recipes/ghostly_leggings.json b/src/main/resources/data/terraoriginum/recipes/ghostly_leggings.json new file mode 100644 index 0000000..c5a4d96 --- /dev/null +++ b/src/main/resources/data/terraoriginum/recipes/ghostly_leggings.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#E#", + " # " + ], + "key": { + "#": { + "item": "terraoriginum:ghostly_cloth" + }, + "E": { + "item": "minecraft:netherite_leggings" + } + }, + "result": { + "item": "terraoriginum:ghostly_leggings", + "count": 1 + } +} \ No newline at end of file