diff --git a/build.gradle b/build.gradle index 26f46199..675a0575 100644 --- a/build.gradle +++ b/build.gradle @@ -22,8 +22,8 @@ repositories { dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modCompileOnly "net.fabricmc:fabric-loader:${project.loader_version}" - modCompileOnly "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modCompileOnly "io.github.prospector:modmenu:${project.mod_menu_version}" diff --git a/out/production/tiered.main/draylar/tiered/Tiered.class b/out/production/tiered.main/draylar/tiered/Tiered.class deleted file mode 100644 index d24ab026..00000000 Binary files a/out/production/tiered.main/draylar/tiered/Tiered.class and /dev/null differ diff --git a/out/production/tiered.main/draylar/tiered/mixin/ItemStackClientMixin.class b/out/production/tiered.main/draylar/tiered/mixin/ItemStackClientMixin.class index bb290df1..6028c10a 100644 Binary files a/out/production/tiered.main/draylar/tiered/mixin/ItemStackClientMixin.class and b/out/production/tiered.main/draylar/tiered/mixin/ItemStackClientMixin.class differ diff --git a/out/production/tiered.main/draylar/tiered/mixin/ItemStackMixin.class b/out/production/tiered.main/draylar/tiered/mixin/ItemStackMixin.class index 85e46c27..572287d9 100644 Binary files a/out/production/tiered.main/draylar/tiered/mixin/ItemStackMixin.class and b/out/production/tiered.main/draylar/tiered/mixin/ItemStackMixin.class differ diff --git a/out/production/tiered.main/draylar/tiered/mixin/LivingEntityMixin.class b/out/production/tiered.main/draylar/tiered/mixin/LivingEntityMixin.class index 794c8300..83372d45 100644 Binary files a/out/production/tiered.main/draylar/tiered/mixin/LivingEntityMixin.class and b/out/production/tiered.main/draylar/tiered/mixin/LivingEntityMixin.class differ diff --git a/out/production/tiered.main/draylar/tiered/mixin/ServerResourceManagerMixin.class b/out/production/tiered.main/draylar/tiered/mixin/ServerResourceManagerMixin.class index edca5a85..7f2a1838 100644 Binary files a/out/production/tiered.main/draylar/tiered/mixin/ServerResourceManagerMixin.class and b/out/production/tiered.main/draylar/tiered/mixin/ServerResourceManagerMixin.class differ diff --git a/out/production/tiered.main/fabric.mod.json b/out/production/tiered.main/fabric.mod.json index 644a90f3..dcd73389 100644 --- a/out/production/tiered.main/fabric.mod.json +++ b/out/production/tiered.main/fabric.mod.json @@ -5,6 +5,7 @@ "name": "Tiered", "description": "Adds tiers to tools.", "authors": [ + "Andrew6rant (Andrew Grant)", "Draylar" ], "contact": { @@ -26,8 +27,9 @@ "tiered.mixins.json" ], "depends": { - "fabricloader": ">=0.8.2+build.194", + "fabricloader": ">=0.11.3", "fabric": "*", - "minecraft": ">=1.16" + "minecraft": ">=1.17", + "java": ">=16" } } diff --git a/settings.gradle b/settings.gradle index 5b60df3d..f91a4fe7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,5 @@ pluginManagement { repositories { - jcenter() maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' diff --git a/src/main/java/draylar/tiered/Tiered.java b/src/main/java/draylar/tiered/Tiered.java index cb24c499..f1d17641 100644 --- a/src/main/java/draylar/tiered/Tiered.java +++ b/src/main/java/draylar/tiered/Tiered.java @@ -15,6 +15,7 @@ import net.minecraft.item.ArmorItem; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; +import net.minecraft.resource.ResourceReloader; import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import org.apache.logging.log4j.LogManager; @@ -28,7 +29,7 @@ public class Tiered implements ModInitializer { * Attribute Data Loader instance which handles loading attribute .json files from "data/modid/item_attributes". *

This field is registered to the server's data manager in {@link ServerResourceManagerMixin} */ - public static final AttributeDataLoader ATTRIBUTE_DATA_LOADER = new AttributeDataLoader(); + public static final ResourceReloader ATTRIBUTE_DATA_LOADER = new AttributeDataLoader(); public static final UUID[] MODIFIERS = new UUID[] { UUID.fromString("845DB27C-C624-495F-8C9F-6020A9A58B6B"), diff --git a/src/main/java/draylar/tiered/mixin/ItemStackClientMixin.java b/src/main/java/draylar/tiered/mixin/ItemStackClientMixin.java index ece0cefb..57d08af6 100644 --- a/src/main/java/draylar/tiered/mixin/ItemStackClientMixin.java +++ b/src/main/java/draylar/tiered/mixin/ItemStackClientMixin.java @@ -34,11 +34,11 @@ @Mixin(ItemStack.class) public abstract class ItemStackClientMixin { - @Shadow public abstract NbtCompound getOrCreateSubTag(String key); + @Shadow public abstract NbtCompound getOrCreateSubNbt(String key); - @Shadow public abstract boolean hasTag(); + @Shadow public abstract boolean hasNbt(); - @Shadow public abstract NbtCompound getSubTag(String key); + @Shadow public abstract NbtCompound getSubNbt(String key); private boolean isTiered = false; @@ -49,8 +49,8 @@ private void storeAttributeModifier(PlayerEntity player, TooltipContext context, @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/text/TranslatableText;formatted(Lnet/minecraft/util/Formatting;)Lnet/minecraft/text/MutableText;", ordinal = 2), method = "getTooltip") private MutableText getFormatting(TranslatableText translatableText, Formatting formatting) { - if(this.hasTag() && this.getSubTag(Tiered.NBT_SUBTAG_KEY) != null && isTiered) { - Identifier tier = new Identifier(this.getOrCreateSubTag(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); + if(this.hasNbt() && this.getSubNbt(Tiered.NBT_SUBTAG_KEY) != null && isTiered) { + Identifier tier = new Identifier(this.getOrCreateSubNbt(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); PotentialAttribute attribute = Tiered.ATTRIBUTE_DATA_LOADER.getItemAttributes().get(tier); return translatableText.setStyle(attribute.getStyle()); @@ -86,8 +86,8 @@ private Multimap sort(Multimap cir) { - if(this.hasTag() && this.getSubTag("display") == null && this.getSubTag(Tiered.NBT_SUBTAG_KEY) != null) { - Identifier tier = new Identifier(getOrCreateSubTag(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); + if(this.hasNbt() && this.getSubNbt("display") == null && this.getSubNbt(Tiered.NBT_SUBTAG_KEY) != null) { + Identifier tier = new Identifier(getOrCreateSubNbt(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); // attempt to display attribute if it is valid PotentialAttribute potentialAttribute = Tiered.ATTRIBUTE_DATA_LOADER.getItemAttributes().get(tier); diff --git a/src/main/java/draylar/tiered/mixin/ItemStackMixin.java b/src/main/java/draylar/tiered/mixin/ItemStackMixin.java index 64dfa673..d705a76b 100644 --- a/src/main/java/draylar/tiered/mixin/ItemStackMixin.java +++ b/src/main/java/draylar/tiered/mixin/ItemStackMixin.java @@ -23,13 +23,13 @@ @Mixin(ItemStack.class) public abstract class ItemStackMixin { - @Shadow public abstract NbtCompound getOrCreateSubTag(String key); + @Shadow public abstract NbtCompound getOrCreateSubNbt(String key); - @Shadow public abstract NbtCompound getTag(); + @Shadow public abstract NbtCompound getNbt(); - @Shadow public abstract boolean hasTag(); + @Shadow public abstract boolean hasNbt(); - @Shadow public abstract NbtCompound getSubTag(String key); + @Shadow public abstract NbtCompound getSubNbt(String key); @Redirect( method = "getAttributeModifiers", @@ -40,10 +40,10 @@ private Multimap go(Item item, Equipme Multimap newMap = LinkedListMultimap.create(); newMap.putAll(mods); - if(getSubTag(Tiered.NBT_SUBTAG_KEY) != null) { - Identifier tier = new Identifier(getOrCreateSubTag(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); + if(getSubNbt(Tiered.NBT_SUBTAG_KEY) != null) { + Identifier tier = new Identifier(getOrCreateSubNbt(Tiered.NBT_SUBTAG_KEY).getString(Tiered.NBT_SUBTAG_DATA_KEY)); - if(!hasTag() || !getTag().contains("AttributeModifiers", 9)) { + if(!hasNbt() || !getNbt().contains("AttributeModifiers", 9)) { PotentialAttribute potentialAttribute = Tiered.ATTRIBUTE_DATA_LOADER.getItemAttributes().get(tier); if(potentialAttribute != null) { diff --git a/src/main/java/draylar/tiered/mixin/LivingEntityMixin.java b/src/main/java/draylar/tiered/mixin/LivingEntityMixin.java index 9c5bfdb9..9ba87d27 100644 --- a/src/main/java/draylar/tiered/mixin/LivingEntityMixin.java +++ b/src/main/java/draylar/tiered/mixin/LivingEntityMixin.java @@ -26,7 +26,7 @@ public LivingEntityMixin(EntityType type, World world) { * such as bonus health are reset. This is annoying with health boosting armor. */ @Redirect( - method = "readCustomDataFromTag", + method = "readCustomDataFromNbt", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;setHealth(F)V")) private void trustOverflowHealth(LivingEntity livingEntity, float health) { this.dataTracker.set(HEALTH, health); diff --git a/src/main/java/draylar/tiered/mixin/ServerResourceManagerMixin.java b/src/main/java/draylar/tiered/mixin/ServerResourceManagerMixin.java index b335f488..653d6397 100644 --- a/src/main/java/draylar/tiered/mixin/ServerResourceManagerMixin.java +++ b/src/main/java/draylar/tiered/mixin/ServerResourceManagerMixin.java @@ -4,6 +4,7 @@ import net.minecraft.resource.ReloadableResourceManager; import net.minecraft.resource.ServerResourceManager; import net.minecraft.server.command.CommandManager; +import net.minecraft.util.registry.DynamicRegistryManager; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -17,7 +18,7 @@ public class ServerResourceManagerMixin { @Shadow @Final private ReloadableResourceManager resourceManager; @Inject(at = @At("RETURN"), method = "") - private void onInit(CommandManager.RegistrationEnvironment registrationEnvironment, int i, CallbackInfo ci) { + private void onInit(DynamicRegistryManager registryManager, CommandManager.RegistrationEnvironment commandEnvironment, int functionPermissionLevel, CallbackInfo ci) { this.resourceManager.registerReloader(Tiered.ATTRIBUTE_DATA_LOADER); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 644a90f3..dcd73389 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -5,6 +5,7 @@ "name": "Tiered", "description": "Adds tiers to tools.", "authors": [ + "Andrew6rant (Andrew Grant)", "Draylar" ], "contact": { @@ -26,8 +27,9 @@ "tiered.mixins.json" ], "depends": { - "fabricloader": ">=0.8.2+build.194", + "fabricloader": ">=0.11.3", "fabric": "*", - "minecraft": ">=1.16" + "minecraft": ">=1.17", + "java": ">=16" } }