From 8fde794b6522f17dfe2d929616b79d5f59132bc1 Mon Sep 17 00:00:00 2001 From: Aria Date: Wed, 1 Mar 2023 02:19:47 -0700 Subject: [PATCH] Begin adding DynamicChest UI, and finish adding the HeadUtilities --- build.gradle | 4 +- gradle.properties | 2 +- .../dev/zontreck/libzontreck/LibZontreck.java | 21 ++ .../libzontreck/commands/Commands.java | 17 ++ .../libzontreck/commands/CreditsCommand.java | 30 +++ .../libzontreck/commands/GetHead.java | 37 ++++ .../dynamicchest/ChestGuiMenu.java | 48 +++++ .../dynamicchest/ChestGuiScreen.java | 5 + .../libzontreck/networking/ModMessages.java | 54 +++++ .../libzontreck/networking/chestGUI.md | 21 ++ .../networking/packets/ChestGUIOpenC2S.java | 43 ++++ .../networking/structures/OpenGUIRequest.java | 48 +++++ .../libzontreck/types/ModMenuTypes.java | 23 +++ .../libzontreck/util/ChatHelpers.java | 11 ++ .../zontreck/libzontreck/util/HeadCache.java | 184 ++++++++++++++++++ .../libzontreck/util/HeadUtilities.java | 67 +++++++ .../zontreck/libzontreck/util/HttpHelper.java | 22 +++ .../zontreck/libzontreck/util/PlayerInfo.java | 8 + .../libzontreck/util/PlayerProfileInfo.java | 9 + .../util/PlayerTextureContainer.java | 6 + src/main/resources/META-INF/mods.toml | 9 +- .../libzontreck/textures/gui/chest_gui.png | Bin 0 -> 44869 bytes .../libzontreck/textures/gui/gui.aseprite | Bin 0 -> 64956 bytes 23 files changed, 662 insertions(+), 7 deletions(-) create mode 100644 src/main/java/dev/zontreck/libzontreck/commands/Commands.java create mode 100644 src/main/java/dev/zontreck/libzontreck/commands/CreditsCommand.java create mode 100644 src/main/java/dev/zontreck/libzontreck/commands/GetHead.java create mode 100644 src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiMenu.java create mode 100644 src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiScreen.java create mode 100644 src/main/java/dev/zontreck/libzontreck/networking/ModMessages.java create mode 100644 src/main/java/dev/zontreck/libzontreck/networking/chestGUI.md create mode 100644 src/main/java/dev/zontreck/libzontreck/networking/packets/ChestGUIOpenC2S.java create mode 100644 src/main/java/dev/zontreck/libzontreck/networking/structures/OpenGUIRequest.java create mode 100644 src/main/java/dev/zontreck/libzontreck/types/ModMenuTypes.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/HeadCache.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/HeadUtilities.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/HttpHelper.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/PlayerInfo.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/PlayerProfileInfo.java create mode 100644 src/main/java/dev/zontreck/libzontreck/util/PlayerTextureContainer.java create mode 100644 src/main/resources/assets/libzontreck/textures/gui/chest_gui.png create mode 100644 src/main/resources/assets/libzontreck/textures/gui/gui.aseprite diff --git a/build.gradle b/build.gradle index 0a782f2..c8f421e 100644 --- a/build.gradle +++ b/build.gradle @@ -153,7 +153,7 @@ jar { "Specification-Vendor" : "zontreck", "Specification-Version" : "1", // We are version 1 of ourselves "Implementation-Title" : project.name, - "Implementation-Version" : project.jar.archiveVersion, + "Implementation-Version" : version, "Implementation-Vendor" : "zontreck", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) @@ -176,7 +176,7 @@ task devJar(type: Jar) { "Specification-Vendor": "zontreck", "Specification-Version": "1", "Implementation-Title": project.name, - "Implementation-Version": project.jar.archiveVersion, + "Implementation-Version": version, "Implementation-Vendor": "zontreck", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) diff --git a/gradle.properties b/gradle.properties index 13f77c1..fbbed54 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,5 +5,5 @@ org.gradle.daemon=false mc_version=1.18.2 forge_version=40.2.1 -myversion=1.0.5.0228230925 +myversion=1.0.5.0228232222 parchment_version=2022.11.06 \ No newline at end of file diff --git a/src/main/java/dev/zontreck/libzontreck/LibZontreck.java b/src/main/java/dev/zontreck/libzontreck/LibZontreck.java index f408fb5..715e567 100644 --- a/src/main/java/dev/zontreck/libzontreck/LibZontreck.java +++ b/src/main/java/dev/zontreck/libzontreck/LibZontreck.java @@ -13,14 +13,18 @@ import org.slf4j.Logger; import com.mojang.logging.LogUtils; +import dev.zontreck.libzontreck.commands.Commands; import dev.zontreck.libzontreck.events.ForgeEventHandlers; import dev.zontreck.libzontreck.events.PlayerChangedPositionEvent; import dev.zontreck.libzontreck.events.ProfileLoadedEvent; import dev.zontreck.libzontreck.memory.PlayerContainer; import dev.zontreck.libzontreck.memory.VolatilePlayerStorage; +import dev.zontreck.libzontreck.networking.ModMessages; import dev.zontreck.libzontreck.profiles.Profile; +import dev.zontreck.libzontreck.types.ModMenuTypes; import dev.zontreck.libzontreck.util.DelayedExecutorService; import dev.zontreck.libzontreck.util.FileTreeDatastore; +import net.minecraft.client.gui.screens.MenuScreens; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.common.MinecraftForge; @@ -32,6 +36,7 @@ import net.minecraftforge.event.server.ServerStoppingEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @@ -45,6 +50,10 @@ public class LibZontreck { public static boolean ALIVE; public static final String FILESTORE = FileTreeDatastore.get(); public static final Path BASE_CONFIG; + public static final String PLAYER_INFO_URL = "https://api.mojang.com/users/profiles/minecraft/"; + public static final String PLAYER_SKIN_URL = "https://sessionserver.mojang.com/session/minecraft/profile/"; + + static{ PROFILES = new HashMap<>(); @@ -69,10 +78,12 @@ public class LibZontreck { MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(new ForgeEventHandlers()); + MinecraftForge.EVENT_BUS.register(new Commands()); } private void setup(final FMLCommonSetupEvent event) { + ModMessages.register(); } @@ -97,4 +108,14 @@ public class LibZontreck { } } + @Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) + public static class ClientModEvents + { + @SubscribeEvent + public static void onClientSetup(FMLClientSetupEvent ev) + { + //MenuScreens.register(ModMenuTypes.CHESTGUI.get(), ChestGuiScreen::new); + } + } + } diff --git a/src/main/java/dev/zontreck/libzontreck/commands/Commands.java b/src/main/java/dev/zontreck/libzontreck/commands/Commands.java new file mode 100644 index 0000000..9ce7713 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/commands/Commands.java @@ -0,0 +1,17 @@ +package dev.zontreck.libzontreck.commands; + +import dev.zontreck.libzontreck.LibZontreck; +import net.minecraftforge.event.RegisterCommandsEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; + +@EventBusSubscriber(modid=LibZontreck.MOD_ID, bus=Mod.EventBusSubscriber.Bus.FORGE) +public class Commands { + @SubscribeEvent + public void onCommandsRegister(RegisterCommandsEvent ev) + { + CreditsCommand.register(ev.getDispatcher()); + GetHead.register(ev.getDispatcher()); + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/commands/CreditsCommand.java b/src/main/java/dev/zontreck/libzontreck/commands/CreditsCommand.java new file mode 100644 index 0000000..239e3c5 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/commands/CreditsCommand.java @@ -0,0 +1,30 @@ +package dev.zontreck.libzontreck.commands; + +import com.mojang.brigadier.CommandDispatcher; + +import net.minecraft.commands.CommandSourceStack; +import net.minecraft.commands.Commands; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.PlayerHeadItem; + +public class CreditsCommand { + public static void register(CommandDispatcher dispatch) + { + dispatch.register(Commands.literal("aria_credits").executes(s->credits(s.getSource()))); + } + + private static int credits(CommandSourceStack source) { + // Open the credits GUI + if(source.getEntity() instanceof Player) + { + // OK. + ServerPlayer play = (ServerPlayer)source.getEntity(); + + + return 0; + }else return 1; + } + + +} diff --git a/src/main/java/dev/zontreck/libzontreck/commands/GetHead.java b/src/main/java/dev/zontreck/libzontreck/commands/GetHead.java new file mode 100644 index 0000000..1fe9af8 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/commands/GetHead.java @@ -0,0 +1,37 @@ +package dev.zontreck.libzontreck.commands; + +import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.arguments.StringArgumentType; +import com.mojang.brigadier.exceptions.CommandSyntaxException; + +import dev.zontreck.libzontreck.util.HeadUtilities; +import dev.zontreck.libzontreck.util.HeadCache.HeadCacheItem; +import net.minecraft.commands.CommandSourceStack; +import net.minecraft.commands.Commands; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.PlayerHeadItem; + +public class GetHead { + public static void register(CommandDispatcher dispatch) + { + dispatch.register(Commands.literal("aria_debug_get_head").executes(c-> getHead(c.getSource(), c.getSource().getEntity().getName().getContents())).then(Commands.argument("name", StringArgumentType.string()).executes(c -> getHead(c.getSource(), StringArgumentType.getString(c, "name"))))); + + } + + private static int getHead(CommandSourceStack source, String string) { + try { + ServerPlayer player= source.getPlayerOrException(); + ItemStack head = HeadUtilities.get(string); + + player.addItem(head); + } catch (CommandSyntaxException e) { + e.printStackTrace(); + } + + + return 0; + } + +} diff --git a/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiMenu.java b/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiMenu.java new file mode 100644 index 0000000..1e5b0b3 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiMenu.java @@ -0,0 +1,48 @@ +package dev.zontreck.libzontreck.dynamicchest; + +import dev.zontreck.libzontreck.networking.structures.OpenGUIRequest; +import dev.zontreck.libzontreck.types.ModMenuTypes; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemStackHandler; +import net.minecraftforge.items.SlotItemHandler; + +public class ChestGuiMenu extends AbstractContainerMenu +{ + public final Player player; + + public ChestGuiMenu(int id, Inventory player) + { + this(id, player, new ItemStackHandler(36), BlockPos.ZERO, player.player, null); + } + + public ChestGuiMenu(int id, Inventory player, IItemHandler handler, BlockPos pos, Player play, OpenGUIRequest request) + { + super(ModMenuTypes.CHESTGUI.get(), id); + this.player=play; + + int slotSize=18; + int startX=11; + int startY=11; + + for(int row=0; row<4; row++) + { + for(int column = 0; column<9;column++) + { + addSlot(new SlotItemHandler(handler, row * 9 + column, startX + column * slotSize, startY + row * slotSize)); + } + } + + } + + @Override + public boolean stillValid(Player pPlayer) { + return true; // This is dynamic. We have no block entity! + } + +} diff --git a/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiScreen.java b/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiScreen.java new file mode 100644 index 0000000..388b6b5 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/dynamicchest/ChestGuiScreen.java @@ -0,0 +1,5 @@ +package dev.zontreck.libzontreck.dynamicchest; + +public class ChestGuiScreen { + +} diff --git a/src/main/java/dev/zontreck/libzontreck/networking/ModMessages.java b/src/main/java/dev/zontreck/libzontreck/networking/ModMessages.java new file mode 100644 index 0000000..e29fc26 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/networking/ModMessages.java @@ -0,0 +1,54 @@ +package dev.zontreck.libzontreck.networking; + +import dev.zontreck.libzontreck.LibZontreck; +import dev.zontreck.libzontreck.networking.packets.ChestGUIOpenC2S; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraftforge.network.NetworkDirection; +import net.minecraftforge.network.NetworkRegistry; +import net.minecraftforge.network.PacketDistributor; +import net.minecraftforge.network.simple.SimpleChannel; + +/** + * Networking system! + */ +public class ModMessages { + private static SimpleChannel INSTANCE; + private static int PACKET_ID=0; + private static int id() + { + return PACKET_ID++; + } + public static void register() + { + SimpleChannel net = NetworkRegistry.ChannelBuilder.named(new ResourceLocation(LibZontreck.MOD_ID, "messages")) + .networkProtocolVersion(()->"1.0") + .clientAcceptedVersions(s->true) + .serverAcceptedVersions(s->true) + .simpleChannel(); + + INSTANCE=net; + + net.messageBuilder(ChestGUIOpenC2S.class, id(), NetworkDirection.PLAY_TO_SERVER) + .decoder(ChestGUIOpenC2S::new) + .encoder(ChestGUIOpenC2S::toBytes) + .consumer(ChestGUIOpenC2S::handle) + .add(); + + } + + + public static void sendToServer(MSG message){ + INSTANCE.sendToServer(message); + } + + public static void sendToPlayer(MSG message, ServerPlayer player) + { + INSTANCE.send(PacketDistributor.PLAYER.with(()->player), message); + } + + public static void sendToAll(MSG message) + { + INSTANCE.send(PacketDistributor.ALL.noArg(), message); + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/networking/chestGUI.md b/src/main/java/dev/zontreck/libzontreck/networking/chestGUI.md new file mode 100644 index 0000000..e166384 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/networking/chestGUI.md @@ -0,0 +1,21 @@ +About Chest GUI +===== + +A chest GUI is basically a dynamic menu that uses items and the standard chest layout to present a list of options in game. + +These items cannot be removed from the chest and the click event is instead passed on as a ChestGUIEvent. Because the mod requesting this might not be on the client, the event is sent in both locations by utilizing a network packet. + + + +ChestGUIEvent +==== + +This event is the parent of several other events. + +OptionInteractEvent +---- +This event gets dispatched on both the client and server when a option is interacted with. + +OptionUpdateEvent +---- +To be sent by the mod originating this dynamic menu. This event will instruct the ChestGUI to update a item, or multiple items after a interaction, or something else occuring. If the GUI is not open, this event gets ignored. This event should only be sent when we know the GUI is actually open! \ No newline at end of file diff --git a/src/main/java/dev/zontreck/libzontreck/networking/packets/ChestGUIOpenC2S.java b/src/main/java/dev/zontreck/libzontreck/networking/packets/ChestGUIOpenC2S.java new file mode 100644 index 0000000..bf69280 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/networking/packets/ChestGUIOpenC2S.java @@ -0,0 +1,43 @@ +package dev.zontreck.libzontreck.networking.packets; + +import java.util.function.Supplier; + +import dev.zontreck.libzontreck.networking.structures.OpenGUIRequest; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.network.NetworkEvent; + +/** + * To be used by first-party and third-party mods to assemble a menu + * NOTE: Without the server, only the credits menu will be able to be opened, which is the only built-in menu utilizing this system. + */ +public class ChestGUIOpenC2S { + private CompoundTag data; + + public ChestGUIOpenC2S(OpenGUIRequest request) + { + data = request.serialize(); + } + + public ChestGUIOpenC2S(FriendlyByteBuf buf) + { + data = buf.readAnySizeNbt(); + } + + public void toBytes(FriendlyByteBuf buf) + { + buf.writeNbt(data); + } + + public boolean handle(Supplier supplier) + { + NetworkEvent.Context ctx = supplier.get(); + + ctx.enqueueWork(()->{ + // We are on the server! + OpenGUIRequest req = new OpenGUIRequest(data); + }); + + return true; + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/networking/structures/OpenGUIRequest.java b/src/main/java/dev/zontreck/libzontreck/networking/structures/OpenGUIRequest.java new file mode 100644 index 0000000..f66b183 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/networking/structures/OpenGUIRequest.java @@ -0,0 +1,48 @@ +package dev.zontreck.libzontreck.networking.structures; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.nbt.Tag; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; + +public class OpenGUIRequest { + public List options = new ArrayList<>(); + public String GUITitle; + public UUID playerID; + + public OpenGUIRequest(CompoundTag tag) + { + ListTag items = tag.getList("items", Tag.TAG_COMPOUND); + + for(Tag tags : items) + { + ItemStack is = ItemStack.of((CompoundTag)tags); + options.add(is); + } + + GUITitle = tag.getString("title"); + playerID = tag.getUUID("player"); + } + + public CompoundTag serialize() + { + CompoundTag tag = new CompoundTag(); + tag.putString("title", GUITitle); + tag.putUUID("player", playerID); + ListTag lst = new ListTag(); + for (ItemStack itemStack : options) { + lst.add(itemStack.serializeNBT()); + } + tag.put("items", lst); + + return tag; + } + + public OpenGUIRequest(){} +} diff --git a/src/main/java/dev/zontreck/libzontreck/types/ModMenuTypes.java b/src/main/java/dev/zontreck/libzontreck/types/ModMenuTypes.java new file mode 100644 index 0000000..ce4c4fa --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/types/ModMenuTypes.java @@ -0,0 +1,23 @@ +package dev.zontreck.libzontreck.types; + +import dev.zontreck.libzontreck.LibZontreck; +import dev.zontreck.libzontreck.dynamicchest.ChestGuiMenu; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.inventory.MenuType; +import net.minecraftforge.common.extensions.IForgeMenuType; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.network.IContainerFactory; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +public class ModMenuTypes { + public static DeferredRegister> REGISTER = DeferredRegister.create(ForgeRegistries.CONTAINERS, LibZontreck.MOD_ID); + + public static final RegistryObject> CHESTGUI = REGISTER.register("dynchest", ()->new MenuType<>(ChestGuiMenu::new)); + + public static void register(IEventBus bus) + { + REGISTER.register(bus); + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/ChatHelpers.java b/src/main/java/dev/zontreck/libzontreck/util/ChatHelpers.java index 26a99bb..5703678 100644 --- a/src/main/java/dev/zontreck/libzontreck/util/ChatHelpers.java +++ b/src/main/java/dev/zontreck/libzontreck/util/ChatHelpers.java @@ -5,6 +5,7 @@ import java.util.UUID; import dev.zontreck.libzontreck.LibZontreck; import dev.zontreck.libzontreck.chat.ChatColor; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Player; @@ -74,6 +75,16 @@ public class ChatHelpers { broadcastTo(ID.getUUID(), message, server, true); } + /** + * Returns the output with colors applied, and chat entries replaced using [number] as the format + * @param input + * @param inputs Entries to replace with in input + * @return + */ + public static TextComponent macro(String input, String... inputs) + { + return new TextComponent(macroize(input,inputs)); + } /** * Returns the output with colors applied, and chat entries replaced using [number] as the format * @param input diff --git a/src/main/java/dev/zontreck/libzontreck/util/HeadCache.java b/src/main/java/dev/zontreck/libzontreck/util/HeadCache.java new file mode 100644 index 0000000..eaaa4d8 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/HeadCache.java @@ -0,0 +1,184 @@ +package dev.zontreck.libzontreck.util; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import dev.zontreck.libzontreck.LibZontreck; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.IntArrayTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.NbtIo; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.nbt.Tag; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.PlayerHeadItem; + +public class HeadCache +{ + public static final Path CACHE_FILE; + public static final HeadCache CACHE = new HeadCache(); + public List items = new ArrayList<>(); + + public class HeadCacheItem + { + public UUID owner; + public String texture; + public String name; + + public CompoundTag serialize() + { + CompoundTag tag = new CompoundTag(); + tag.putUUID("id", owner); + tag.putString("texture", texture); + tag.putString("name", name); + + return tag; + } + + public HeadCacheItem(CompoundTag tag) + { + owner = tag.getUUID("id"); + texture = tag.getString("texture"); + name = tag.getString("name"); + } + + private HeadCacheItem() + {} + + public ItemStack getAsItem() + { + ItemStack head = new ItemStack(Items.PLAYER_HEAD, 1); + + CompoundTag skullOwner = new CompoundTag(); + skullOwner.putUUID("Id", owner); + + CompoundTag properties = new CompoundTag(); + ListTag textures = new ListTag(); + CompoundTag item = new CompoundTag(); + item.putString("Value", texture); + textures.add(item); + properties.put("textures", textures); + + skullOwner.put("Properties", properties); + head.addTagElement(PlayerHeadItem.TAG_SKULL_OWNER, skullOwner); + + TextComponent headname = ChatHelpers.macro("!Dark_red![0]'s Head", name); + head.setHoverName(headname); + + return head; + + } + + public static UUID toNewID(final String input) { + return UUID.fromString(input.replaceFirst("(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})", "$1-$2-$3-$4-$5")); + } + public String getOldID() + { + return owner.toString().replaceAll("-", ""); + } + } + + static{ + CACHE_FILE = LibZontreck.BASE_CONFIG.resolve("head_cache.nbt"); + + if(CACHE_FILE.toFile().exists()) + { + // Deserialize heads + try { + CompoundTag tag = NbtIo.read(CACHE_FILE.toFile()); + CACHE.initFromCache(tag); + } catch (IOException e) { + e.printStackTrace(); + } + }else { + CACHE.resetCache(); + } + } + + private void initFromCache(CompoundTag tag) + { + ListTag heads = tag.getList("heads", Tag.TAG_COMPOUND); + + for (Tag tag2 : heads) { + CompoundTag tag3 = (CompoundTag)tag2; + items.add(new HeadCacheItem(tag3)); + } + } + + public void saveCache() + { + try { + NbtIo.write(serialize(), CACHE_FILE.toFile()); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public CompoundTag serialize() + { + ListTag heads = new ListTag(); + for (HeadCacheItem item : items) { + heads.add(item.serialize()); + } + + CompoundTag tag = new CompoundTag(); + tag.put("heads", heads); + + return tag; + } + + /** + * Adds a new head to the cache + * @param owner + * @param texture + * @param name + * @return The item added to the cache + * @return Null if not added! + */ + public HeadCacheItem addToCache(UUID owner, String texture, String name) + { + HeadCacheItem item = new HeadCacheItem(); + item.name=name; + item.texture=texture; + item.owner=owner; + if(!hasHead(name)) + { + items.add(item); + saveCache(); + return item; + } + return null; + } + + /** + * Initializes the cache fresh using the default heads for the developer(s), contributors/testers, and patreon supporters + */ + public void resetCache() + { + HeadUtilities.get("zontreck"); + HeadUtilities.get("PossumTheWarrior"); + HeadUtilities.get("GemMD"); + } + + public boolean hasHead(String playerName) + { + for (HeadCacheItem item : items) { + if(item.name.equals(playerName)) return true; + } + return false; + } + + + public HeadCacheItem getHead(String playerName) + { + for (HeadCacheItem item : items) { + if(item.name.equals(playerName)) return item; + } + return null; + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/HeadUtilities.java b/src/main/java/dev/zontreck/libzontreck/util/HeadUtilities.java new file mode 100644 index 0000000..1152415 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/HeadUtilities.java @@ -0,0 +1,67 @@ +package dev.zontreck.libzontreck.util; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Scanner; +import java.util.UUID; + +import com.google.gson.Gson; + +import dev.zontreck.libzontreck.LibZontreck; +import dev.zontreck.libzontreck.util.HeadCache.HeadCacheItem; +import net.minecraft.world.item.ItemStack; + +/** + * Added to showcase Patreon supporters and those who have helped test or provide feedback and suggestions! + */ +public class HeadUtilities { + private static HeadCacheItem cachedLookup(String playerName) + { + if(HeadCache.CACHE.hasHead(playerName)) + { + HeadCacheItem item = HeadCache.CACHE.getHead(playerName); + return item; + }else { + // Look up head then add to cache + return externalHeadRequest(playerName); + } + } + + public static ItemStack get(String playerName) + { + return cachedLookup(playerName).getAsItem(); + } + + private static HeadCacheItem externalHeadRequest(String playerName) + { + String data=""; + try { + data = HttpHelper.getFrom(new URL(LibZontreck.PLAYER_INFO_URL + playerName)); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + + if(data.equals("")){ + return null; + } + + UUID PlayerID = null; + String playerTexture=""; + try{ + Gson gson = new Gson(); + PlayerInfo info = gson.fromJson(data, PlayerInfo.class); + + String data2 = HttpHelper.getFrom(new URL(LibZontreck.PLAYER_SKIN_URL + info.id)); + + PlayerProfileInfo info2 = gson.fromJson(data2, PlayerProfileInfo.class); + playerTexture = info2.properties.get(0).value; + PlayerID = HeadCache.HeadCacheItem.toNewID(info.id); + + + return HeadCache.CACHE.addToCache(PlayerID, playerTexture, playerName); + }catch(Exception e) + { + return null; + } + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/HttpHelper.java b/src/main/java/dev/zontreck/libzontreck/util/HttpHelper.java new file mode 100644 index 0000000..b588c9d --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/HttpHelper.java @@ -0,0 +1,22 @@ +package dev.zontreck.libzontreck.util; + +import java.net.URL; +import java.util.Scanner; + +public class HttpHelper { + public static String getFrom(URL url) + { + String data = ""; + try (Scanner s = new Scanner(url.openStream())) + { + s.useDelimiter("\\A"); + data = s.hasNext() ? s.next() : ""; + }catch(Exception e) + { + + } + + + return data; + } +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/PlayerInfo.java b/src/main/java/dev/zontreck/libzontreck/util/PlayerInfo.java new file mode 100644 index 0000000..1ca1b71 --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/PlayerInfo.java @@ -0,0 +1,8 @@ +package dev.zontreck.libzontreck.util; + +import java.util.UUID; + +public class PlayerInfo { + public String name; + public String id; +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/PlayerProfileInfo.java b/src/main/java/dev/zontreck/libzontreck/util/PlayerProfileInfo.java new file mode 100644 index 0000000..cf6fdbd --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/PlayerProfileInfo.java @@ -0,0 +1,9 @@ +package dev.zontreck.libzontreck.util; + +import java.util.List; + +public class PlayerProfileInfo { + public String id; + public String name; + public List properties; +} diff --git a/src/main/java/dev/zontreck/libzontreck/util/PlayerTextureContainer.java b/src/main/java/dev/zontreck/libzontreck/util/PlayerTextureContainer.java new file mode 100644 index 0000000..a6e54bc --- /dev/null +++ b/src/main/java/dev/zontreck/libzontreck/util/PlayerTextureContainer.java @@ -0,0 +1,6 @@ +package dev.zontreck.libzontreck.util; + +public class PlayerTextureContainer { + public String name; + public String value; +} diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index b107e9d..8156823 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -9,9 +9,9 @@ modLoader="javafml" #mandatory loaderVersion="[40,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. # The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. # Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. -license="All rights reserved" +license="GPLv3" # A URL to refer people to when problems occur with this mod -#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional +issueTrackerURL="https://github.com/zontreck/LibZontreckMod/issues" #optional # A list of mods - how many allowed here is determined by the individual mod loader [[mods]] #mandatory # The modid of the mod @@ -19,7 +19,7 @@ modId="libzontreck" #mandatory # The version number of the mod - there's a few well known ${} variables useable here or just hardcode it # ${file.jarVersion} will substitute the value of the Implementation-Version as read from the mod's JAR file metadata # see the associated build.gradle script for how to populate this completely automatically during a build -version="1.0.5.0228230925" #mandatory +version="${file.jarVersion}" #mandatory # A display name for the mod displayName="LibZontreck" #mandatory # A URL to query for updates for this mod. See the JSON update specification https://mcforge.readthedocs.io/en/latest/gettingstarted/autoupdate/ @@ -42,7 +42,8 @@ authors="Zontreck" #optional # The description text for the mod (multi line!) (#mandatory) description=''' -This mod provides common code to all of zontreck's mods. It by itself does absolutely nothing +This mod provides common code to all of zontreck's mods. + ''' # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. [[dependencies.libzontreck]] #optional diff --git a/src/main/resources/assets/libzontreck/textures/gui/chest_gui.png b/src/main/resources/assets/libzontreck/textures/gui/chest_gui.png new file mode 100644 index 0000000000000000000000000000000000000000..a7aef954d7f9b7224fbb33da614a7d6befeb3e67 GIT binary patch literal 44869 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 N002ovPDHLkV1g77d+z`M literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/libzontreck/textures/gui/gui.aseprite b/src/main/resources/assets/libzontreck/textures/gui/gui.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..55217e361c76abdaf887878a20b84ceb20d7e268 GIT binary patch literal 64956 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 z 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

q}XJ(gUA;j131+8OSH&=I>fy-So2sIl1vW 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�-S2ap95Nl!oYArGK>@uf82fq1I{LOl z;q9zuUafE3dp*6UcVtLz@1mzZ)f;LltPFZiBBZdNvKhAu`bB+gi(wH|0wJ3hEj*XuaxwUV|A ztuJgIn8zq+MWa%WDVT}hSRJ9Jt95tm;KDq7?jnx%uE6H~I8ay_>p+an5k104cjMsa z2i@Z!>y8nZMVQE`e?agG@Sn#9#r4zYZUAx}$TJUI@J)P0-0TA7!WA14c710&c>f6S znP0%c8Div0>4cWp+Mh08SvcTeS3dYc|LI48vw28^MxR)xTU0!4Vy<9_Sx_N3ddbD{ zHU2rE;b1T5)+mbiBqC()9T!LKccFg$*Ay$6cYzNbG8t1*jZ#r9iC1xgcE%l3 zf(n_zsB{6@7oBK19h5%UC4v z_rW50{?Gcs?r$sZ-p@e7Fu*Sm$F-W}fx0&mn#O_PhW;vc`x^Nz{=EU>W$@vL?3nA{ z!P%gyp93pRp9FvPW8SU28BY?p&ezU-m^KkscTa_&$@HXwO;ZF1o6t(x4%Zr|#o@RV zqiRVI5Cbbv*vmN}iE&Q|X{9y`-dqYnEJBxF_ zYp*9w46@f23Zs&&35prvaZ17e39oyAgl{WXm}+3e6bjeSBP<-+Q@j3y^cvV$jq>~0 z7^@0dya}j%7D3Zz@&b2gMTbB)Xar=cviRgcq4g%u2V&lygMvmNF&lQ$zuq$kxS_tp$Bp@)Ra$OaN0y}#SB_Tx5rQ16z9Pkr8ZOOa=Qg7owMZfy4@ z=m{MN?Kh!>sJ9)u!(FbqX;%J6vzynVW)e?`A&_;U)CaqNetl*V!}}4?g;14~xd_)3 zSi3v!uGCeifY~=fy-0uz&Y=GaVp4B0>fZ(6tCh& zLKK8bWNV1Bc;d@yvMEVW7S%dNNPGq9bXz5=49aviq(lGKdXQu;^p={(zAm-9Zt<>k zM+rvi>4qBtVfS=cEw-Nx_n3cg+ZBwJPwrbr{ymD%7Y&Yz{`O|0YE$ZX#jzL6|3o)s z&lnq<5OuktL*b@&(*{Hn4bkvfn>FhzV~bHAe;oZ=IX|-L-KqDRRv+m^hDyvL+tW)W zUTH!>J+fEv&ZfxT-S?zWKWaB-z@5#n?Mg(xYzhxH?!K6@QHYTq5t9|V8uZU9qo*r< z@fs3jN!x%ft;B@h{s%d~T+Qm1bL;n}$83DAn#N$S+a#)QGtK=_dnJE*%iXHzv?CR7 zX&tP|kcrjniISellFcsy$56ktWq8lvgUzI@N!1?x*x6u}Ic6lUnY6`)su6*bzpcY!Zf%ccU{Hd@<)fVmGXxK+hxwl zWV}U{^OTQ_tPXlVFv20#(T@rjD@3k7eq<`A9wb$fk?LhVpiRG-)YnY9Vh){<<^I_0 zokLfgKjA#9aoaim(ͼ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