diff options
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java')
-rw-r--r-- | src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java | 269 |
1 files changed, 150 insertions, 119 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java b/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java index a31889e..7d06d99 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java @@ -19,6 +19,11 @@ import com.thatgravyboat.skyblockhud.overlay.OverlayHud; import com.thatgravyboat.skyblockhud.overlay.RPGHud; import com.thatgravyboat.skyblockhud.playerstats.ActionBarParsing; import com.thatgravyboat.skyblockhud.seasons.SeasonDateHandler; +import java.awt.*; +import java.awt.datatransfer.StringSelection; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.Set; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.scoreboard.ScoreObjective; @@ -36,94 +41,108 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import org.lwjgl.input.Keyboard; -import java.awt.*; -import java.awt.datatransfer.StringSelection; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.util.Set; - @Mod(modid = SkyblockHud.MODID, version = SkyblockHud.VERSION) -public class SkyblockHud -{ - public static final String MODID = "skyblockhud"; - public static final String VERSION = "1.12"; +public class SkyblockHud { - public static SBHConfig config; + public static final String MODID = "skyblockhud"; + public static final String VERSION = "1.12"; - private File configFile; + public static SBHConfig config; - private static final Set<String> SKYBLOCK_IN_ALL_LANGUAGES = Sets.newHashSet("SKYBLOCK","\u7A7A\u5C9B\u751F\u5B58"); + private File configFile; - private final Gson gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create(); + private static final Set<String> SKYBLOCK_IN_ALL_LANGUAGES = Sets.newHashSet( + "SKYBLOCK", + "\u7A7A\u5C9B\u751F\u5B58" + ); - private static File configDirectory; + private final Gson gson = new GsonBuilder() + .setPrettyPrinting() + .excludeFieldsWithoutExposeAnnotation() + .create(); - @EventHandler - public void preInit(FMLPreInitializationEvent event){ - MinecraftForge.EVENT_BUS.register(this); - 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 DwarvenMineHandler()); - MinecraftForge.EVENT_BUS.register(new FarmingIslandHandler()); - - /* DISABLE UNTIL NEW SYSTEM + private static File configDirectory; + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + MinecraftForge.EVENT_BUS.register(this); + 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 DwarvenMineHandler()); + MinecraftForge.EVENT_BUS.register(new FarmingIslandHandler()); + + /* DISABLE UNTIL NEW SYSTEM MinecraftForge.EVENT_BUS.register(new TrackerHandler()); MinecraftForge.EVENT_BUS.register(new KillTrackerHandler()); */ - MinecraftForge.EVENT_BUS.register(new HeldItemHandler()); - - ClientRegistry.registerKeyBinding(KeyBindings.map); - - MinecraftForge.EVENT_BUS.register(new ComponentHandler()); - MinecraftForge.EVENT_BUS.register(new ActionBarParsing()); - Commands.init(); - - configFile = new File(event.getModConfigurationDirectory(), "sbh-config.json"); - - if(configFile.exists()) { - try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(configFile), StandardCharsets.UTF_8))) { - config = gson.fromJson(reader, SBHConfig.class); - } catch(Exception ignored) { } - } - - - if(config == null) { - config = new SBHConfig(); - saveConfig(); - } - - configDirectory = event.getModConfigurationDirectory(); - - Runtime.getRuntime().addShutdownHook(new Thread(this::saveConfig)); - //Runtime.getRuntime().addShutdownHook(new Thread(() -> TrackerFileLoader.saveTrackerStatsFile(event.getModConfigurationDirectory()))); + MinecraftForge.EVENT_BUS.register(new HeldItemHandler()); + + ClientRegistry.registerKeyBinding(KeyBindings.map); + + MinecraftForge.EVENT_BUS.register(new ComponentHandler()); + MinecraftForge.EVENT_BUS.register(new ActionBarParsing()); + Commands.init(); + + configFile = + new File(event.getModConfigurationDirectory(), "sbh-config.json"); + + if (configFile.exists()) { + try ( + BufferedReader reader = new BufferedReader( + new InputStreamReader( + new FileInputStream(configFile), + StandardCharsets.UTF_8 + ) + ) + ) { + config = gson.fromJson(reader, SBHConfig.class); + } catch (Exception ignored) {} } - public void saveConfig() { - try { - configFile.createNewFile(); - - try(BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(configFile), StandardCharsets.UTF_8))) { - writer.write(gson.toJson(config)); - } - } catch(IOException ignored) {} + if (config == null) { + config = new SBHConfig(); + saveConfig(); } - @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()); - } - - /* DISABLE UNTIL NEW SYSTEM + configDirectory = event.getModConfigurationDirectory(); + + Runtime.getRuntime().addShutdownHook(new Thread(this::saveConfig)); + //Runtime.getRuntime().addShutdownHook(new Thread(() -> TrackerFileLoader.saveTrackerStatsFile(event.getModConfigurationDirectory()))); + } + + public void saveConfig() { + try { + configFile.createNewFile(); + + try ( + BufferedWriter writer = new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(configFile), + StandardCharsets.UTF_8 + ) + ) + ) { + writer.write(gson.toJson(config)); + } + } 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()); + } + + /* DISABLE UNTIL NEW SYSTEM @EventHandler public void loadComplete(FMLLoadCompleteEvent event){ @@ -141,55 +160,67 @@ public class SkyblockHud */ - 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; - } - } - } + 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) { - } - } + 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){ - if (Utils.removeColor(event.message.getUnformattedText()).toLowerCase().trim().startsWith("your profile was changed to:")){ - MinecraftForge.EVENT_BUS.post(new ProfileSwitchedEvent()); - } + } + + @SubscribeEvent(priority = EventPriority.HIGHEST) + public void onStatusBar(ClientChatReceivedEvent event) { + if ( + Utils + .removeColor(event.message.getUnformattedText()) + .toLowerCase() + .trim() + .startsWith("your profile was changed to:") + ) { + MinecraftForge.EVENT_BUS.post(new ProfileSwitchedEvent()); } - - 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; - } - } + } + + 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; + } } + } } |