aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/commands/DankerGuiCommand.java
blob: 0f3b52736d784299681cbe1673a3b35b8365aeef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package me.Danker.commands;

import me.Danker.DankersSkyblockMod;
import me.Danker.features.EndOfFarmAlert;
import me.Danker.features.SkillTracker;
import me.Danker.features.loot.LootDisplay;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.ResourcePackRepository;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.StringUtils;

import java.awt.*;
import java.awt.datatransfer.StringSelection;
import java.util.Collections;
import java.util.List;

public class DankerGuiCommand extends CommandBase {

	@Override
	public String getCommandName() {
		return "dsm";
	}

	@Override
	public List<String> getCommandAliases() {
		return Collections.singletonList("dankersskyblockmod");
	}

	@Override
	public String getCommandUsage(ICommandSender arg0) {
		return "/" + getCommandName();
	}

	public static String usage(ICommandSender arg0) {
		return new DankerGuiCommand().getCommandUsage(arg0);
	}

	@Override
	public int getRequiredPermissionLevel() {
		return 0;
	}
	
	@Override
	public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException {
		if (arg1.length > 0 && arg1[0].equalsIgnoreCase("debug")) {
			StringBuilder debug = new StringBuilder();
			debug.append("```md\n");
			debug.append("# Toggles\n");
			debug.append("[gparty][").append(ToggleCommand.gpartyToggled).append("]\n");
			debug.append("[coords][").append(ToggleCommand.coordsToggled).append("]\n");
			debug.append("[golden][").append(ToggleCommand.goldenToggled).append("]\n");
			debug.append("[slayercount][").append(ToggleCommand.slayerCountTotal).append("]\n");
			debug.append("[rngesusalerts][").append(ToggleCommand.rngesusAlerts).append("]\n");
			debug.append("[splitfishing][").append(ToggleCommand.splitFishing).append("]\n");
			debug.append("[chatmaddox][").append(ToggleCommand.chatMaddoxToggled).append("]\n");
			debug.append("[spiritbearalerts][").append(ToggleCommand.spiritBearAlerts).append("]\n");
			debug.append("[sceptremessages][").append(ToggleCommand.sceptreMessages).append("]\n");
			debug.append("[petcolors][").append(ToggleCommand.petColoursToggled).append("]\n");
			debug.append("[dungeontimer][").append(ToggleCommand.dungeonTimerToggled).append("]\n");
			debug.append("[golemalerts][").append(ToggleCommand.golemAlertToggled).append("]\n");
			debug.append("[expertiselore][").append(ToggleCommand.expertiseLoreToggled).append("]\n");
			debug.append("[skill50display][").append(ToggleCommand.skill50DisplayToggled).append("]\n");
			debug.append("[outlinetext][").append(ToggleCommand.outlineTextToggled).append("]\n");
			debug.append("[midasstaffmessages][").append(ToggleCommand.midasStaffMessages).append("]\n");
			debug.append("[implosionmessages][").append(ToggleCommand.implosionMessages).append("]\n");
			debug.append("[healmessages][").append(ToggleCommand.healMessages).append("]\n");
			debug.append("[cooldownmessages][").append(ToggleCommand.cooldownMessages).append("]\n");
			debug.append("[manamessages][").append(ToggleCommand.manaMessages).append("]\n");
			debug.append("[killcombomessages][").append(ToggleCommand.killComboMessages).append("]\n");
			debug.append("[caketimer][").append(ToggleCommand.cakeTimerToggled).append("]\n");
			debug.append("[lowhealthnotify][").append(ToggleCommand.lowHealthNotifyToggled).append("]\n");
			debug.append("[lividsolver][").append(ToggleCommand.lividSolverToggled).append("]\n");
			debug.append("[stopsalvagestarred][").append(ToggleCommand.stopSalvageStarredToggled).append("]\n");
			debug.append("[notifyslayerslain][").append(ToggleCommand.notifySlayerSlainToggled).append("]\n");
			debug.append("[necronnotifications][").append(ToggleCommand.necronNotificationsToggled).append("]\n");
			debug.append("[bonzotimer][").append(ToggleCommand.bonzoTimerToggled).append("]\n");
			debug.append("[autoskilltracker][").append(ToggleCommand.autoSkillTrackerToggled).append("]\n");
			debug.append("[threemanpuzzle][").append(ToggleCommand.threeManToggled).append("]\n");
			debug.append("[oruopuzzle][").append(ToggleCommand.oruoToggled).append("]\n");
			debug.append("[blazepuzzle][").append(ToggleCommand.blazeToggled).append("]\n");
			debug.append("[creeperpuzzle][").append(ToggleCommand.creeperToggled).append("]\n");
			debug.append("[creeperlines][").append(ToggleCommand.creeperLinesToggled).append("]\n");
			debug.append("[waterpuzzle][").append(ToggleCommand.waterToggled).append("]\n");
			debug.append("[tictactoepuzzle][").append(ToggleCommand.ticTacToeToggled).append("]\n");
			debug.append("[boulderpuzzle][").append(ToggleCommand.boulderToggled).append("]\n");
			debug.append("[silverfishpuzzle][").append(ToggleCommand.silverfishToggled).append("]\n");
			debug.append("[icewalkpuzzle][").append(ToggleCommand.iceWalkToggled).append("]\n");
			debug.append("[watchermessage][").append(ToggleCommand.watcherReadyToggled).append("]\n");
			debug.append("[startswithterminal][").append(ToggleCommand.startsWithToggled).append("]\n");
			debug.append("[selectallterminal][").append(ToggleCommand.selectAllToggled).append("]\n");
			debug.append("[clickinorderterminal][").append(ToggleCommand.clickInOrderToggled).append("]\n");
			debug.append("[ultrasequencer][").append(ToggleCommand.ultrasequencerToggled).append("]\n");
			debug.append("[chronomatron][").append(ToggleCommand.chronomatronToggled).append("]\n");
			debug.append("[superpairs][").append(ToggleCommand.superpairsToggled).append("]\n");
			debug.append("[hidetooltipsinaddons][").append(ToggleCommand.hideTooltipsInExperimentAddonsToggled).append("]\n");
			debug.append("[pickblock][").append(ToggleCommand.swapToPickBlockToggled).append("]\n");
			debug.append("[melodytooltips][").append(ToggleCommand.melodyTooltips).append("]\n");
			debug.append("[highlightslayers][").append(ToggleCommand.highlightSlayers).append("]\n");
			debug.append("[highlightarachne][").append(ToggleCommand.highlightArachne).append("]\n");
			debug.append("[highlightskeletonmasters][").append(ToggleCommand.highlightSkeletonMasters).append("]\n");
			debug.append("[teammatesinradius][").append(ToggleCommand.teammatesInRadius).append("]\n");
			debug.append("[gianthp][").append(ToggleCommand.giantHP).append("]\n");
			debug.append("[hidepetcandy][").append(ToggleCommand.hidePetCandy).append("]\n");
			debug.append("[customcolourednames][").append(ToggleCommand.customColouredNames).append("]\n");
			debug.append("[endoffarmalert][").append(ToggleCommand.endOfFarmAlert).append("]\n");
			debug.append("[gemstonelore][").append(ToggleCommand.gemstoneLore).append("]\n");
			debug.append("[crystalhollowwaypoints][").append(ToggleCommand.crystalHollowWaypoints).append("]\n");
			debug.append("[crystalautowaypoints][").append(ToggleCommand.crystalAutoWaypoints).append("]\n");
			debug.append("[autoacceptreparty][").append(ToggleCommand.autoAcceptReparty).append("]\n");
			debug.append("[abilitycooldowns][").append(ToggleCommand.abilityCooldowns).append("]\n");
			debug.append("[dungeonbossmusic][").append(ToggleCommand.dungeonBossMusic).append("]\n");
			debug.append("[bloodroommusic][").append(ToggleCommand.bloodRoomMusic).append("]\n");
			debug.append("[dungeonmusic][").append(ToggleCommand.dungeonMusic).append("]\n");
			debug.append("# Locations\n");
			debug.append("[coords][").append(MoveCommand.coordsXY[0]).append(", ").append(MoveCommand.coordsXY[1]).append("]\n");
			debug.append("[display][").append(MoveCommand.displayXY[0]).append(", ").append(MoveCommand.displayXY[1]).append("]\n");
			debug.append("[dungeontimer][").append(MoveCommand.dungeonTimerXY[0]).append(", ").append(MoveCommand.dungeonTimerXY[1]).append("]\n");
			debug.append("[skill50][").append(MoveCommand.skill50XY[0]).append(", ").append(MoveCommand.skill50XY[1]).append("]\n");
			debug.append("[lividhp][").append(MoveCommand.lividHpXY[0]).append(", ").append(MoveCommand.lividHpXY[1]).append("]\n");
			debug.append("[caketimer][").append(MoveCommand.cakeTimerXY[0]).append(", ").append(MoveCommand.cakeTimerXY[1]).append("]\n");
			debug.append("[skilltracker][").append(MoveCommand.skillTrackerXY[0]).append(", ").append(MoveCommand.skillTrackerXY[1]).append("]\n");
			debug.append("[wateranswer][").append(MoveCommand.waterAnswerXY[0]).append(", ").append(MoveCommand.waterAnswerXY[1]).append("]\n");
			debug.append("[bonzotimer][").append(MoveCommand.bonzoTimerXY[0]).append(", ").append(MoveCommand.bonzoTimerXY[1]).append("]\n");
			debug.append("[golemtimer][").append(MoveCommand.golemTimerXY[0]).append(", ").append(MoveCommand.golemTimerXY[1]).append("]\n");
			debug.append("[teammatesinradius][").append(MoveCommand.teammatesInRadiusXY[0]).append(", ").append(MoveCommand.teammatesInRadiusXY[1]).append("]\n");
			debug.append("[gianthp][").append(MoveCommand.giantHPXY[0]).append(", ").append(MoveCommand.giantHPXY[1]).append("]\n");
			debug.append("[abilitycooldowns][").append(MoveCommand.abilityCooldownsXY[0]).append(", ").append(MoveCommand.abilityCooldownsXY[1]).append("]\n");
			debug.append("# Other Settings\n");
			debug.append("[Current Display][").append(LootDisplay.display).append("]\n");
			debug.append("[Auto Display][").append(LootDisplay.auto).append("]\n");
			debug.append("[Skill Tracker Visible][").append(SkillTracker.showSkillTracker).append("]\n");
			debug.append("[Farm Length][").append(EndOfFarmAlert.min).append(" to ").append(EndOfFarmAlert.max).append("]\n");
			debug.append("# Problematic Mods\n");
			debug.append("[LabyMod][").append(DankersSkyblockMod.usingLabymod).append("]\n");
			debug.append("[OAM][").append(DankersSkyblockMod.usingOAM).append("]\n");
			debug.append("# Resource Packs\n");
			if (Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries().size() == 0) {
				debug.append("<None>\n");
			} else {
				for (ResourcePackRepository.Entry resource : Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries()) {
					debug.append("<").append(StringUtils.stripControlCodes(resource.getResourcePackName())).append(">\n");
				}
			}
			debug.append("```");
			StringSelection clipboard = new StringSelection(debug.toString());
			Toolkit.getDefaultToolkit().getSystemClipboard().setContents(clipboard, clipboard);
			Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Debug stats copied to clipboard."));
			return;
		}

		DankersSkyblockMod.guiToOpen = "dankergui1";
	}

}