aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java
diff options
context:
space:
mode:
authorLorenz <ESs95s3P5z8Pheb>2022-07-08 12:42:27 +0200
committerLorenz <ESs95s3P5z8Pheb>2022-07-08 12:42:27 +0200
commit7306eac55e3f5f5f0a0307e5af9e5fb7e147d0ab (patch)
treeca4c68f02782c8910e3ce8d6b92f6649bb51a111 /src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java
parentabd6c5d7275149a616ef9513e528eea270e526b5 (diff)
downloadskyhanni-7306eac55e3f5f5f0a0307e5af9e5fb7e147d0ab.tar.gz
skyhanni-7306eac55e3f5f5f0a0307e5af9e5fb7e147d0ab.tar.bz2
skyhanni-7306eac55e3f5f5f0a0307e5af9e5fb7e147d0ab.zip
renamed lorenz mod
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java215
1 files changed, 215 insertions, 0 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java b/src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java
new file mode 100644
index 000000000..a07604db0
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud/LorenzMod.java
@@ -0,0 +1,215 @@
+package com.thatgravyboat.skyblockhud;
+
+import at.lorenz.mod.Features;
+import at.lorenz.mod.HideNotClickableItems;
+import at.lorenz.mod.ItemDisplayOverlayFeatures;
+import at.lorenz.mod.bazaar.BazaarApi;
+import at.lorenz.mod.bazaar.BazaarOrderHelper;
+import at.lorenz.mod.chat.ChatFilter;
+import at.lorenz.mod.chat.ChatManager;
+import at.lorenz.mod.dungeon.DungeonChatFilter;
+import at.lorenz.mod.dungeon.DungeonHighlightClickedBlocks;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.thatgravyboat.skyblockhud.commands.Commands;
+import com.thatgravyboat.skyblockhud.config.SBHConfig;
+import com.thatgravyboat.skyblockhud.textures.Textures;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.resources.IReloadableResourceManager;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.common.Mod.EventHandler;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import net.minecraftforge.fml.common.gameevent.TickEvent;
+
+@Mod(modid = LorenzMod.MODID, version = LorenzMod.VERSION)
+public class LorenzMod {
+
+ public static final String MODID = "lorenzmod";
+ public static final String VERSION = "0.1";
+
+ @Deprecated
+ public static SBHConfig config;//TODO delete
+ public static Features feature;
+ private File configFile;
+
+ // private static final Set<String> SKYBLOCK_IN_ALL_LANGUAGES = Sets.newHashSet("SKYBLOCK", "\u7A7A\u5C9B\u751F\u5B58");
+
+ private final Gson gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create();
+
+ public static File configDirectory;
+
+ @EventHandler
+ public void preInit(FMLPreInitializationEvent event) {
+
+ new BazaarApi();
+
+ MinecraftForge.EVENT_BUS.register(this);
+ MinecraftForge.EVENT_BUS.register(new BazaarOrderHelper());
+ MinecraftForge.EVENT_BUS.register(new ChatManager());
+ MinecraftForge.EVENT_BUS.register(new ChatFilter());
+ MinecraftForge.EVENT_BUS.register(new DungeonChatFilter());
+ MinecraftForge.EVENT_BUS.register(new HideNotClickableItems());
+ MinecraftForge.EVENT_BUS.register(new DungeonHighlightClickedBlocks());
+ MinecraftForge.EVENT_BUS.register(new ItemDisplayOverlayFeatures());
+
+ Commands.init();
+
+ // MinecraftForge.EVENT_BUS.register(new LeaderboardGetter());
+ // MinecraftForge.EVENT_BUS.register(new SeasonDateHandler());
+ // MinecraftForge.EVENT_BUS.register(new LocationHandler());
+ // MinecraftForge.EVENT_BUS.register(new IslandHandler());
+ // MinecraftForge.EVENT_BUS.register(new TimeHandler());
+ // MinecraftForge.EVENT_BUS.register(new CurrencyHandler());
+ // MinecraftForge.EVENT_BUS.register(new SlayerHandler());
+ // MinecraftForge.EVENT_BUS.register(new DungeonHandler());
+ // MinecraftForge.EVENT_BUS.register(new MinesHandler());
+ // MinecraftForge.EVENT_BUS.register(new FarmingIslandHandler());
+ //
+ // MinecraftForge.EVENT_BUS.register(new TrackerHandler());
+ // MinecraftForge.EVENT_BUS.register(new KillTracking());
+ //
+ // MinecraftForge.EVENT_BUS.register(new HeldItemHandler());
+ //
+ // ClientRegistry.registerKeyBinding(KeyBindings.map);
+ //
+ // MinecraftForge.EVENT_BUS.register(new ComponentHandler());
+ // MinecraftForge.EVENT_BUS.register(new ActionBarParsing());
+ // MinecraftForge.EVENT_BUS.register(new CrystalWaypoints());
+ // MinecraftForge.EVENT_BUS.register(new FarmHouseHandler());
+ // MinecraftForge.EVENT_BUS.register(new WarpHandler());
+ // MinecraftForge.EVENT_BUS.register(new CooldownHandler());
+
+ //
+ // ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new NpcDialogue());
+ ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new Textures());
+ //
+ configDirectory = new File("mods/LorenzMod/config");
+ try {
+ //noinspection ResultOfMethodCallIgnored
+ configDirectory.mkdir();
+ } catch (Exception ignored) {}
+
+ configFile = new File(configDirectory, "config.json");
+
+ if (configFile.exists()) {
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(configFile), StandardCharsets.UTF_8))) {
+ feature = gson.fromJson(reader, Features.class);
+ } catch (Exception ignored) {
+ }
+ }
+
+ if (feature == null) {
+ feature = new Features();
+ saveConfig();
+ }
+ //
+ // Textures.setTexture(config.misc.style);
+ //
+ // if (WarpHandler.load()) {
+ // WarpHandler.save();
+ // }
+ //
+ Runtime.getRuntime().addShutdownHook(new Thread(this::saveConfig));
+ // Runtime.getRuntime().addShutdownHook(new Thread(TrackerFileLoader::saveTrackerStatsFile));
+ }
+
+ public void saveConfig() {
+ try {
+ //noinspection ResultOfMethodCallIgnored
+ configFile.createNewFile();
+
+ try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(configFile), StandardCharsets.UTF_8))) {
+ writer.write(gson.toJson(feature));
+ }
+ } catch (IOException ignored) {
+ }
+ }
+
+ // @EventHandler
+ // public void postInit(FMLPostInitializationEvent event) {
+ // MinecraftForge.EVENT_BUS.register(new OverlayHud());
+ // MinecraftForge.EVENT_BUS.register(new RPGHud());
+ // MinecraftForge.EVENT_BUS.register(new DungeonOverlay());
+ // MinecraftForge.EVENT_BUS.register(new BossbarHandler());
+ // MinecraftForge.EVENT_BUS.register(new MapHandler());
+ // MinecraftForge.EVENT_BUS.register(new MiningHud());
+ // MinecraftForge.EVENT_BUS.register(new NpcDialogue());
+ // }
+
+ // @EventHandler
+ // public void loadComplete(FMLLoadCompleteEvent event) {
+ // TrackerFileLoader.loadTrackersFile();
+ //
+ // if (TrackerFileLoader.loadTrackerStatsFile()) {
+ // TrackerFileLoader.saveTrackerStatsFile();
+ // }
+ // }
+
+ // @SubscribeEvent
+ // public void onLeaveServer(FMLNetworkEvent.ClientDisconnectionFromServerEvent event) {
+ // TrackerFileLoader.saveTrackerStatsFile();
+ // }
+
+ public static boolean hasSkyblockScoreboard() {
+ // Minecraft mc = Minecraft.getMinecraft();
+ //
+ // if (mc != null && mc.theWorld != null) {
+ // Scoreboard scoreboard = mc.theWorld.getScoreboard();
+ // ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(1);
+ // if (sidebarObjective != null) {
+ // String objectiveName = sidebarObjective.getDisplayName().replaceAll("(?i)\\u00A7.", "");
+ // for (String skyblock : SKYBLOCK_IN_ALL_LANGUAGES) {
+ // if (objectiveName.startsWith(skyblock)) {
+ // return true;
+ // }
+ // }
+ // }
+ // }
+
+ return false;
+ }
+
+ // @SubscribeEvent
+ // public void onTooltip(ItemTooltipEvent event) {
+ // if (event.itemStack != null && Keyboard.isKeyDown(Keyboard.KEY_BACKSLASH)) {
+ // try {
+ // StringSelection clipboard = new StringSelection(event.itemStack.serializeNBT().toString());
+ // Toolkit.getDefaultToolkit().getSystemClipboard().setContents(clipboard, clipboard);
+ // } catch (Exception ignored) {}
+ // }
+ // }
+
+ // @SubscribeEvent(priority = EventPriority.HIGHEST)
+ // public void onStatusBar(ClientChatReceivedEvent event) {
+ // String message = Utils.removeColor(event.message.getUnformattedText()).toLowerCase().trim();
+ //
+ // if (message.startsWith("your profile was changed to:")) {
+ // String stripped = message.replace("your profile was changed to:", "").replace("(co-op)", "").trim();
+ // MinecraftForge.EVENT_BUS.post(new ProfileSwitchedEvent(stripped));
+ // }
+ // if (message.startsWith("you are playing on profile:")) {
+ // String stripped = message.replace("you are playing on profile:", "").replace("(co-op)", "").trim();
+ // MinecraftForge.EVENT_BUS.post(new ProfileJoinedEvent(stripped));
+ // }
+ // }
+
+ public static GuiScreen screenToOpen = null;
+ private static int screenTicks = 0;
+
+ @SubscribeEvent
+ public void onClientTick(TickEvent.ClientTickEvent event) {
+ if (screenToOpen != null) {
+ screenTicks++;
+ if (screenTicks == 5) {
+ Minecraft.getMinecraft().displayGuiScreen(screenToOpen);
+ screenTicks = 0;
+ screenToOpen = null;
+ }
+ }
+ }
+}