diff --git a/build.gradle b/build.gradle index 545eb17..9e87d01 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.4-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index 5ef7d87..7f8d3c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,21 +3,22 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties # check these on https://fabricmc.net/use -minecraft_version=1.20.4 -yarn_mappings=1.20.4+build.3 -loader_version=0.15.3 +minecraft_version=1.20.5 +yarn_mappings=1.20.5+build.1 +loader_version=0.15.10 #Fabric api -fabric_version=0.92.0+1.20.4 +fabric_version=0.97.6+1.20.5 + #Other Dependencies -mod_menu_version=9.0.0 -cloth_config_version=13.0.121 +mod_menu_version=10.0.0-beta.1 +cloth_config_version=14.0.126 # Mod Properties mod_version = 2.3.0 maven_group = io.github.overlordsiii -archives_base_name = npc-variety-1.20.4 +archives_base_name = npc-variety-1.20.5 # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index db9a6b8..17655d0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/MerchantEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/MerchantEntityMixin.java index 523d33d..006bbb1 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/MerchantEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/MerchantEntityMixin.java @@ -4,6 +4,7 @@ import io.github.overlordsiii.npcvariety.api.SkinVariantManager; import io.github.overlordsiii.npcvariety.api.TextureIdList; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -38,11 +39,12 @@ public MerchantEntityMixin(EntityType entityType, Worl private static final TrackedData EYE_INDEX = DataTracker.registerData(MerchantEntity.class, TrackedDataHandlerRegistry.INTEGER); @Inject(method = "initDataTracker", at = @At("TAIL")) - private void setIndexes(CallbackInfo ci) { - this.dataTracker.startTracking(SKIN_INDEX, this.random.nextInt(8)); - this.dataTracker.startTracking(EYE_INDEX, getRandomEyeIndex()); + private void setIndexes(DataTracker.Builder builder, CallbackInfo ci) { + builder.add(SKIN_INDEX, this.random.nextInt(8)); + builder.add(EYE_INDEX, getRandomEyeIndex()); } + @Unique private int getRandomEyeIndex() { if (this.random.nextBoolean()) { return 3; diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/VillagerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/VillagerEntityMixin.java index c08ca07..a095062 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/VillagerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/VillagerEntityMixin.java @@ -36,7 +36,7 @@ public VillagerEntityMixin(EntityType entityType, Worl super(entityType, world); } - @Inject(method = "createChild", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/passive/VillagerEntity;initialize(Lnet/minecraft/world/ServerWorldAccess;Lnet/minecraft/world/LocalDifficulty;Lnet/minecraft/entity/SpawnReason;Lnet/minecraft/entity/EntityData;Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/entity/EntityData;"), locals = LocalCapture.CAPTURE_FAILHARD) + @Inject(method = "createChild", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/passive/VillagerEntity;initialize(Lnet/minecraft/world/ServerWorldAccess;Lnet/minecraft/world/LocalDifficulty;Lnet/minecraft/entity/SpawnReason;Lnet/minecraft/entity/EntityData;)Lnet/minecraft/entity/EntityData;"), locals = LocalCapture.CAPTURE_FAILHARD) private void inheritTraits(ServerWorld serverWorld, PassiveEntity passiveEntity, CallbackInfoReturnable cir, VillagerType villagerType3, VillagerEntity villagerEntity) { if (passiveEntity instanceof VillagerEntity dad && NpcVariety.CONFIG.inheritTraits) { boolean dadInheritSkin = this.random.nextBoolean(); @@ -56,7 +56,7 @@ private void inheritTraits(ServerWorld serverWorld, PassiveEntity passiveEntity, @Inject(method = "initialize", at = @At("TAIL")) - private void resetSkinIndexBasedOnBiome(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, EntityData entityData, NbtCompound entityTag, CallbackInfoReturnable cir) { + private void resetSkinIndexBasedOnBiome(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, EntityData entityData, CallbackInfoReturnable cir) { if (spawnReason == SpawnReason.STRUCTURE && NpcVariety.CONFIG.naturalVariation) { BiomeSpawnRate rate = getRateFromType(this.getVillagerData()); diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/WanderingTraderEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/WanderingTraderEntityMixin.java index f53daeb..57fb83b 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/WanderingTraderEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/WanderingTraderEntityMixin.java @@ -31,9 +31,9 @@ public WanderingTraderEntityMixin(EntityType entityTyp } @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(robeIndex, this.random.nextInt(2)); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(robeIndex, this.random.nextInt(2)); } @Inject(method = "writeCustomDataToNbt", at = @At("HEAD")) diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/ZombieVillagerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/ZombieVillagerEntityMixin.java index 01acda8..aa61da4 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/ZombieVillagerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/ZombieVillagerEntityMixin.java @@ -24,7 +24,7 @@ @Mixin(ZombieVillagerEntity.class) -public class ZombieVillagerEntityMixin extends ZombieEntity implements SkinVariantManager { +public abstract class ZombieVillagerEntityMixin extends ZombieEntity implements SkinVariantManager { @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final TextureIdList SKIN_TEXTURE_ID_LIST = new TextureIdList("textures/entity/zombie_villager/", 10, "skin"); @@ -41,8 +41,8 @@ private void addSkinDataToTag(NbtCompound tag, CallbackInfo ci) { } @Inject(method = "initDataTracker", at = @At("TAIL")) - private void initIndex(CallbackInfo ci) { - this.dataTracker.startTracking(SKIN_INDEX, this.random.nextInt(8)); + private void initIndex(DataTracker.Builder builder, CallbackInfo ci) { + builder.add(SKIN_INDEX, this.random.nextInt(8)); } @Inject(method = "readCustomDataFromNbt", at = @At("TAIL")) diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/EvokerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/EvokerEntityMixin.java index cf56a48..4568229 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/EvokerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/EvokerEntityMixin.java @@ -46,9 +46,9 @@ protected EvokerEntityMixin(EntityType enti } @Inject(method = "initDataTracker", at = @At("HEAD")) - protected void initDataTracker(CallbackInfo ci) { - this.dataTracker.startTracking(shoeIndex, this.random.nextInt(2)); - this.dataTracker.startTracking(headIndex, getEyePatchIndex()); + protected void initDataTracker(DataTracker.Builder builder, CallbackInfo ci) { + builder.add(shoeIndex, this.random.nextInt(2)); + builder.add(headIndex, getEyePatchIndex()); } private int getEyePatchIndex() { diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/IllagerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/IllagerEntityMixin.java index e5c5281..947f7fb 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/IllagerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/IllagerEntityMixin.java @@ -31,14 +31,12 @@ protected IllagerEntityMixin(EntityType entityType, Worl } @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(EYE_INDEX, getRandomEyeIndex()); - this.dataTracker.startTracking(SKIN_INDEX, this.random.nextInt(8)); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(EYE_INDEX, this.getRandomEyeIndex()); + builder.add(SKIN_INDEX, this.random.nextInt(8)); } - - @Override public void readCustomDataFromNbt(NbtCompound tag) { super.readCustomDataFromNbt(tag); diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/PillagerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/PillagerEntityMixin.java index ddc88f0..4cdb2d5 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/PillagerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/PillagerEntityMixin.java @@ -36,8 +36,8 @@ protected PillagerEntityMixin(EntityType entityType, Wo } @Inject(method = "initDataTracker", at = @At("HEAD")) - private void addHeadIndex(CallbackInfo ci) { - this.dataTracker.startTracking(headIndex, getEyePatchIndex()); + private void addHeadIndex(DataTracker.Builder builder, CallbackInfo ci) { + builder.add(headIndex, getEyePatchIndex()); } private int getEyePatchIndex() { diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/RavagerEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/RavagerEntityMixin.java index 12581bb..7eab27c 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/RavagerEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/RavagerEntityMixin.java @@ -51,10 +51,10 @@ protected RavagerEntityMixin(EntityType entityType, Worl } @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(skinIndex, this.random.nextInt(8)); - this.dataTracker.startTracking(eyeIndex, this.random.nextInt(5)); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(skinIndex, this.random.nextInt(8)); + builder.add(eyeIndex, this.random.nextInt(5)); } @Inject(method = "readCustomDataFromNbt", at = @At("HEAD")) diff --git a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/VindicatorEntityMixin.java b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/VindicatorEntityMixin.java index b5a5f8d..eef9058 100644 --- a/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/VindicatorEntityMixin.java +++ b/src/main/java/io/github/overlordsiii/npcvariety/mixin/illager/VindicatorEntityMixin.java @@ -42,10 +42,10 @@ protected VindicatorEntityMixin(EntityType entityType, } @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(headIndex, getEyePatchIndex()); - this.dataTracker.startTracking(shoeIndex, this.random.nextInt(2)); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(headIndex, getEyePatchIndex()); + builder.add(shoeIndex, this.random.nextInt(2)); } @Inject(method = "readCustomDataFromNbt", at = @At("HEAD"))