diff options
Diffstat (limited to 'mod/src/main/java')
84 files changed, 447 insertions, 1456 deletions
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/DungeonsGuide.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/DungeonsGuide.java index 9dd515c7..d54613b8 100755 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/DungeonsGuide.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/DungeonsGuide.java @@ -32,8 +32,8 @@ import kr.syeyoung.dungeonsguide.mod.cosmetics.CustomNetworkPlayerInfo; import kr.syeyoung.dungeonsguide.mod.discord.gamesdk.GameSDK; import kr.syeyoung.dungeonsguide.mod.discord.rpc.RichPresenceManager; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonFacade; +import kr.syeyoung.dungeonsguide.mod.events.annotations.EventHandlerRegistry; import kr.syeyoung.dungeonsguide.mod.events.listener.DungeonListener; -import kr.syeyoung.dungeonsguide.mod.events.listener.FeatureListener; import kr.syeyoung.dungeonsguide.mod.events.listener.PacketListener; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.mod.party.PartyManager; @@ -54,7 +54,6 @@ import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.client.network.NetworkPlayerInfo; import net.minecraft.client.renderer.ThreadDownloadImageData; -import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.texture.ITextureObject; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.resources.IResourceManager; @@ -62,8 +61,6 @@ import net.minecraft.client.resources.IResourcePack; import net.minecraft.command.CommandHandler; import net.minecraft.command.ICommand; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.launchwrapper.LaunchClassLoader; import net.minecraft.network.play.server.S38PacketPlayerListItem; import net.minecraft.util.ResourceLocation; @@ -227,7 +224,7 @@ public class DungeonsGuide implements DGInterface { registerEventsForge(commandReparty = new CommandReparty()); - registerEventsForge(new FeatureListener()); +// registerEventsForge(new FeatureListener()); registerEventsForge(packetListener = new PacketListener()); registerEventsForge(new Keybinds()); @@ -298,6 +295,9 @@ public class DungeonsGuide implements DGInterface { for (Object registeredListener : registeredListeners) { MinecraftForge.EVENT_BUS.unregister(registeredListener); } + + EventHandlerRegistry.unregisterListeners(); + List<ListenerList> all = ReflectionHelper.getPrivateValue(ListenerList.class, null, "allLists"); int busId = ReflectionHelper.getPrivateValue(EventBus.class, MinecraftForge.EVENT_BUS, "busID"); for (ListenerList listenerList : all) { diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/commands/CommandDgDebug.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/commands/CommandDgDebug.java index 5b553bdc..c3c8f581 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/commands/CommandDgDebug.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/commands/CommandDgDebug.java @@ -459,10 +459,12 @@ public class CommandDgDebug extends CommandBase { } else if ("testgui".equals(arg)) { GuiScreenAdapter adapter = new GuiScreenAdapter(new TestView()); new Thread(DungeonsGuide.THREAD_GROUP, () -> { - Minecraft.getMinecraft().addScheduledTask(() -> { - Minecraft.getMinecraft().displayGuiScreen(adapter); - }); - }).start(); + Minecraft.getMinecraft().addScheduledTask(() -> { + Minecraft.getMinecraft().displayGuiScreen(adapter); + }); + }).start(); + } else if ("clearprofile".equals(arg)) { + Minecraft.getMinecraft().mcProfiler.clearProfiling(); } else { sender.addChatMessage(new ChatComponentText("ain't gonna find much anything here")); sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §e/dg loadrooms §7-§f Reloads dungeon roomdata.")); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/listener/DiscordUserJoinRequestListener.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/events/annotations/DGEventHandler.java index add9e9ab..9bc3384e 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/listener/DiscordUserJoinRequestListener.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/events/annotations/DGEventHandler.java @@ -1,6 +1,6 @@ /* * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 + * Copyright (C) 2023 cyoung06 (syeyoung) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published @@ -16,12 +16,17 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package kr.syeyoung.dungeonsguide.mod.features.listener; +package kr.syeyoung.dungeonsguide.mod.events.annotations; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; -import kr.syeyoung.dungeonsguide.mod.events.impl.DiscordUserJoinRequestEvent; +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface DGEventHandler { + boolean triggerOutOfSkyblock() default false; - -public interface DiscordUserJoinRequestListener { - void onDiscordUserJoinRequest(DiscordUserJoinRequestEvent event); + boolean ignoreDisabled() default false; } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/events/annotations/EventHandlerRegistry.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/events/annotations/EventHandlerRegistry.java new file mode 100644 index 00000000..914652b7 --- /dev/null +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/events/annotations/EventHandlerRegistry.java @@ -0,0 +1,150 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2023 cyoung06 (syeyoung) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. |
