From c3d9096e6360f5b45d4c2c0264d6dfd0e3852ede Mon Sep 17 00:00:00 2001 From: Zontreck Date: Tue, 13 Feb 2024 22:43:36 -0700 Subject: [PATCH] Merge the 1.19 changes into the 1.20 codebase --- gradle.properties | 6 +-- .../dev/zontreck/libzontreck/LibZontreck.java | 2 - .../zontreck/libzontreck/chat/HoverTip.java | 3 +- .../libzontreck/chestgui/ChestGUI.java | 3 +- .../libzontreck/items/CreativeModeTabs.java | 46 ------------------- .../dev/zontreck/libzontreck/util/SNbtIo.java | 45 ++++++++++++++++++ .../libzontreck/util/heads/CreditsEntry.java | 3 +- 7 files changed, 54 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/dev/zontreck/libzontreck/items/CreativeModeTabs.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/SNbtIo.java diff --git a/gradle.properties b/gradle.properties index 50bba12..5ff2ff9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,8 @@ org.gradle.daemon=false parchment_version=2023.09.03 # luckperms_api_version=5.4 -libac=1.4.18 -eventsbus=1.0.31 +libac=1.4.46 +eventsbus=1.0.45 ## Environment Properties # The Minecraft version must agree with the Forge version to get a valid artifact @@ -53,7 +53,7 @@ mod_name=Zontreck Library Mod # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=GPLv3 # The mod version. See https://semver.org/ -mod_version=1.10.011524.0045 +mod_version=1.10.021324.2257 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/dev/zontreck/libzontreck/LibZontreck.java b/src/main/java/dev/zontreck/libzontreck/LibZontreck.java index eafd174..bc5fe5e 100644 --- a/src/main/java/dev/zontreck/libzontreck/LibZontreck.java +++ b/src/main/java/dev/zontreck/libzontreck/LibZontreck.java @@ -13,13 +13,11 @@ import dev.zontreck.eventsbus.Bus; import dev.zontreck.libzontreck.chestgui.ChestGUIRegistry; import dev.zontreck.libzontreck.currency.Bank; import dev.zontreck.libzontreck.currency.CurrencyHelper; -import dev.zontreck.libzontreck.items.CreativeModeTabs; import dev.zontreck.libzontreck.items.ModItems; import dev.zontreck.libzontreck.menus.ChestGUIScreen; import dev.zontreck.libzontreck.types.ModMenuTypes; import dev.zontreck.libzontreck.networking.NetworkEvents; import net.minecraft.client.gui.screens.MenuScreens; -import net.minecraftforge.registries.RegisterEvent; import org.slf4j.Logger; import com.mojang.logging.LogUtils; diff --git a/src/main/java/dev/zontreck/libzontreck/chat/HoverTip.java b/src/main/java/dev/zontreck/libzontreck/chat/HoverTip.java index 2eafb13..083d974 100644 --- a/src/main/java/dev/zontreck/libzontreck/chat/HoverTip.java +++ b/src/main/java/dev/zontreck/libzontreck/chat/HoverTip.java @@ -1,5 +1,6 @@ package dev.zontreck.libzontreck.chat; +import dev.zontreck.libzontreck.util.ChatHelpers; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.HoverEvent; import net.minecraft.network.chat.HoverEvent.Action; @@ -17,7 +18,7 @@ public class HoverTip { */ public static HoverEvent get(String text) { - return new HoverEvent(Action.SHOW_TEXT, Component.literal(text)); + return new HoverEvent(Action.SHOW_TEXT, ChatHelpers.macro(text)); } /** diff --git a/src/main/java/dev/zontreck/libzontreck/chestgui/ChestGUI.java b/src/main/java/dev/zontreck/libzontreck/chestgui/ChestGUI.java index ae829ec..8e41c10 100644 --- a/src/main/java/dev/zontreck/libzontreck/chestgui/ChestGUI.java +++ b/src/main/java/dev/zontreck/libzontreck/chestgui/ChestGUI.java @@ -7,6 +7,7 @@ import dev.zontreck.libzontreck.items.ModItems; import dev.zontreck.libzontreck.menus.ChestGUIMenu; import dev.zontreck.libzontreck.networking.ModMessages; import dev.zontreck.libzontreck.networking.packets.S2CCloseChestGUI; +import dev.zontreck.libzontreck.util.ChatHelpers; import dev.zontreck.libzontreck.util.ServerUtilities; import dev.zontreck.libzontreck.vectors.Vector2; import dev.zontreck.libzontreck.vectors.Vector2i; @@ -198,7 +199,7 @@ public class ChestGUI { updateUtilityButtons(); MinecraftForge.EVENT_BUS.post(new OpenGUIEvent(id, player, this)); - NetworkHooks.openScreen(ServerUtilities.getPlayerByID(player.toString()), new SimpleMenuProvider(ChestGUIMenu.getServerMenu(this), Component.literal((MenuTitle != "") ? MenuTitle : "No Title"))); + NetworkHooks.openScreen(ServerUtilities.getPlayerByID(player.toString()), new SimpleMenuProvider(ChestGUIMenu.getServerMenu(this), ChatHelpers.macro((MenuTitle != "") ? MenuTitle : "No Title"))); } } diff --git a/src/main/java/dev/zontreck/libzontreck/items/CreativeModeTabs.java b/src/main/java/dev/zontreck/libzontreck/items/CreativeModeTabs.java deleted file mode 100644 index 5a24937..0000000 --- a/src/main/java/dev/zontreck/libzontreck/items/CreativeModeTabs.java +++ /dev/null @@ -1,46 +0,0 @@ -package dev.zontreck.libzontreck.items; - -import dev.zontreck.libzontreck.LibZontreck; -import net.minecraft.core.registries.Registries; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.ItemLike; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - -//@Mod.EventBusSubscriber(modid = LibZontreck.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) -public class CreativeModeTabs -{ - public static final DeferredRegister REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, LibZontreck.MOD_ID); - - public static final List> LZ_MOD_ITEMS = new ArrayList<>(); - - public static final RegistryObject LIBZONTRECK_TAB = REGISTRY.register("libzontreck", ()->CreativeModeTab.builder() - .title(Component.translatable("itemGroup.tabs.libzontreck")) - .icon(Items.BARRIER::getDefaultInstance) - .displayItems((display,output)->LZ_MOD_ITEMS.forEach(it->output.accept(it.get()))) - .build() - ); - - public static RegistryObject addToLZTab(RegistryObject item) - { - LZ_MOD_ITEMS.add(item); - return item; - } - - - public static void register(IEventBus bus) - { - REGISTRY.register(bus); - } - -} diff --git a/src/main/java/dev/zontreck/libzontreck/util/SNbtIo.java b/src/main/java/dev/zontreck/libzontreck/util/SNbtIo.java new file mode 100644 index 0000000..120a93e --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/SNbtIo.java @@ -0,0 +1,45 @@ +package dev.zontreck.libzontreck.util; + +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import dev.zontreck.ariaslib.util.FileIO; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; + +import java.io.File; +import java.nio.file.Path; + +/** + * Provides helpers for reading and writing snbt to file + */ +public class SNbtIo +{ + /** + * Read the file at the path, and deserialize from snbt + * @param path The file to load + * @return The deserialized compound tag, or a blank tag + */ + public static CompoundTag loadSnbt(Path path) + { + if(!path.toFile().exists()) + return new CompoundTag(); + else { + File fi = path.toFile(); + try { + return NbtUtils.snbtToStructure(FileIO.readFile(fi.getAbsolutePath())); + } catch (CommandSyntaxException e) { + return new CompoundTag(); + } + } + } + + /** + * Writes the tag to the file specified + * @param path The file to write + * @param tag The tag to serialize + */ + public static void writeSnbt(Path path, CompoundTag tag) + { + String snbt = NbtUtils.structureToSnbt(tag); + FileIO.writeFile(path.toFile().getAbsolutePath(), snbt); + } +} \ No newline at end of file diff --git a/src/main/java/dev/zontreck/libzontreck/util/heads/CreditsEntry.java b/src/main/java/dev/zontreck/libzontreck/util/heads/CreditsEntry.java index 67a92a0..2c228bf 100644 --- a/src/main/java/dev/zontreck/libzontreck/util/heads/CreditsEntry.java +++ b/src/main/java/dev/zontreck/libzontreck/util/heads/CreditsEntry.java @@ -4,6 +4,7 @@ import dev.zontreck.libzontreck.chat.ChatColor; import dev.zontreck.libzontreck.lore.ExtraLore; import dev.zontreck.libzontreck.lore.LoreContainer; import dev.zontreck.libzontreck.lore.LoreEntry; +import dev.zontreck.libzontreck.util.ChatHelpers; import dev.zontreck.libzontreck.util.heads.HeadCache.HeadCacheItem; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; @@ -28,7 +29,7 @@ public class CreditsEntry { public ItemStack compile() { ItemStack stack = player.getAsItem(""); - stack.setHoverName(Component.literal(name)); + stack.setHoverName(ChatHelpers.macro(name)); LoreContainer contain = new LoreContainer(stack); contain.clear(); LoreEntry.Builder builder = new LoreEntry.Builder();