From cfb723aea2f1c61301557e4f3465be1d1fa4b9ec Mon Sep 17 00:00:00 2001 From: Noaaan Date: Thu, 21 Sep 2023 22:51:46 +0200 Subject: [PATCH] Initial port to 1.20.2 Signed-off-by: Noaaan --- gradle.properties | 10 ++-- .../mythicmetals/MythicMetalsClient.java | 4 +- .../blocks/AquariumResonatorBlock.java | 2 +- .../blocks/AquariumStewardBlock.java | 2 +- .../blocks/BanglumNukeHandler.java | 6 +- .../compat/MidasFoldingEMIRecipe.java | 5 +- .../compat/MythicMetalsEMIPlugin.java | 5 +- .../effects/CombustingStatusEffect.java | 17 ++++-- .../item/tools/MidasFoldingRecipe.java | 59 +++++++++---------- .../item/tools/TippedRuniteArrowRecipe.java | 5 +- .../misc/BlastMiningCriteria.java | 10 ++-- .../misc/CombustionFromCreeperCriteria.java | 11 ++-- .../mythicmetals/misc/EpicExplosion.java | 2 +- .../misc/RandomChanceWithLuckCondition.java | 29 +++------ .../mythicmetals/misc/RegistryHelper.java | 4 +- .../mixin/CapeFeatureRendererMixin.java | 2 +- .../mixin/DispenserBehaviorMixin.java | 2 +- .../registry/RegisterCriteria.java | 4 +- .../registry/RegisterLootConditions.java | 2 +- 19 files changed, 83 insertions(+), 98 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8f958e229..88f4ea6eb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,17 +3,17 @@ org.gradle.jvmargs=-Xmx2G # Fabric Properties # check these https://fabricmc.net/develop/ -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.9 -loader_version=0.14.21 +minecraft_version=1.20.2 +yarn_mappings=1.20.2+build.1 +loader_version=0.14.22 # Mod Properties -mod_version = 0.18.2+1.20 +mod_version = 0.18.2+1.20.2 maven_group = nourl.mythicmetals archives_base_name = mythicmetals # Dependencies -fabric_version=0.87.0+1.20.1 +fabric_version=0.89.1+1.20.2 cca_version=5.2.1 # https://maven.terraformersmc.com/releases/com/terraformersmc/modmenu/ modmenu_version=7.1.0 diff --git a/src/main/java/nourl/mythicmetals/MythicMetalsClient.java b/src/main/java/nourl/mythicmetals/MythicMetalsClient.java index d8f9aff73..c8eaf3e3a 100644 --- a/src/main/java/nourl/mythicmetals/MythicMetalsClient.java +++ b/src/main/java/nourl/mythicmetals/MythicMetalsClient.java @@ -219,11 +219,11 @@ private void registerArmorRenderer() { // Armor trim time if (!stack.isOf(MythicArmor.HALLOWED.getHelmet())) { - ArmorTrim.getTrim(entity.getWorld().getRegistryManager(), stack).ifPresent(trim -> { + ArmorTrim.getTrim(entity.getWorld().getRegistryManager(), stack, true).ifPresent(trim -> { var atlas = MinecraftClient.getInstance().getSpriteAtlas(TexturedRenderLayers.ARMOR_TRIMS_ATLAS_TEXTURE); Sprite sprite = atlas.apply(slot == EquipmentSlot.LEGS ? trim.getLeggingsModelId(armor.getMaterial()) : trim.getGenericModelId(armor.getMaterial())); VertexConsumer trimVertexConsumer = sprite.getTextureSpecificVertexConsumer( - ItemRenderer.getDirectItemGlintConsumer(vertexConsumer, TexturedRenderLayers.getArmorTrims(), true, stack.hasGlint()) + ItemRenderer.getDirectItemGlintConsumer(vertexConsumer, TexturedRenderLayers.getArmorTrims(trim.getPattern().value().decal()), true, stack.hasGlint()) ); model.render(matrices, trimVertexConsumer, light, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F); }); diff --git a/src/main/java/nourl/mythicmetals/blocks/AquariumResonatorBlock.java b/src/main/java/nourl/mythicmetals/blocks/AquariumResonatorBlock.java index 991109a59..381aeb48c 100644 --- a/src/main/java/nourl/mythicmetals/blocks/AquariumResonatorBlock.java +++ b/src/main/java/nourl/mythicmetals/blocks/AquariumResonatorBlock.java @@ -26,7 +26,7 @@ public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { @Nullable @Override public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type) { - return checkType(type, RegisterBlockEntityTypes.AQUARIUM_RESONATOR_BLOCK_ENTITY_TYPE, AquariumResonatorBlockEntity::tick); + return validateTicker(type, RegisterBlockEntityTypes.AQUARIUM_RESONATOR_BLOCK_ENTITY_TYPE, AquariumResonatorBlockEntity::tick); } @Override diff --git a/src/main/java/nourl/mythicmetals/blocks/AquariumStewardBlock.java b/src/main/java/nourl/mythicmetals/blocks/AquariumStewardBlock.java index ba9399900..39e4bcb01 100644 --- a/src/main/java/nourl/mythicmetals/blocks/AquariumStewardBlock.java +++ b/src/main/java/nourl/mythicmetals/blocks/AquariumStewardBlock.java @@ -26,7 +26,7 @@ public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { @Nullable @Override public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type) { - return checkType(type, RegisterBlockEntityTypes.AQUARIUM_STEWARD_BLOCK_ENTITY_TYPE, AquariumStewardBlockEntity::tick); + return validateTicker(type, RegisterBlockEntityTypes.AQUARIUM_STEWARD_BLOCK_ENTITY_TYPE, AquariumStewardBlockEntity::tick); } @Override diff --git a/src/main/java/nourl/mythicmetals/blocks/BanglumNukeHandler.java b/src/main/java/nourl/mythicmetals/blocks/BanglumNukeHandler.java index 420a63768..1a1a31146 100644 --- a/src/main/java/nourl/mythicmetals/blocks/BanglumNukeHandler.java +++ b/src/main/java/nourl/mythicmetals/blocks/BanglumNukeHandler.java @@ -47,9 +47,9 @@ public static void init() { } public static boolean tryLightBigTntWithDispenser(BlockPointer dispenser) { - var world = dispenser.getWorld(); - BlockState state = world.getBlockState(dispenser.getPos().offset(dispenser.getBlockState().get(DispenserBlock.FACING))); - var pos = dispenser.getPos().offset(dispenser.getBlockState().get(DispenserBlock.FACING)); + var world = dispenser.world(); + BlockState state = world.getBlockState(dispenser.pos().offset(dispenser.state().get(DispenserBlock.FACING))); + var pos = dispenser.pos().offset(dispenser.state().get(DispenserBlock.FACING)); if (!state.isOf(MythicBlocks.BANGLUM.getStorageBlock()) && !state.isOf(MythicBlocks.MORKITE.getStorageBlock())) diff --git a/src/main/java/nourl/mythicmetals/compat/MidasFoldingEMIRecipe.java b/src/main/java/nourl/mythicmetals/compat/MidasFoldingEMIRecipe.java index eaeb79592..05d3a1c55 100644 --- a/src/main/java/nourl/mythicmetals/compat/MidasFoldingEMIRecipe.java +++ b/src/main/java/nourl/mythicmetals/compat/MidasFoldingEMIRecipe.java @@ -27,14 +27,12 @@ public class MidasFoldingEMIRecipe implements EmiRecipe { Ingredient addition; List inputs; EmiStack output; - Identifier id; public MidasFoldingEMIRecipe(MidasFoldingRecipe recipe) { this.template = recipe.template; this.base = recipe.base; this.addition = recipe.addition; var outputStack = recipe.result; - this.id = recipe.getId(); if (this.base != null && this.addition != null && outputStack != null) { var inputStack = Arrays.stream(this.base.getMatchingStacks()).findFirst().orElseGet(() -> new ItemStack(Items.AIR)).copy(); @@ -113,9 +111,10 @@ public EmiRecipeCategory getCategory() { return VanillaEmiRecipeCategories.SMITHING; } + // TODO - Remove when updating EMI, as recipes do not contain ID's anymore @Override public @Nullable Identifier getId() { - return this.id; + return null; } @Override diff --git a/src/main/java/nourl/mythicmetals/compat/MythicMetalsEMIPlugin.java b/src/main/java/nourl/mythicmetals/compat/MythicMetalsEMIPlugin.java index 098862c6b..7937e71b9 100644 --- a/src/main/java/nourl/mythicmetals/compat/MythicMetalsEMIPlugin.java +++ b/src/main/java/nourl/mythicmetals/compat/MythicMetalsEMIPlugin.java @@ -3,6 +3,7 @@ import dev.emi.emi.api.EmiEntrypoint; import dev.emi.emi.api.EmiPlugin; import dev.emi.emi.api.EmiRegistry; +import net.minecraft.recipe.RecipeEntry; import net.minecraft.recipe.RecipeType; import net.minecraft.recipe.SmithingRecipe; import nourl.mythicmetals.item.tools.MidasFoldingRecipe; @@ -12,8 +13,8 @@ public class MythicMetalsEMIPlugin implements EmiPlugin { @Override public void register(EmiRegistry registry) { - for (SmithingRecipe recipe : registry.getRecipeManager().listAllOfType(RecipeType.SMITHING)) { - if (recipe instanceof MidasFoldingRecipe foldingRecipe) { + for (RecipeEntry recipe : registry.getRecipeManager().listAllOfType(RecipeType.SMITHING)) { + if (recipe.value() instanceof MidasFoldingRecipe foldingRecipe) { registry.addRecipe(new MidasFoldingEMIRecipe(foldingRecipe)); } } diff --git a/src/main/java/nourl/mythicmetals/effects/CombustingStatusEffect.java b/src/main/java/nourl/mythicmetals/effects/CombustingStatusEffect.java index eae1d22f8..5f3628dbf 100644 --- a/src/main/java/nourl/mythicmetals/effects/CombustingStatusEffect.java +++ b/src/main/java/nourl/mythicmetals/effects/CombustingStatusEffect.java @@ -17,9 +17,14 @@ public void applyUpdateEffect(LivingEntity entity, int amplifier) { super.applyUpdateEffect(entity, amplifier); } +// @Override +// public void onRemoved(LivingEntity entity, AttributeContainer attributes, int amplifier) { +// entity.getComponent(MythicMetals.COMBUSTION_COOLDOWN).setCooldown(500); +// } + @Override - public void onRemoved(LivingEntity entity, AttributeContainer attributes, int amplifier) { - entity.getComponent(MythicMetals.COMBUSTION_COOLDOWN).setCooldown(500); + public void onRemoved(AttributeContainer attributeContainer) { + super.onRemoved(attributeContainer); } @Override @@ -27,8 +32,8 @@ public boolean canApplyUpdateEffect(int duration, int amplifier) { return duration % 20 == 0; } - @Override - public double adjustModifierAmount(int amplifier, EntityAttributeModifier modifier) { - return amplifier + 1; - } +// @Override +// public double adjustModifierAmount(int amplifier, EntityAttributeModifier modifier) { +// return amplifier + 1; +// } } diff --git a/src/main/java/nourl/mythicmetals/item/tools/MidasFoldingRecipe.java b/src/main/java/nourl/mythicmetals/item/tools/MidasFoldingRecipe.java index 8a97d84f9..f4d34272b 100644 --- a/src/main/java/nourl/mythicmetals/item/tools/MidasFoldingRecipe.java +++ b/src/main/java/nourl/mythicmetals/item/tools/MidasFoldingRecipe.java @@ -1,16 +1,12 @@ package nourl.mythicmetals.item.tools; -import com.google.gson.JsonObject; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.inventory.Inventory; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; -import net.minecraft.recipe.Ingredient; -import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.recipe.ShapedRecipe; -import net.minecraft.recipe.SmithingRecipe; +import net.minecraft.recipe.*; import net.minecraft.registry.DynamicRegistryManager; -import net.minecraft.util.Identifier; -import net.minecraft.util.JsonHelper; import net.minecraft.world.World; import nourl.mythicmetals.item.MythicItems; import nourl.mythicmetals.registry.RegisterRecipeSerializers; @@ -20,14 +16,12 @@ public class MidasFoldingRecipe implements SmithingRecipe { public final Ingredient addition; public final ItemStack result; public final Ingredient template; - public final Identifier id; - public MidasFoldingRecipe(Ingredient base, Ingredient addition, Ingredient template, ItemStack result, Identifier id) { + public MidasFoldingRecipe(Ingredient base, Ingredient addition, Ingredient template, ItemStack result) { this.base = base; this.addition = addition; this.result = result; this.template = template; - this.id = id; } @Override @@ -102,15 +96,10 @@ public ItemStack craft(Inventory inventory, DynamicRegistryManager registryManag } @Override - public ItemStack getOutput(DynamicRegistryManager registryManager) { + public ItemStack getResult(DynamicRegistryManager registryManager) { return this.result; } - @Override - public Identifier getId() { - return this.id; - } - @Override public RecipeSerializer getSerializer() { return RegisterRecipeSerializers.MIDAS_FOLDING_RECIPE; @@ -132,23 +121,31 @@ public boolean testAddition(ItemStack stack) { } public static class Serializer implements RecipeSerializer { - public MidasFoldingRecipe read(Identifier identifier, JsonObject jsonObject) { - Ingredient ingredient = Ingredient.fromJson(JsonHelper.getObject(jsonObject, "base")); - Ingredient ingredient2 = Ingredient.fromJson(JsonHelper.getObject(jsonObject, "addition")); - Ingredient ingredient3 = Ingredient.fromJson(JsonHelper.getObject(jsonObject, "template")); - ItemStack itemStack = ShapedRecipe.outputFromJson(JsonHelper.getObject(jsonObject, "result")); - return new MidasFoldingRecipe(ingredient, ingredient2, ingredient3, itemStack, identifier); - } + private static final Codec CODEC = RecordCodecBuilder.create( + instance -> instance.group( + Ingredient.ALLOW_EMPTY_CODEC.fieldOf("base").forGetter(recipe -> recipe.base), + Ingredient.ALLOW_EMPTY_CODEC.fieldOf("addition").forGetter(recipe -> recipe.addition), + Ingredient.ALLOW_EMPTY_CODEC.fieldOf("template").forGetter(recipe -> recipe.template), + RecipeCodecs.CRAFTING_RESULT.fieldOf("result").forGetter(recipe -> recipe.result) + ) + .apply(instance, MidasFoldingRecipe::new) + ); + + @Override + public Codec codec() { + return CODEC; + } - public MidasFoldingRecipe read(Identifier identifier, PacketByteBuf packetByteBuf) { - Ingredient ingredient = Ingredient.fromPacket(packetByteBuf); - Ingredient ingredient2 = Ingredient.fromPacket(packetByteBuf); - Ingredient ingredient3 = Ingredient.fromPacket(packetByteBuf); - ItemStack itemStack = packetByteBuf.readItemStack(); - return new MidasFoldingRecipe(ingredient, ingredient2, ingredient3, itemStack, identifier); - } + @Override + public MidasFoldingRecipe read(PacketByteBuf buf) { + Ingredient ingredient = Ingredient.fromPacket(buf); + Ingredient ingredient2 = Ingredient.fromPacket(buf); + Ingredient ingredient3 = Ingredient.fromPacket(buf); + ItemStack itemStack = buf.readItemStack(); + return new MidasFoldingRecipe(ingredient, ingredient2, ingredient3, itemStack); + } - public void write(PacketByteBuf packetByteBuf, MidasFoldingRecipe smithingRecipe) { + public void write(PacketByteBuf packetByteBuf, MidasFoldingRecipe smithingRecipe) { smithingRecipe.base.write(packetByteBuf); smithingRecipe.addition.write(packetByteBuf); smithingRecipe.template.write(packetByteBuf); diff --git a/src/main/java/nourl/mythicmetals/item/tools/TippedRuniteArrowRecipe.java b/src/main/java/nourl/mythicmetals/item/tools/TippedRuniteArrowRecipe.java index 4fea71b74..bbae104a3 100644 --- a/src/main/java/nourl/mythicmetals/item/tools/TippedRuniteArrowRecipe.java +++ b/src/main/java/nourl/mythicmetals/item/tools/TippedRuniteArrowRecipe.java @@ -8,13 +8,12 @@ import net.minecraft.recipe.SpecialCraftingRecipe; import net.minecraft.recipe.book.CraftingRecipeCategory; import net.minecraft.registry.DynamicRegistryManager; -import net.minecraft.util.Identifier; import net.minecraft.world.World; import nourl.mythicmetals.registry.RegisterRecipeSerializers; public class TippedRuniteArrowRecipe extends SpecialCraftingRecipe { - public TippedRuniteArrowRecipe(Identifier identifier, CraftingRecipeCategory craftingRecipeCategory) { - super(identifier, craftingRecipeCategory); + public TippedRuniteArrowRecipe(CraftingRecipeCategory craftingRecipeCategory) { + super(craftingRecipeCategory); } @Override diff --git a/src/main/java/nourl/mythicmetals/misc/BlastMiningCriteria.java b/src/main/java/nourl/mythicmetals/misc/BlastMiningCriteria.java index 73c45c0e6..2472df182 100644 --- a/src/main/java/nourl/mythicmetals/misc/BlastMiningCriteria.java +++ b/src/main/java/nourl/mythicmetals/misc/BlastMiningCriteria.java @@ -8,26 +8,24 @@ import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; +import java.util.Optional; + public class BlastMiningCriteria extends AbstractCriterion { public static final Identifier ID = RegistryHelper.id("used_blast_mining"); - @Override - public Identifier getId() { - return ID; - } public void trigger(ServerPlayerEntity entity) { this.trigger(entity, conditions -> true); } @Override - protected Conditions conditionsFromJson(JsonObject obj, LootContextPredicate playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) { + protected Conditions conditionsFromJson(JsonObject obj, Optional playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) { return new Conditions(); } public static class Conditions extends AbstractCriterionConditions { public Conditions() { - super(ID, LootContextPredicate.EMPTY); + super(Optional.empty()); } } } diff --git a/src/main/java/nourl/mythicmetals/misc/CombustionFromCreeperCriteria.java b/src/main/java/nourl/mythicmetals/misc/CombustionFromCreeperCriteria.java index e6735900e..b3fe36e96 100644 --- a/src/main/java/nourl/mythicmetals/misc/CombustionFromCreeperCriteria.java +++ b/src/main/java/nourl/mythicmetals/misc/CombustionFromCreeperCriteria.java @@ -8,26 +8,23 @@ import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; +import java.util.Optional; + public class CombustionFromCreeperCriteria extends AbstractCriterion { public static final Identifier ID = RegistryHelper.id("recieved_combustion_from_creeper"); - @Override - public Identifier getId() { - return ID; - } - public void trigger(ServerPlayerEntity entity) { this.trigger(entity, conditions -> true); } @Override - protected Conditions conditionsFromJson(JsonObject obj, LootContextPredicate playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) { + protected Conditions conditionsFromJson(JsonObject obj, Optional predicate, AdvancementEntityPredicateDeserializer predicateDeserializer) { return new Conditions(); } public static class Conditions extends AbstractCriterionConditions { public Conditions() { - super(ID, LootContextPredicate.EMPTY); + super(Optional.empty()); } } } diff --git a/src/main/java/nourl/mythicmetals/misc/EpicExplosion.java b/src/main/java/nourl/mythicmetals/misc/EpicExplosion.java index 576a73a9f..dac986fcc 100644 --- a/src/main/java/nourl/mythicmetals/misc/EpicExplosion.java +++ b/src/main/java/nourl/mythicmetals/misc/EpicExplosion.java @@ -105,7 +105,7 @@ public static void absorbWater(ServerWorld world, int x, int y, int z, int radiu var fluidState = world.getFluidState(pos); if (fluidState.isIn(FluidTags.WATER)) { - if (state.getBlock() instanceof FluidDrainable drainable && drainable.tryDrainFluid(world, pos, state).isEmpty()) { + if (state.getBlock() instanceof FluidDrainable drainable && drainable.tryDrainFluid(cause, world, pos, state).isEmpty()) { world.setBlockState(pos, Blocks.AIR.getDefaultState(), Block.NOTIFY_ALL); } else if (state.isIn(MythicTags.SPONGABLES)) { BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; diff --git a/src/main/java/nourl/mythicmetals/misc/RandomChanceWithLuckCondition.java b/src/main/java/nourl/mythicmetals/misc/RandomChanceWithLuckCondition.java index 4aeb7602a..87fb344d5 100644 --- a/src/main/java/nourl/mythicmetals/misc/RandomChanceWithLuckCondition.java +++ b/src/main/java/nourl/mythicmetals/misc/RandomChanceWithLuckCondition.java @@ -1,24 +1,23 @@ package nourl.mythicmetals.misc; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.loot.condition.LootCondition; import net.minecraft.loot.condition.LootConditionType; import net.minecraft.loot.context.LootContext; import net.minecraft.loot.context.LootContextParameters; -import net.minecraft.util.JsonHelper; -import net.minecraft.util.JsonSerializer; import nourl.mythicmetals.registry.RegisterLootConditions; -public class RandomChanceWithLuckCondition implements LootCondition { - final float chance; +public record RandomChanceWithLuckCondition(float chance) implements LootCondition { - RandomChanceWithLuckCondition(float chance) { - this.chance = chance; - } + public static final Codec CODEC = RecordCodecBuilder.create( + instance -> instance + .group(Codec.FLOAT.fieldOf("chance") + .forGetter(RandomChanceWithLuckCondition::chance)) + .apply(instance, RandomChanceWithLuckCondition::new) + ); @Override public LootConditionType getType() { @@ -36,14 +35,4 @@ public boolean test(LootContext lootContext) { public static LootCondition.Builder builder(float chance) { return () -> new RandomChanceWithLuckCondition(chance); } - - public static class Serializer implements JsonSerializer { - public void toJson(JsonObject jsonObject, RandomChanceWithLuckCondition condition, JsonSerializationContext jsonSerializationContext) { - jsonObject.addProperty("chance", condition.chance); - } - - public RandomChanceWithLuckCondition fromJson(JsonObject jsonObject, JsonDeserializationContext jsonDeserializationContext) { - return new RandomChanceWithLuckCondition(JsonHelper.getFloat(jsonObject, "chance")); - } - } } diff --git a/src/main/java/nourl/mythicmetals/misc/RegistryHelper.java b/src/main/java/nourl/mythicmetals/misc/RegistryHelper.java index cada7672e..ebe6c5a53 100644 --- a/src/main/java/nourl/mythicmetals/misc/RegistryHelper.java +++ b/src/main/java/nourl/mythicmetals/misc/RegistryHelper.java @@ -1,5 +1,6 @@ package nourl.mythicmetals.misc; +import com.mojang.serialization.Codec; import io.wispforest.owo.itemgroup.OwoItemGroup; import io.wispforest.owo.itemgroup.OwoItemSettings; import net.minecraft.block.Block; @@ -14,7 +15,6 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.util.Identifier; -import net.minecraft.util.JsonSerializer; import net.minecraft.world.gen.feature.ConfiguredFeature; import nourl.mythicmetals.MythicMetals; @@ -67,7 +67,7 @@ public static void entityType(String path, EntityType type){ return RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, RegistryHelper.id(path)); } - public static LootConditionType lootConditionType(String path, JsonSerializer serializer) { + public static LootConditionType lootConditionType(String path, Codec serializer) { return Registry.register(Registries.LOOT_CONDITION_TYPE, RegistryHelper.id(path), new LootConditionType(serializer)); } diff --git a/src/main/java/nourl/mythicmetals/mixin/CapeFeatureRendererMixin.java b/src/main/java/nourl/mythicmetals/mixin/CapeFeatureRendererMixin.java index cd6167417..91b8ab528 100644 --- a/src/main/java/nourl/mythicmetals/mixin/CapeFeatureRendererMixin.java +++ b/src/main/java/nourl/mythicmetals/mixin/CapeFeatureRendererMixin.java @@ -35,7 +35,7 @@ public CapeFeatureRendererMixin(FeatureRendererContext cir) { if (!BanglumNukeHandler.tryLightBigTntWithDispenser(pointer)) return; - stack.damage(1, pointer.getWorld().getRandom(), null); + stack.damage(1, pointer.world().getRandom(), null); cir.setReturnValue(stack.getDamage() > stack.getMaxDamage() ? ItemStack.EMPTY : stack); diff --git a/src/main/java/nourl/mythicmetals/registry/RegisterCriteria.java b/src/main/java/nourl/mythicmetals/registry/RegisterCriteria.java index ab6c980dd..ccf017c88 100644 --- a/src/main/java/nourl/mythicmetals/registry/RegisterCriteria.java +++ b/src/main/java/nourl/mythicmetals/registry/RegisterCriteria.java @@ -9,7 +9,7 @@ public class RegisterCriteria { public static final CombustionFromCreeperCriteria RECIEVED_COMBUSTION_FROM_CREEPER = new CombustionFromCreeperCriteria(); public static void init() { - Criteria.register(BLAST_MINING); - Criteria.register(RECIEVED_COMBUSTION_FROM_CREEPER); + Criteria.register(BlastMiningCriteria.ID.toString(), BLAST_MINING); + Criteria.register(CombustionFromCreeperCriteria.ID.toString(), RECIEVED_COMBUSTION_FROM_CREEPER); } } diff --git a/src/main/java/nourl/mythicmetals/registry/RegisterLootConditions.java b/src/main/java/nourl/mythicmetals/registry/RegisterLootConditions.java index 3960f309f..dc55ea021 100644 --- a/src/main/java/nourl/mythicmetals/registry/RegisterLootConditions.java +++ b/src/main/java/nourl/mythicmetals/registry/RegisterLootConditions.java @@ -8,7 +8,7 @@ public class RegisterLootConditions { public RegisterLootConditions(){} @SuppressWarnings("unused") - public static final LootConditionType RANDOM_CHANCE_WITH_LUCK = RegistryHelper.lootConditionType("random_chance_with_luck", new RandomChanceWithLuckCondition.Serializer()); + public static final LootConditionType RANDOM_CHANCE_WITH_LUCK = RegistryHelper.lootConditionType("random_chance_with_luck", RandomChanceWithLuckCondition.CODEC); public static void init() {