aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--src/main/java/me/Danker/DankersSkyblockMod.java1
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java1
-rw-r--r--src/main/java/me/Danker/features/HidePlayerArmour.java51
-rw-r--r--src/main/java/me/Danker/gui/DankerGui.java8
-rw-r--r--src/main/java/me/Danker/handlers/ConfigHandler.java1
6 files changed, 64 insertions, 0 deletions
diff --git a/README.md b/README.md
index 4ae2a40..a04bd50 100644
--- a/README.md
+++ b/README.md
@@ -63,6 +63,7 @@ Discord Server: https://discord.gg/QsEkNQS
- Ability cooldowns display
- Custom alerts based on chat
- Predicted dungeon score display
+- Hide player armour
## Commands
- /dhelp - Returns this message in-game.
@@ -148,3 +149,4 @@ Software | License
[HyChat](https://github.com/Moulberry/Hychat) | [Creative Commons Public License](https://github.com/Moulberry/Hychat/blob/master/LICENSE)
[SkyblockCatia](https://github.com/SteveKunG/SkyBlockcatia) | [MIT License](https://github.com/SteveKunG/SkyBlockcatia/blob/1.8.9/LICENSE.md)
[MatterOverdrive (Legacy Edition)](https://bitbucket.org/hrznstudio/mo-legacy-edition/) | [GNU General Public License](https://bitbucket.org/hrznstudio/mo-legacy-edition/src/1.12.2/LICENSE.md)
+[Hide Armour](https://github.com/Furgl/Hide-Armor/tree/1.15.2) | No License
diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java
index 02eeff4..353247d 100644
--- a/src/main/java/me/Danker/DankersSkyblockMod.java
+++ b/src/main/java/me/Danker/DankersSkyblockMod.java
@@ -131,6 +131,7 @@ public class DankersSkyblockMod {
MinecraftForge.EVENT_BUS.register(new GolemSpawningAlert());
MinecraftForge.EVENT_BUS.register(new GpartyNotifications());
MinecraftForge.EVENT_BUS.register(new HidePetCandy());
+ MinecraftForge.EVENT_BUS.register(new HidePlayerArmour());
MinecraftForge.EVENT_BUS.register(new HideTooltipsInExperiments());
MinecraftForge.EVENT_BUS.register(new HighlightSkeletonMasters());
MinecraftForge.EVENT_BUS.register(new IceWalkSolver());
diff --git a/src/main/java/me/Danker/commands/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java
index 04770aa..2281a0a 100644
--- a/src/main/java/me/Danker/commands/ToggleCommand.java
+++ b/src/main/java/me/Danker/commands/ToggleCommand.java
@@ -48,6 +48,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
public static boolean abilityCooldowns;
public static boolean alerts;
public static boolean dungeonScore;
+ public static boolean hideArmour;
// Chat Messages
public static boolean sceptreMessages;
public static boolean midasStaffMessages;
diff --git a/src/main/java/me/Danker/features/HidePlayerArmour.java b/src/main/java/me/Danker/features/HidePlayerArmour.java
new file mode 100644
index 0000000..8cc47d0
--- /dev/null
+++ b/src/main/java/me/Danker/features/HidePlayerArmour.java
@@ -0,0 +1,51 @@
+package me.Danker.features;
+
+import me.Danker.commands.ToggleCommand;
+import me.Danker.utils.Utils;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.event.RenderLivingEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class HidePlayerArmour {
+
+ List<ItemStack> armour = new ArrayList<>();
+
+ @SubscribeEvent
+ public void onRenderLivingPre(RenderLivingEvent.Pre<EntityLivingBase> event) {
+ if (ToggleCommand.hideArmour && Utils.inSkyblock) {
+ if (event.entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.entity;
+
+ for (int i = 0; i < player.inventory.armorInventory.length; i++) {
+ if (player.inventory.armorInventory[i] != null) {
+ armour.add(player.inventory.armorInventory[i].copy());
+ player.inventory.armorInventory[i] = null;
+ } else {
+ armour.add(null);
+ }
+ }
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onRenderLivingPost(RenderLivingEvent.Post<EntityLivingBase> event) {
+ if (ToggleCommand.hideArmour && Utils.inSkyblock) {
+ if (event.entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.entity;
+
+ for (int i = 0; i < player.inventory.armorInventory.length; i++) {
+ player.inventory.armorInventory[i] = armour.get(i);
+ }
+
+ armour.clear();
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/me/Danker/gui/DankerGui.java b/src/main/java/me/Danker/gui/DankerGui.java
index a6f76b1..fb84b0a 100644
--- a/src/main/java/me/Danker/gui/DankerGui.java
+++ b/src/main/java/me/Danker/gui/DankerGui.java
@@ -1,5 +1,6 @@
package me.Danker.gui;
+import jdk.nashorn.internal.runtime.regexp.joni.Config;
import me.Danker.commands.ToggleCommand;
import me.Danker.gui.alerts.AlertsGui;
import me.Danker.gui.buttons.FeatureButton;
@@ -85,6 +86,7 @@ public class DankerGui extends GuiScreen {
private GuiButton necronNotifications;
private GuiButton bonzoTimer;
private GuiButton dungeonScore;
+ private GuiButton hideArmour;
// Chat Messages
private GuiButton sceptreMessages;
private GuiButton midasStaffMessages;
@@ -175,6 +177,7 @@ public class DankerGui extends GuiScreen {
autoAcceptReparty = new FeatureButton("Auto Accept Reparty: " + Utils.getColouredBoolean(ToggleCommand.autoAcceptReparty), "Automatically rejoins parties when disbanded and invited.");
abilityCooldown = new FeatureButton("Ability Cooldowns: " + Utils.getColouredBoolean(ToggleCommand.abilityCooldowns), "Displays ability cooldowns.");
dungeonScore = new FeatureButton("Dungeon Score Display: " + Utils.getColouredBoolean(ToggleCommand.dungeonScore), "Displays an estimated dungeon score with secrets.");
+ hideArmour = new FeatureButton("Hide Player Armour: " + Utils.getColouredBoolean(ToggleCommand.hideArmour), "Makes player armour invisible, showing their skin.");
allButtons.clear();
allButtons.add(changeDisplay);
@@ -231,6 +234,7 @@ public class DankerGui extends GuiScreen {
allButtons.add(autoAcceptReparty);
allButtons.add(abilityCooldown);
allButtons.add(dungeonScore);
+ allButtons.add(hideArmour);
search.setText(initSearchText);
search.setVisible(true);
@@ -510,6 +514,10 @@ public class DankerGui extends GuiScreen {
ToggleCommand.masterSPlusDisplay = !ToggleCommand.masterSPlusDisplay;
ConfigHandler.writeBooleanConfig("toggles", "MasterSPlusDisplay", ToggleCommand.masterSPlusDisplay);
masterSPlusDisplay.displayString = "Display MM S+ Runs: " + Utils.getColouredBoolean(ToggleCommand.masterSPlusDisplay);
+ } else if (button == hideArmour) {
+ ToggleCommand.hideArmour = !ToggleCommand.hideArmour;
+ ConfigHandler.writeBooleanConfig("toggles", "HideArmour", ToggleCommand.hideArmour);
+ hideArmour.displayString = "Hide Player Armour: " + Utils.getColouredBoolean(ToggleCommand.hideArmour);
}
}
diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java
index dc57e91..ed28704 100644
--- a/src/main/java/me/Danker/handlers/ConfigHandler.java
+++ b/src/main/java/me/Danker/handlers/ConfigHandler.java
@@ -241,6 +241,7 @@ public class ConfigHandler {
ToggleCommand.autoSkillTrackerToggled = initBoolean("toggles", "AutoSkillTracker", false);
ToggleCommand.alerts = initBoolean("toggles", "Alerts", false);
ToggleCommand.dungeonScore = initBoolean("toggles", "DungeonScore", false);
+ ToggleCommand.hideArmour = initBoolean("toggles", "HideArmour", false);
// Chat Messages
ToggleCommand.sceptreMessages = initBoolean("toggles", "SceptreMessages", true);
ToggleCommand.midasStaffMessages = initBoolean("toggles", "MidasStaffMessages", true);