From 1f7b904c63c252b1c815d254983bc71ec5fcfc26 Mon Sep 17 00:00:00 2001 From: Vos Date: Sun, 15 Mar 2026 21:02:29 -0500 Subject: [PATCH] Update to 1.21.5 --- gradle.properties | 6 +- .../building_blocks/infernal_ashes.json | 4 +- .../recipes/building_blocks/prisma_steel.json | 4 +- .../recipes/building_blocks/raw_endtropy.json | 4 +- .../recipes/building_blocks/raw_entropy.json | 4 +- .../building_blocks/stable_endtropy.json | 4 +- .../building_blocks/stable_entropy.json | 4 +- .../decorations/infernal_ashes_block.json | 4 +- .../decorations/prisma_steel_block.json | 4 +- .../decorations/raw_endtropy_block.json | 4 +- .../decorations/raw_entropy_block.json | 4 +- .../decorations/stable_endtropy_block.json | 4 +- .../decorations/stable_entropy_block.json | 4 +- .../cooked_lemon_from_campfire_cooking.json | 4 +- .../food/cooked_lemon_from_smelting.json | 4 +- .../food/cooked_lemon_from_smoking.json | 4 +- .../generated/data/acesbs/recipe/ashen.json | 1 + .../generated/data/acesbs/recipe/prisma.json | 1 + .../acesbs/trim_material/ashen_steel.json | 3 +- .../acesbs/trim_material/prisma_steel.json | 3 +- .../data/acesbs/trim_pattern/ashen.json | 3 +- .../data/acesbs/trim_pattern/prisma.json | 3 +- .../com/acethewildfire/acesbs/KNOWN_ISSUES | 11 ++- .../acesbs/block/ModBlocks.java | 59 ++++++++++-- .../block/custom/EntropicEntangler.java | 11 --- .../block/custom/EntropicEviscerator.java | 11 --- .../block/custom/EntropicStabilizer.java | 12 --- .../acesbs/block/custom/RawEndtropyBlock.java | 11 +-- .../acesbs/block/custom/RawEntropyBlock.java | 8 +- .../block/custom/StableEndtropyBlock.java | 8 +- .../block/custom/StableEntropyBlock.java | 8 +- .../custom/EntropicEntanglerEntity.java | 15 ++- .../custom/EntropicEvisceratorEntity.java | 12 +-- .../custom/EntropicStabilizerEntity.java | 12 +-- .../acesbs/datagen/ModLootTableProvider.java | 16 ++-- .../acesbs/datagen/ModModelProvider.java | 36 +++---- .../acesbs/datagen/ModRecipeProvider.java | 5 +- .../entity/client/CombustibleLemonModel.java | 2 +- .../acesbs/entity/client/FrenAnimations.java | 2 +- .../acesbs/entity/client/FrenModel.java | 18 ++-- .../acesbs/item/AshenSteelItems.java | 16 ++-- .../acesbs/item/ModArmorMaterials.java | 1 - .../acethewildfire/acesbs/item/ModItems.java | 96 ++++++++++--------- .../acesbs/item/PrismaSteelItems.java | 16 ++-- .../acesbs/item/custom/BubblePipe.java | 3 +- .../acesbs/item/custom/Cigarette.java | 2 +- .../acesbs/item/custom/CigaretteFunny.java | 2 +- .../acesbs/item/custom/CigaretteLemon.java | 4 +- .../acesbs/item/custom/CommandCore.java | 21 ++-- .../acesbs/item/custom/HammerItem.java | 6 +- .../acesbs/item/custom/ModArmorItem.java | 43 ++++----- .../acesbs/item/custom/OracleLemon.java | 5 +- .../custom/SovsPlateCarrierArmorItem.java | 8 +- .../acesbs/item/custom/Wand.java | 12 ++- .../acesbs/item/custom/WildfireArmorItem.java | 17 ++-- .../acesbs/mixin/CreeperTickMixin.java | 4 +- .../acesbs/mixin/LivingEntityMixin.java | 2 +- .../acesbs/mixin/PlayerEntityMixin.java | 2 +- .../acesbs/mixin/VillagerFireMixin.java | 2 +- .../acesbs/trim/ModTrimMaterials.java | 3 +- .../acesbs/trim/ModTrimPatterns.java | 2 +- .../acesbs/util/ConversionManager.java | 4 +- .../acesbs/util/UpdateRecipies.java | 18 ++-- .../acesbs/villager/ModVillagers.java | 5 +- .../acesbs/world/ModConfiguredFeatures.java | 4 +- .../{models => }/equipment/ashen_steel.json | 0 .../{models => }/equipment/berserkers.json | 0 .../acesbs/{models => }/equipment/plates.json | 0 .../{models => }/equipment/prisma_steel.json | 0 .../{models => }/equipment/wildfire.json | 0 .../acesbs/items/entropic_entangler.json | 0 .../acesbs/items/entropic_eviscerator.json | 0 .../acesbs/items/entropic_stabilizer.json | 0 .../assets/acesbs/items/ordered_core.json | 0 .../acesbs/items/raw_entropy_block.json | 0 75 files changed, 332 insertions(+), 303 deletions(-) rename src/main/resources/assets/acesbs/{models => }/equipment/ashen_steel.json (100%) rename src/main/resources/assets/acesbs/{models => }/equipment/berserkers.json (100%) rename src/main/resources/assets/acesbs/{models => }/equipment/plates.json (100%) rename src/main/resources/assets/acesbs/{models => }/equipment/prisma_steel.json (100%) rename src/main/resources/assets/acesbs/{models => }/equipment/wildfire.json (100%) rename src/main/{generated => resources}/assets/acesbs/items/entropic_entangler.json (100%) rename src/main/{generated => resources}/assets/acesbs/items/entropic_eviscerator.json (100%) rename src/main/{generated => resources}/assets/acesbs/items/entropic_stabilizer.json (100%) rename src/main/{generated => resources}/assets/acesbs/items/ordered_core.json (100%) rename src/main/{generated => resources}/assets/acesbs/items/raw_entropy_block.json (100%) diff --git a/gradle.properties b/gradle.properties index 214c470..76fa3d4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,13 +4,13 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.21.4 -yarn_mappings=1.21.4+build.8 +minecraft_version=1.21.5 +yarn_mappings=1.21.5+build.1 loader_version=0.18.4 loom_version=1.15-SNAPSHOT # Fabric API -fabric_version=0.119.4+1.21.4 +fabric_version=0.128.2+1.21.5 # Mod Properties mod_version=2.0.0 diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/infernal_ashes.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/infernal_ashes.json index 960c064..9a9ce5d 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/infernal_ashes.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/infernal_ashes.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:infernal_ashes" + "recipe": "acesbs:infernal_ashes" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:infernal_ashes" + "acesbs:infernal_ashes" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/prisma_steel.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/prisma_steel.json index 903997b..638978e 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/prisma_steel.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/prisma_steel.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:prisma_steel" + "recipe": "acesbs:prisma_steel" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:prisma_steel" + "acesbs:prisma_steel" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json index d185151..c950a58 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:raw_endtropy" + "recipe": "acesbs:raw_endtropy" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:raw_endtropy" + "acesbs:raw_endtropy" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json index 59a1d09..521e583 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:raw_entropy" + "recipe": "acesbs:raw_entropy" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:raw_entropy" + "acesbs:raw_entropy" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json index 10cfb98..7db5d2f 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:stable_endtropy" + "recipe": "acesbs:stable_endtropy" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:stable_endtropy" + "acesbs:stable_endtropy" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_entropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_entropy.json index 76bd293..645d1e8 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_entropy.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_entropy.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:stable_entropy" + "recipe": "acesbs:stable_entropy" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:stable_entropy" + "acesbs:stable_entropy" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/infernal_ashes_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/infernal_ashes_block.json index 3a20bc2..74facd3 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/infernal_ashes_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/infernal_ashes_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:infernal_ashes_block" + "recipe": "acesbs:infernal_ashes_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:infernal_ashes_block" + "acesbs:infernal_ashes_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/prisma_steel_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/prisma_steel_block.json index 9fad1e6..433de02 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/prisma_steel_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/prisma_steel_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:prisma_steel_block" + "recipe": "acesbs:prisma_steel_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:prisma_steel_block" + "acesbs:prisma_steel_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json index 84ed67d..9b1083e 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:raw_endtropy_block" + "recipe": "acesbs:raw_endtropy_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:raw_endtropy_block" + "acesbs:raw_endtropy_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json index 6c8ccd7..abac3d0 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:raw_entropy_block" + "recipe": "acesbs:raw_entropy_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:raw_entropy_block" + "acesbs:raw_entropy_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json index fedf39a..12bdd8f 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:stable_endtropy_block" + "recipe": "acesbs:stable_endtropy_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:stable_endtropy_block" + "acesbs:stable_endtropy_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_entropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_entropy_block.json index ff7448f..dbfe2b3 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_entropy_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_entropy_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:stable_entropy_block" + "recipe": "acesbs:stable_entropy_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:stable_entropy_block" + "acesbs:stable_entropy_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_campfire_cooking.json b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_campfire_cooking.json index ea2dd6c..097734e 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_campfire_cooking.json +++ b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_campfire_cooking.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:cooked_lemon_from_campfire_cooking" + "recipe": "acesbs:cooked_lemon_from_campfire_cooking" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:cooked_lemon_from_campfire_cooking" + "acesbs:cooked_lemon_from_campfire_cooking" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smelting.json b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smelting.json index 87a014a..585ecd5 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smelting.json +++ b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smelting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:cooked_lemon_from_smelting" + "recipe": "acesbs:cooked_lemon_from_smelting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:cooked_lemon_from_smelting" + "acesbs:cooked_lemon_from_smelting" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smoking.json b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smoking.json index af3104b..9c1b240 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smoking.json +++ b/src/main/generated/data/acesbs/advancement/recipes/food/cooked_lemon_from_smoking.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "minecraft:cooked_lemon_from_smoking" + "recipe": "acesbs:cooked_lemon_from_smoking" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "minecraft:cooked_lemon_from_smoking" + "acesbs:cooked_lemon_from_smoking" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/ashen.json b/src/main/generated/data/acesbs/recipe/ashen.json index c81c0f5..c2f1496 100644 --- a/src/main/generated/data/acesbs/recipe/ashen.json +++ b/src/main/generated/data/acesbs/recipe/ashen.json @@ -2,5 +2,6 @@ "type": "minecraft:smithing_trim", "addition": "#minecraft:trim_materials", "base": "#minecraft:trimmable_armor", + "pattern": "acesbs:ashen", "template": "acesbs:ashen_armor_trim_smithing_template" } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/prisma.json b/src/main/generated/data/acesbs/recipe/prisma.json index d54c010..4f4c302 100644 --- a/src/main/generated/data/acesbs/recipe/prisma.json +++ b/src/main/generated/data/acesbs/recipe/prisma.json @@ -2,5 +2,6 @@ "type": "minecraft:smithing_trim", "addition": "#minecraft:trim_materials", "base": "#minecraft:trimmable_armor", + "pattern": "acesbs:prisma", "template": "acesbs:prisma_armor_trim_smithing_template" } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_material/ashen_steel.json b/src/main/generated/data/acesbs/trim_material/ashen_steel.json index c04d9fb..61b2bc2 100644 --- a/src/main/generated/data/acesbs/trim_material/ashen_steel.json +++ b/src/main/generated/data/acesbs/trim_material/ashen_steel.json @@ -3,6 +3,5 @@ "description": { "color": "#B93425", "translate": "trim_material.acesbs.ashen_steel" - }, - "ingredient": "acesbs:ashen_steel" + } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_material/prisma_steel.json b/src/main/generated/data/acesbs/trim_material/prisma_steel.json index 3ade91c..570e4ac 100644 --- a/src/main/generated/data/acesbs/trim_material/prisma_steel.json +++ b/src/main/generated/data/acesbs/trim_material/prisma_steel.json @@ -3,6 +3,5 @@ "description": { "color": "#B16491", "translate": "trim_material.acesbs.prisma_steel" - }, - "ingredient": "acesbs:prisma_steel" + } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_pattern/ashen.json b/src/main/generated/data/acesbs/trim_pattern/ashen.json index 69d2667..08ee3fb 100644 --- a/src/main/generated/data/acesbs/trim_pattern/ashen.json +++ b/src/main/generated/data/acesbs/trim_pattern/ashen.json @@ -3,6 +3,5 @@ "decal": false, "description": { "translate": "trim_pattern.acesbs.ashen" - }, - "template_item": "acesbs:ashen_armor_trim_smithing_template" + } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_pattern/prisma.json b/src/main/generated/data/acesbs/trim_pattern/prisma.json index d2389bb..ca85b10 100644 --- a/src/main/generated/data/acesbs/trim_pattern/prisma.json +++ b/src/main/generated/data/acesbs/trim_pattern/prisma.json @@ -3,6 +3,5 @@ "decal": false, "description": { "translate": "trim_pattern.acesbs.prisma" - }, - "template_item": "acesbs:prisma_armor_trim_smithing_template" + } } \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES b/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES index ee68b25..ba25670 100644 --- a/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES +++ b/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES @@ -1,7 +1,8 @@ -attribute components on items and armor are not being applied. -- Thot-begone -- Beserkers Pauldon +Command Core textures broken +Command Core Broken -Armor is invisible +Bricked Up does not do anything -Command Core textures broken \ No newline at end of file +Wildfire Particles missing + +Particles not on server??? \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java index 54d8ebe..fc4b0de 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java +++ b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java @@ -8,30 +8,41 @@ import com.mojang.serialization.MapCodec; import net.minecraft.block.*; import net.minecraft.block.enums.NoteBlockInstrument; import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemConvertible; +import net.minecraft.item.ItemStack; +import net.minecraft.item.tooltip.TooltipType; +import net.minecraft.particle.ParticleTypes; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundEvent; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.intprovider.UniformIntProvider; +import net.minecraft.world.BlockView; +import java.util.List; +import java.util.function.Consumer; import java.util.function.Function; import java.util.function.ToIntFunction; public class ModBlocks { - public static final Block RAW_ENTROPY_BLOCK = registerBlock("raw_entropy_block", + public static final Block RAW_ENTROPY_BLOCK = registerBlockWithTooltip("raw_entropy_block", properties -> new RawEntropyBlock(properties .strength(3f) .requiresTool() - .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + .sounds(BlockSoundGroup.AMETHYST_BLOCK)), + List.of(Text.translatable("tooltip.acesbs.entropy_block.tooltip"), + Text.translatable("tooltip.acesbs.entropy_block.tooltip2"))); - public static final Block STABLE_ENTROPY_BLOCK = registerBlock("stable_entropy_block", + public static final Block STABLE_ENTROPY_BLOCK = registerBlockWithTooltip("stable_entropy_block", properties -> new StableEntropyBlock(properties .strength(5f) .luminance(new ToIntFunction() { @@ -41,7 +52,9 @@ public class ModBlocks { } }) .requiresTool() - .sounds(BlockSoundGroup.LODESTONE))); + .sounds(BlockSoundGroup.LODESTONE)), List.of(Text.translatable("tooltip.acesbs.stable_entropy_block.tooltip"))); + + public static final Block ENTROPY_ORE = registerBlock("entropy_ore", properties -> new ExperienceDroppingBlock(UniformIntProvider.create(3, 7), @@ -66,17 +79,18 @@ public class ModBlocks { .requiresTool() .strength(3.0F, 9.0F))); - public static final Block RAW_ENDTROPY_BLOCK = registerBlock("raw_endtropy_block", + public static final Block RAW_ENDTROPY_BLOCK = registerBlockWithTooltip("raw_endtropy_block", properties -> new RawEndtropyBlock(properties .strength(3f) .requiresTool() - .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + .sounds(BlockSoundGroup.AMETHYST_BLOCK)), + List.of(Text.translatable("tooltip.acesbs.endtropy_block.tooltip"))); - public static final Block STABLE_ENDTROPY_BLOCK = registerBlock("stable_endtropy_block", + public static final Block STABLE_ENDTROPY_BLOCK = registerBlockWithTooltip("stable_endtropy_block", properties -> new StableEndtropyBlock(properties .strength(3f) .requiresTool() - .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + .sounds(BlockSoundGroup.AMETHYST_BLOCK)), List.of(Text.translatable("tooltip.acesbs.stable_endtropy_block.tooltip"))); public static final Block INFERNAL_ASHES_ORE = registerBlock("infernal_ashes_ore", properties -> new ExperienceDroppingBlock( @@ -135,7 +149,7 @@ public class ModBlocks { properties -> new PillarBlock(properties.mapColor(MapColor.PALE_YELLOW).instrument(NoteBlockInstrument.BASS).strength(2.0F).sounds(BlockSoundGroup.WOOD).burnable())); public static final Block LEMONWOOD_LEAVES = registerBlock("lemonwood_leaves", - properties -> new LeavesBlock(properties.mapColor(MapColor.DARK_GREEN).strength(0.2F).ticksRandomly().sounds(BlockSoundGroup.GRASS).nonOpaque().allowsSpawning(Blocks::canSpawnOnLeaves).suffocates(Blocks::never).blockVision(Blocks::never).burnable().pistonBehavior(PistonBehavior.DESTROY).solidBlock(Blocks::never))); + properties -> new UntintedParticleLeavesBlock(0.02f, ParticleTypes.PALE_OAK_LEAVES, properties.mapColor(MapColor.DARK_GREEN).strength(0.2F).ticksRandomly().sounds(BlockSoundGroup.GRASS).nonOpaque().allowsSpawning(Blocks::canSpawnOnLeaves).suffocates(Blocks::never).blockVision(Blocks::never).burnable().pistonBehavior(PistonBehavior.DESTROY).solidBlock(Blocks::never))); public static final Block LEMONWOOD_SAPLING = registerBlock("lemonwood_sapling", properties -> new SaplingBlock(ModBlockSaplingGenerator.LEMONWOOD, properties.mapColor(MapColor.DARK_GREEN).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.GRASS).pistonBehavior(PistonBehavior.DESTROY))); @@ -293,6 +307,11 @@ public class ModBlocks { protected MapCodec getCodec() { return null; } + + @Override + public int getColor(BlockState state, BlockView world, BlockPos pos) { + return 0; + } } ); @@ -349,6 +368,13 @@ public class ModBlocks { return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), toRegister); } + //Fuck you Devs for making it so blocks no longer have appendTooltip, makes shit much harder when I have to separately manage BlockItems. + private static Block registerBlockWithTooltip(String name, Function function, List texts) { + Block toRegister = function.apply(AbstractBlock.Settings.create().registryKey(RegistryKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name)))); + registerBlockItemWithTootip(name, toRegister, texts); + return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), toRegister); + } + private static Block registerBlockWithoutItem(String name, Function function) { return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), function.apply(AbstractBlock.Settings.create().registryKey(RegistryKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name))))); @@ -360,6 +386,21 @@ public class ModBlocks { .registryKey(RegistryKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name))))); } + private static void registerBlockItemWithTootip(String name, Block block, List texts) { + Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), + new BlockItem(block, new Item.Settings().useBlockPrefixedTranslationKey() + .registryKey(RegistryKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name)))){ + @Override + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { + for (Text text : texts){ + textConsumer.accept(text); + } + super.appendTooltip(stack, context, displayComponent, textConsumer, type); + + } + }); + } + public static void registerModBlocks(){ AcesBS.LOGGER.info("Registering Mod Blocks for " + AcesBS.MOD_ID); diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEntangler.java b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEntangler.java index a087609..4362288 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEntangler.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEntangler.java @@ -47,17 +47,6 @@ public class EntropicEntangler extends BlockWithEntity implements BlockEntityPro return BlockRenderType.MODEL; } - @Override - protected void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) { - if(state.getBlock() != newState.getBlock()) { - BlockEntity blockEntity = world.getBlockEntity(pos); - if(blockEntity instanceof EntropicEntanglerEntity) { - ItemScatterer.spawn(world, pos, ((EntropicEntanglerEntity) blockEntity)); - world.updateComparators(pos, this); - } - super.onStateReplaced(state, world, pos, newState, moved); - } - } @Override protected ActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEviscerator.java b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEviscerator.java index 72a5e4d..b2b35dd 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEviscerator.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicEviscerator.java @@ -47,17 +47,6 @@ public class EntropicEviscerator extends BlockWithEntity implements BlockEntityP return BlockRenderType.MODEL; } - @Override - protected void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) { - if(state.getBlock() != newState.getBlock()) { - BlockEntity blockEntity = world.getBlockEntity(pos); - if(blockEntity instanceof EntropicEvisceratorEntity) { - ItemScatterer.spawn(world, pos, ((EntropicEvisceratorEntity) blockEntity)); - world.updateComparators(pos, this); - } - super.onStateReplaced(state, world, pos, newState, moved); - } - } @Override protected ActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicStabilizer.java b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicStabilizer.java index 343a877..d9a58d8 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicStabilizer.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/EntropicStabilizer.java @@ -47,18 +47,6 @@ public class EntropicStabilizer extends BlockWithEntity implements BlockEntityPr return BlockRenderType.MODEL; } - @Override - protected void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) { - if(state.getBlock() != newState.getBlock()) { - BlockEntity blockEntity = world.getBlockEntity(pos); - if(blockEntity instanceof EntropicStabilizerEntity) { - ItemScatterer.spawn(world, pos, ((EntropicStabilizerEntity) blockEntity)); - world.updateComparators(pos, this); - } - super.onStateReplaced(state, world, pos, newState, moved); - } - } - @Override protected ActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java index ed6e97b..aec962b 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java @@ -5,6 +5,8 @@ import com.acethewildfire.acesbs.effect.ModEffects; import com.acethewildfire.acesbs.util.ModTags; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.entity.Entity; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LivingEntity; @@ -24,6 +26,7 @@ import net.minecraft.world.World; import java.util.List; import java.util.Random; +import java.util.function.Consumer; public class RawEndtropyBlock extends Block { public RawEndtropyBlock(Settings settings) { @@ -58,7 +61,7 @@ public class RawEndtropyBlock extends Block { } @Override - public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, double fallDistance) { // Never take fall damage if (entity.bypassesLandingEffects()) { super.onLandedUpon(world, state, pos, entity, 0); @@ -66,10 +69,4 @@ public class RawEndtropyBlock extends Block { entity.handleFallDamage(fallDistance, 0.0F, world.getDamageSources().fall()); } } - - @Override - public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { - tooltip.add(Text.translatable("tooltip.acesbs.endtropy_block.tooltip")); - super.appendTooltip(stack, context, tooltip, options); - } } diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java index 9b445ad..4c05089 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java @@ -71,7 +71,7 @@ public class RawEntropyBlock extends Block { } @Override - public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, double fallDistance) { // Never take fall damage if (entity.bypassesLandingEffects()) { super.onLandedUpon(world, state, pos, entity, 0); @@ -80,10 +80,4 @@ public class RawEntropyBlock extends Block { } } - @Override - public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { - tooltip.add(Text.translatable("tooltip.acesbs.entropy_block.tooltip")); - tooltip.add(Text.translatable("tooltip.acesbs.entropy_block.tooltip2")); - super.appendTooltip(stack, context, tooltip, options); - } } diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java index d877f06..5f8aa77 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java @@ -49,7 +49,7 @@ public class StableEndtropyBlock extends Block { } @Override - public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, double fallDistance) { // Never take fall damage if (entity.bypassesLandingEffects()) { super.onLandedUpon(world, state, pos, entity, 0); @@ -57,10 +57,4 @@ public class StableEndtropyBlock extends Block { entity.handleFallDamage(fallDistance, 0.0F, world.getDamageSources().fall()); } } - - @Override - public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { - tooltip.add(Text.translatable("tooltip.acesbs.stable_endtropy_block.tooltip")); - super.appendTooltip(stack, context, tooltip, options); - } } diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/StableEntropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEntropyBlock.java index e738bfc..e304876 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/StableEntropyBlock.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEntropyBlock.java @@ -39,7 +39,7 @@ public class StableEntropyBlock extends Block { } @Override - public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, double fallDistance) { // Never take fall damage if (entity.bypassesLandingEffects()) { super.onLandedUpon(world, state, pos, entity, 0); @@ -47,10 +47,4 @@ public class StableEntropyBlock extends Block { entity.handleFallDamage(fallDistance, 0.0F, world.getDamageSources().fall()); } } - - @Override - public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { - tooltip.add(Text.translatable("tooltip.acesbs.stable_entropy_block.tooltip")); - super.appendTooltip(stack, context, tooltip, options); - } } diff --git a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEntanglerEntity.java b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEntanglerEntity.java index 83f8c96..99c83ce 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEntanglerEntity.java +++ b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEntanglerEntity.java @@ -25,6 +25,7 @@ import net.minecraft.screen.ScreenHandler; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.world.ServerWorld; import net.minecraft.text.Text; +import net.minecraft.util.ItemScatterer; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; @@ -99,11 +100,17 @@ public class EntropicEntanglerEntity extends BlockEntity implements EntanglerInv } } + @Override + public void onBlockReplaced(BlockPos pos, BlockState oldState) { + ItemScatterer.spawn(world, pos, (this)); + super.onBlockReplaced(pos, oldState); + } + @Override protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { super.writeNbt(nbt, registryLookup); Inventories.writeNbt(nbt, inventory, registryLookup); - nbt.putInt("Facing", facing.getId()); + nbt.putString("Facing", facing.getId()); // nbt.putInt("entangler.fuel_progress", fuel_progress); // nbt.putInt("entangler.fuel_max_progress", fuel_max_progress); nbt.putInt("entangler.entangle_progress", entangle_progress); @@ -113,11 +120,11 @@ public class EntropicEntanglerEntity extends BlockEntity implements EntanglerInv @Override protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { Inventories.readNbt(nbt, inventory, registryLookup); - this.facing = Direction.byId(nbt.getInt("Facing")); + this.facing = Direction.byId(nbt.getString("Facing").get()); // this.fuel_progress = nbt.getInt("entangler.fuel_progress"); // this.fuel_max_progress = nbt.getInt("entangler.fuel_max_progress"); - this.entangle_progress = nbt.getInt("entangler.entangle_progress"); - this.entangle_max_progress = nbt.getInt("entangler.entangle_max_progress"); + this.entangle_progress = nbt.getInt("entangler.entangle_progress").get(); + this.entangle_max_progress = nbt.getInt("entangler.entangle_max_progress").get(); super.readNbt(nbt, registryLookup); } diff --git a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEvisceratorEntity.java b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEvisceratorEntity.java index 8687f3d..81cb03d 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEvisceratorEntity.java +++ b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicEvisceratorEntity.java @@ -104,7 +104,7 @@ public class EntropicEvisceratorEntity extends BlockEntity implements Implemente protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { super.writeNbt(nbt, registryLookup); Inventories.writeNbt(nbt, inventory, registryLookup); - nbt.putInt("Facing", facing.getId()); + nbt.putString("Facing", facing.getId()); nbt.putInt("eviscerator.fuel_progress", fuel_progress); nbt.putInt("eviscerator.fuel_max_progress", fuel_max_progress); nbt.putInt("eviscerator.eviscerate_progress", eviscerate_progress); @@ -114,11 +114,11 @@ public class EntropicEvisceratorEntity extends BlockEntity implements Implemente @Override protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { Inventories.readNbt(nbt, inventory, registryLookup); - this.facing = Direction.byId(nbt.getInt("Facing")); - this.fuel_progress = nbt.getInt("eviscerator.fuel_progress"); - this.fuel_max_progress = nbt.getInt("eviscerator.fuel_max_progress"); - this.eviscerate_progress = nbt.getInt("eviscerator.eviscerate_progress"); - this.eviscerate_max_progress = nbt.getInt("eviscerator.eviscerate_max_progress"); + this.facing = Direction.byId(nbt.getString("Facing").get()); + this.fuel_progress = nbt.getInt("eviscerator.fuel_progress").get(); + this.fuel_max_progress = nbt.getInt("eviscerator.fuel_max_progress").get(); + this.eviscerate_progress = nbt.getInt("eviscerator.eviscerate_progress").get(); + this.eviscerate_max_progress = nbt.getInt("eviscerator.eviscerate_max_progress").get(); super.readNbt(nbt, registryLookup); } diff --git a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicStabilizerEntity.java b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicStabilizerEntity.java index c5ae70d..4888eb3 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicStabilizerEntity.java +++ b/src/main/java/com/acethewildfire/acesbs/block/entity/custom/EntropicStabilizerEntity.java @@ -104,7 +104,7 @@ public class EntropicStabilizerEntity extends BlockEntity implements Implemented protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { super.writeNbt(nbt, registryLookup); Inventories.writeNbt(nbt, inventory, registryLookup); - nbt.putInt("Facing", facing.getId()); + nbt.putString("Facing", facing.getId()); nbt.putInt("stabilizer.fuel_progress", fuel_progress); nbt.putInt("stabilizer.fuel_max_progress", fuel_max_progress); nbt.putInt("stabilizer.stabilize_progress", stabilize_progress); @@ -114,11 +114,11 @@ public class EntropicStabilizerEntity extends BlockEntity implements Implemented @Override protected void readNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { Inventories.readNbt(nbt, inventory, registryLookup); - this.facing = Direction.byId(nbt.getInt("Facing")); - this.fuel_progress = nbt.getInt("stabilizer.fuel_progress"); - this.fuel_max_progress = nbt.getInt("stabilizer.fuel_max_progress"); - this.stabilize_progress = nbt.getInt("stabilizer.stabilize_progress"); - this.stabilize_max_progress = nbt.getInt("stabilizer.stabilize_max_progress"); + this.facing = Direction.byId(nbt.getString("Facing").get()); + this.fuel_progress = nbt.getInt("stabilizer.fuel_progress").get(); + this.fuel_max_progress = nbt.getInt("stabilizer.fuel_max_progress").get(); + this.stabilize_progress = nbt.getInt("stabilizer.stabilize_progress").get(); + this.stabilize_max_progress = nbt.getInt("stabilizer.stabilize_max_progress").get(); super.readNbt(nbt, registryLookup); } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java index 2df95f6..298bb89 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java @@ -26,10 +26,11 @@ import net.minecraft.loot.provider.number.ConstantLootNumberProvider; import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.predicate.NumberRange; import net.minecraft.predicate.StatePredicate; +import net.minecraft.predicate.component.ComponentPredicateTypes; +import net.minecraft.predicate.component.ComponentsPredicate; import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.EnchantmentsPredicate; import net.minecraft.predicate.item.ItemPredicate; -import net.minecraft.predicate.item.ItemSubPredicateTypes; import net.minecraft.registry.RegistryEntryLookup; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; @@ -119,11 +120,14 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider { RegistryWrapper.Impl impl = this.registries.getOrThrow(RegistryKeys.ENCHANTMENT); RegistryEntryLookup itemLookup = registries.getOrThrow(RegistryKeys.ITEM); LootCondition.Builder silkTouchCondition = MatchToolLootCondition.builder( - ItemPredicate.Builder.create() - .subPredicate( - ItemSubPredicateTypes.ENCHANTMENTS, - EnchantmentsPredicate.enchantments(List.of(new EnchantmentPredicate(impl.getOrThrow(Enchantments.SILK_TOUCH), NumberRange.IntRange.atLeast(1)))) - ) + ItemPredicate.Builder.create().components( + ComponentsPredicate.Builder.create() + .partial( + ComponentPredicateTypes.ENCHANTMENTS, + EnchantmentsPredicate.enchantments( + List.of(new EnchantmentPredicate(impl.getOrThrow(Enchantments.SILK_TOUCH), NumberRange.IntRange.atLeast(1))))) + .build() + ) ); LootPool.Builder defaultPool = LootPool.builder() diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index eee31bc..f43448c 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -15,8 +15,10 @@ import net.minecraft.client.item.ItemAsset; import net.minecraft.client.render.item.model.ConditionItemModel; import net.minecraft.client.render.item.model.ItemModel; import net.minecraft.client.render.item.property.bool.HasComponentProperty; -import net.minecraft.item.ArmorItem; +import net.minecraft.client.render.model.json.ModelVariant; +import net.minecraft.client.render.model.json.WeightedVariant; import net.minecraft.util.Identifier; +import net.minecraft.util.collection.Pool; import java.util.Optional; @@ -60,8 +62,8 @@ public class ModModelProvider extends FabricModelProvider { lemonwoodPool.fenceGate(ModBlocks.LEMONWOOD_FENCE_GATE); lemonwoodPool.wall(ModBlocks.LEMONWOOD_WALL); - blockStateModelGenerator.registerLog(ModBlocks.LEMONWOOD_LOG).log(ModBlocks.LEMONWOOD_LOG).wood(ModBlocks.LEMONWOOD_WOOD); - blockStateModelGenerator.registerLog(ModBlocks.STRIPPED_LEMONWOOD_LOG).log(ModBlocks.STRIPPED_LEMONWOOD_LOG).wood(ModBlocks.STRIPPED_LEMONWOOD_WOOD); + blockStateModelGenerator.createLogTexturePool(ModBlocks.LEMONWOOD_LOG).log(ModBlocks.LEMONWOOD_LOG).wood(ModBlocks.LEMONWOOD_WOOD); + blockStateModelGenerator.createLogTexturePool(ModBlocks.STRIPPED_LEMONWOOD_LOG).log(ModBlocks.STRIPPED_LEMONWOOD_LOG).wood(ModBlocks.STRIPPED_LEMONWOOD_WOOD); blockStateModelGenerator.registerSingleton(ModBlocks.LEMONWOOD_LEAVES, TexturedModel.LEAVES); // blockStateModelGenerator.registerTintableCross(ModBlocks.LEMONWOOD_SAPLING, BlockStateModelGenerator.TintType.NOT_TINTED); @@ -72,8 +74,10 @@ public class ModModelProvider extends FabricModelProvider { Identifier lampOffIdentifier = TexturedModel.CUBE_ALL.upload(ModBlocks.EVIL_BLOCK, blockStateModelGenerator.modelCollector); Identifier lampOnIdentifier = blockStateModelGenerator.createSubModel(ModBlocks.EVIL_BLOCK, "_on", Models.CUBE_ALL, TextureMap::all); - blockStateModelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(ModBlocks.EVIL_BLOCK) - .coordinate(BlockStateModelGenerator.createBooleanModelMap(EvilBlock.CLICKED, lampOnIdentifier, lampOffIdentifier))); + blockStateModelGenerator.blockStateCollector.accept(VariantsBlockModelDefinitionCreator.of(ModBlocks.EVIL_BLOCK) + .with(BlockStateModelGenerator.createBooleanModelMap(EvilBlock.CLICKED, + new WeightedVariant(Pool.builder().add(new ModelVariant(lampOnIdentifier)).build()), + new WeightedVariant(Pool.builder().add(new ModelVariant(lampOffIdentifier)).build())))); blockStateModelGenerator.registerCrop(ModBlocks.TOBACCO_CROP, TobaccoCrop.AGE, 0,1,2,3,4,5,6); } @@ -114,10 +118,10 @@ public class ModModelProvider extends FabricModelProvider { itemModelGenerator.register(PrismaSteelItems.PRISMA_STEEL_SHOVEL, Models.HANDHELD); itemModelGenerator.register(PrismaSteelItems.PRISMA_STEEL_HOE, Models.HANDHELD); - itemModelGenerator.registerArmor(((ArmorItem) PrismaSteelItems.PRISMA_STEEL_HELMET), ModArmorMaterials.PRISMA_KEY, "helmet", false); - itemModelGenerator.registerArmor(((ArmorItem) PrismaSteelItems.PRISMA_STEEL_CHESTPLATE), ModArmorMaterials.PRISMA_KEY, "chestplate", false); - itemModelGenerator.registerArmor(((ArmorItem) PrismaSteelItems.PRISMA_STEEL_LEGGINGS), ModArmorMaterials.PRISMA_KEY, "leggings", false); - itemModelGenerator.registerArmor(((ArmorItem) PrismaSteelItems.PRISMA_STEEL_BOOTS), ModArmorMaterials.PRISMA_KEY, "boots", false); + itemModelGenerator.registerArmor((PrismaSteelItems.PRISMA_STEEL_HELMET), ModArmorMaterials.PRISMA_KEY, ItemModelGenerator.HELMET_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor((PrismaSteelItems.PRISMA_STEEL_CHESTPLATE), ModArmorMaterials.PRISMA_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor((PrismaSteelItems.PRISMA_STEEL_LEGGINGS), ModArmorMaterials.PRISMA_KEY, ItemModelGenerator.LEGGINGS_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor((PrismaSteelItems.PRISMA_STEEL_BOOTS), ModArmorMaterials.PRISMA_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false); itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL_SWORD, Models.HANDHELD); itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL_PICKAXE, Models.HANDHELD); @@ -126,14 +130,14 @@ public class ModModelProvider extends FabricModelProvider { itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL_SHOVEL, Models.HANDHELD); itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL_HOE, Models.HANDHELD); - itemModelGenerator.registerArmor(((ArmorItem) AshenSteelItems.ASHEN_STEEL_HELMET), ModArmorMaterials.ASHEN_KEY, "helmet", false); - itemModelGenerator.registerArmor(((ArmorItem) AshenSteelItems.ASHEN_STEEL_CHESTPLATE), ModArmorMaterials.ASHEN_KEY, "chestplate", false); - itemModelGenerator.registerArmor(((ArmorItem) AshenSteelItems.ASHEN_STEEL_LEGGINGS), ModArmorMaterials.ASHEN_KEY, "leggings", false); - itemModelGenerator.registerArmor(((ArmorItem) AshenSteelItems.ASHEN_STEEL_BOOTS), ModArmorMaterials.ASHEN_KEY, "boots", false); + itemModelGenerator.registerArmor(( AshenSteelItems.ASHEN_STEEL_HELMET), ModArmorMaterials.ASHEN_KEY, ItemModelGenerator.HELMET_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor(( AshenSteelItems.ASHEN_STEEL_CHESTPLATE), ModArmorMaterials.ASHEN_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor(( AshenSteelItems.ASHEN_STEEL_LEGGINGS), ModArmorMaterials.ASHEN_KEY, ItemModelGenerator.LEGGINGS_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor(( AshenSteelItems.ASHEN_STEEL_BOOTS), ModArmorMaterials.ASHEN_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false); - itemModelGenerator.registerArmor(((ArmorItem) ModItems.BERSERKERS_PAULDRON), ModArmorMaterials.BERSERKERS_KEY, "chestplate", false); - itemModelGenerator.registerArmor(((ArmorItem) ModItems.WILDFIRE_BOOTS), ModArmorMaterials.WILDFIRE_KEY, "boots", false); - itemModelGenerator.registerArmor(((ArmorItem) ModItems.SOVS_PLATE_CARRIER), ModArmorMaterials.PLATES_KEY, "chestplate", false); + itemModelGenerator.registerArmor(( ModItems.BERSERKERS_PAULDRON), ModArmorMaterials.BERSERKERS_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor(( ModItems.WILDFIRE_BOOTS), ModArmorMaterials.WILDFIRE_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false); + itemModelGenerator.registerArmor(( ModItems.SOVS_PLATE_CARRIER), ModArmorMaterials.PLATES_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); itemModelGenerator.register(ModItems.FREN_SPAWN_EGG, new Model(Optional.of(Identifier.of("item/template_spawn_egg")), Optional.empty())); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index 0d72bfa..0417d23 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -5,6 +5,7 @@ import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.item.AshenSteelItems; import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.item.PrismaSteelItems; +import com.acethewildfire.acesbs.trim.ModTrimPatterns; import com.acethewildfire.acesbs.util.ModTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; @@ -260,8 +261,8 @@ public class ModRecipeProvider extends FabricRecipeProvider { ModArmorRecipeJsonBuilder(recipeExporter, PrismaSteelItems.PRISMA_STEEL_HELMET, PrismaSteelItems.PRISMA_STEEL_CHESTPLATE, PrismaSteelItems.PRISMA_STEEL_LEGGINGS, PrismaSteelItems.PRISMA_STEEL_BOOTS, PrismaSteelItems.PRISMA_STEEL, PrismaSteelItems.PRISMA_STEEL); ModArmorRecipeJsonBuilder(recipeExporter, AshenSteelItems.ASHEN_STEEL_HELMET, AshenSteelItems.ASHEN_STEEL_CHESTPLATE, AshenSteelItems.ASHEN_STEEL_LEGGINGS, AshenSteelItems.ASHEN_STEEL_BOOTS, AshenSteelItems.ASHEN_STEEL, AshenSteelItems.ASHEN_STEEL); - offerSmithingTrimRecipe(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE, RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(AcesBS.MOD_ID, "prisma"))); - offerSmithingTrimRecipe(AshenSteelItems.ASHEN_SMITHING_TEMPLATE, RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(AcesBS.MOD_ID, "ashen"))); + offerSmithingTrimRecipe(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE, ModTrimPatterns.PRISMA, RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(AcesBS.MOD_ID, "prisma"))); + offerSmithingTrimRecipe(AshenSteelItems.ASHEN_SMITHING_TEMPLATE, ModTrimPatterns.ASHEN, RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(AcesBS.MOD_ID, "ashen"))); // For 2+ recipes with the same RESULT use // .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item")); diff --git a/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonModel.java b/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonModel.java index 08eed56..e314aa8 100644 --- a/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonModel.java +++ b/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonModel.java @@ -27,7 +27,7 @@ public class CombustibleLemonModel extends EntityModel { .uv(64, 64).cuboid(-5.0F, -10.0F, -5.0F, 10.0F, 20.0F, 10.0F, new Dilation(-6.0F)) .uv(0, 66).cuboid(-3.0F, -11.0F, -3.0F, 6.0F, 2.0F, 6.0F, new Dilation(-3.0F)) .uv(24, 66).cuboid(3.0F, -9.0F, -6.0F, 4.0F, 3.0F, 4.0F, new Dilation(-2.0F)) - .uv(40, 66).cuboid(4.0F, -11.0F, -6.0F, 3.0F, 4.0F, 3.0F, new Dilation(-2.0F)), ModelTransform.pivot(0.0F, 9.0F, 0.0F)); + .uv(40, 66).cuboid(4.0F, -11.0F, -6.0F, 3.0F, 4.0F, 3.0F, new Dilation(-2.0F)), ModelTransform.rotation(0.0F, 9.0F, 0.0F)); return TexturedModelData.of(modelData, 128, 128); } diff --git a/src/main/java/com/acethewildfire/acesbs/entity/client/FrenAnimations.java b/src/main/java/com/acethewildfire/acesbs/entity/client/FrenAnimations.java index 03b7e5a..65ae8db 100644 --- a/src/main/java/com/acethewildfire/acesbs/entity/client/FrenAnimations.java +++ b/src/main/java/com/acethewildfire/acesbs/entity/client/FrenAnimations.java @@ -55,7 +55,7 @@ public class FrenAnimations { new Keyframe(0.0F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR), new Keyframe(1.0F, AnimationHelper.createRotationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR) )) - .addBoneAnimation("head", new Transformation(Transformation.Targets.TRANSLATE, + .addBoneAnimation("head", new Transformation(Transformation.Targets.MOVE_ORIGIN, new Keyframe(0.0F, AnimationHelper.createTranslationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR), new Keyframe(0.5F, AnimationHelper.createTranslationalVector(0.0F, -0.25F, 0.0F), Transformation.Interpolations.LINEAR), new Keyframe(1.0F, AnimationHelper.createTranslationalVector(0.0F, 0.0F, 0.0F), Transformation.Interpolations.LINEAR) diff --git a/src/main/java/com/acethewildfire/acesbs/entity/client/FrenModel.java b/src/main/java/com/acethewildfire/acesbs/entity/client/FrenModel.java index 5e65e58..95b60bc 100644 --- a/src/main/java/com/acethewildfire/acesbs/entity/client/FrenModel.java +++ b/src/main/java/com/acethewildfire/acesbs/entity/client/FrenModel.java @@ -33,19 +33,19 @@ public class FrenModel extends EntityModel { public static TexturedModelData getTexturedModelData() { ModelData modelData = new ModelData(); ModelPartData modelPartData = modelData.getRoot(); - ModelPartData root = modelPartData.addChild("root", ModelPartBuilder.create(), ModelTransform.pivot(0.0F, 17.0F, 0.0F)); + ModelPartData root = modelPartData.addChild("root", ModelPartBuilder.create(), ModelTransform.rotation(0.0F, 17.0F, 0.0F)); - ModelPartData head = root.addChild("head", ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -7.0F, -4.0F, 8.0F, 8.0F, 8.0F, new Dilation(0.0F)), ModelTransform.pivot(0.0F, -12.0F, 0.0F)); + ModelPartData head = root.addChild("head", ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -7.0F, -4.0F, 8.0F, 8.0F, 8.0F, new Dilation(0.0F)), ModelTransform.rotation(0.0F, -12.0F, 0.0F)); - ModelPartData body = root.addChild("body", ModelPartBuilder.create().uv(16, 16).cuboid(-4.0F, -18.0F, -2.0F, 8.0F, 12.0F, 4.0F, new Dilation(0.0F)), ModelTransform.pivot(0.0F, 7.0F, 0.0F)); + ModelPartData body = root.addChild("body", ModelPartBuilder.create().uv(16, 16).cuboid(-4.0F, -18.0F, -2.0F, 8.0F, 12.0F, 4.0F, new Dilation(0.0F)), ModelTransform.rotation(0.0F, 7.0F, 0.0F)); - ModelPartData leg1 = root.addChild("leg1", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, 0.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.pivot(-2.0F, 1.0F, 2.0F)); + ModelPartData leg1 = root.addChild("leg1", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, 0.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.rotation(-2.0F, 1.0F, 2.0F)); - ModelPartData leg2 = root.addChild("leg2", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, 0.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.pivot(2.0F, 1.0F, 2.0F)); + ModelPartData leg2 = root.addChild("leg2", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, 0.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.rotation(2.0F, 1.0F, 2.0F)); - ModelPartData leg4 = root.addChild("leg4", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, -4.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.pivot(2.0F, 1.0F, -2.0F)); + ModelPartData leg4 = root.addChild("leg4", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, -4.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.rotation(2.0F, 1.0F, -2.0F)); - ModelPartData leg3 = root.addChild("leg3", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, -4.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.pivot(-2.0F, 1.0F, -2.0F)); + ModelPartData leg3 = root.addChild("leg3", ModelPartBuilder.create().uv(0, 16).cuboid(-2.0F, 0.0F, -4.0F, 4.0F, 6.0F, 4.0F, new Dilation(0.0F)), ModelTransform.rotation(-2.0F, 1.0F, -2.0F)); return TexturedModelData.of(modelData, 64, 32); } @@ -62,9 +62,9 @@ public class FrenModel extends EntityModel { @Override public void setAngles(FrenState state) { super.setAngles(state); - this.setHeadAngles(state.yawDegrees, state.pitch); + this.setHeadAngles(state.relativeHeadYaw, state.pitch); - this.animateWalking(FrenAnimations.ANIM_FREN_WALK, state.limbFrequency, state.limbAmplitudeMultiplier, 2f, 2.5f); + this.animateWalking(FrenAnimations.ANIM_FREN_WALK, state.limbSwingAnimationProgress, state.limbSwingAmplitude, 2f, 2.5f); this.animate(state.idleAnimationState, FrenAnimations.ANIM_FREN_IDLE, state.age, 1f); } diff --git a/src/main/java/com/acethewildfire/acesbs/item/AshenSteelItems.java b/src/main/java/com/acethewildfire/acesbs/item/AshenSteelItems.java index 6e25c7c..acb302a 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/AshenSteelItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/AshenSteelItems.java @@ -12,11 +12,11 @@ public class AshenSteelItems { public static final Item ASHEN_STEEL = ModItems.registerItem("ashen_steel", Item::new); public static final Item ASHEN_STEEL_SWORD = ModItems.registerItem("ashen_steel_sword", - setting -> new SwordItem(ModToolMaterials.ASHEN_STEEL, 3, -2.4f, setting)); + setting -> new Item(setting.sword(ModToolMaterials.ASHEN_STEEL, 3, -2.4f))); public static final Item ASHEN_STEEL_SHOVEL = ModItems.registerItem("ashen_steel_shovel", setting -> new ShovelItem(ModToolMaterials.ASHEN_STEEL, 1.5F, -3.0F, setting)); public static final Item ASHEN_STEEL_PICKAXE = ModItems.registerItem("ashen_steel_pickaxe", - setting -> new PickaxeItem(ModToolMaterials.ASHEN_STEEL, 1.0F, -2.8F, setting)); + setting -> new Item(setting.pickaxe(ModToolMaterials.ASHEN_STEEL, 1.0F, -2.8F))); public static final Item ASHEN_STEEL_HAMMER = ModItems.registerItem("ashen_steel_hammer", setting -> new HammerItem(ModToolMaterials.ASHEN_STEEL, 7.0F, -3.4F, setting)); public static final Item ASHEN_STEEL_AXE = ModItems.registerItem("ashen_steel_axe", @@ -24,16 +24,20 @@ public class AshenSteelItems { public static final Item ASHEN_STEEL_HOE = ModItems.registerItem("ashen_steel_hoe", setting -> new HoeItem(ModToolMaterials.ASHEN_STEEL, -2.0F, -1.0F, setting)); public static final Item ASHEN_STEEL_HELMET = ModItems.registerItem("ashen_steel_helmet", - setting -> new ModArmorItem(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.HELMET, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.HELMET) .maxDamage(EquipmentType.HELMET.getMaxDamage(15)))); public static final Item ASHEN_STEEL_CHESTPLATE = ModItems.registerItem("ashen_steel_chestplate", - setting -> new ModArmorItem(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.CHESTPLATE, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.CHESTPLATE) .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15)))); public static final Item ASHEN_STEEL_LEGGINGS = ModItems.registerItem("ashen_steel_leggings", - setting -> new ModArmorItem(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.LEGGINGS, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.LEGGINGS) .maxDamage(EquipmentType.LEGGINGS.getMaxDamage(15)))); public static final Item ASHEN_STEEL_BOOTS = ModItems.registerItem("ashen_steel_boots", - setting -> new ModArmorItem(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.BOOTS, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.ASHEN_STEEL_ARMOR_MATERIAL, EquipmentType.BOOTS) .maxDamage(EquipmentType.BOOTS.getMaxDamage(15)))); public static final Item ASHEN_SMITHING_TEMPLATE = ModItems.registerItem("ashen_armor_trim_smithing_template", SmithingTemplateItem::of); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModArmorMaterials.java b/src/main/java/com/acethewildfire/acesbs/item/ModArmorMaterials.java index faa0517..be5f576 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModArmorMaterials.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModArmorMaterials.java @@ -3,7 +3,6 @@ package com.acethewildfire.acesbs.item; import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.util.ModTags; import net.minecraft.client.render.entity.equipment.EquipmentModel; -import net.minecraft.item.ArmorItem; import net.minecraft.item.Items; import net.minecraft.item.equipment.ArmorMaterial; import net.minecraft.item.equipment.EquipmentAsset; diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java index 36eb93e..6736c54 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java @@ -31,6 +31,7 @@ import net.minecraft.util.Identifier; import java.util.List; import java.util.Objects; +import java.util.function.Consumer; import java.util.function.Function; public class ModItems { @@ -65,10 +66,10 @@ public class ModItems { public static final Item COMBUSTIBLE_LEMON = registerItem("combustible_lemon", setting -> new CombustibleLemon(setting.maxCount(16)){ @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { - tooltip.add(Text.translatable("tooltip.acesbs.combustible_lemon1")); - tooltip.add(Text.translatable("tooltip.acesbs.combustible_lemon2")); - super.appendTooltip(stack, context, tooltip, type); + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { + textConsumer.accept(Text.translatable("tooltip.acesbs.combustible_lemon1")); + textConsumer.accept(Text.translatable("tooltip.acesbs.combustible_lemon2")); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); @@ -76,35 +77,35 @@ public class ModItems { public static final Item COOKED_LEMON = registerItem("cooked_lemon", setting -> new Item(setting.food(ModFoodComponent.COOKED_LEMON))); public static final Item GREEN_BRICKS = registerItem("green_bricks", setting -> new Item(setting) { @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_up")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_up")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.green_bricks")); + textConsumer.accept(Text.translatable("tooltip.acesbs.green_bricks")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); public static final Item MOTE_OF_ORDER = registerItem("mote_of_order", setting -> new Item(setting) { - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { - tooltip.add(Text.translatable("tooltip.acesbs.mote_of_order")); - super.appendTooltip(stack, context, tooltip, type); + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { + textConsumer.accept(Text.translatable("tooltip.acesbs.mote_of_order")); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); public static final Item DUST_OF_ORDER = registerItem("dust_of_order", setting -> new Item(setting) { - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { - tooltip.add(Text.translatable("tooltip.acesbs.dust_of_order")); - super.appendTooltip(stack, context, tooltip, type); + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { + textConsumer.accept(Text.translatable("tooltip.acesbs.dust_of_order")); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); public static final Item INGOT_OF_ORDER = registerItem("ingot_of_order", setting -> new Item(setting) { - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { - tooltip.add(Text.translatable("tooltip.acesbs.ingot_of_order")); - super.appendTooltip(stack, context, tooltip, type); + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { + textConsumer.accept(Text.translatable("tooltip.acesbs.ingot_of_order")); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); @@ -113,21 +114,21 @@ public class ModItems { public static final Item KAUPEN_BOW = registerItem("kaupen_bow", setting -> new BowItem(setting.maxDamage(500)) { @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_up")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_up")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.kaupen_bow")); - tooltip.add(Text.translatable("tooltip.acesbs.kaupen_bow_2")); + textConsumer.accept(Text.translatable("tooltip.acesbs.kaupen_bow")); + textConsumer.accept(Text.translatable("tooltip.acesbs.kaupen_bow_2")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); public static final Item THOT_BEGONE = ModItems.registerItem("thot_begone", - setting -> new SwordItem(ToolMaterial.WOOD, 0, -1.4f, setting.attributeModifiers( + setting -> new Item(setting.sword(ToolMaterial.WOOD, 0, -1.4f).attributeModifiers( AttributeModifiersComponent.builder() .add(EntityAttributes.ATTACK_KNOCKBACK, new EntityAttributeModifier(Identifier.of(AcesBS.MOD_ID, "attack.attack_knockback"), 25, EntityAttributeModifier.Operation.ADD_VALUE), AttributeModifierSlot.MAINHAND) .add(EntityAttributes.ATTACK_DAMAGE, new EntityAttributeModifier(Identifier.of(AcesBS.MOD_ID, "generic.attack_damage"), -0.999, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL), AttributeModifierSlot.MAINHAND) @@ -140,7 +141,8 @@ public class ModItems { public static final Item BERSERKERS_PAULDRON = registerItem("berserkers_pauldron", - setting -> new ModArmorItem(ModArmorMaterials.BERSERKERS_ARMOR_MATERIAL, EquipmentType.CHESTPLATE, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.BERSERKERS_ARMOR_MATERIAL, EquipmentType.CHESTPLATE) .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15)) .attributeModifiers(AttributeModifiersComponent.builder() .add(EntityAttributes.MAX_HEALTH, @@ -151,52 +153,54 @@ public class ModItems { new EntityAttributeModifier(Identifier.of(AcesBS.MOD_ID, "generic.knockback_resistance"), 1.0f, EntityAttributeModifier.Operation.ADD_VALUE), AttributeModifierSlot.CHEST) .build())){ @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.berserkers_pauldron_desc")); - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_more")); + textConsumer.accept(Text.translatable("tooltip.acesbs.berserkers_pauldron_desc")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_more")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.berserkers_pauldron_thanks")); - tooltip.add(Text.translatable("tooltip.acesbs.thanks_sov")); + textConsumer.accept(Text.translatable("tooltip.acesbs.berserkers_pauldron_thanks")); + textConsumer.accept(Text.translatable("tooltip.acesbs.thanks_sov")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } } ); public static final Item SOVS_PLATE_CARRIER = ModItems.registerItem("sovs_plate_carrier", - setting -> new SovsPlateCarrierArmorItem(ModArmorMaterials.PLATES_ARMOR_MATERIAL, EquipmentType.CHESTPLATE, setting + setting -> new SovsPlateCarrierArmorItem(setting + .armor(ModArmorMaterials.PLATES_ARMOR_MATERIAL, EquipmentType.CHESTPLATE) .maxDamage(6)){ @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc")); - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_more")); + textConsumer.accept(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_more")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.sovs_plate_carrier_thanks")); - tooltip.add(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc2")); - tooltip.add(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc3")); + textConsumer.accept(Text.translatable("tooltip.acesbs.sovs_plate_carrier_thanks")); + textConsumer.accept(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc2")); + textConsumer.accept(Text.translatable("tooltip.acesbs.sovs_plate_carrier_desc3")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } }); public static final Item WILDFIRE_BOOTS = registerItem("wildfire_boots", - setting -> new WildfireArmorItem(ModArmorMaterials.WILDFIRE_ARMOR_MATERIAL, EquipmentType.BOOTS, setting + setting -> new WildfireArmorItem(setting + .armor(ModArmorMaterials.WILDFIRE_ARMOR_MATERIAL, EquipmentType.BOOTS) .maxDamage(EquipmentType.BOOTS.getMaxDamage(15))){ @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.wildfire_boots_desc")); - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_more")); + textConsumer.accept(Text.translatable("tooltip.acesbs.wildfire_boots_desc")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_more")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.wildfire_boots_thanks")); -// tooltip.add(Text.translatable("tooltip.acesbs.thanks_sov")); + textConsumer.accept(Text.translatable("tooltip.acesbs.wildfire_boots_thanks")); +// textConsumer.accept(Text.translatable("tooltip.acesbs.thanks_sov")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } } ); @@ -232,7 +236,7 @@ public class ModItems { // To you who reads this now, weep, as I did when I created this monster whom I have become if (!world.isClient && entity instanceof LivingEntity target) { - for (ItemStack stack : player.getInventory().main) { + for (ItemStack stack : player.getInventory().getMainStacks()) { if (stack.isOf(ModItems.COMMAND_CORE)) { if (Boolean.TRUE.equals(stack.get(ModDataComponentTypes.COMMAND_ACTIVE))){ if (Objects.equals(stack.get(ModDataComponentTypes.COMMAND), "Omnipotence")){ diff --git a/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java b/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java index b90a9c9..9af80d2 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java @@ -10,11 +10,11 @@ public class PrismaSteelItems { public static final Item PRISMA_STEEL = ModItems.registerItem("prisma_steel", Item::new); public static final Item PRISMA_STEEL_SWORD = ModItems.registerItem("prisma_steel_sword", - setting -> new SwordItem(ModToolMaterials.PRISMA_STEEL, 3, -2.4f, setting)); + setting -> new Item(setting.sword(ModToolMaterials.PRISMA_STEEL, 3, -2.4f))); public static final Item PRISMA_STEEL_SHOVEL = ModItems.registerItem("prisma_steel_shovel", setting -> new ShovelItem(ModToolMaterials.PRISMA_STEEL, 1.5F, -3.0F, setting)); public static final Item PRISMA_STEEL_PICKAXE = ModItems.registerItem("prisma_steel_pickaxe", - setting -> new PickaxeItem(ModToolMaterials.PRISMA_STEEL, 1.0F, -2.8F, setting)); + setting -> new Item(setting.pickaxe(ModToolMaterials.PRISMA_STEEL, 1.0F, -2.8F))); public static final Item PRISMA_STEEL_HAMMER = ModItems.registerItem("prisma_steel_hammer", setting -> new HammerItem(ModToolMaterials.PRISMA_STEEL, 7.0F, -3.4F, setting)); public static final Item PRISMA_STEEL_AXE = ModItems.registerItem("prisma_steel_axe", @@ -22,16 +22,20 @@ public class PrismaSteelItems { public static final Item PRISMA_STEEL_HOE = ModItems.registerItem("prisma_steel_hoe", setting -> new HoeItem(ModToolMaterials.PRISMA_STEEL, -2.0F, -1.0F, setting)); public static final Item PRISMA_STEEL_HELMET = ModItems.registerItem("prisma_steel_helmet", - setting -> new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.HELMET, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.HELMET) .maxDamage(EquipmentType.HELMET.getMaxDamage(15)))); public static final Item PRISMA_STEEL_CHESTPLATE = ModItems.registerItem("prisma_steel_chestplate", - setting -> new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.CHESTPLATE, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.CHESTPLATE) .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15)))); public static final Item PRISMA_STEEL_LEGGINGS = ModItems.registerItem("prisma_steel_leggings", - setting -> new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.LEGGINGS, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.LEGGINGS) .maxDamage(EquipmentType.LEGGINGS.getMaxDamage(15)))); public static final Item PRISMA_STEEL_BOOTS = ModItems.registerItem("prisma_steel_boots", - setting -> new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.BOOTS, setting + setting -> new ModArmorItem(setting + .armor(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, EquipmentType.BOOTS) .maxDamage(EquipmentType.BOOTS.getMaxDamage(15)))); public static final Item PRISMA_SMITHING_TEMPLATE = ModItems.registerItem("prisma_armor_trim_smithing_template", SmithingTemplateItem::of); diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/BubblePipe.java b/src/main/java/com/acethewildfire/acesbs/item/custom/BubblePipe.java index 7144181..a9da9f1 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/BubblePipe.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/BubblePipe.java @@ -12,6 +12,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.consume.UseAction; import net.minecraft.particle.ParticleTypes; +import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; @@ -73,7 +74,7 @@ public class BubblePipe extends Item { double vz = (world.random.nextDouble() - 0.5) * 0.01; if (remainingUseTicks % 4 == 0) { - world.addParticle( + world.addParticleClient( ParticleTypes.BUBBLE_POP, x, y, z, vx, vy, vz diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/Cigarette.java b/src/main/java/com/acethewildfire/acesbs/item/custom/Cigarette.java index f1d5990..b431034 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/Cigarette.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/Cigarette.java @@ -78,7 +78,7 @@ public class Cigarette extends Item { double vz = look.z * speed + (world.random.nextDouble() - 0.5) * 0.02; if (remainingUseTicks % 4 == 0) { - world.addParticle( + world.addParticleClient( ParticleTypes.SMOKE, x, y, z, vx, vy, vz diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteFunny.java b/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteFunny.java index 9d39898..0db6c32 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteFunny.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteFunny.java @@ -112,7 +112,7 @@ public class CigaretteFunny extends Item { double vy = look.y * speed + (world.random.nextDouble() - 0.5) * 0.1; double vz = look.z * speed + (world.random.nextDouble() - 0.5) * 0.3; - world.addParticle( + world.addParticleClient( ParticleTypes.CAMPFIRE_COSY_SMOKE, x, y, z, vx, vy, vz diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteLemon.java b/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteLemon.java index cb31b0c..da34666 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteLemon.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/CigaretteLemon.java @@ -78,7 +78,7 @@ public class CigaretteLemon extends Item { double vz = look.z * speed + (world.random.nextDouble() - 0.5) * 0.02; if (remainingUseTicks % 4 == 0) { - world.addParticle( + world.addParticleClient( ParticleTypes.SMOKE, x, y, z, vx, vy, vz @@ -114,7 +114,7 @@ public class CigaretteLemon extends Item { double offsetY = (world.random.nextDouble() - 0.5) * 2 * 0.5f; double offsetZ = (world.random.nextDouble() - 0.5) * 2 * 0.5f; - world.addParticle( + world.addParticleClient( ParticleTypes.EXPLOSION, eyePos.x + offsetX, eyePos.y + offsetY, diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/CommandCore.java b/src/main/java/com/acethewildfire/acesbs/item/custom/CommandCore.java index 2c738ca..6f07f96 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/CommandCore.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/CommandCore.java @@ -6,19 +6,24 @@ import com.acethewildfire.acesbs.screen.custom.CommandCoreScreen; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.component.DataComponentTypes; +import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.entity.Entity; +import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.tooltip.TooltipType; +import net.minecraft.server.world.ServerWorld; import net.minecraft.text.Text; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; import java.util.List; +import java.util.function.Consumer; public class CommandCore extends Item { public CommandCore(Settings settings) { @@ -51,25 +56,25 @@ public class CommandCore extends Item { } @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_up")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_up")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.command_core")); + textConsumer.accept(Text.translatable("tooltip.acesbs.command_core")); } if(stack.get(ModDataComponentTypes.COMMAND) != null) { - tooltip.add(Text.literal("Command: " + stack.get(ModDataComponentTypes.COMMAND))); + textConsumer.accept(Text.literal("Command: " + stack.get(ModDataComponentTypes.COMMAND))); } else { - tooltip.add(Text.literal("Command: None")); + textConsumer.accept(Text.literal("Command: None")); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } @Override - public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) { - super.inventoryTick(stack, world, entity, slot, selected); + public void inventoryTick(ItemStack stack, ServerWorld world, Entity entity, @Nullable EquipmentSlot slot) { + super.inventoryTick(stack, world, entity, slot); String command = stack.get(ModDataComponentTypes.COMMAND); diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/HammerItem.java b/src/main/java/com/acethewildfire/acesbs/item/custom/HammerItem.java index 13d1461..0b7380c 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/HammerItem.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/HammerItem.java @@ -1,6 +1,6 @@ package com.acethewildfire.acesbs.item.custom; -import net.minecraft.item.MiningToolItem; +import net.minecraft.item.Item; import net.minecraft.item.ToolMaterial; import net.minecraft.registry.tag.BlockTags; import net.minecraft.server.network.ServerPlayerEntity; @@ -12,10 +12,10 @@ import net.minecraft.util.math.Direction; import java.util.ArrayList; import java.util.List; -public class HammerItem extends MiningToolItem { +public class HammerItem extends Item { public HammerItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) { - super(material, BlockTags.PICKAXE_MINEABLE, attackDamage, attackSpeed, settings); + super(settings.pickaxe(material, attackDamage, attackSpeed)); } public static List getBlocksToBeDestroyed(int range, BlockPos initalBlockPos, ServerPlayerEntity player) { diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java b/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java index 07f245a..d1b29c3 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java @@ -5,19 +5,22 @@ import com.google.common.collect.ImmutableMap; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.EquippableComponent; import net.minecraft.entity.Entity; +import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ArmorItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.equipment.ArmorMaterial; import net.minecraft.item.equipment.EquipmentType; +import net.minecraft.server.world.ServerWorld; import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Map; -public class ModArmorItem extends ArmorItem { +public class ModArmorItem extends Item { private static final Map> MATERIAL_TO_EFFECT_MAP = (new ImmutableMap.Builder>()) .put(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, @@ -29,12 +32,14 @@ public class ModArmorItem extends ArmorItem { // new StatusEffectInstance(StatusEffects.JUMP_BOOST, 400, 1, false, false))) .build(); - public ModArmorItem(ArmorMaterial material, EquipmentType type, Settings settings) { - super(material, type, settings); + public ModArmorItem(Settings settings) { + super(settings); } @Override - public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) { + public void inventoryTick(ItemStack stack, ServerWorld world, Entity entity, @Nullable EquipmentSlot slot) { + super.inventoryTick(stack, world, entity, slot); + if(!world.isClient()) { if(entity instanceof PlayerEntity player) { if(hasFullSuitOfArmorOn(player)) { @@ -43,7 +48,7 @@ public class ModArmorItem extends ArmorItem { } } - super.inventoryTick(stack, world, entity, slot, selected); + super.inventoryTick(stack, world, entity, slot); } private void evaluateArmorEffects(PlayerEntity player) { @@ -69,30 +74,24 @@ public class ModArmorItem extends ArmorItem { } private boolean hasFullSuitOfArmorOn(PlayerEntity player) { - ItemStack boots = player.getInventory().getArmorStack(0); - ItemStack leggings = player.getInventory().getArmorStack(1); - ItemStack breastplate = player.getInventory().getArmorStack(2); - ItemStack helmet = player.getInventory().getArmorStack(3); + ItemStack boots = player.getInventory().getStack(EquipmentSlot.FEET.getIndex()); + ItemStack leggings = player.getInventory().getStack(EquipmentSlot.LEGS.getIndex()); + ItemStack chestplate = player.getInventory().getStack(EquipmentSlot.CHEST.getIndex()); + ItemStack helmet = player.getInventory().getStack(EquipmentSlot.HEAD.getIndex()); - return !helmet.isEmpty() && !breastplate.isEmpty() + return !helmet.isEmpty() && !chestplate.isEmpty() && !leggings.isEmpty() && !boots.isEmpty(); } private boolean hasCorrectArmorOn(ArmorMaterial material, PlayerEntity player) { - for (ItemStack armorStack: player.getInventory().armor) { - if(!(armorStack.getItem() instanceof ArmorItem)) { - return false; - } - } - - ArmorItem boots = ((ArmorItem)player.getInventory().getArmorStack(0).getItem()); - ArmorItem leggings = ((ArmorItem)player.getInventory().getArmorStack(1).getItem()); - ArmorItem breastplate = ((ArmorItem)player.getInventory().getArmorStack(2).getItem()); - ArmorItem helmet = ((ArmorItem)player.getInventory().getArmorStack(3).getItem()); + ItemStack boots = player.getInventory().getStack(EquipmentSlot.FEET.getIndex()); + ItemStack leggings = player.getInventory().getStack(EquipmentSlot.LEGS.getIndex()); + ItemStack chestplate = player.getInventory().getStack(EquipmentSlot.CHEST.getIndex()); + ItemStack helmet = player.getInventory().getStack(EquipmentSlot.HEAD.getIndex()); EquippableComponent equippableComponentBoots = boots.getComponents().get(DataComponentTypes.EQUIPPABLE); EquippableComponent equippableComponentLeggings = leggings.getComponents().get(DataComponentTypes.EQUIPPABLE); - EquippableComponent equippableComponentBreastplate = breastplate.getComponents().get(DataComponentTypes.EQUIPPABLE); + EquippableComponent equippableComponentBreastplate = chestplate.getComponents().get(DataComponentTypes.EQUIPPABLE); EquippableComponent equippableComponentHelmet = helmet.getComponents().get(DataComponentTypes.EQUIPPABLE); return equippableComponentBoots.assetId().get().equals(material.assetId()) && equippableComponentLeggings.assetId().get().equals(material.assetId()) && diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/OracleLemon.java b/src/main/java/com/acethewildfire/acesbs/item/custom/OracleLemon.java index 4e3b272..810810e 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/OracleLemon.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/OracleLemon.java @@ -1,6 +1,7 @@ package com.acethewildfire.acesbs.item.custom; import net.minecraft.entity.EntityType; +import net.minecraft.entity.SpawnReason; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.projectile.thrown.PotionEntity; import net.minecraft.item.Item; @@ -22,13 +23,11 @@ public class OracleLemon extends SplashPotionItem { public ActionResult use(World world, PlayerEntity user, Hand hand) { ItemStack itemStack = user.getStackInHand(hand); if (world instanceof ServerWorld serverWorld) { - PotionEntity potionEntity = new PotionEntity(EntityType.POTION, serverWorld); + PotionEntity potionEntity = EntityType.SPLASH_POTION.create(serverWorld, SpawnReason.TRIGGERED); potionEntity.setOwner(user); potionEntity.setItem(itemStack); potionEntity.setVelocity(user, user.getPitch(), user.getYaw(), 0F, 2.5F, 1.0F); - - serverWorld.spawnEntity(potionEntity); } user.incrementStat(Stats.USED.getOrCreateStat(this)); diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/SovsPlateCarrierArmorItem.java b/src/main/java/com/acethewildfire/acesbs/item/custom/SovsPlateCarrierArmorItem.java index 3fb5af6..dd073f1 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/SovsPlateCarrierArmorItem.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/SovsPlateCarrierArmorItem.java @@ -5,7 +5,7 @@ import com.acethewildfire.acesbs.item.PrismaSteelItems; import net.minecraft.entity.Entity; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; -import net.minecraft.item.ArmorItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.equipment.ArmorMaterial; import net.minecraft.item.equipment.EquipmentType; @@ -13,9 +13,9 @@ import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; -public class SovsPlateCarrierArmorItem extends ArmorItem { - public SovsPlateCarrierArmorItem(ArmorMaterial material, EquipmentType type, Settings settings) { - super(material, type, settings); +public class SovsPlateCarrierArmorItem extends Item { + public SovsPlateCarrierArmorItem(Settings settings) { + super(settings); } @Override diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java b/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java index 6ce8c78..928c862 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java @@ -5,6 +5,7 @@ import com.acethewildfire.acesbs.component.ModDataComponentTypes; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.entity.EquipmentSlot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -20,6 +21,7 @@ import net.minecraft.world.World; import java.util.List; import java.util.Map; +import java.util.function.Consumer; public class Wand extends Item { private static final Map WAND_MAP = @@ -56,17 +58,17 @@ public class Wand extends Item { } @Override - public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + public void appendTooltip(ItemStack stack, TooltipContext context, TooltipDisplayComponent displayComponent, Consumer textConsumer, TooltipType type) { if(!Screen.hasShiftDown()){ - tooltip.add(Text.translatable("tooltip.acesbs.generic.shift_up")); + textConsumer.accept(Text.translatable("tooltip.acesbs.generic.shift_up")); } else { - tooltip.add(Text.translatable("tooltip.acesbs.wand")); + textConsumer.accept(Text.translatable("tooltip.acesbs.wand")); } if(stack.get(ModDataComponentTypes.COORDINATES) != null) { - tooltip.add(Text.literal("Last Block Changed at " + stack.get(ModDataComponentTypes.COORDINATES))); + textConsumer.accept(Text.literal("Last Block Changed at " + stack.get(ModDataComponentTypes.COORDINATES))); } - super.appendTooltip(stack, context, tooltip, type); + super.appendTooltip(stack, context, displayComponent, textConsumer, type); } } diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/WildfireArmorItem.java b/src/main/java/com/acethewildfire/acesbs/item/custom/WildfireArmorItem.java index 4ae64b2..85a9810 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/WildfireArmorItem.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/WildfireArmorItem.java @@ -3,8 +3,9 @@ package com.acethewildfire.acesbs.item.custom; import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.particle.ModParticles; import net.minecraft.entity.Entity; +import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ArmorItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.equipment.ArmorMaterial; import net.minecraft.item.equipment.EquipmentType; @@ -12,24 +13,26 @@ import net.minecraft.network.packet.s2c.play.ParticleS2CPacket; import net.minecraft.particle.ParticleTypes; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; import java.util.Objects; -public class WildfireArmorItem extends ArmorItem { +public class WildfireArmorItem extends Item { int tick = 0; - public WildfireArmorItem(ArmorMaterial material, EquipmentType type, Settings settings) { - super(material, type, settings); + public WildfireArmorItem(Settings settings) { + super(settings); } @Override - public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) { + public void inventoryTick(ItemStack stack, ServerWorld world, Entity entity, @Nullable EquipmentSlot slot) { if(!world.isClient()) { if(entity instanceof PlayerEntity player) { - ItemStack bootsStack = player.getInventory().getArmorStack(0); + ItemStack bootsStack = player.getInventory().getStack(EquipmentSlot.FEET.getIndex()); if (!bootsStack.isEmpty() && bootsStack.getItem() == ModItems.WILDFIRE_BOOTS){ double x = player.getX(); double y = player.getY(); // feet level @@ -107,6 +110,6 @@ public class WildfireArmorItem extends ArmorItem { } } - super.inventoryTick(stack, world, entity, slot, selected); + super.inventoryTick(stack, world, entity, slot); } } diff --git a/src/main/java/com/acethewildfire/acesbs/mixin/CreeperTickMixin.java b/src/main/java/com/acethewildfire/acesbs/mixin/CreeperTickMixin.java index 5aa9a3e..b45dc08 100644 --- a/src/main/java/com/acethewildfire/acesbs/mixin/CreeperTickMixin.java +++ b/src/main/java/com/acethewildfire/acesbs/mixin/CreeperTickMixin.java @@ -72,8 +72,8 @@ public class CreeperTickMixin { creeper.getPitch() ); - newMob.prevYaw = creeper.prevYaw; - newMob.prevPitch = creeper.prevPitch; + newMob.lastYaw = creeper.lastYaw; + newMob.lastPitch = creeper.lastPitch; newMob.setBodyYaw(creeper.getBodyYaw()); newMob.setHeadYaw(creeper.getHeadYaw()); diff --git a/src/main/java/com/acethewildfire/acesbs/mixin/LivingEntityMixin.java b/src/main/java/com/acethewildfire/acesbs/mixin/LivingEntityMixin.java index f127493..2272f00 100644 --- a/src/main/java/com/acethewildfire/acesbs/mixin/LivingEntityMixin.java +++ b/src/main/java/com/acethewildfire/acesbs/mixin/LivingEntityMixin.java @@ -49,7 +49,7 @@ public abstract class LivingEntityMixin { @Inject(method = "takeKnockback", at = @At("HEAD"), cancellable = true) private void cancelKnockback(double strength, double x, double z, CallbackInfo ci) { if ((Object)this instanceof PlayerEntity player) { - for (ItemStack stack : player.getInventory().main) { + for (ItemStack stack : player.getInventory().getMainStacks()) { if (stack.isOf(ModItems.COMMAND_CORE)) { if (Boolean.TRUE.equals(stack.get(ModDataComponentTypes.COMMAND_ACTIVE))){ if (Objects.equals(stack.get(ModDataComponentTypes.COMMAND), "Immovable")){ diff --git a/src/main/java/com/acethewildfire/acesbs/mixin/PlayerEntityMixin.java b/src/main/java/com/acethewildfire/acesbs/mixin/PlayerEntityMixin.java index 2fce556..ba7937a 100644 --- a/src/main/java/com/acethewildfire/acesbs/mixin/PlayerEntityMixin.java +++ b/src/main/java/com/acethewildfire/acesbs/mixin/PlayerEntityMixin.java @@ -34,7 +34,7 @@ public abstract class PlayerEntityMixin{ @Inject(method = "damage", at = @At(value = "TAIL"), locals = LocalCapture.CAPTURE_FAILSOFT, cancellable = true) private void damageMixin(ServerWorld world, DamageSource source, float amount, CallbackInfoReturnable cir) { - Item chestplate = this.inventory.getArmorStack(2).getItem(); + Item chestplate = this.inventory.player.getInventory().getStack(EquipmentSlot.CHEST.getIndex()).getItem(); if (chestplate == ModItems.BERSERKERS_PAULDRON && Objects.equals(this.getName().getLiteralString(), "Tennocraft12")){ PlayerEntity player = (PlayerEntity) (Object) this; if (!world.isClient()) { diff --git a/src/main/java/com/acethewildfire/acesbs/mixin/VillagerFireMixin.java b/src/main/java/com/acethewildfire/acesbs/mixin/VillagerFireMixin.java index 316659a..b863eab 100644 --- a/src/main/java/com/acethewildfire/acesbs/mixin/VillagerFireMixin.java +++ b/src/main/java/com/acethewildfire/acesbs/mixin/VillagerFireMixin.java @@ -18,7 +18,7 @@ public abstract class VillagerFireMixin { VillagerEntity villager = (VillagerEntity)(Object)this; - if (villagerData.getProfession() == ModVillagers.BURNING_WIZARD) { + if (villagerData.profession().value() == ModVillagers.BURNING_WIZARD) { NbtCompound nbt = new NbtCompound(); villager.writeNbt(nbt); nbt.putBoolean("HasVisualFire", true); diff --git a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java index 179f749..396a545 100644 --- a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java +++ b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java @@ -4,6 +4,7 @@ import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.item.AshenSteelItems; import com.acethewildfire.acesbs.item.PrismaSteelItems; import net.minecraft.item.Item; +import net.minecraft.item.equipment.trim.ArmorTrimAssets; import net.minecraft.item.equipment.trim.ArmorTrimMaterial; import net.minecraft.registry.Registerable; import net.minecraft.registry.Registries; @@ -35,7 +36,7 @@ public class ModTrimMaterials { private static void register(Registerable registerable, RegistryKey armorTrimKey, RegistryEntry item, Style style) { - ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(armorTrimKey.getValue().getPath(), item, Map.of(), + ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(ArmorTrimAssets.of(armorTrimKey.getValue().getPath()), Text.translatable(Util.createTranslationKey("trim_material", armorTrimKey.getValue())).fillStyle(style)); registerable.register(armorTrimKey, trimMaterial); diff --git a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java index 82dd294..6a0f202 100644 --- a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java +++ b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java @@ -25,7 +25,7 @@ public class ModTrimPatterns { } private static void register(Registerable context, Item item, RegistryKey key) { - ArmorTrimPattern trimPattern = new ArmorTrimPattern(key.getValue(), Registries.ITEM.getEntry(item), + ArmorTrimPattern trimPattern = new ArmorTrimPattern(key.getValue(), Text.translatable(Util.createTranslationKey("trim_pattern", key.getValue())), false); context.register(key, trimPattern); diff --git a/src/main/java/com/acethewildfire/acesbs/util/ConversionManager.java b/src/main/java/com/acethewildfire/acesbs/util/ConversionManager.java index c60a371..7facf3a 100644 --- a/src/main/java/com/acethewildfire/acesbs/util/ConversionManager.java +++ b/src/main/java/com/acethewildfire/acesbs/util/ConversionManager.java @@ -102,8 +102,8 @@ public class ConversionManager { v_bones.equipStack(EquipmentSlot.MAINHAND, new ItemStack(Items.IRON_SWORD)); - v_bones.prevYaw = skeleton.prevYaw; - v_bones.prevPitch = skeleton.prevPitch; + v_bones.lastYaw = skeleton.lastYaw; + v_bones.lastPitch = skeleton.lastPitch; v_bones.setBodyYaw(skeleton.getBodyYaw()); v_bones.setHeadYaw(skeleton.getHeadYaw()); diff --git a/src/main/java/com/acethewildfire/acesbs/util/UpdateRecipies.java b/src/main/java/com/acethewildfire/acesbs/util/UpdateRecipies.java index b9a6d53..ce016e6 100644 --- a/src/main/java/com/acethewildfire/acesbs/util/UpdateRecipies.java +++ b/src/main/java/com/acethewildfire/acesbs/util/UpdateRecipies.java @@ -20,10 +20,11 @@ import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.loot.function.ExplosionDecayLootFunction; import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.predicate.NumberRange; +import net.minecraft.predicate.component.ComponentPredicateTypes; +import net.minecraft.predicate.component.ComponentsPredicate; import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.EnchantmentsPredicate; import net.minecraft.predicate.item.ItemPredicate; -import net.minecraft.predicate.item.ItemSubPredicateTypes; import net.minecraft.registry.RegistryEntryLookup; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; @@ -93,12 +94,15 @@ public class UpdateRecipies { RegistryEntryLookup itemLookup = wrapperLookup.getOrThrow(RegistryKeys.ITEM); LootCondition.Builder silkTouchCondition = MatchToolLootCondition.builder( - ItemPredicate.Builder.create() - .subPredicate( - ItemSubPredicateTypes.ENCHANTMENTS, - EnchantmentsPredicate.enchantments(List.of(new EnchantmentPredicate(impl.getOrThrow(Enchantments.SILK_TOUCH), NumberRange.IntRange.atLeast(1)))) - ) - ); + ItemPredicate.Builder.create().components( + ComponentsPredicate.Builder.create() + .partial( + ComponentPredicateTypes.ENCHANTMENTS, + EnchantmentsPredicate.enchantments( + List.of(new EnchantmentPredicate(impl.getOrThrow(Enchantments.SILK_TOUCH), NumberRange.IntRange.atLeast(1))))) + .build() + ) + ); if (source.isBuiltin() && ores.contains(key)) { LootPool.Builder extraPool = LootPool.builder() diff --git a/src/main/java/com/acethewildfire/acesbs/villager/ModVillagers.java b/src/main/java/com/acethewildfire/acesbs/villager/ModVillagers.java index 6298e1b..f4d4da4 100644 --- a/src/main/java/com/acethewildfire/acesbs/villager/ModVillagers.java +++ b/src/main/java/com/acethewildfire/acesbs/villager/ModVillagers.java @@ -10,6 +10,7 @@ import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.sound.SoundEvents; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.village.VillagerProfession; import net.minecraft.world.poi.PointOfInterestType; @@ -19,12 +20,14 @@ public class ModVillagers { public static final RegistryKey BURNING_POI_KEY = registerPoiKey("burning_poi"); public static final PointOfInterestType BURNING_POI = registerPOI("burning_poi", ModBlocks.INFERNAL_ASHES_BLOCK); + public static final RegistryKey BURNING_WIZARD_KEY = + RegistryKey.of(RegistryKeys.VILLAGER_PROFESSION, Identifier.of(AcesBS.MOD_ID, "burning_wizard")); public static final VillagerProfession BURNING_WIZARD = registerProfession("burning_wizard", BURNING_POI_KEY); private static VillagerProfession registerProfession(String name, RegistryKey type) { return Registry.register(Registries.VILLAGER_PROFESSION, Identifier.of(AcesBS.MOD_ID, name), - new VillagerProfession(name, entry -> entry.matchesKey(type), entry -> entry.matchesKey(type), + new VillagerProfession(Text.of(name),entry -> entry.matchesKey(type), entry -> entry.matchesKey(type), ImmutableSet.of(), ImmutableSet.of(), SoundEvents.ENTITY_VILLAGER_WORK_LIBRARIAN)); } diff --git a/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java b/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java index f0e4d8c..3c379dc 100644 --- a/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java +++ b/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java @@ -11,7 +11,7 @@ import net.minecraft.structure.rule.BlockMatchRuleTest; import net.minecraft.structure.rule.RuleTest; import net.minecraft.structure.rule.TagMatchRuleTest; import net.minecraft.util.Identifier; -import net.minecraft.util.collection.DataPool; +import net.minecraft.util.collection.Pool; import net.minecraft.util.math.intprovider.ConstantIntProvider; import net.minecraft.util.math.intprovider.IntProvider; import net.minecraft.util.math.intprovider.UniformIntProvider; @@ -64,7 +64,7 @@ public class ModConfiguredFeatures { register(context, LEMONWOOD_KEY, Feature.TREE, new TreeFeatureConfig.Builder( BlockStateProvider.of(ModBlocks.LEMONWOOD_LOG), - new CherryTrunkPlacer(7, 1, 0, new WeightedListIntProvider(new DataPool.Builder().add(ConstantIntProvider.create(1), 1).add(ConstantIntProvider.create(2), 1).add(ConstantIntProvider.create(3), 1).build()), UniformIntProvider.create(2, 4), UniformIntProvider.create(-4, -3), UniformIntProvider.create(-1, 0)), + new CherryTrunkPlacer(7, 1, 0, new WeightedListIntProvider(new Pool.Builder().add(ConstantIntProvider.create(1), 1).add(ConstantIntProvider.create(2), 1).add(ConstantIntProvider.create(3), 1).build()), UniformIntProvider.create(2, 4), UniformIntProvider.create(-4, -3), UniformIntProvider.create(-1, 0)), BlockStateProvider.of(ModBlocks.LEMONWOOD_LEAVES), new CherryFoliagePlacer(ConstantIntProvider.create(4), ConstantIntProvider.create(0), ConstantIntProvider.create(5), 0.25F, 0.5F, 0.16666667F, 0.33333334F), diff --git a/src/main/resources/assets/acesbs/models/equipment/ashen_steel.json b/src/main/resources/assets/acesbs/equipment/ashen_steel.json similarity index 100% rename from src/main/resources/assets/acesbs/models/equipment/ashen_steel.json rename to src/main/resources/assets/acesbs/equipment/ashen_steel.json diff --git a/src/main/resources/assets/acesbs/models/equipment/berserkers.json b/src/main/resources/assets/acesbs/equipment/berserkers.json similarity index 100% rename from src/main/resources/assets/acesbs/models/equipment/berserkers.json rename to src/main/resources/assets/acesbs/equipment/berserkers.json diff --git a/src/main/resources/assets/acesbs/models/equipment/plates.json b/src/main/resources/assets/acesbs/equipment/plates.json similarity index 100% rename from src/main/resources/assets/acesbs/models/equipment/plates.json rename to src/main/resources/assets/acesbs/equipment/plates.json diff --git a/src/main/resources/assets/acesbs/models/equipment/prisma_steel.json b/src/main/resources/assets/acesbs/equipment/prisma_steel.json similarity index 100% rename from src/main/resources/assets/acesbs/models/equipment/prisma_steel.json rename to src/main/resources/assets/acesbs/equipment/prisma_steel.json diff --git a/src/main/resources/assets/acesbs/models/equipment/wildfire.json b/src/main/resources/assets/acesbs/equipment/wildfire.json similarity index 100% rename from src/main/resources/assets/acesbs/models/equipment/wildfire.json rename to src/main/resources/assets/acesbs/equipment/wildfire.json diff --git a/src/main/generated/assets/acesbs/items/entropic_entangler.json b/src/main/resources/assets/acesbs/items/entropic_entangler.json similarity index 100% rename from src/main/generated/assets/acesbs/items/entropic_entangler.json rename to src/main/resources/assets/acesbs/items/entropic_entangler.json diff --git a/src/main/generated/assets/acesbs/items/entropic_eviscerator.json b/src/main/resources/assets/acesbs/items/entropic_eviscerator.json similarity index 100% rename from src/main/generated/assets/acesbs/items/entropic_eviscerator.json rename to src/main/resources/assets/acesbs/items/entropic_eviscerator.json diff --git a/src/main/generated/assets/acesbs/items/entropic_stabilizer.json b/src/main/resources/assets/acesbs/items/entropic_stabilizer.json similarity index 100% rename from src/main/generated/assets/acesbs/items/entropic_stabilizer.json rename to src/main/resources/assets/acesbs/items/entropic_stabilizer.json diff --git a/src/main/generated/assets/acesbs/items/ordered_core.json b/src/main/resources/assets/acesbs/items/ordered_core.json similarity index 100% rename from src/main/generated/assets/acesbs/items/ordered_core.json rename to src/main/resources/assets/acesbs/items/ordered_core.json diff --git a/src/main/generated/assets/acesbs/items/raw_entropy_block.json b/src/main/resources/assets/acesbs/items/raw_entropy_block.json similarity index 100% rename from src/main/generated/assets/acesbs/items/raw_entropy_block.json rename to src/main/resources/assets/acesbs/items/raw_entropy_block.json