From 844f57ae45eac50ef18041174e744a72a19a8b33 Mon Sep 17 00:00:00 2001 From: izofar Date: Sat, 23 Sep 2023 17:24:57 -0500 Subject: [PATCH] v1.3.2 (i) - 1.20.1 Fabric Port of Bygone Nether v1.3.2 --- build.gradle | 4 +- gradle.properties | 10 +- gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 5 +- .../izofar/bygonenether/BygoneNetherMod.java | 1 + .../block/NetheriteBellBlock.java | 5 - .../bygonenether/client/model/WexModel.java | 11 ++ .../client/renderer/ModShieldRenderer.java | 6 - .../client/renderer/PiglinHunterRenderer.java | 3 +- .../client/renderer/WexRenderer.java | 3 +- .../renderer/layers/ModCarriedBlockLayer.java | 8 +- .../bygonenether/entity/PiglinHunter.java | 27 +++- .../bygonenether/entity/PiglinPrisoner.java | 20 +-- .../entity/ThrownWarpedEnderpearl.java | 22 ++-- .../bygonenether/entity/WarpedEnderMan.java | 6 +- .../entity/WitherSkeletonHorse.java | 6 +- .../entity/WitherSkeletonKnight.java | 15 ++- .../izofar/bygonenether/entity/Wraither.java | 2 +- .../entity/ai/ModPiglinBruteAi.java | 15 ++- .../entity/ai/PiglinPrisonerAi.java | 60 ++++----- .../entity/ai/goal/ShieldGoal.java | 4 +- .../izofar/bygonenether/init/ModBlocks.java | 53 ++++---- .../init/ModCreativeModeTabs.java | 18 ++- .../bygonenether/init/ModEntityTypes.java | 21 +-- .../izofar/bygonenether/init/ModFeatures.java | 15 ++- .../izofar/bygonenether/init/ModItems.java | 120 ++++++------------ .../init/ModMemoryModuleTypes.java | 3 +- .../bygonenether/init/ModSensorTypes.java | 5 +- .../izofar/bygonenether/init/ModSounds.java | 25 ++-- .../bygonenether/init/ModStructures.java | 7 +- .../com/izofar/bygonenether/init/ModTags.java | 4 +- .../bygonenether/item/ModArmorItem.java | 63 --------- .../bygonenether/item/ModArmorMaterial.java | 53 -------- .../mixin/ModifyDamageInSmithingRecipes.java | 31 ----- .../bygonenether/mixin/ModifyPiglinAi.java | 7 +- .../mixin/ModifyPiglinBruteAi.java | 2 +- .../NoBasaltColumnsInStructuresMixin.java | 3 +- .../mixin/NoDeltasInStructuresMixin.java | 3 +- .../bygonenether/util/ModStructureUtils.java | 12 -- .../world/structure/CatacombStructure.java | 4 +- .../world/structure/CitadelStructure.java | 4 +- .../world/structure/PiglinManorStructure.java | 4 +- .../models/item/gilded_netherite_boots.json | 6 - .../item/gilded_netherite_chestplate.json | 6 - .../models/item/gilded_netherite_helmet.json | 6 - .../item/gilded_netherite_leggings.json | 6 - .../textures/item/gilded_netherite_boots.png | Bin 5734 -> 0 bytes .../item/gilded_netherite_chestplate.png | Bin 6315 -> 0 bytes .../textures/item/gilded_netherite_helmet.png | Bin 5377 -> 0 bytes .../item/gilded_netherite_leggings.png | Bin 5477 -> 0 bytes .../assets/minecraft/atlases/blocks.json | 12 ++ .../models/armor/gilded_netherite_layer_1.png | Bin 10856 -> 0 bytes .../models/armor/gilded_netherite_layer_2.png | Bin 6814 -> 0 bytes src/main/resources/bygonenether.mixins.json | 1 - .../advancements/explore_structures.json | 3 +- .../data/bygonenether/advancements/root.json | 2 +- .../gilded_netherite_boots_smithing.json | 12 -- .../gilded_netherite_chestplate_smithing.json | 12 -- .../gilded_netherite_helmet_smithing.json | 12 -- .../gilded_netherite_leggings_smithing.json | 12 -- .../worldgen/structure_set/catacomb.json | 6 +- .../worldgen/structure_set/citadel.json | 6 +- .../worldgen/structure_set/piglin_manor.json | 6 +- src/main/resources/fabric.mod.json | 2 +- 64 files changed, 302 insertions(+), 502 deletions(-) delete mode 100644 src/main/java/com/izofar/bygonenether/item/ModArmorItem.java delete mode 100644 src/main/java/com/izofar/bygonenether/item/ModArmorMaterial.java delete mode 100644 src/main/java/com/izofar/bygonenether/mixin/ModifyDamageInSmithingRecipes.java delete mode 100644 src/main/resources/assets/bygonenether/models/item/gilded_netherite_boots.json delete mode 100644 src/main/resources/assets/bygonenether/models/item/gilded_netherite_chestplate.json delete mode 100644 src/main/resources/assets/bygonenether/models/item/gilded_netherite_helmet.json delete mode 100644 src/main/resources/assets/bygonenether/models/item/gilded_netherite_leggings.json delete mode 100644 src/main/resources/assets/bygonenether/textures/item/gilded_netherite_boots.png delete mode 100644 src/main/resources/assets/bygonenether/textures/item/gilded_netherite_chestplate.png delete mode 100644 src/main/resources/assets/bygonenether/textures/item/gilded_netherite_helmet.png delete mode 100644 src/main/resources/assets/bygonenether/textures/item/gilded_netherite_leggings.png create mode 100644 src/main/resources/assets/minecraft/atlases/blocks.json delete mode 100644 src/main/resources/assets/minecraft/textures/models/armor/gilded_netherite_layer_1.png delete mode 100644 src/main/resources/assets/minecraft/textures/models/armor/gilded_netherite_layer_2.png delete mode 100644 src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_boots_smithing.json delete mode 100644 src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_chestplate_smithing.json delete mode 100644 src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_helmet_smithing.json delete mode 100644 src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_leggings_smithing.json diff --git a/build.gradle b/build.gradle index 0b54d40..876f95c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.0-SNAPSHOT' + id 'fabric-loom' version '1.3-SNAPSHOT' id 'maven-publish' } @@ -48,7 +48,7 @@ java { jar { from("LICENSE") { - rename { "${it}_${project.archivesBaseName}"} + rename { "${it}_${project.base.archivesName.get()}"} } } diff --git a/gradle.properties b/gradle.properties index 4733c8f..add0f11 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,15 +3,15 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # Check these on https://fabricmc.net/develop - minecraft_version=1.19.2 - parchment_mappings = 1.19.2:2022.11.27 + minecraft_version=1.20.1 + parchment_mappings = 1.20.1:2023.09.03 loader_version=0.14.12 # Mod Properties mod_version = 1.3.2 maven_group = com.izofar - archives_base_name = bygonenether-1.19 + archives_base_name = bygonenether-1.20 # Dependencies - fabric_version=0.72.0+1.19.2 - modmenu_version = 4.1.2 + fabric_version=0.85.0+1.20.1 + modmenu_version = 7.2.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661..62f495d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 1b6c787..f7caa15 100644 --- a/gradlew +++ b/gradlew @@ -133,10 +133,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. diff --git a/src/main/java/com/izofar/bygonenether/BygoneNetherMod.java b/src/main/java/com/izofar/bygonenether/BygoneNetherMod.java index 2b06cdd..08dc591 100644 --- a/src/main/java/com/izofar/bygonenether/BygoneNetherMod.java +++ b/src/main/java/com/izofar/bygonenether/BygoneNetherMod.java @@ -16,6 +16,7 @@ public class BygoneNetherMod implements ModInitializer { public void onInitialize() { ModItems.registerItems(); ModBlocks.registerBlocks(); + ModCreativeModeTabs.registerCreativeModeTabs(); ModEntityTypes.registerEntityTypes(); ModStructures.registerStructures(); ModSensorTypes.registerSensorTypes(); diff --git a/src/main/java/com/izofar/bygonenether/block/NetheriteBellBlock.java b/src/main/java/com/izofar/bygonenether/block/NetheriteBellBlock.java index 99204f5..a44c856 100644 --- a/src/main/java/com/izofar/bygonenether/block/NetheriteBellBlock.java +++ b/src/main/java/com/izofar/bygonenether/block/NetheriteBellBlock.java @@ -230,11 +230,6 @@ private static Direction getConnectedDirection(BlockState state) { }; } - @Override - public PushReaction getPistonPushReaction(BlockState state) { - return PushReaction.DESTROY; - } - @Nullable @Override public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { diff --git a/src/main/java/com/izofar/bygonenether/client/model/WexModel.java b/src/main/java/com/izofar/bygonenether/client/model/WexModel.java index c8313cf..de12921 100644 --- a/src/main/java/com/izofar/bygonenether/client/model/WexModel.java +++ b/src/main/java/com/izofar/bygonenether/client/model/WexModel.java @@ -7,6 +7,8 @@ import net.fabricmc.api.Environment; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.model.geom.PartPose; +import net.minecraft.client.model.geom.builders.*; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; @@ -24,6 +26,15 @@ public WexModel(ModelPart part) { this.leftWing = part.getChild("left_wing"); } + public static LayerDefinition createBodyLayer() { + MeshDefinition meshDefinition = HumanoidModel.createMesh(CubeDeformation.NONE, 0.0F); + PartDefinition partDefinition = meshDefinition.getRoot(); + partDefinition.addOrReplaceChild("right_leg", CubeListBuilder.create().texOffs(32, 0).addBox(-1.0F, -1.0F, -2.0F, 6.0F, 10.0F, 4.0F), PartPose.offset(-1.9F, 12.0F, 0.0F)); + partDefinition.addOrReplaceChild("right_wing", CubeListBuilder.create().texOffs(0, 32).addBox(-20.0F, 0.0F, 0.0F, 20.0F, 12.0F, 1.0F), PartPose.ZERO); + partDefinition.addOrReplaceChild("left_wing", CubeListBuilder.create().texOffs(0, 32).mirror().addBox(0.0F, 0.0F, 0.0F, 20.0F, 12.0F, 1.0F), PartPose.ZERO); + return LayerDefinition.create(meshDefinition, 64, 64); + } + @Override protected Iterable bodyParts() { return Iterables.concat(super.bodyParts(), ImmutableList.of(this.rightWing, this.leftWing)); diff --git a/src/main/java/com/izofar/bygonenether/client/renderer/ModShieldRenderer.java b/src/main/java/com/izofar/bygonenether/client/renderer/ModShieldRenderer.java index 7b40443..86d1982 100644 --- a/src/main/java/com/izofar/bygonenether/client/renderer/ModShieldRenderer.java +++ b/src/main/java/com/izofar/bygonenether/client/renderer/ModShieldRenderer.java @@ -11,7 +11,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; -import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback; import net.minecraft.client.model.ShieldModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BannerRenderer; @@ -50,11 +49,6 @@ public static void stitchTextureModelLayer() { return InteractionResult.PASS; }); - ClientSpriteRegistryCallback.event(TextureAtlas.LOCATION_BLOCKS).register((atlasTexture, registry) -> { - registry.register(GILDED_NETHERITE_SHIELD_BASE_LOCATION); - registry.register(GILDED_NETHERITE_SHIELD_BASE_NOPATTERN_LOCATION); - }); - BuiltinItemRendererRegistry.INSTANCE.register(ModItems.GILDED_NETHERITE_SHIELD, (stack, transformType, poseStack, buffer, packedLight, packedOverlay) -> renderByItem(stack, poseStack, buffer, packedLight, packedOverlay)); } diff --git a/src/main/java/com/izofar/bygonenether/client/renderer/PiglinHunterRenderer.java b/src/main/java/com/izofar/bygonenether/client/renderer/PiglinHunterRenderer.java index 3ed48b3..62a4315 100644 --- a/src/main/java/com/izofar/bygonenether/client/renderer/PiglinHunterRenderer.java +++ b/src/main/java/com/izofar/bygonenether/client/renderer/PiglinHunterRenderer.java @@ -5,6 +5,7 @@ import com.izofar.bygonenether.entity.PiglinHunter; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.model.HumanoidArmorModel; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.entity.EntityRendererProvider; @@ -19,7 +20,7 @@ public class PiglinHunterRenderer extends HumanoidMobRenderer(context.bakeLayer(ModelLayers.PIGLIN_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PIGLIN_OUTER_ARMOR)))); + this.addLayer(new HumanoidArmorLayer(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PIGLIN_INNER_ARMOR)), new HumanoidArmorModel<>(context.bakeLayer(ModelLayers.PIGLIN_OUTER_ARMOR)), context.getModelManager())); } @Override diff --git a/src/main/java/com/izofar/bygonenether/client/renderer/WexRenderer.java b/src/main/java/com/izofar/bygonenether/client/renderer/WexRenderer.java index 06a357b..f332093 100644 --- a/src/main/java/com/izofar/bygonenether/client/renderer/WexRenderer.java +++ b/src/main/java/com/izofar/bygonenether/client/renderer/WexRenderer.java @@ -6,7 +6,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.core.BlockPos; @@ -19,7 +18,7 @@ public class WexRenderer extends HumanoidMobRenderer { private static final ResourceLocation WEX_CHARGING_LOCATION = new ResourceLocation(BygoneNetherMod.MODID, "textures/entity/wex/wex_charging.png"); public WexRenderer(EntityRendererProvider.Context context) { - super(context, new WexModel(context.bakeLayer(ModelLayers.VEX)), 0.3F); + super(context, new WexModel(WexModel.createBodyLayer().bakeRoot()), 0.3F); } @Override diff --git a/src/main/java/com/izofar/bygonenether/client/renderer/layers/ModCarriedBlockLayer.java b/src/main/java/com/izofar/bygonenether/client/renderer/layers/ModCarriedBlockLayer.java index 11d3903..f395017 100644 --- a/src/main/java/com/izofar/bygonenether/client/renderer/layers/ModCarriedBlockLayer.java +++ b/src/main/java/com/izofar/bygonenether/client/renderer/layers/ModCarriedBlockLayer.java @@ -1,7 +1,7 @@ package com.izofar.bygonenether.client.renderer.layers; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @@ -26,11 +26,11 @@ public void render(PoseStack stack, MultiBufferSource buffer, int packedLight, T if (blockstate != null) { stack.pushPose(); stack.translate(0.0D, 0.6875D, -0.75D); - stack.mulPose(Vector3f.XP.rotationDegrees(20.0F)); - stack.mulPose(Vector3f.YP.rotationDegrees(45.0F)); + stack.mulPose(Axis.XP.rotationDegrees(20.0F)); + stack.mulPose(Axis.YP.rotationDegrees(45.0F)); stack.translate(0.25D, 0.1875D, 0.25D); stack.scale(-0.5F, -0.5F, 0.5F); - stack.mulPose(Vector3f.YP.rotationDegrees(90.0F)); + stack.mulPose(Axis.YP.rotationDegrees(90.0F)); Minecraft.getInstance().getBlockRenderer().renderSingleBlock(blockstate, stack, buffer, packedLight, OverlayTexture.NO_OVERLAY); stack.popPose(); } diff --git a/src/main/java/com/izofar/bygonenether/entity/PiglinHunter.java b/src/main/java/com/izofar/bygonenether/entity/PiglinHunter.java index 749da63..8493e34 100644 --- a/src/main/java/com/izofar/bygonenether/entity/PiglinHunter.java +++ b/src/main/java/com/izofar/bygonenether/entity/PiglinHunter.java @@ -11,6 +11,7 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.AttributeInstance; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -20,6 +21,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.item.ShieldItem; import net.minecraft.world.level.Level; import java.util.UUID; @@ -49,7 +51,7 @@ protected void registerGoals() { @Override public void tick() { super.tick(); - if (!this.level.isClientSide) { + if (!this.level().isClientSide) { this.decrementShieldCooldown(); } } @@ -87,13 +89,28 @@ public void knockback(double strength, double x, double z) { if (!this.isUsingShield()) { super.knockback(strength, x, z); } else { - this.playSound(SoundEvents.SHIELD_BLOCK, 1.0F, 0.8F + this.level.random.nextFloat() * 0.4F); + this.playSound(SoundEvents.SHIELD_BLOCK, 1.0F, 0.8F + this.level().random.nextFloat() * 0.4F); } } + @Override + protected void blockUsingShield(LivingEntity attacker) { + super.blockUsingShield(attacker); + if (IShieldedMob.canDisableShield(this.useItem)) { + this.disableShield(); + } + } + + private void disableShield() { + this.setShieldCooldown(60); + this.stopUsingShield(); + this.level().broadcastEntityEvent(this, (byte)30); + this.playSound(SoundEvents.SHIELD_BREAK, 0.8F, 0.8F + this.level().random.nextFloat() * 0.4F); + } + @Override public boolean isShieldDisabled() { - return false; + return this.getShieldCooldown() > 0; } @Override @@ -103,7 +120,7 @@ public void startUsingShield() { } for (InteractionHand interactionhand : InteractionHand.values()) { - if (this.getItemInHand(interactionhand).is(ModItems.GILDED_NETHERITE_SHIELD)) { + if (this.getItemInHand(interactionhand).getItem() instanceof ShieldItem) { this.startUsingItem(interactionhand); this.setUsingShield(true); this.setShieldMainhand(interactionhand == InteractionHand.MAIN_HAND); @@ -122,7 +139,7 @@ public void stopUsingShield() { } for (InteractionHand interactionhand : InteractionHand.values()) { - if (this.getItemInHand(interactionhand).is(ModItems.GILDED_NETHERITE_SHIELD)) { + if (this.getItemInHand(interactionhand).getItem() instanceof ShieldItem) { this.stopUsingItem(); this.setUsingShield(false); AttributeInstance attributeinstance = this.getAttribute(Attributes.MOVEMENT_SPEED); diff --git a/src/main/java/com/izofar/bygonenether/entity/PiglinPrisoner.java b/src/main/java/com/izofar/bygonenether/entity/PiglinPrisoner.java index 70c1780..267ce68 100644 --- a/src/main/java/com/izofar/bygonenether/entity/PiglinPrisoner.java +++ b/src/main/java/com/izofar/bygonenether/entity/PiglinPrisoner.java @@ -121,7 +121,7 @@ public PiglinPrisoner(EntityType entitytype, Level wor @Override public void tick () { super.tick(); - if (this.level.isClientSide && !this.hasTempter && this.getTempter() != null) { + if (this.level().isClientSide && !this.hasTempter && this.getTempter() != null) { this.hasTempter = true; this.spawnHeartParticles(); } @@ -155,9 +155,9 @@ public void readAdditionalSaveData(CompoundTag tag) { @Override protected void customServerAiStep() { - this.level.getProfiler().push("piglinBrain"); - this.getBrain().tick((ServerLevel)this.level, this); - this.level.getProfiler().pop(); + this.level().getProfiler().push("piglinBrain"); + this.getBrain().tick((ServerLevel)this.level(), this); + this.level().getProfiler().pop(); PiglinPrisonerAi.updateActivity(this); if (this.isBeingRescued) { this.timeBeingRescued ++; @@ -233,7 +233,7 @@ public InteractionResult mobInteract(Player player, InteractionHand hand) { InteractionResult interactionresult = super.mobInteract(player, hand); if (interactionresult.consumesAction()) { return interactionresult; - } else if (!this.level.isClientSide) { + } else if (!this.level().isClientSide) { return PiglinPrisonerAi.mobInteract(this, player, hand); } else { boolean flag = PiglinPrisonerAi.canAdmire(this, player.getItemInHand(hand)) && this.getArmPose() != PiglinArmPose.ADMIRING_ITEM; @@ -330,7 +330,7 @@ public PiglinArmPose getArmPose() { @Override public boolean hurt(DamageSource source, float amount) { boolean flag = super.hurt(source, amount); - if (this.level.isClientSide) { + if (this.level().isClientSide) { return false; } else { if (flag && source.getEntity() instanceof LivingEntity) { @@ -355,7 +355,7 @@ public void holdInOffHand(ItemStack stack) { @Override public boolean wantsToPickUp(ItemStack itemstack) { - return level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && this.canPickUpLoot() && PiglinPrisonerAi.wantsToPickup(this, itemstack); + return level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && this.canPickUpLoot() && PiglinPrisonerAi.wantsToPickup(this, itemstack); } public boolean canReplaceCurrentItem(ItemStack replacementStack) { @@ -389,7 +389,7 @@ protected void pickUpItem(ItemEntity itemEntity) { @Override protected SoundEvent getAmbientSound() { - return this.level.isClientSide ? null : PiglinPrisonerAi.getSoundForCurrentActivity(this).orElse(null); + return this.level().isClientSide ? null : PiglinPrisonerAi.getSoundForCurrentActivity(this).orElse(null); } @Override @@ -420,7 +420,7 @@ protected void playConvertedSound() { public Player getTempter() { try { UUID uuid = this.getTempterUUID(); - return uuid == null ? null : this.level.getPlayerByUUID(uuid); + return uuid == null ? null : this.level().getPlayerByUUID(uuid); } catch (IllegalArgumentException illegalargumentexception) { return null; } @@ -441,7 +441,7 @@ public void spawnHeartParticles() { double d0 = this.random.nextGaussian() * 0.02D; double d1 = this.random.nextGaussian() * 0.02D; double d2 = this.random.nextGaussian() * 0.02D; - this.level.addParticle(ParticleTypes.HEART, this.getRandomX(1.0D), this.getRandomY() + 1.0D, this.getRandomZ(1.0D), d0, d1, d2); + this.level().addParticle(ParticleTypes.HEART, this.getRandomX(1.0D), this.getRandomY() + 1.0D, this.getRandomZ(1.0D), d0, d1, d2); } } diff --git a/src/main/java/com/izofar/bygonenether/entity/ThrownWarpedEnderpearl.java b/src/main/java/com/izofar/bygonenether/entity/ThrownWarpedEnderpearl.java index 8e4e6eb..9031c0a 100644 --- a/src/main/java/com/izofar/bygonenether/entity/ThrownWarpedEnderpearl.java +++ b/src/main/java/com/izofar/bygonenether/entity/ThrownWarpedEnderpearl.java @@ -40,7 +40,7 @@ protected Item getDefaultItem() { @Override protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); - result.getEntity().hurt(DamageSource.thrown(this, this.getOwner()), 0.0F); + result.getEntity().hurt(this.damageSources().thrown(this, this.getOwner()), 0.0F); } @Override @@ -48,17 +48,17 @@ protected void onHit(HitResult result) { super.onHit(result); for (int i = 0; i < 32; ++i) { - this.level.addParticle(ParticleTypes.PORTAL, this.getX(), this.getY() + this.random.nextDouble() * 2.0D, this.getZ(), this.random.nextGaussian(), 0.0D, this.random.nextGaussian()); + this.level().addParticle(ParticleTypes.PORTAL, this.getX(), this.getY() + this.random.nextDouble() * 2.0D, this.getZ(), this.random.nextGaussian(), 0.0D, this.random.nextGaussian()); } - if (!this.level.isClientSide && !this.isRemoved()) { + if (!this.level().isClientSide && !this.isRemoved()) { Entity entity = this.getOwner(); if (entity instanceof ServerPlayer serverplayer) { - if (serverplayer.connection.getConnection().isConnected() && serverplayer.level == this.level && !serverplayer.isSleeping()) { - if (this.random.nextFloat() < 0.05F && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) { - Endermite endermite = EntityType.ENDERMITE.create(this.level); + if (serverplayer.connection.isAcceptingMessages() && serverplayer.level() == this.level() && !serverplayer.isSleeping()) { + if (this.random.nextFloat() < 0.05F && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) { + Endermite endermite = EntityType.ENDERMITE.create(this.level()); endermite.moveTo(entity.getX(), entity.getY(), entity.getZ(), entity.getYRot(), entity.getXRot()); - this.level.addFreshEntity(endermite); + this.level().addFreshEntity(endermite); } if (entity.isPassenger()) { @@ -68,11 +68,11 @@ protected void onHit(HitResult result) { entity.teleportTo(this.getX(), this.getY(), this.getZ()); entity.resetFallDistance(); - if (this.getLevel().getBlockState(this.blockPosition()).is(Blocks.WATER)) { + if (this.level().getBlockState(this.blockPosition()).is(Blocks.WATER)) { serverplayer.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 300)); - } else if (entity.isInLava() || this.getLevel().getBlockState(this.blockPosition()).is(Blocks.LAVA)) { + } else if (entity.isInLava() || this.level().getBlockState(this.blockPosition()).is(Blocks.LAVA)) { serverplayer.addEffect(new MobEffectInstance(MobEffects.FIRE_RESISTANCE, 900)); - } else if (!this.isOnGround()) { + } else if (!this.onGround()) { serverplayer.addEffect(new MobEffectInstance(MobEffects.SLOW_FALLING, 160)); serverplayer.addEffect(new MobEffectInstance(MobEffects.ABSORPTION, 300, 1)); } @@ -103,7 +103,7 @@ public void tick() { @Override public Entity changeDimension(ServerLevel serverlevel) { Entity entity = this.getOwner(); - if (entity != null && entity.level.dimension() != serverlevel.dimension()) { + if (entity != null && entity.level().dimension() != serverlevel.dimension()) { this.setOwner(null); } return super.changeDimension(serverlevel); diff --git a/src/main/java/com/izofar/bygonenether/entity/WarpedEnderMan.java b/src/main/java/com/izofar/bygonenether/entity/WarpedEnderMan.java index 83180ca..16286f2 100644 --- a/src/main/java/com/izofar/bygonenether/entity/WarpedEnderMan.java +++ b/src/main/java/com/izofar/bygonenether/entity/WarpedEnderMan.java @@ -82,7 +82,7 @@ public static AttributeSupplier.Builder createAttributes() { @Override public void tick() { super.tick(); - if (!this.level.isClientSide) { + if (!this.level().isClientSide) { if (shearCooldownCounter > 0) { shearCooldownCounter--; } else if (shearCooldownCounter < 0) { @@ -102,7 +102,7 @@ public void playSound(SoundEvent event, float volume, float pitch) { } private void playShearSound(EnderMan enderman) { - this.level.playSound(null, enderman, SoundEvents.SHEEP_SHEAR, SoundSource.PLAYERS, 1.0F, 1.0F); + this.level().playSound(null, enderman, SoundEvents.SHEEP_SHEAR, SoundSource.PLAYERS, 1.0F, 1.0F); } @Override @@ -138,7 +138,7 @@ public void setVariant(WarpedEnderManVariant variant) { public InteractionResult mobInteract(Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); if (stack.is(Items.SHEARS)) { - if (this.isReadyForShearing() && !this.level.isClientSide) { + if (this.isReadyForShearing() && !this.level().isClientSide) { boolean flag = this.toConvertToEnderman; this.shearWarp(); this.gameEvent(GameEvent.SHEAR, player); diff --git a/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonHorse.java b/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonHorse.java index c42bff9..1ddb923 100644 --- a/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonHorse.java +++ b/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonHorse.java @@ -64,7 +64,7 @@ public boolean canStandOnFluid(FluidState fluid) { @Override protected void playStepSound(BlockPos blockPos, BlockState blockState) { - if (blockState.getMaterial().isLiquid()) { + if (blockState.liquid()) { SoundType soundtype = blockState.getSoundType(); if (this.isVehicle() && this.canGallop) { ++this.gallopSoundCounter; @@ -80,8 +80,8 @@ protected void playStepSound(BlockPos blockPos, BlockState blockState) { private void floatHorse() { if (this.isInLava()) { CollisionContext collisioncontext = CollisionContext.of(this); - if (collisioncontext.isAbove(LiquidBlock.STABLE_SHAPE, this.blockPosition(), true) && !this.level.getFluidState(this.blockPosition().above()).is(FluidTags.LAVA)) { - this.onGround = true; + if (collisioncontext.isAbove(LiquidBlock.STABLE_SHAPE, this.blockPosition(), true) && !this.level().getFluidState(this.blockPosition().above()).is(FluidTags.LAVA)) { + this.setOnGround(true); } else { this.setDeltaMovement(this.getDeltaMovement().scale(0.5D).add(0.0D, 0.05D, 0.0D)); } diff --git a/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonKnight.java b/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonKnight.java index d99b2b9..5334c69 100644 --- a/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonKnight.java +++ b/src/main/java/com/izofar/bygonenether/entity/WitherSkeletonKnight.java @@ -22,6 +22,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.item.ShieldItem; import net.minecraft.world.level.Level; import java.util.UUID; @@ -51,7 +52,7 @@ protected void registerGoals() { @Override public void tick() { super.tick(); - if (!this.level.isClientSide) { + if (!this.level().isClientSide) { this.decrementShieldCooldown(); } } @@ -104,7 +105,7 @@ public boolean hurt(DamageSource source, float damage) { boolean result = super.hurt(source, damage); if (!this.isDisarmored() && this.getHealth() < BREAK_HEALTH) { this.setDisarmored(true); - this.playSound(SoundEvents.SHIELD_BREAK, 1.2F, 0.8F + this.level.random.nextFloat() * 0.4F); + this.playSound(SoundEvents.SHIELD_BREAK, 1.2F, 0.8F + this.level().random.nextFloat() * 0.4F); this.setSpeed(0.25f); } return result; @@ -115,7 +116,7 @@ public void knockback(double strength, double x, double z) { if (!this.isUsingShield()) { super.knockback(strength, x, z); } else { - this.playSound(SoundEvents.SHIELD_BLOCK, 1.0F, 0.8F + this.level.random.nextFloat() * 0.4F); + this.playSound(SoundEvents.SHIELD_BLOCK, 1.0F, 0.8F + this.level().random.nextFloat() * 0.4F); } } @@ -130,8 +131,8 @@ protected void blockUsingShield(LivingEntity attacker) { private void disableShield() { this.setShieldCooldown(60); this.stopUsingShield(); - this.level.broadcastEntityEvent(this, (byte)30); - this.playSound(SoundEvents.SHIELD_BREAK, 0.8F, 0.8F + this.level.random.nextFloat() * 0.4F); + this.level().broadcastEntityEvent(this, (byte)30); + this.playSound(SoundEvents.SHIELD_BREAK, 0.8F, 0.8F + this.level().random.nextFloat() * 0.4F); } @Override @@ -146,7 +147,7 @@ public void startUsingShield() { } for (InteractionHand interactionhand : InteractionHand.values()) { - if (this.getItemInHand(interactionhand).is(Items.SHIELD)) { + if (this.getItemInHand(interactionhand).getItem() instanceof ShieldItem) { this.startUsingItem(interactionhand); this.setUsingShield(true); this.setShieldMainhand(interactionhand == InteractionHand.MAIN_HAND); @@ -165,7 +166,7 @@ public void stopUsingShield() { } for (InteractionHand interactionhand : InteractionHand.values()) { - if (this.getItemInHand(interactionhand).is(Items.SHIELD)) { + if (this.getItemInHand(interactionhand).getItem() instanceof ShieldItem) { this.stopUsingItem(); this.setUsingShield(false); AttributeInstance attributeinstance = this.getAttribute(Attributes.MOVEMENT_SPEED); diff --git a/src/main/java/com/izofar/bygonenether/entity/Wraither.java b/src/main/java/com/izofar/bygonenether/entity/Wraither.java index 922640d..d36a0e1 100644 --- a/src/main/java/com/izofar/bygonenether/entity/Wraither.java +++ b/src/main/java/com/izofar/bygonenether/entity/Wraither.java @@ -65,7 +65,7 @@ public boolean hurt(DamageSource source, float amount) { private void dispossess() { this.setPossessed(false); this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.25D); - if (this.getLevel() instanceof ServerLevel serverLevel) { + if (this.level() instanceof ServerLevel serverLevel) { Wex wex = ModEntityTypes.WEX.create(serverLevel); wex.moveTo(this.blockPosition().above(), this.yBodyRot, this.xRotO); wex.finalizeSpawn(serverLevel, serverLevel.getCurrentDifficultyAt(this.blockPosition()), MobSpawnType.CONVERSION, null, null); diff --git a/src/main/java/com/izofar/bygonenether/entity/ai/ModPiglinBruteAi.java b/src/main/java/com/izofar/bygonenether/entity/ai/ModPiglinBruteAi.java index d4d345f..039a340 100644 --- a/src/main/java/com/izofar/bygonenether/entity/ai/ModPiglinBruteAi.java +++ b/src/main/java/com/izofar/bygonenether/entity/ai/ModPiglinBruteAi.java @@ -1,13 +1,15 @@ package com.izofar.bygonenether.entity.ai; -import com.izofar.bygonenether.item.ModArmorMaterial; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.monster.piglin.PiglinBrute; import net.minecraft.world.entity.monster.piglin.PiglinBruteAi; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterials; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.armortrim.ArmorTrim; +import net.minecraft.world.item.armortrim.TrimMaterials; import java.util.Optional; @@ -20,14 +22,19 @@ public static void setAngerTargetToNearestTargetablePlayerIfFound(PiglinBrute pi public static boolean isWearingGild(LivingEntity entity) { for (ItemStack itemstack : entity.getArmorSlots()) { - if (makesPiglinBrutesNeutral(itemstack)) { + if (makesPiglinBrutesNeutral(entity, itemstack)) { return true; } } return false; } - private static boolean makesPiglinBrutesNeutral(ItemStack stack) { - return stack.getItem() instanceof ArmorItem armorItem && armorItem.getMaterial() instanceof ModArmorMaterial; + private static boolean makesPiglinBrutesNeutral(LivingEntity entity, ItemStack stack) { + return stack.getItem() instanceof ArmorItem armorItem && armorItem.getMaterial() == ArmorMaterials.NETHERITE && armorIsGoldTrim(entity, stack); + } + + public static boolean armorIsGoldTrim(LivingEntity entity, ItemStack stack) { + Optional armorTrim = ArmorTrim.getTrim(entity.level().registryAccess(), stack); + return armorTrim.isPresent() && armorTrim.get().material().is(TrimMaterials.GOLD); } } diff --git a/src/main/java/com/izofar/bygonenether/entity/ai/PiglinPrisonerAi.java b/src/main/java/com/izofar/bygonenether/entity/ai/PiglinPrisonerAi.java index 7f7effa..0bb9e4f 100644 --- a/src/main/java/com/izofar/bygonenether/entity/ai/PiglinPrisonerAi.java +++ b/src/main/java/com/izofar/bygonenether/entity/ai/PiglinPrisonerAi.java @@ -22,6 +22,7 @@ import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.Brain; import net.minecraft.world.entity.ai.behavior.*; +import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.ai.sensing.Sensor; import net.minecraft.world.entity.ai.util.LandRandomPos; @@ -77,11 +78,11 @@ private static void initCoreActivity(Brain brain) { new ModFollowLeader(isDistracted), new LookAtTargetSink(45, 90), new MoveToTargetSink(), - new InteractWithDoor(), + InteractWithDoor.create(), avoidZombified(), new ModStopHoldingItemIfNoLongerAdmiring<>(), new ModStartAdmiringItemIfSeen<>(120), - new StopBeingAngryIfTargetDead<>() + StopBeingAngryIfTargetDead.create() ) ); @@ -90,26 +91,25 @@ private static void initCoreActivity(Brain brain) { private static void initIdleActivity(Brain brain) { brain.addActivity(Activity.IDLE, 10, ImmutableList.of( - new SetEntityLookTarget(PiglinPrisonerAi::isPlayerHoldingLovedItem, 14.0F), - new StartAttacking<>(AbstractPiglin::isAdult, PiglinPrisonerAi::findNearestValidAttackTarget), + SetEntityLookTarget.create(PiglinPrisonerAi::isPlayerHoldingLovedItem, 14.0F), + StartAttacking.create(AbstractPiglin::isAdult, PiglinPrisonerAi::findNearestValidAttackTarget), avoidRepellent(), createIdleLookBehaviors(), createIdleMovementBehaviors(), - new SetLookAndInteract(EntityType.PLAYER, 4) + SetLookAndInteract.create(EntityType.PLAYER, 4) ) ); } private static void initFightActivity(PiglinPrisoner piglinPrisoner, Brain brain) { brain.addActivityAndRemoveMemoryWhenStopped(Activity.FIGHT, 10, - ImmutableList.>of( - new StopAttackingIfTargetInvalid<>((target) -> !isNearestValidAttackTarget(piglinPrisoner, target)), - new RunIf<>(PiglinPrisonerAi::hasCrossbow, new BackUpIfTooClose<>(5, 0.75F)), - new SetWalkTargetFromAttackTargetIfTargetOutOfReach(1.0F), - new MeleeAttack(20), + ImmutableList.>of( + StopAttackingIfTargetInvalid.create((target) -> !isNearestValidAttackTarget(piglinPrisoner, target)), + BehaviorBuilder.triggerIf(PiglinPrisonerAi::hasCrossbow, BackUpIfTooClose.create(5, 0.75F)), + SetWalkTargetFromAttackTargetIfTargetOutOfReach.create(1.0F), + MeleeAttack.create(20), new CrossbowAttack(), - new RememberIfHoglinWasKilled(), - new EraseMemoryIf<>(PiglinPrisonerAi::isNearZombified, MemoryModuleType.ATTACK_TARGET) + EraseMemoryIf.create(PiglinPrisonerAi::isNearZombified, MemoryModuleType.ATTACK_TARGET) ), MemoryModuleType.ATTACK_TARGET); } @@ -117,13 +117,13 @@ private static void initFightActivity(PiglinPrisoner piglinPrisoner, Brain brain) { brain.addActivityAndRemoveMemoryWhenStopped(Activity.CELEBRATE, 10, ImmutableList.of( avoidRepellent(), - new SetEntityLookTarget(PiglinPrisonerAi::isPlayerHoldingLovedItem, 14.0F), - new StartAttacking<>(AbstractPiglin::isAdult, PiglinPrisonerAi::findNearestValidAttackTarget), - new RunIf<>(PiglinPrisoner::isDancing, new GoToTargetLocation<>(MemoryModuleType.CELEBRATE_LOCATION, 2, 1.0F)), - new RunIf<>(PiglinPrisoner::isDancing, new GoToTargetLocation<>(MemoryModuleType.CELEBRATE_LOCATION, 4, 0.6F)), + SetEntityLookTarget.create(PiglinPrisonerAi::isPlayerHoldingLovedItem, 14.0F), + StartAttacking.create(AbstractPiglin::isAdult, PiglinPrisonerAi::findNearestValidAttackTarget), + BehaviorBuilder.triggerIf(PiglinPrisoner::isDancing, GoToTargetLocation.create(MemoryModuleType.CELEBRATE_LOCATION, 2, 1.0F)), + BehaviorBuilder.triggerIf(PiglinPrisoner::isDancing, GoToTargetLocation.create(MemoryModuleType.CELEBRATE_LOCATION, 4, 0.6F)), new RunOne<>(ImmutableList.of( - Pair.of(new SetEntityLookTarget(ModEntityTypes.PIGLIN_PRISONER, 8.0F), 1), - Pair.of(new RandomStroll(0.6F, 2, 1), 1), + Pair.of(SetEntityLookTarget.create(ModEntityTypes.PIGLIN_PRISONER, 8.0F), 1), + Pair.of(RandomStroll.stroll(0.6F, 2, 1), 1), Pair.of(new DoNothing(10, 20), 1))) ), MemoryModuleType.CELEBRATE_LOCATION); @@ -132,7 +132,7 @@ private static void initCelebrateActivity(Brain brain) { private static void initAdmireItemActivity(Brain brain) { brain.addActivityAndRemoveMemoryWhenStopped(Activity.ADMIRE_ITEM, 10, ImmutableList.of( - new GoToWantedItem<>(PiglinPrisonerAi::isNotHoldingLovedItemInOffHand, 1.0F, true, 9), + GoToWantedItem.create(PiglinPrisonerAi::isNotHoldingLovedItemInOffHand, 1.0F, true, 9), new ModStopAdmiringIfItemTooFarAway<>(9), new ModStopAdmiringIfTiredOfTryingToReachItem<>(200, 200) ), @@ -142,10 +142,10 @@ private static void initAdmireItemActivity(Brain brain) { private static RunOne createIdleLookBehaviors() { return new RunOne<>( ImmutableList.of( - Pair.of(new SetEntityLookTarget(EntityType.PLAYER, 8.0F), 1), - Pair.of(new SetEntityLookTarget(EntityType.PIGLIN, 8.0F), 1), - Pair.of(new SetEntityLookTarget(ModEntityTypes.PIGLIN_PRISONER, 8.0F), 1), - Pair.of(new SetEntityLookTarget(8.0F), 1), + Pair.of(SetEntityLookTarget.create(EntityType.PLAYER, 8.0F), 1), + Pair.of(SetEntityLookTarget.create(EntityType.PIGLIN, 8.0F), 1), + Pair.of(SetEntityLookTarget.create(ModEntityTypes.PIGLIN_PRISONER, 8.0F), 1), + Pair.of(SetEntityLookTarget.create(8.0F), 1), Pair.of(new DoNothing(30, 60), 1) ) ); @@ -154,7 +154,7 @@ private static RunOne createIdleLookBehaviors() { private static RunOne createIdleMovementBehaviors() { return new RunOne<>( ImmutableList.of( - Pair.of(new RandomStroll(0.6F), 2), + Pair.of(RandomStroll.stroll(0.6F), 2), Pair.of(InteractWith.of(EntityType.PIGLIN, 8, MemoryModuleType.INTERACTION_TARGET, 0.6F, 2), 2), Pair.of(InteractWith.of(ModEntityTypes.PIGLIN_PRISONER, 8, MemoryModuleType.INTERACTION_TARGET, 0.6F, 2), 2), Pair.of(new DoNothing(30, 60), 1) @@ -162,12 +162,12 @@ private static RunOne createIdleMovementBehaviors() { ); } - private static SetWalkTargetAwayFrom avoidRepellent() { + private static BehaviorControl avoidRepellent() { return SetWalkTargetAwayFrom.pos(MemoryModuleType.NEAREST_REPELLENT, 1.0F, 8, false); } - private static CopyMemoryWithExpiry avoidZombified() { - return new CopyMemoryWithExpiry<>( + private static BehaviorControl avoidZombified() { + return CopyMemoryWithExpiry.create( PiglinPrisonerAi::isNearZombified, MemoryModuleType.NEAREST_VISIBLE_ZOMBIFIED, MemoryModuleType.AVOID_TARGET, @@ -222,7 +222,7 @@ public static void pickUpItem(PiglinPrisoner piglinPrisoner, ItemEntity itemEnti admireGoldItem(piglinPrisoner); } else if (isFood(itemstack) && !hasEatenRecently(piglinPrisoner)) { eat(piglinPrisoner); - } else if (!piglinPrisoner.equipItemIfPossible(itemstack)) { + } else if (piglinPrisoner.equipItemIfPossible(itemstack).isEmpty()) { putInInventory(piglinPrisoner, itemstack); } } @@ -252,7 +252,7 @@ public static void stopHoldingOffHandItem(PiglinPrisoner piglinPrisoner, boolean if (shouldThrowItems && flag) { putInInventory(piglinPrisoner, itemstack); } else if (!flag) { - boolean flag1 = piglinPrisoner.equipItemIfPossible(itemstack); + boolean flag1 = !piglinPrisoner.equipItemIfPossible(itemstack).isEmpty(); if (!flag1) { throwItems(piglinPrisoner, Collections.singletonList(itemstack)); } @@ -459,7 +459,7 @@ private static boolean isNearRepellent(PiglinPrisoner piglinPrisoner) { } public static void exciteNearbyPiglins(Player player, boolean requireVisibility) { - List list = player.level.getEntitiesOfClass(PiglinPrisoner.class, player.getBoundingBox().inflate(16.0D)); + List list = player.level().getEntitiesOfClass(PiglinPrisoner.class, player.getBoundingBox().inflate(16.0D)); list.stream().filter(PiglinAi::isIdle).filter((piglin) -> !requireVisibility || BehaviorUtils.canSee(piglin, player)).forEach(PiglinPrisonerAi::startDancing); } diff --git a/src/main/java/com/izofar/bygonenether/entity/ai/goal/ShieldGoal.java b/src/main/java/com/izofar/bygonenether/entity/ai/goal/ShieldGoal.java index e84e4fa..4c3d886 100644 --- a/src/main/java/com/izofar/bygonenether/entity/ai/goal/ShieldGoal.java +++ b/src/main/java/com/izofar/bygonenether/entity/ai/goal/ShieldGoal.java @@ -111,9 +111,9 @@ protected AABB getTargetSearchArea(double radius) { protected void findTarget() { LivingEntity potentialTarget; if (this.targetType != Player.class && this.targetType != ServerPlayer.class) { - potentialTarget = this.mob.level.getNearestEntity(this.mob.level.getEntitiesOfClass(this.targetType, this.getTargetSearchArea(this.getFollowDistance()), (p_148152_) -> true), this.targetConditions, this.mob, this.mob.getX(), this.mob.getEyeY(), this.mob.getZ()); + potentialTarget = this.mob.level().getNearestEntity(this.mob.level().getEntitiesOfClass(this.targetType, this.getTargetSearchArea(this.getFollowDistance()), (p_148152_) -> true), this.targetConditions, this.mob, this.mob.getX(), this.mob.getEyeY(), this.mob.getZ()); } else { - potentialTarget = this.mob.level.getNearestPlayer(this.targetConditions, this.mob, this.mob.getX(), this.mob.getEyeY(), this.mob.getZ()); + potentialTarget = this.mob.level().getNearestPlayer(this.targetConditions, this.mob, this.mob.getX(), this.mob.getEyeY(), this.mob.getZ()); } this.target = targetDrawnBow(potentialTarget) ? potentialTarget : null; } diff --git a/src/main/java/com/izofar/bygonenether/init/ModBlocks.java b/src/main/java/com/izofar/bygonenether/init/ModBlocks.java index cb27753..2e1bbd9 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModBlocks.java +++ b/src/main/java/com/izofar/bygonenether/init/ModBlocks.java @@ -4,17 +4,18 @@ import com.izofar.bygonenether.block.NetheriteBellBlock; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; +import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.material.PushReaction; public class ModBlocks { - public static final Block COBBLED_BLACKSTONE = new Block(FabricBlockSettings.of(Material.STONE).requiresCorrectToolForDrops().strength(2.0f, 6.0f)); + public static final Block COBBLED_BLACKSTONE = new Block(FabricBlockSettings.of().requiresCorrectToolForDrops().strength(2.0f, 6.0f)); - public static final Block WITHERED_BLACKSTONE = new Block(FabricBlockSettings.of(Material.STONE, MaterialColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(2.5F, 1200.0F).sound(SoundType.DEEPSLATE)); + public static final Block WITHERED_BLACKSTONE = new Block(FabricBlockSettings.of().mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(2.5F, 1200.0F).sound(SoundType.DEEPSLATE)); public static final Block WITHERED_BLACKSTONE_STAIRS = new StairBlock(WITHERED_BLACKSTONE.defaultBlockState(), FabricBlockSettings.copy(WITHERED_BLACKSTONE)); public static final Block WITHERED_BLACKSTONE_SLAB = new SlabBlock(FabricBlockSettings.copy(WITHERED_BLACKSTONE)); @@ -28,34 +29,34 @@ public class ModBlocks { public static final Block WITHERED_COAL_BLOCK = new Block(FabricBlockSettings.copy(Blocks.COAL_BLOCK)); public static final Block WITHERED_QUARTZ_BLOCK = new Block(FabricBlockSettings.copy(Blocks.QUARTZ_BLOCK)); - public static final Block WITHERED_DEBRIS = new Block(FabricBlockSettings.of(Material.METAL, MaterialColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(30.0F, 1200.0F).sound(SoundType.ANCIENT_DEBRIS)); - public static final Block SOUL_STONE = new Block(FabricBlockSettings.of(Material.STONE, MaterialColor.COLOR_BROWN).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); + public static final Block WITHERED_DEBRIS = new Block(FabricBlockSettings.of().mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(30.0F, 1200.0F).sound(SoundType.ANCIENT_DEBRIS)); + public static final Block SOUL_STONE = new Block(FabricBlockSettings.of().mapColor(MapColor.COLOR_BROWN).requiresCorrectToolForDrops().strength(1.5F, 6.0F)); - public static final Block WARPED_NETHER_BRICKS = new Block(FabricBlockSettings.of(Material.STONE, MaterialColor.NETHER).requiresCorrectToolForDrops().strength(2.0f, 6.0f).sound(SoundType.NETHER_BRICKS)); + public static final Block WARPED_NETHER_BRICKS = new Block(FabricBlockSettings.of().mapColor(MapColor.NETHER).requiresCorrectToolForDrops().strength(2.0f, 6.0f).sound(SoundType.NETHER_BRICKS)); public static final Block CHISELED_WARPED_NETHER_BRICKS = new Block(FabricBlockSettings.copy(WARPED_NETHER_BRICKS)); public static final Block WARPED_NETHER_BRICK_STAIRS = new StairBlock(WARPED_NETHER_BRICKS.defaultBlockState(), FabricBlockSettings.copy(WARPED_NETHER_BRICKS)); public static final Block WARPED_NETHER_BRICK_SLAB = new SlabBlock(FabricBlockSettings.copy(WARPED_NETHER_BRICKS)); - public static final Block NETHERITE_BELL = new NetheriteBellBlock(BlockBehaviour.Properties.of(Material.METAL).strength(50.0F, 1200.0F).sound(SoundType.ANVIL)); + public static final Block NETHERITE_BELL = new NetheriteBellBlock(BlockBehaviour.Properties.of().strength(50.0F, 1200.0F).sound(SoundType.ANVIL).pushReaction(PushReaction.DESTROY)); public static void registerBlocks() { - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cobbled_blackstone"), COBBLED_BLACKSTONE); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone"), WITHERED_BLACKSTONE); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_stairs"), WITHERED_BLACKSTONE_STAIRS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_slab"), WITHERED_BLACKSTONE_SLAB); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone"), CRACKED_WITHERED_BLACKSTONE); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_stairs"), CRACKED_WITHERED_BLACKSTONE_STAIRS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_slab"), CRACKED_WITHERED_BLACKSTONE_SLAB); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_withered_blackstone"), CHISELED_WITHERED_BLACKSTONE); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_basalt"), WITHERED_BASALT); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_coal_block"), WITHERED_COAL_BLOCK); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_quartz_block"), WITHERED_QUARTZ_BLOCK); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_debris"), WITHERED_DEBRIS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "soul_stone"), SOUL_STONE); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_bricks"), WARPED_NETHER_BRICKS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_warped_nether_bricks"), CHISELED_WARPED_NETHER_BRICKS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_stairs"), WARPED_NETHER_BRICK_STAIRS); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_slab"), WARPED_NETHER_BRICK_SLAB); - Registry.register(Registry.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "netherite_bell"), NETHERITE_BELL); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cobbled_blackstone"), COBBLED_BLACKSTONE); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone"), WITHERED_BLACKSTONE); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_stairs"), WITHERED_BLACKSTONE_STAIRS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_slab"), WITHERED_BLACKSTONE_SLAB); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone"), CRACKED_WITHERED_BLACKSTONE); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_stairs"), CRACKED_WITHERED_BLACKSTONE_STAIRS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_slab"), CRACKED_WITHERED_BLACKSTONE_SLAB); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_withered_blackstone"), CHISELED_WITHERED_BLACKSTONE); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_basalt"), WITHERED_BASALT); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_coal_block"), WITHERED_COAL_BLOCK); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_quartz_block"), WITHERED_QUARTZ_BLOCK); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "withered_debris"), WITHERED_DEBRIS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "soul_stone"), SOUL_STONE); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_bricks"), WARPED_NETHER_BRICKS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_warped_nether_bricks"), CHISELED_WARPED_NETHER_BRICKS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_stairs"), WARPED_NETHER_BRICK_STAIRS); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_slab"), WARPED_NETHER_BRICK_SLAB); + Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(BygoneNetherMod.MODID, "netherite_bell"), NETHERITE_BELL); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModCreativeModeTabs.java b/src/main/java/com/izofar/bygonenether/init/ModCreativeModeTabs.java index 3989912..0b4a4d1 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModCreativeModeTabs.java +++ b/src/main/java/com/izofar/bygonenether/init/ModCreativeModeTabs.java @@ -1,14 +1,26 @@ package com.izofar.bygonenether.init; import com.izofar.bygonenether.BygoneNetherMod; -import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; public class ModCreativeModeTabs { - public static final CreativeModeTab MOD_TAB = FabricItemGroupBuilder.build(new ResourceLocation(BygoneNetherMod.MODID, "bygonenethertab"), - () -> new ItemStack(ModItems.WITHERED_DEBRIS)); + public static final ResourceKey MOD_TAB = ResourceKey.create(Registries.CREATIVE_MODE_TAB, new ResourceLocation(BygoneNetherMod.MODID, "bygonenethertab")); + + private static final CreativeModeTab.Builder MOD_TAB_BUILDER = FabricItemGroup.builder() + .icon(() -> new ItemStack(ModItems.WITHERED_DEBRIS)) + .title(Component.translatable("itemGroup.bygonenether.bygonenethertab")); + + public static void registerCreativeModeTabs() { + Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, MOD_TAB, MOD_TAB_BUILDER.build()); + } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModEntityTypes.java b/src/main/java/com/izofar/bygonenether/init/ModEntityTypes.java index 8caca3d..6bc01e3 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModEntityTypes.java +++ b/src/main/java/com/izofar/bygonenether/init/ModEntityTypes.java @@ -8,6 +8,7 @@ import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; import net.minecraft.Util; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.datafix.fixes.References; import net.minecraft.world.entity.EntityDimensions; @@ -44,16 +45,16 @@ public static void registerEntityTypes() { FabricDefaultAttributeRegistry.register(WITHER_SKELETON_KNIGHT, WitherSkeletonKnight.createAttributes()); FabricDefaultAttributeRegistry.register(CORPOR, Corpor.createAttributes()); FabricDefaultAttributeRegistry.register(WITHER_SKELETON_HORSE, WitherSkeletonHorse.createAttributes()); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wex"), WEX); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "warped_enderman"), WARPED_ENDERMAN); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_prisoner"), PIGLIN_PRISONER); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_hunter"), PIGLIN_HUNTER); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wraither"), WRAITHER); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_knight"), WITHER_SKELETON_KNIGHT); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "corpor"), CORPOR); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_horse"), WITHER_SKELETON_HORSE); - Registry.register(Registry.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "warped_ender_pearl"), WARPED_ENDER_PEARL); - Registry.register(Registry.BLOCK_ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "netherite_bell"), NETHERITE_BELL); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wex"), WEX); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "warped_enderman"), WARPED_ENDERMAN); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_prisoner"), PIGLIN_PRISONER); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_hunter"), PIGLIN_HUNTER); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wraither"), WRAITHER); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_knight"), WITHER_SKELETON_KNIGHT); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "corpor"), CORPOR); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_horse"), WITHER_SKELETON_HORSE); + Registry.register(BuiltInRegistries.ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "warped_ender_pearl"), WARPED_ENDER_PEARL); + Registry.register(BuiltInRegistries.BLOCK_ENTITY_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "netherite_bell"), NETHERITE_BELL); } public static void modifyPiglinMemoryAndSensors() { diff --git a/src/main/java/com/izofar/bygonenether/init/ModFeatures.java b/src/main/java/com/izofar/bygonenether/init/ModFeatures.java index 9d8fb21..a28e7b3 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModFeatures.java +++ b/src/main/java/com/izofar/bygonenether/init/ModFeatures.java @@ -5,6 +5,7 @@ import com.izofar.bygonenether.world.feature.MobFeature; import com.izofar.bygonenether.world.feature.MobPassengerFeature; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.levelgen.feature.Feature; @@ -21,12 +22,12 @@ public class ModFeatures { public static final Feature MOB_FEATURE_WARPED_ENDERMAN = new MobFeature<>(() -> ModEntityTypes.WARPED_ENDERMAN); public static void registerFeatures() { - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_prisoner"), MOB_FEATURE_PIGLIN_PRISONER); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_manor_inside"), MOB_FEATURE_PIGLIN_MANOR_INSIDE); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_manor_outside"), MOB_FEATURE_PIGLIN_MANOR_OUTSIDE); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_strider"), MOB_FEATURE_STRIDER); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_wither_skeleton"), MOB_FEATURE_WITHER_SKELETON); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_catacomb"), MOB_FEATURE_CATACOMB); - Registry.register(Registry.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_warped_enderman"), MOB_FEATURE_WARPED_ENDERMAN); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_prisoner"), MOB_FEATURE_PIGLIN_PRISONER); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_manor_inside"), MOB_FEATURE_PIGLIN_MANOR_INSIDE); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_piglin_manor_outside"), MOB_FEATURE_PIGLIN_MANOR_OUTSIDE); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_strider"), MOB_FEATURE_STRIDER); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_wither_skeleton"), MOB_FEATURE_WITHER_SKELETON); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_catacomb"), MOB_FEATURE_CATACOMB); + Registry.register(BuiltInRegistries.FEATURE, new ResourceLocation(BygoneNetherMod.MODID, "mob_feature_warped_enderman"), MOB_FEATURE_WARPED_ENDERMAN); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModItems.java b/src/main/java/com/izofar/bygonenether/init/ModItems.java index ba7bb15..df2dfab 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModItems.java +++ b/src/main/java/com/izofar/bygonenether/init/ModItems.java @@ -1,113 +1,75 @@ package com.izofar.bygonenether.init; import com.izofar.bygonenether.BygoneNetherMod; -import com.izofar.bygonenether.item.ModArmorItem; -import com.izofar.bygonenether.item.ModArmorMaterial; import com.izofar.bygonenether.item.ModShieldItem; import com.izofar.bygonenether.item.WarpedEnderpearlItem; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.*; public class ModItems { - public static final Item PIGLIN_PRISONER_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.PIGLIN_PRISONER, 0xc79e88, 0xf9f3a4, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item PIGLIN_HUNTER_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.PIGLIN_HUNTER, 0xba6645, 0xf9f3a4, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WEX_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.WEX, 0x7198c8, 0x2b4667, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WARPED_ENDERMAN_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.WARPED_ENDERMAN, 0x0e8281, 0x000000, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WRAITHER_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.WRAITHER, 0x273333, 0x474d4d, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item CORPOR_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.CORPOR, 0x141414, 0x4a5757, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHER_SKELETON_KNIGHT_SPAWN_EGG = new SpawnEggItem(ModEntityTypes.WITHER_SKELETON_KNIGHT, 0x242424, 0x4e5252, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHER_SKELETON_HORSE_EGG = new SpawnEggItem(ModEntityTypes.WITHER_SKELETON_HORSE, 0x242424, 0x4d4747, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item PIGLIN_PRISONER_SPAWN_EGG = register("piglin_prisoner_spawn_egg", new SpawnEggItem(ModEntityTypes.PIGLIN_PRISONER, 0xc79e88, 0xf9f3a4, new FabricItemSettings())); + public static final Item PIGLIN_HUNTER_SPAWN_EGG = register("piglin_hunter_spawn_egg", new SpawnEggItem(ModEntityTypes.PIGLIN_HUNTER, 0xba6645, 0xf9f3a4, new FabricItemSettings())); + public static final Item WEX_SPAWN_EGG = register("wex_spawn_egg", new SpawnEggItem(ModEntityTypes.WEX, 0x7198c8, 0x2b4667, new FabricItemSettings())); + public static final Item WARPED_ENDERMAN_SPAWN_EGG = register("warped_enderman_spawn_egg", new SpawnEggItem(ModEntityTypes.WARPED_ENDERMAN, 0x0e8281, 0x000000, new FabricItemSettings())); + public static final Item WRAITHER_SPAWN_EGG = register("wraither_spawn_egg", new SpawnEggItem(ModEntityTypes.WRAITHER, 0x273333, 0x474d4d, new FabricItemSettings())); + public static final Item CORPOR_SPAWN_EGG = register("corpor_spawn_egg", new SpawnEggItem(ModEntityTypes.CORPOR, 0x141414, 0x4a5757, new FabricItemSettings())); + public static final Item WITHER_SKELETON_KNIGHT_SPAWN_EGG = register("wither_skeleton_knight_spawn_egg", new SpawnEggItem(ModEntityTypes.WITHER_SKELETON_KNIGHT, 0x242424, 0x4e5252, new FabricItemSettings())); + public static final Item WITHER_SKELETON_HORSE_EGG = register("wither_skeleton_horse_spawn_egg", new SpawnEggItem(ModEntityTypes.WITHER_SKELETON_HORSE, 0x242424, 0x4d4747, new FabricItemSettings())); - public static final Item GILDED_NETHERITE_HELMET = new ModArmorItem(ModArmorMaterial.GILDED_NETHERITE, EquipmentSlot.HEAD, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB).fireproof()); - public static final Item GILDED_NETHERITE_CHESTPLATE = new ModArmorItem(ModArmorMaterial.GILDED_NETHERITE, EquipmentSlot.CHEST, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB).fireproof()); - public static final Item GILDED_NETHERITE_LEGGINGS = new ModArmorItem(ModArmorMaterial.GILDED_NETHERITE, EquipmentSlot.LEGS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB).fireproof()); - public static final Item GILDED_NETHERITE_BOOTS = new ModArmorItem(ModArmorMaterial.GILDED_NETHERITE, EquipmentSlot.FEET, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB).fireproof()); + public static final Item COBBLED_BLACKSTONE = register("cobbled_blackstone", new BlockItem(ModBlocks.COBBLED_BLACKSTONE, new FabricItemSettings())); - public static final Item COBBLED_BLACKSTONE = new BlockItem(ModBlocks.COBBLED_BLACKSTONE, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item WITHERED_BLACKSTONE = register("withered_blackstone", new BlockItem(ModBlocks.WITHERED_BLACKSTONE, new FabricItemSettings())); + public static final Item WITHERED_BLACKSTONE_STAIRS = register("withered_blackstone_stairs", new BlockItem(ModBlocks.WITHERED_BLACKSTONE_STAIRS, new FabricItemSettings())); + public static final Item WITHERED_BLACKSTONE_SLAB = register("withered_blackstone_slab", new BlockItem(ModBlocks.WITHERED_BLACKSTONE_SLAB, new FabricItemSettings())); - public static final Item WITHERED_BLACKSTONE = new BlockItem(ModBlocks.WITHERED_BLACKSTONE, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHERED_BLACKSTONE_STAIRS = new BlockItem(ModBlocks.WITHERED_BLACKSTONE_STAIRS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHERED_BLACKSTONE_SLAB = new BlockItem(ModBlocks.WITHERED_BLACKSTONE_SLAB, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item CRACKED_WITHERED_BLACKSTONE = register("cracked_withered_blackstone", new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE, new FabricItemSettings())); + public static final Item CRACKED_WITHERED_BLACKSTONE_STAIRS = register("cracked_withered_blackstone_stairs", new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE_STAIRS, new FabricItemSettings())); + public static final Item CRACKED_WITHERED_BLACKSTONE_SLAB = register("cracked_withered_blackstone_slab", new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE_SLAB, new FabricItemSettings())); - public static final Item CRACKED_WITHERED_BLACKSTONE = new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item CRACKED_WITHERED_BLACKSTONE_STAIRS = new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE_STAIRS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item CRACKED_WITHERED_BLACKSTONE_SLAB = new BlockItem(ModBlocks.CRACKED_WITHERED_BLACKSTONE_SLAB, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item WITHERED_BASALT = register("withered_basalt", new BlockItem(ModBlocks.WITHERED_BASALT, new FabricItemSettings())); + public static final Item WITHERED_COAL_BLOCK = register("withered_coal_block", new BlockItem(ModBlocks.WITHERED_COAL_BLOCK, new FabricItemSettings())); + public static final Item WITHERED_QUARTZ_BLOCK = register("withered_quartz_block", new BlockItem(ModBlocks.WITHERED_QUARTZ_BLOCK, new FabricItemSettings())); - public static final Item WITHERED_BASALT = new BlockItem(ModBlocks.WITHERED_BASALT, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHERED_COAL_BLOCK = new BlockItem(ModBlocks.WITHERED_COAL_BLOCK, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHERED_QUARTZ_BLOCK = new BlockItem(ModBlocks.WITHERED_QUARTZ_BLOCK, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item CHISELED_WITHERED_BLACKSTONE = register("chiseled_withered_blackstone", new BlockItem(ModBlocks.CHISELED_WITHERED_BLACKSTONE, new FabricItemSettings())); + public static final Item WITHERED_DEBRIS = register("withered_debris", new BlockItem(ModBlocks.WITHERED_DEBRIS, new FabricItemSettings())); + public static final Item SOUL_STONE = register("soul_stone", new BlockItem(ModBlocks.SOUL_STONE, new FabricItemSettings())); - public static final Item CHISELED_WITHERED_BLACKSTONE = new BlockItem(ModBlocks.CHISELED_WITHERED_BLACKSTONE, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WITHERED_DEBRIS = new BlockItem(ModBlocks.WITHERED_DEBRIS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item SOUL_STONE = new BlockItem(ModBlocks.SOUL_STONE, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item WARPED_NETHER_BRICKS = register("warped_nether_bricks", new BlockItem(ModBlocks.WARPED_NETHER_BRICKS, new FabricItemSettings())); + public static final Item CHISELED_WARPED_NETHER_BRICKS = register("chiseled_warped_nether_bricks", new BlockItem(ModBlocks.CHISELED_WARPED_NETHER_BRICKS, new FabricItemSettings())); + public static final Item WARPED_NETHER_BRICK_STAIRS = register("warped_nether_brick_stairs", new BlockItem(ModBlocks.WARPED_NETHER_BRICK_STAIRS, new FabricItemSettings())); + public static final Item WARPED_NETHER_BRICK_SLAB = register("warped_nether_brick_slab", new BlockItem(ModBlocks.WARPED_NETHER_BRICK_SLAB, new FabricItemSettings())); - public static final Item WARPED_NETHER_BRICKS = new BlockItem(ModBlocks.WARPED_NETHER_BRICKS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item CHISELED_WARPED_NETHER_BRICKS = new BlockItem(ModBlocks.CHISELED_WARPED_NETHER_BRICKS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WARPED_NETHER_BRICK_STAIRS = new BlockItem(ModBlocks.WARPED_NETHER_BRICK_STAIRS, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); - public static final Item WARPED_NETHER_BRICK_SLAB = new BlockItem(ModBlocks.WARPED_NETHER_BRICK_SLAB, new FabricItemSettings().group(ModCreativeModeTabs.MOD_TAB)); + public static final Item WITHER_WALTZ_MUSIC_DISC = register("wither_waltz_music_disc", new RecordItem(4, ModSounds.WITHER_WALTZ, new FabricItemSettings().maxCount(1), 5040)); + public static final Item WARPED_ENDER_PEARL = register("warped_ender_pearl", new WarpedEnderpearlItem(new FabricItemSettings().maxCount(16).rarity(Rarity.RARE))); - public static final Item WITHER_WALTZ_MUSIC_DISC = new RecordItem(4, ModSounds.WITHER_WALTZ, new FabricItemSettings().maxCount(1).group(ModCreativeModeTabs.MOD_TAB), 5040); - public static final Item WARPED_ENDER_PEARL = new WarpedEnderpearlItem(new FabricItemSettings().maxCount(16).rarity(Rarity.RARE).group(ModCreativeModeTabs.MOD_TAB)); - - public static final Item NETHERITE_BELL = new BlockItem(ModBlocks.NETHERITE_BELL, new Item.Properties().tab(ModCreativeModeTabs.MOD_TAB).rarity(Rarity.EPIC).fireResistant()); - public static final Item GILDED_NETHERITE_SHIELD = new ModShieldItem((new Item.Properties()).durability(1512).tab(ModCreativeModeTabs.MOD_TAB).rarity(Rarity.RARE).fireResistant()); + public static final Item NETHERITE_BELL = register("netherite_bell", new BlockItem(ModBlocks.NETHERITE_BELL, new Item.Properties().rarity(Rarity.EPIC).fireResistant())); + public static final Item GILDED_NETHERITE_SHIELD = register("gilded_netherite_shield", new ModShieldItem((new Item.Properties()).durability(1512).rarity(Rarity.RARE).fireResistant())); public static Item CRUSHED_WITHERED_DEBRIS; public static Item NETHERITE_SCRAP_NUGGET; public static Item NETHERITE_SCRAP_INGOT; - - public static void registerItems() { - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "piglin_prisoner_spawn_egg"), PIGLIN_PRISONER_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "piglin_hunter_spawn_egg"), PIGLIN_HUNTER_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "wex_spawn_egg"), WEX_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "warped_enderman_spawn_egg"), WARPED_ENDERMAN_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "wraither_spawn_egg"), WRAITHER_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "corpor_spawn_egg"), CORPOR_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_knight_spawn_egg"), WITHER_SKELETON_KNIGHT_SPAWN_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "wither_skeleton_horse_spawn_egg"), WITHER_SKELETON_HORSE_EGG); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "gilded_netherite_helmet"), GILDED_NETHERITE_HELMET); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "gilded_netherite_chestplate"), GILDED_NETHERITE_CHESTPLATE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "gilded_netherite_leggings"), GILDED_NETHERITE_LEGGINGS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "gilded_netherite_boots"), GILDED_NETHERITE_BOOTS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "cobbled_blackstone"), COBBLED_BLACKSTONE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone"), WITHERED_BLACKSTONE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_stairs"), WITHERED_BLACKSTONE_STAIRS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_blackstone_slab"), WITHERED_BLACKSTONE_SLAB); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone"), CRACKED_WITHERED_BLACKSTONE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_stairs"), CRACKED_WITHERED_BLACKSTONE_STAIRS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "cracked_withered_blackstone_slab"), CRACKED_WITHERED_BLACKSTONE_SLAB); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_withered_blackstone"), CHISELED_WITHERED_BLACKSTONE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_basalt"), WITHERED_BASALT); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_coal_block"), WITHERED_COAL_BLOCK); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_quartz_block"), WITHERED_QUARTZ_BLOCK); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "withered_debris"), WITHERED_DEBRIS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "soul_stone"), SOUL_STONE); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_bricks"), WARPED_NETHER_BRICKS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "chiseled_warped_nether_bricks"), CHISELED_WARPED_NETHER_BRICKS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_stairs"), WARPED_NETHER_BRICK_STAIRS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "warped_nether_brick_slab"), WARPED_NETHER_BRICK_SLAB); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "wither_waltz_music_disc"), WITHER_WALTZ_MUSIC_DISC); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "warped_ender_pearl"), WARPED_ENDER_PEARL); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "netherite_bell"), NETHERITE_BELL); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "gilded_netherite_shield"), GILDED_NETHERITE_SHIELD); + private static Item register(String name, Item item) { + Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(BygoneNetherMod.MODID, name), item); + ItemGroupEvents.modifyEntriesEvent(ModCreativeModeTabs.MOD_TAB).register(content -> content.accept(item)); + return item; + } + + public static void registerItems() { registerModCompatibilityItems(); } private static void registerModCompatibilityItems() { if (FabricLoader.getInstance().isModLoaded("create")) { - CRUSHED_WITHERED_DEBRIS = new Item(new Item.Properties().tab(ModCreativeModeTabs.MOD_TAB)); - NETHERITE_SCRAP_NUGGET = new Item(new Item.Properties().tab(ModCreativeModeTabs.MOD_TAB)); - NETHERITE_SCRAP_INGOT = new Item(new Item.Properties().tab(ModCreativeModeTabs.MOD_TAB)); - - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "crushed_withered_debris"), CRUSHED_WITHERED_DEBRIS); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "netherite_scrap_nugget"), NETHERITE_SCRAP_NUGGET); - Registry.register(Registry.ITEM, new ResourceLocation(BygoneNetherMod.MODID, "netherite_scrap_ingot"), NETHERITE_SCRAP_INGOT); + CRUSHED_WITHERED_DEBRIS = register("crushed_withered_debris", new Item(new Item.Properties())); + NETHERITE_SCRAP_NUGGET = register("netherite_scrap_nugget", new Item(new Item.Properties())); + NETHERITE_SCRAP_INGOT = register("netherite_scrap_ingot", new Item(new Item.Properties())); } } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModMemoryModuleTypes.java b/src/main/java/com/izofar/bygonenether/init/ModMemoryModuleTypes.java index ebf0ce1..777a414 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModMemoryModuleTypes.java +++ b/src/main/java/com/izofar/bygonenether/init/ModMemoryModuleTypes.java @@ -2,6 +2,7 @@ import com.izofar.bygonenether.BygoneNetherMod; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.player.Player; @@ -13,6 +14,6 @@ public class ModMemoryModuleTypes { public static final MemoryModuleType NEAREST_TARGETABLE_PLAYER_NOT_WEARING_GILD = new MemoryModuleType<>(Optional.empty()); public static void registerModMemoryModuleTypes() { - Registry.register(Registry.MEMORY_MODULE_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "nearest_targetable_player_not_wearing_gild"), NEAREST_TARGETABLE_PLAYER_NOT_WEARING_GILD); + Registry.register(BuiltInRegistries.MEMORY_MODULE_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "nearest_targetable_player_not_wearing_gild"), NEAREST_TARGETABLE_PLAYER_NOT_WEARING_GILD); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModSensorTypes.java b/src/main/java/com/izofar/bygonenether/init/ModSensorTypes.java index f66f86b..5b36aec 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModSensorTypes.java +++ b/src/main/java/com/izofar/bygonenether/init/ModSensorTypes.java @@ -4,6 +4,7 @@ import com.izofar.bygonenether.entity.ai.sensing.PiglinBruteSpecificSensor; import com.izofar.bygonenether.entity.ai.sensing.PiglinPrisonerSpecificSensor; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.ai.sensing.SensorType; @@ -13,7 +14,7 @@ public class ModSensorTypes { public static final SensorType PIGLIN_PRISONER_SPECIFIC_SENSOR = new SensorType<>(PiglinPrisonerSpecificSensor::new); public static void registerSensorTypes() { - Registry.register(Registry.SENSOR_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_brute_specific_sensor"), PIGLIN_BRUTE_SPECIFIC_SENSOR); - Registry.register(Registry.SENSOR_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_prisoner_specific_sensor"), PIGLIN_PRISONER_SPECIFIC_SENSOR); + Registry.register(BuiltInRegistries.SENSOR_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_brute_specific_sensor"), PIGLIN_BRUTE_SPECIFIC_SENSOR); + Registry.register(BuiltInRegistries.SENSOR_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_prisoner_specific_sensor"), PIGLIN_PRISONER_SPECIFIC_SENSOR); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModSounds.java b/src/main/java/com/izofar/bygonenether/init/ModSounds.java index fb7a88c..f063d94 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModSounds.java +++ b/src/main/java/com/izofar/bygonenether/init/ModSounds.java @@ -2,6 +2,7 @@ import com.izofar.bygonenether.BygoneNetherMod; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; @@ -22,17 +23,17 @@ public class ModSounds { public static SoundEvent WARPED_ENDERMAN_STARE = sound("entity.warped_enderman.stare"); public static void registerSounds() { - Registry.register(Registry.SOUND_EVENT, id("wither_waltz"), WITHER_WALTZ); - Registry.register(Registry.SOUND_EVENT, id("entity.wex.charge"), WEX_CHARGE); - Registry.register(Registry.SOUND_EVENT, id("entity.wex.death"), WEX_DEATH); - Registry.register(Registry.SOUND_EVENT, id("entity.wex.hurt"), WEX_HURT); - Registry.register(Registry.SOUND_EVENT, id("entity.wex.ambient"), WEX_AMBIENT); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.death"), WARPED_ENDERMAN_DEATH); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.hurt"), WARPED_ENDERMAN_HURT); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.ambient"), WARPED_ENDERMAN_AMBIENT); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.teleport"), WARPED_ENDERMAN_TELEPORT); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.scream"), WARPED_ENDERMAN_SCREAM); - Registry.register(Registry.SOUND_EVENT, id("entity.warped_enderman.stare"), WARPED_ENDERMAN_STARE); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("wither_waltz"), WITHER_WALTZ); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.wex.charge"), WEX_CHARGE); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.wex.death"), WEX_DEATH); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.wex.hurt"), WEX_HURT); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.wex.ambient"), WEX_AMBIENT); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.death"), WARPED_ENDERMAN_DEATH); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.hurt"), WARPED_ENDERMAN_HURT); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.ambient"), WARPED_ENDERMAN_AMBIENT); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.teleport"), WARPED_ENDERMAN_TELEPORT); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.scream"), WARPED_ENDERMAN_SCREAM); + Registry.register(BuiltInRegistries.SOUND_EVENT, id("entity.warped_enderman.stare"), WARPED_ENDERMAN_STARE); } private static ResourceLocation id(String id) { @@ -40,6 +41,6 @@ private static ResourceLocation id(String id) { } private static SoundEvent sound(String sound) { - return new SoundEvent(id(sound)); + return SoundEvent.createVariableRangeEvent(id(sound)); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModStructures.java b/src/main/java/com/izofar/bygonenether/init/ModStructures.java index fad8818..94660ef 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModStructures.java +++ b/src/main/java/com/izofar/bygonenether/init/ModStructures.java @@ -5,6 +5,7 @@ import com.izofar.bygonenether.world.structure.CitadelStructure; import com.izofar.bygonenether.world.structure.PiglinManorStructure; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.structure.StructureType; @@ -15,8 +16,8 @@ public class ModStructures { public static final StructureType PIGLIN_MANOR = () -> PiglinManorStructure.CODEC; public static void registerStructures() { - Registry.register(Registry.STRUCTURE_TYPES, new ResourceLocation(BygoneNetherMod.MODID, "catacomb"), CATACOMB); - Registry.register(Registry.STRUCTURE_TYPES, new ResourceLocation(BygoneNetherMod.MODID, "citadel"), CITADEL); - Registry.register(Registry.STRUCTURE_TYPES, new ResourceLocation(BygoneNetherMod.MODID, "piglin_manor"), PIGLIN_MANOR); + Registry.register(BuiltInRegistries.STRUCTURE_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "catacomb"), CATACOMB); + Registry.register(BuiltInRegistries.STRUCTURE_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "citadel"), CITADEL); + Registry.register(BuiltInRegistries.STRUCTURE_TYPE, new ResourceLocation(BygoneNetherMod.MODID, "piglin_manor"), PIGLIN_MANOR); } } diff --git a/src/main/java/com/izofar/bygonenether/init/ModTags.java b/src/main/java/com/izofar/bygonenether/init/ModTags.java index c86554d..ffadd4f 100644 --- a/src/main/java/com/izofar/bygonenether/init/ModTags.java +++ b/src/main/java/com/izofar/bygonenether/init/ModTags.java @@ -1,7 +1,7 @@ package com.izofar.bygonenether.init; import com.izofar.bygonenether.BygoneNetherMod; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.level.levelgen.structure.Structure; @@ -11,6 +11,6 @@ public class ModTags { public static TagKey NO_BASALT; public static void registerTags() { - NO_BASALT = TagKey.create(Registry.STRUCTURE_REGISTRY, new ResourceLocation(BygoneNetherMod.MODID, "no_basalt")); + NO_BASALT = TagKey.create(Registries.STRUCTURE, new ResourceLocation(BygoneNetherMod.MODID, "no_basalt")); } } diff --git a/src/main/java/com/izofar/bygonenether/item/ModArmorItem.java b/src/main/java/com/izofar/bygonenether/item/ModArmorItem.java deleted file mode 100644 index e65bfe1..0000000 --- a/src/main/java/com/izofar/bygonenether/item/ModArmorItem.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.izofar.bygonenether.item; - -import com.izofar.bygonenether.init.ModItems; -import net.fabricmc.fabric.api.item.v1.CustomDamageHandler; -import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.minecraft.nbt.ListTag; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.*; - -import java.util.function.Consumer; - -public class ModArmorItem extends ArmorItem { - - public ModArmorItem(ArmorMaterial armorMaterial, EquipmentSlot equipmentSlot, FabricItemSettings properties) { - super(armorMaterial, equipmentSlot, properties.customDamage(new ModArmorItemDamageHandler())); - } - - private static class ModArmorItemDamageHandler implements CustomDamageHandler { - - @Override - public int damage(ItemStack stack, int amount, LivingEntity entity, Consumer onBroken) { - if (!entity.level.isClientSide && entity instanceof ServerPlayer player && !player.getAbilities().instabuild) { - if (stack.hurt(amount, player.getRandom(), player)) { - onBroken.accept(entity); - replaceArmor(stack, player); - } - } - return 0; - } - - private static void replaceArmor(ItemStack stack, Player player) { - ListTag list = stack.getEnchantmentTags(); - Item brokenItem = stack.getItem(); - Item item; - int slot; - stack.shrink(1); - if (brokenItem == ModItems.GILDED_NETHERITE_HELMET) { - item = Items.NETHERITE_HELMET; - slot = 3; - } else if (brokenItem == ModItems.GILDED_NETHERITE_CHESTPLATE) { - item = Items.NETHERITE_CHESTPLATE; - slot = 2; - } else if (brokenItem == ModItems.GILDED_NETHERITE_LEGGINGS) { - item = Items.NETHERITE_LEGGINGS; - slot = 1; - } else if (brokenItem == ModItems.GILDED_NETHERITE_BOOTS) { - item = Items.NETHERITE_BOOTS; - slot = 0; - }else { - return; - } - - ItemStack newStack = new ItemStack(item, 1); - newStack.addTagElement("Enchantments", list); - newStack.setDamageValue(stack.getTag().getInt("NetheriteDamage")); - player.getInventory().armor.set(slot, newStack); - } - - } -} diff --git a/src/main/java/com/izofar/bygonenether/item/ModArmorMaterial.java b/src/main/java/com/izofar/bygonenether/item/ModArmorMaterial.java deleted file mode 100644 index ab09b9f..0000000 --- a/src/main/java/com/izofar/bygonenether/item/ModArmorMaterial.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.izofar.bygonenether.item; - -import net.minecraft.sounds.SoundEvent; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.util.LazyLoadedValue; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.ArmorMaterial; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.crafting.Ingredient; - -import java.util.function.Supplier; - -public enum ModArmorMaterial implements ArmorMaterial { - - GILDED_NETHERITE("gilded_netherite", 8, new int[] {3, 6, 8, 3}, 20, SoundEvents.ARMOR_EQUIP_NETHERITE, 3.0F, 0.1F, () -> Ingredient.of(Items.NETHERITE_INGOT)); - - private static final int[] HEALTH_PER_SLOT = new int[] { 13, 15, 16, 11 }; - private final String name; - private final int durabilityMultiplier; - private final int[] slotProtections; - private final int enchantmentValue; - private final SoundEvent sound; - private final float toughness; - private final float knockbackResistance; - private final LazyLoadedValue repairIngredient; - - ModArmorMaterial(String name, int durabilityMultiplier, int[] slotProtections, int enchantmentValue, SoundEvent sound, float toughness, float knockbackResistance, Supplier repairIngredient) { - this.name = name; - this.durabilityMultiplier = durabilityMultiplier; - this.slotProtections = slotProtections; - this.enchantmentValue = enchantmentValue; - this.sound = sound; - this.toughness = toughness; - this.knockbackResistance = knockbackResistance; - this.repairIngredient = new LazyLoadedValue<>(repairIngredient); - } - - public int getDurabilityForSlot(EquipmentSlot slot) { return HEALTH_PER_SLOT[slot.getIndex()] * this.durabilityMultiplier; } - - public int getDefenseForSlot(EquipmentSlot slot) { return this.slotProtections[slot.getIndex()]; } - - public int getEnchantmentValue() { return this.enchantmentValue; } - - public SoundEvent getEquipSound() { return this.sound; } - - public Ingredient getRepairIngredient() { return this.repairIngredient.get(); } - - public String getName() { return this.name; } - - public float getToughness() { return this.toughness; } - - public float getKnockbackResistance() { return this.knockbackResistance; } -} diff --git a/src/main/java/com/izofar/bygonenether/mixin/ModifyDamageInSmithingRecipes.java b/src/main/java/com/izofar/bygonenether/mixin/ModifyDamageInSmithingRecipes.java deleted file mode 100644 index 78c9837..0000000 --- a/src/main/java/com/izofar/bygonenether/mixin/ModifyDamageInSmithingRecipes.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.izofar.bygonenether.mixin; - -import com.izofar.bygonenether.item.ModArmorItem; -import net.minecraft.nbt.IntTag; -import net.minecraft.world.Container; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.UpgradeRecipe; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(UpgradeRecipe.class) -public class ModifyDamageInSmithingRecipes { - - @Inject( - method="assemble(Lnet/minecraft/world/Container;)Lnet/minecraft/world/item/ItemStack;", - at = @At(value = "RETURN") - ) - private void bygonenether_setDamage(Container container, CallbackInfoReturnable cir) { - ItemStack itemstack = cir.getReturnValue(); - if (!(itemstack.getItem() instanceof ModArmorItem)) { - return; - } - - int damage = itemstack.getDamageValue(); - itemstack.getOrCreateTag().put("NetheriteDamage", IntTag.valueOf(damage)); - itemstack.setDamageValue(0); - } - -} diff --git a/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinAi.java b/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinAi.java index 4843770..59a121a 100644 --- a/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinAi.java +++ b/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinAi.java @@ -1,7 +1,6 @@ package com.izofar.bygonenether.mixin; import com.izofar.bygonenether.entity.ai.ModPiglinBruteAi; -import com.izofar.bygonenether.item.ModArmorMaterial; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.behavior.BehaviorUtils; import net.minecraft.world.entity.monster.piglin.PiglinAi; @@ -41,7 +40,7 @@ private static void wearsGoldArmor(@NotNull LivingEntity entity, @NotNull Callba ItemStack itemStack = var2.next(); item = itemStack.getItem(); - } while (!(item instanceof ArmorItem) || ((ArmorItem) item).getMaterial() != ModArmorMaterial.GILDED_NETHERITE); + } while (!(item instanceof ArmorItem) || !ModPiglinBruteAi.armorIsGoldTrim(entity, item.getDefaultInstance())); cir.setReturnValue(true); } @@ -52,9 +51,9 @@ private static void wearsGoldArmor(@NotNull LivingEntity entity, @NotNull Callba at = @At(value = "RETURN") ) private static void bygonenether_angerNearbyPiglins(Player player, boolean requireVisibility, CallbackInfo ci) { - List list = player.level.getEntitiesOfClass(PiglinBrute.class, player.getBoundingBox().inflate(16.0D)); + List list = player.level().getEntitiesOfClass(PiglinBrute.class, player.getBoundingBox().inflate(16.0D)); list.stream().filter(PiglinAi::isIdle).filter((piglinBrute) -> !requireVisibility || BehaviorUtils.canSee(piglinBrute, player)).forEach((piglinBrute) -> { - if (piglinBrute.level.getGameRules().getBoolean(GameRules.RULE_UNIVERSAL_ANGER)) { + if (piglinBrute.level().getGameRules().getBoolean(GameRules.RULE_UNIVERSAL_ANGER)) { ModPiglinBruteAi.setAngerTargetToNearestTargetablePlayerIfFound(piglinBrute, player); } else { diff --git a/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinBruteAi.java b/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinBruteAi.java index 1feab81..cd25556 100644 --- a/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinBruteAi.java +++ b/src/main/java/com/izofar/bygonenether/mixin/ModifyPiglinBruteAi.java @@ -61,7 +61,7 @@ private static void bygonenether_findNearestValidAttackTarget(AbstractPiglin pig at = @At(value = "RETURN") ) private static void bygonenether_setAngerTarget(PiglinBrute piglin, LivingEntity entity, CallbackInfo ci) { - if (entity.getType() == EntityType.PLAYER && piglin.level.getGameRules().getBoolean(GameRules.RULE_UNIVERSAL_ANGER)) { + if (entity.getType() == EntityType.PLAYER && piglin.level().getGameRules().getBoolean(GameRules.RULE_UNIVERSAL_ANGER)) { piglin.getBrain().setMemoryWithExpiry(MemoryModuleType.UNIVERSAL_ANGER, true, 600L); } } diff --git a/src/main/java/com/izofar/bygonenether/mixin/NoBasaltColumnsInStructuresMixin.java b/src/main/java/com/izofar/bygonenether/mixin/NoBasaltColumnsInStructuresMixin.java index 63e069d..23ca4de 100644 --- a/src/main/java/com/izofar/bygonenether/mixin/NoBasaltColumnsInStructuresMixin.java +++ b/src/main/java/com/izofar/bygonenether/mixin/NoBasaltColumnsInStructuresMixin.java @@ -6,6 +6,7 @@ import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.core.SectionPos; +import net.minecraft.core.registries.Registries; import net.minecraft.server.level.WorldGenRegion; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.StructureManager; @@ -38,7 +39,7 @@ private static void bygonenether_noBasaltColumnsInStructures(LevelAccessor level return; } - Registry configuredStructureFeatureRegistry = levelAccessor.registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY); + Registry configuredStructureFeatureRegistry = levelAccessor.registryAccess().registryOrThrow(Registries.STRUCTURE); StructureManager structureFeatureManager = ((WorldGenRegionAccessor)levelAccessor).getStructureFeatureManager(); for (Holder configuredStructureFeature : configuredStructureFeatureRegistry.getOrCreateTag(ModTags.NO_BASALT)) { if (structureFeatureManager.getStructureAt(mutableBlockPos, configuredStructureFeature.value()).isValid()) { diff --git a/src/main/java/com/izofar/bygonenether/mixin/NoDeltasInStructuresMixin.java b/src/main/java/com/izofar/bygonenether/mixin/NoDeltasInStructuresMixin.java index c701e01..01219a3 100644 --- a/src/main/java/com/izofar/bygonenether/mixin/NoDeltasInStructuresMixin.java +++ b/src/main/java/com/izofar/bygonenether/mixin/NoDeltasInStructuresMixin.java @@ -3,6 +3,7 @@ import com.izofar.bygonenether.init.ModTags; import net.minecraft.core.Holder; import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.levelgen.feature.DeltaFeature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; @@ -21,7 +22,7 @@ public class NoDeltasInStructuresMixin { cancellable = true ) private void bygonenether_noDeltasInStructures(FeaturePlaceContext context, CallbackInfoReturnable cir) { - Registry configuredStructureFeatureRegistry = context.level().registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY); + Registry configuredStructureFeatureRegistry = context.level().registryAccess().registryOrThrow(Registries.STRUCTURE); StructureManager structureFeatureManager = ((WorldGenRegionAccessor)context.level()).getStructureFeatureManager(); for (Holder configuredStructureFeature : configuredStructureFeatureRegistry.getOrCreateTag(ModTags.NO_BASALT)) { if (structureFeatureManager.getStructureAt(context.origin(), configuredStructureFeature.value()).isValid()) { diff --git a/src/main/java/com/izofar/bygonenether/util/ModStructureUtils.java b/src/main/java/com/izofar/bygonenether/util/ModStructureUtils.java index db7d625..a35e2c6 100644 --- a/src/main/java/com/izofar/bygonenether/util/ModStructureUtils.java +++ b/src/main/java/com/izofar/bygonenether/util/ModStructureUtils.java @@ -2,15 +2,12 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; -import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.NoiseColumn; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.levelgen.feature.BasaltColumnsFeature; import net.minecraft.world.level.levelgen.feature.DeltaFeature; import net.minecraft.world.level.levelgen.structure.Structure; -import net.minecraft.world.level.levelgen.structure.StructureSet; import java.util.Random; import java.util.function.Predicate; @@ -19,15 +16,6 @@ public abstract class ModStructureUtils { private static final Predicate isAir = (block) -> block == Blocks.AIR || block == Blocks.CAVE_AIR; - public static boolean isNearStructure(Structure.GenerationContext context, int radius, Holder...features) { - ChunkPos chunkPos = context.chunkPos(); - boolean isNearStructure = false; - for (Holder feature : features) { - isNearStructure = isNearStructure || context.chunkGenerator().hasStructureChunkInRange(feature, context.randomState(), context.seed(), chunkPos.x, chunkPos.z, radius); - } - return isNearStructure; - } - public static boolean isLavaLake(NoiseColumn blockReader) { boolean isLake = true; if (blockReader.getBlock(31).getBlock() != Blocks.LAVA) { diff --git a/src/main/java/com/izofar/bygonenether/world/structure/CatacombStructure.java b/src/main/java/com/izofar/bygonenether/world/structure/CatacombStructure.java index 4b57545..c15b596 100644 --- a/src/main/java/com/izofar/bygonenether/world/structure/CatacombStructure.java +++ b/src/main/java/com/izofar/bygonenether/world/structure/CatacombStructure.java @@ -6,7 +6,6 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; -import net.minecraft.data.worldgen.StructureSets; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.NoiseColumn; import net.minecraft.world.level.levelgen.Heightmap; @@ -59,8 +58,7 @@ private static boolean checkLocation(Structure.GenerationContext context) { BlockPos blockpos = context.chunkPos().getMiddleBlockPosition(0); NoiseColumn blockReader = context.chunkGenerator().getBaseColumn(blockpos.getX(), blockpos.getZ(), context.heightAccessor(), context.randomState()); return !ModStructureUtils.isBuried(blockReader, 48, ModStructureUtils.getScaledNetherHeight(72)) - && !ModStructureUtils.isLavaLake(blockReader) - && !ModStructureUtils.isNearStructure(context, STRUCTURE_SEARCH_RADIUS, StructureSets.NETHER_COMPLEXES); + && !ModStructureUtils.isLavaLake(blockReader); } @Override diff --git a/src/main/java/com/izofar/bygonenether/world/structure/CitadelStructure.java b/src/main/java/com/izofar/bygonenether/world/structure/CitadelStructure.java index a4533b8..65dd0d2 100644 --- a/src/main/java/com/izofar/bygonenether/world/structure/CitadelStructure.java +++ b/src/main/java/com/izofar/bygonenether/world/structure/CitadelStructure.java @@ -7,7 +7,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.QuartPos; -import net.minecraft.data.worldgen.StructureSets; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.NoiseColumn; import net.minecraft.world.level.levelgen.GenerationStep; @@ -66,8 +65,7 @@ private static boolean checkLocation(Structure.GenerationContext context) { NoiseColumn blockReader = context.chunkGenerator().getBaseColumn(blockpos.getX(), blockpos.getZ(), context.heightAccessor(), context.randomState()); return checkChunk(context) && !ModStructureUtils.isLavaLake(blockReader) - && ModStructureUtils.verticalSpace(blockReader, 34, ModStructureUtils.getScaledNetherHeight(72), 12) - && !ModStructureUtils.isNearStructure(context, STRUCTURE_SEARCH_RADIUS, StructureSets.NETHER_COMPLEXES); + && ModStructureUtils.verticalSpace(blockReader, 34, ModStructureUtils.getScaledNetherHeight(72), 12); } private static boolean checkChunk(Structure.GenerationContext context) { diff --git a/src/main/java/com/izofar/bygonenether/world/structure/PiglinManorStructure.java b/src/main/java/com/izofar/bygonenether/world/structure/PiglinManorStructure.java index 838485c..481f165 100644 --- a/src/main/java/com/izofar/bygonenether/world/structure/PiglinManorStructure.java +++ b/src/main/java/com/izofar/bygonenether/world/structure/PiglinManorStructure.java @@ -7,7 +7,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.QuartPos; -import net.minecraft.data.worldgen.StructureSets; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.NoiseColumn; import net.minecraft.world.level.levelgen.GenerationStep; @@ -68,8 +67,7 @@ public PiglinManorStructure(Structure.StructureSettings config, NoiseColumn blockReader = context.chunkGenerator().getBaseColumn(blockpos.getX(), blockpos.getZ(), context.heightAccessor(), context.randomState()); return checkChunk(context) && !ModStructureUtils.isLavaLake(blockReader) - && ModStructureUtils.verticalSpace(blockReader, 34, ModStructureUtils.getScaledNetherHeight(72), 24) - && !ModStructureUtils.isNearStructure(context, STRUCTURE_SEARCH_RADIUS, StructureSets.NETHER_COMPLEXES); + && ModStructureUtils.verticalSpace(blockReader, 34, ModStructureUtils.getScaledNetherHeight(72), 24); } private static boolean checkChunk(Structure.GenerationContext context) { diff --git a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_boots.json b/src/main/resources/assets/bygonenether/models/item/gilded_netherite_boots.json deleted file mode 100644 index c36ef83..0000000 --- a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_boots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "bygonenether:item/gilded_netherite_boots" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_chestplate.json b/src/main/resources/assets/bygonenether/models/item/gilded_netherite_chestplate.json deleted file mode 100644 index 4a8e847..0000000 --- a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_chestplate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "bygonenether:item/gilded_netherite_chestplate" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_helmet.json b/src/main/resources/assets/bygonenether/models/item/gilded_netherite_helmet.json deleted file mode 100644 index 42097a9..0000000 --- a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_helmet.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "bygonenether:item/gilded_netherite_helmet" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_leggings.json b/src/main/resources/assets/bygonenether/models/item/gilded_netherite_leggings.json deleted file mode 100644 index 36e369f..0000000 --- a/src/main/resources/assets/bygonenether/models/item/gilded_netherite_leggings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "bygonenether:item/gilded_netherite_leggings" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_boots.png b/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_boots.png deleted file mode 100644 index 06ac61d45a4cf343b0bd8f1eacdf274fa2e41ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5734 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 diff --git a/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_chestplate.png b/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_chestplate.png deleted file mode 100644 index 3b71e8c2df9683788e95185b0721c7f4a8d3decf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6315 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 diff --git a/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_helmet.png b/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_helmet.png deleted file mode 100644 index de7fd680f211f767773d9da5a58cddb9c89036fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5377 zcmeHKdpwhU8=n%IM0wIVYf+Q7-8-4BEeXv+TP(5@&iS#P; zOeZC$94ZPqq^BZy1v)-yYAh4+*Y#; zkh72o1j2yrXzvbx8>vq{9r)9QbbB26ci!gBM=b} zUwg9?%@$2+kt0pD*pr@F@9+Mgv#iL*&K}}>U4GPZspm$iK1$E1e)wQXfAP?q=Y|X+ z7pP$wSZMFNX`W=Ao*r%!*~Du(TN_hIcWr+@R61ko#XK8I@`q;YKNhhM-|I8nc`?W&%WIldr!b}qwm}`U`QYL)~Y%>qxasfdgUXWlcJdK{U3`t;JSTDlIc6v z_dQ@8DTw!NTq3Sb_;4^`|LVt-g$K?0Q!pD7t345Kr>%ZxYuQ&-)sjwa$7eV`XxABE z8yHd^EQas(J--v^w$Y%GPCHCpC$h~t9BW&RV#N^+UY*PFOgq(Hb8^>F%h+RFukBsNsIC}aVHc;T*EXTxpQ~c zh2?s2)xUlo_kQvD+77RhlN$ibNp~&_r&Kib=DcL(#hN(x2P?DJ2w4c!jn;Wp@!Pd# zI~v*Y7Rb%U9YAg)YFq4#*2kc_ui83=qqRCPwS}sM^~b7H2LPE#Y|m69Ke`>#pJrzD z-c^A#ty+J*uT|Hy@MDKOzHO)B{Bq#Xh67Ur`U&MTD49pR8nc>Du4xLcPqv2 zMTW)cWR)PgV}H|3V;RmrBmbEbMitC9_sMq+Yif4mdU<%}9!YP05U< zKNdcuySyVw?%kyVF$?V>!{i?%n*eort%D9FZSM3m1?{Gs!42sP7CjbW|o4 z&s>nv+uo2Z>Wb06PAxy(WtG$S#(Y(1myz$Y`=*CN=v5nYZeC4&YGu=tr+a3_)K>o1 z?HvQ*)>&ekvnLS631)Fl_pb-MH4G!#^nYfhJUiGP)9Ab6PJPXp%6R%y|Kr0uc31k< zgL=x!@t;CNN}9qJ9VTWt)`l~5Ec8o;nlM}MwQRw3<6?8IxdSzEvp2jc)$I+uk=Cxf za9mY}i?7jQa+x(gYIq%^zSnVIV6TqfVr zQg(BoK(F>~?k9OahIUA6Swh5tm(dQ_Z5fvYFOvuM*kxlZ%3qYH>jcEVPw2|4mL%&> z)@P7-8Hf7H=W|qbm9p6vPNhwCof|()* zp=PKRE2o(s2IsFRSh;tPSqh8!IqHCoE$*nlIUrkda@@3o?YhHJPYNl0#_eKv0I4W? z@a`sH^kBj)%A=uWmtR*-Z2Ol^?#0Ancil`I_W4T}d#2PC82I~NAx9eKKi1MoRosrB zbKBMF){7kjq>q_P>XiD5^H;Zqq_+2KIeMH=lx&Z(3(Q#lN7uaWHygVj6;tjG4I=aw z%i3q(6xG4^q8S4Cp5yD{Oy^2OIFKjdK)48z6z&cLf?*RO1-T)R0>y!X1Y#z-yPz12 z67ZO4ABqd$BDI5p1&*6!kjJLgp4?3#TpAB;vkb|Ipu+$nNCBcEL_)Eg9>GLwaOv=G zwHS{^X;c&;Oti0y8_G^1gHU7~83$k;A_U;As?)EE3A>b<}I#{8Q((!nu zQi)TNa1vP%o2!=f*=gQ!g7D&V>H73ZBgejP4 zG`x=b5}!!w;_?+PL| zzmfG_Z0Z$FI%5NY&A;M)r~M^&jWVp|;zGBVaKqH$vF({?wSPKK!WHo7nxEDLhze4P z9IQ1!<6+4JJ_pO;00b9%fcCYp!?zDeAKpn?w@ zz3t~3$6_TpzyFn3W0(p z^WaK>L^1~paVT7(6&2v~`PA>xuFv6I^piBGB=~$#o8}3BiP7kJ}!rsOv>+_i>xT}cyh8%nU{}g(Gi=tcQt*q zJIS6M;8`A;W`FU@{hYQPJDvihWRmU>W6tcE6VhV0-?|y!w|=^hM^IMcv5NK=#N}m@Y>RM_m3vD3D{V>h_(0AiV{Ue0i%T&kNq=wNzdyP>P$jT>30bRW z{902i9iTS6My_68^QSV}YZv1DxWStEhOJSb7glCondj5cmqQpD--@VA3+(C0!pwyk OK(HNF+vlzb-1%QreNf#1 diff --git a/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_leggings.png b/src/main/resources/assets/bygonenether/textures/item/gilded_netherite_leggings.png deleted file mode 100644 index fdab7149073685165c18aee02b3429f585d72f0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5477 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 P1JG2}RVh=lz4!kBTu+bj diff --git a/src/main/resources/assets/minecraft/textures/models/armor/gilded_netherite_layer_2.png b/src/main/resources/assets/minecraft/textures/models/armor/gilded_netherite_layer_2.png deleted file mode 100644 index e949a63c76cddc435012992f72ea8e96de522a96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6814 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 diff --git a/src/main/resources/bygonenether.mixins.json b/src/main/resources/bygonenether.mixins.json index 3a4a73d..3a0026c 100644 --- a/src/main/resources/bygonenether.mixins.json +++ b/src/main/resources/bygonenether.mixins.json @@ -4,7 +4,6 @@ "package": "com.izofar.bygonenether.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ - "ModifyDamageInSmithingRecipes", "ModifyPiglinAi", "ModifyPiglinBruteAi", "NoAxeDisableModShieldMixin", diff --git a/src/main/resources/data/bygonenether/advancements/explore_structures.json b/src/main/resources/data/bygonenether/advancements/explore_structures.json index e232f59..9caf801 100644 --- a/src/main/resources/data/bygonenether/advancements/explore_structures.json +++ b/src/main/resources/data/bygonenether/advancements/explore_structures.json @@ -2,7 +2,8 @@ "parent": "bygonenether:root", "display": { "icon": { - "item": "bygonenether:gilded_netherite_boots" + "item": "minecraft:netherite_boots", + "nbt": "{Trim: {material: gold, pattern:sentry}}" }, "title": { "translate": "advancements.bygonenether.explore_structures.title" diff --git a/src/main/resources/data/bygonenether/advancements/root.json b/src/main/resources/data/bygonenether/advancements/root.json index 9a14ff7..e07f9a5 100644 --- a/src/main/resources/data/bygonenether/advancements/root.json +++ b/src/main/resources/data/bygonenether/advancements/root.json @@ -12,7 +12,7 @@ "frame": "task", "show_toast": false, "announce_to_chat": false, - "hidden": true, + "hidden": false, "background": "bygonenether:textures/block/soul_stone.png" }, "criteria": { diff --git a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_boots_smithing.json b/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_boots_smithing.json deleted file mode 100644 index da3f230..0000000 --- a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_boots_smithing.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:smithing", - "base": { - "item": "minecraft:netherite_boots" - }, - "addition": { - "item": "minecraft:golden_boots" - }, - "result": { - "item": "bygonenether:gilded_netherite_boots" - } -} \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_chestplate_smithing.json b/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_chestplate_smithing.json deleted file mode 100644 index 8f8c700..0000000 --- a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_chestplate_smithing.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:smithing", - "base": { - "item": "minecraft:netherite_chestplate" - }, - "addition": { - "item": "minecraft:golden_chestplate" - }, - "result": { - "item": "bygonenether:gilded_netherite_chestplate" - } -} \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_helmet_smithing.json b/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_helmet_smithing.json deleted file mode 100644 index e966440..0000000 --- a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_helmet_smithing.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:smithing", - "base": { - "item": "minecraft:netherite_helmet" - }, - "addition": { - "item": "minecraft:golden_helmet" - }, - "result": { - "item": "bygonenether:gilded_netherite_helmet" - } -} \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_leggings_smithing.json b/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_leggings_smithing.json deleted file mode 100644 index 9b4ba7d..0000000 --- a/src/main/resources/data/bygonenether/recipes/smithing/gilded_netherite_leggings_smithing.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:smithing", - "base": { - "item": "minecraft:netherite_leggings" - }, - "addition": { - "item": "minecraft:golden_leggings" - }, - "result": { - "item": "bygonenether:gilded_netherite_leggings" - } -} \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/worldgen/structure_set/catacomb.json b/src/main/resources/data/bygonenether/worldgen/structure_set/catacomb.json index 059ebf9..26d4a97 100644 --- a/src/main/resources/data/bygonenether/worldgen/structure_set/catacomb.json +++ b/src/main/resources/data/bygonenether/worldgen/structure_set/catacomb.json @@ -9,6 +9,10 @@ "type": "minecraft:random_spread", "spacing": 12, "separation": 4, - "salt": 1163018812 + "salt": 1163018812, + "exclusion_zone": { + "chunk_count": 8, + "other_set": "minecraft:nether_complexes" + } } } \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/worldgen/structure_set/citadel.json b/src/main/resources/data/bygonenether/worldgen/structure_set/citadel.json index cda472f..ce9788f 100644 --- a/src/main/resources/data/bygonenether/worldgen/structure_set/citadel.json +++ b/src/main/resources/data/bygonenether/worldgen/structure_set/citadel.json @@ -9,6 +9,10 @@ "type": "minecraft:random_spread", "spacing": 12, "separation": 4, - "salt": 1621815507 + "salt": 1621815507, + "exclusion_zone": { + "chunk_count": 8, + "other_set": "minecraft:nether_complexes" + } } } \ No newline at end of file diff --git a/src/main/resources/data/bygonenether/worldgen/structure_set/piglin_manor.json b/src/main/resources/data/bygonenether/worldgen/structure_set/piglin_manor.json index 8a6249e..5c839ea 100644 --- a/src/main/resources/data/bygonenether/worldgen/structure_set/piglin_manor.json +++ b/src/main/resources/data/bygonenether/worldgen/structure_set/piglin_manor.json @@ -9,6 +9,10 @@ "type": "minecraft:random_spread", "spacing": 12, "separation": 4, - "salt": 292421824 + "salt": 292421824, + "exclusion_zone": { + "chunk_count": 8, + "other_set": "minecraft:nether_complexes" + } } } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 2647da8..ebd67d2 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -33,7 +33,7 @@ "depends": { "fabricloader": ">=0.14.9", "fabric-api": "*", - "minecraft": "~1.19", + "minecraft": "~1.20", "java": ">=17" }, "accessWidener": "bygonenether.accessWidener"