Skip to content

Commit 88bfd5d

Browse files
committed
1.9.2
1 parent 1b000a5 commit 88bfd5d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1616
-849
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
mod_id=templeclient
22
mod_name=TempleClient
33
mod_group=xyz.templecheats.templeclient
4-
mod_version=1.9.1
4+
mod_version=1.9.2
55
mod_author=["PhilipPanda"]
66
mod_description=a 1.12.2 Minecraft utility mod
77
minecraft_version=1.12.2

src/main/java/xyz/templecheats/templeclient/TempleClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
public class TempleClient {
3535
public static final String MODID = "templeclient";
3636
public static final String NAME = "Temple Client";
37-
public static final String VERSION = "1.9.1";
37+
public static final String VERSION = "1.9.2";
3838
public static final MethodHandles.Lookup LOOKUP = MethodHandles.lookup();
3939
public static String name = NAME + " " + VERSION;
4040
public static AnnotatedEventManager eventBus;

src/main/java/xyz/templecheats/templeclient/config/ConfigManager.java

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import com.google.gson.JsonObject;
66
import com.google.gson.reflect.TypeToken;
77
import com.google.gson.stream.JsonReader;
8+
import net.minecraft.util.math.BlockPos;
9+
import net.minecraft.util.math.ChunkPos;
810
import xyz.templecheats.templeclient.TempleClient;
911
import xyz.templecheats.templeclient.features.module.Module;
1012
import xyz.templecheats.templeclient.features.module.modules.client.HUD;
@@ -15,6 +17,7 @@
1517
import java.io.*;
1618
import java.util.ArrayList;
1719
import java.util.List;
20+
import java.util.Map;
1821

1922
public class ConfigManager {
2023

@@ -24,6 +27,8 @@ public class ConfigManager {
2427
private final File modulesDirectory;
2528
private final File hudElementsDirectory;
2629
private final File friendsDirectory;
30+
private File baseFinderLogDirectory;
31+
private File coordsLoggerLogDirectory;
2732
private File altsDirectory;
2833
private File altsFile;
2934

@@ -33,6 +38,7 @@ public ConfigManager() {
3338
this.hudElementsDirectory = new File(this.mainDirectory, "Hud Elements");
3439
this.friendsDirectory = new File(this.mainDirectory, "Friends");
3540
this.altsDirectory = new File(this.mainDirectory, "Alts");
41+
this.baseFinderLogDirectory = new File(this.mainDirectory, "Base Finder");
3642

3743
if (!this.modulesDirectory.exists()) {
3844
this.modulesDirectory.mkdirs();
@@ -66,20 +72,15 @@ public void loadAll() {
6672

6773
private void saveModules() {
6874

69-
//iterate through each module to save its config
7075
for (Module module: ModuleManager.getModules()) {
7176

72-
//file that the config will be saved to
7377
final File moduleConfigFile = new File(this.modulesDirectory, module.getName() + ".json");
7478

75-
//json object that will store panels of the module
7679
final JsonObject moduleObject = new JsonObject();
7780

78-
//add panels
7981
moduleObject.addProperty("toggled", module.isToggled());
8082
moduleObject.addProperty("key", module.getKey());
8183

82-
//add settings
8384
final List < Setting < ? >> settings = TempleClient.settingsManager.getSettingsByMod(module);
8485
if (!settings.isEmpty()) {
8586
final JsonObject settingsObject = new JsonObject();
@@ -91,7 +92,6 @@ private void saveModules() {
9192
moduleObject.add("settings", settingsObject);
9293
}
9394

94-
//write to file
9595
try {
9696
final BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(moduleConfigFile));
9797
bufferedWriter.write(GSON.toJson(moduleObject));
@@ -107,27 +107,21 @@ private void loadModules() {
107107

108108
for (Module module: ModuleManager.getModules()) {
109109

110-
//file that the config was saved to
111110
final File moduleConfigFile = new File(this.modulesDirectory, module.getName() + ".json");
112111

113-
//dont try to load config file if it doesnt exist
114112
if (!moduleConfigFile.exists()) {
115113
continue;
116114
}
117115

118116
try {
119-
//open a file reader and json reader to read the config file
120117
final FileReader fileReader = new FileReader(moduleConfigFile);
121118
final JsonReader jsonReader = GSON.newJsonReader(fileReader);
122119

123-
//get json object from file
124120
final JsonObject moduleObject = GSON.fromJson(jsonReader, JsonObject.class);
125121

126-
//deserialize panels
127122
module.setToggled(moduleObject.get("toggled").getAsBoolean());
128123
module.setKey(moduleObject.get("key").getAsInt());
129124

130-
//deserialize settings
131125
if (moduleObject.has("settings")) {
132126
final JsonObject settingsObject = moduleObject.get("settings").getAsJsonObject();
133127
for (Setting < ? > setting : TempleClient.settingsManager.getSettingsByMod(module)) {
@@ -147,21 +141,16 @@ private void saveHud() {
147141

148142
for (HUD.HudElement element: HUD.INSTANCE.getHudElements()) {
149143

150-
//file that the config will be saved to
151144
final File hudElementConfigFile = new File(this.hudElementsDirectory, element.getName() + ".json");
152145

153-
//json object that will store panels of the module
154146
final JsonObject hudElementObject = new JsonObject();
155147

156-
//add panels
157148
hudElementObject.addProperty("enabled", element.isEnabled());
158149
hudElementObject.addProperty("x", element.getX());
159150
hudElementObject.addProperty("y", element.getY());
160151

161-
//add settings
162152
final List < Setting < ? >> settings = TempleClient.settingsManager.getSettingsByMod(element);
163153
if (!settings.isEmpty()) {
164-
//json object just for settings
165154
final JsonObject settingsObject = new JsonObject();
166155

167156
for (Setting < ? > setting : settings) {
@@ -171,7 +160,6 @@ private void saveHud() {
171160
hudElementObject.add("settings", settingsObject);
172161
}
173162

174-
//write to file
175163
try {
176164
final BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(hudElementConfigFile));
177165
bufferedWriter.write(GSON.toJson(hudElementObject));
@@ -186,28 +174,22 @@ private void saveHud() {
186174
private void loadHud() {
187175
for (HUD.HudElement element: HUD.INSTANCE.getHudElements()) {
188176

189-
//file that the config was saved to
190177
final File hudElementConfigFile = new File(this.hudElementsDirectory, element.getName() + ".json");
191178

192-
//dont try to load config file if it doesnt exist
193179
if (!hudElementConfigFile.exists()) {
194180
continue;
195181
}
196182

197183
try {
198-
//open a file reader and json reader to read the config file
199184
final FileReader fileReader = new FileReader(hudElementConfigFile);
200185
final JsonReader jsonReader = GSON.newJsonReader(fileReader);
201186

202-
//get json object from file
203187
final JsonObject hudElementObject = GSON.fromJson(jsonReader, JsonObject.class);
204188

205-
//deserialize panels
206189
element.setEnabled(hudElementObject.get("enabled").getAsBoolean());
207190
element.setX(hudElementObject.get("x").getAsDouble());
208191
element.setY(hudElementObject.get("y").getAsDouble());
209192

210-
//deserialize settings
211193
if (hudElementObject.has("settings")) {
212194
final JsonObject settingsObject = hudElementObject.get("settings").getAsJsonObject();
213195
for (Setting < ? > setting : TempleClient.settingsManager.getSettingsByMod(element)) {
@@ -280,11 +262,30 @@ public void saveAlts(List<String> alts) {
280262
}
281263
}
282264

283-
public void resetModule(Module module) {
284-
final File moduleConfigFile = new File(this.modulesDirectory, module.getName() + ".json");
285-
if (moduleConfigFile.exists()) {
286-
moduleConfigFile.delete();
265+
public void setupBaseFinderLogging() {
266+
final File baseFinderLogDirectory = new File(mainDirectory, "Base Finder");
267+
if (!baseFinderLogDirectory.exists()) {
268+
baseFinderLogDirectory.mkdirs();
269+
}
270+
}
271+
272+
public void logBaseFound(ChunkPos chunkPos, Map<String, List<BlockPos>> foundItems) {
273+
File logFile = new File(baseFinderLogDirectory, "found_bases.txt");
274+
try (BufferedWriter writer = new BufferedWriter(new FileWriter(logFile, true))) {
275+
writer.write("Base found at Chunk [" + chunkPos.x + ", " + chunkPos.z + "]:\n");
276+
foundItems.forEach((item, positions) -> {
277+
try {
278+
writer.write(" - " + positions.size() + " x " + item + " at positions:\n");
279+
for (BlockPos pos : positions) {
280+
writer.write(" [" + pos.getX() + ", " + pos.getY() + ", " + pos.getZ() + "]\n");
281+
}
282+
} catch (IOException e) {
283+
System.err.println("Error writing to base log file: " + e.getMessage());
284+
}
285+
});
286+
writer.newLine();
287+
} catch (IOException e) {
288+
System.err.println("Error opening base log file: " + e.getMessage());
287289
}
288-
loadAll();
289290
}
290291
}

src/main/java/xyz/templecheats/templeclient/event/ForgeEventManager.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import xyz.templecheats.templeclient.TempleClient;
1111
import xyz.templecheats.templeclient.event.events.player.LeftClickBlockEvent;
1212
import xyz.templecheats.templeclient.event.events.render.Render3DEvent;
13+
import xyz.templecheats.templeclient.event.events.render.Render3DPostEvent;
1314
import xyz.templecheats.templeclient.event.events.render.Render3DPreEvent;
1415
import xyz.templecheats.templeclient.event.events.render.Render3DPrePreEvent;
1516
import xyz.templecheats.templeclient.features.module.Module;
@@ -46,12 +47,15 @@ public void onRenderWorldLast(RenderWorldLastEvent event) {
4647
final Render3DPrePreEvent render3DPrePreEvent = new Render3DPrePreEvent(event.getPartialTicks());
4748
TempleClient.eventBus.dispatchEvent(render3DPrePreEvent);
4849

49-
final Render3DPreEvent render3dPreEvent = new Render3DPreEvent(event.getPartialTicks());
50-
TempleClient.eventBus.dispatchEvent(render3dPreEvent);
50+
final Render3DPreEvent render3DPreEvent = new Render3DPreEvent(event.getPartialTicks());
51+
TempleClient.eventBus.dispatchEvent(render3DPreEvent);
5152

5253
final Render3DEvent render3dEvent = new Render3DEvent(event.getPartialTicks());
5354
TempleClient.eventBus.dispatchEvent(render3dEvent);
5455

56+
final Render3DPostEvent render3dEventPost = new Render3DPostEvent(event.getPartialTicks());
57+
TempleClient.eventBus.dispatchEvent(render3dEventPost);
58+
5559
deltaTime = System.currentTimeMillis() - lastFrame;
5660
lastFrame = System.currentTimeMillis();
5761

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package xyz.templecheats.templeclient.event.events.render;
2+
3+
import xyz.templecheats.templeclient.event.EventStageable;
4+
5+
public class Render3DPostEvent extends EventStageable {
6+
public final float partialTicks;
7+
8+
public Render3DPostEvent(final float partialTicks) {
9+
this.partialTicks = partialTicks;
10+
}
11+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package xyz.templecheats.templeclient.features.command.commands;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.entity.player.EntityPlayer;
5+
import net.minecraft.util.math.BlockPos;
6+
import net.minecraft.util.text.TextComponentString;
7+
import net.minecraft.util.text.TextFormatting;
8+
import net.minecraftforge.common.MinecraftForge;
9+
import net.minecraftforge.event.entity.living.LivingDeathEvent;
10+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
11+
import xyz.templecheats.templeclient.features.command.Command;
12+
13+
import java.util.Timer;
14+
import java.util.TimerTask;
15+
16+
public class DeathCoordsCommand extends Command {
17+
private BlockPos lastDeathCoords;
18+
public DeathCoordsCommand() {
19+
super();
20+
this.lastDeathCoords = null;
21+
MinecraftForge.EVENT_BUS.register(this);
22+
}
23+
24+
@Override
25+
public String getName() {
26+
return ".deathcoords";
27+
}
28+
29+
@Override
30+
public void execute(String[] args) {
31+
Minecraft mc = Minecraft.getMinecraft();
32+
33+
if (lastDeathCoords == null) {
34+
sendMessage("No death coordinates recorded yet.", true);
35+
} else {
36+
String message = "Last death coordinates: X=" + lastDeathCoords.getX() +
37+
" Y=" + lastDeathCoords.getY() +
38+
" Z=" + lastDeathCoords.getZ();
39+
sendMessage(message, false);
40+
}
41+
}
42+
43+
protected void sendMessage(String message, boolean isError) {
44+
String prefix = TextFormatting.AQUA + "[Temple] " + TextFormatting.RESET;
45+
String textColor = TextFormatting.WHITE.toString();
46+
if (isError) {
47+
prefix += TextFormatting.RED;
48+
}
49+
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(prefix + textColor + message));
50+
}
51+
@SubscribeEvent
52+
public void onPlayerDeath(LivingDeathEvent event) {
53+
if (event.getEntityLiving() instanceof EntityPlayer && event.getEntityLiving() == Minecraft.getMinecraft().player) {
54+
lastDeathCoords = event.getEntityLiving().getPosition();
55+
sendMessage("Death coordinates logged.", false);
56+
}
57+
}
58+
}

src/main/java/xyz/templecheats/templeclient/features/command/commands/HelpCommand.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public void execute(String[] args) {
1919

2020
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".bind - Binds a module to a key"));
2121
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".coords - Copies your coordinates to your clipboard"));
22+
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".deathcoords - Shows the coordinates of your last death"));
2223
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".disconnect - Disconnects from game session"));
2324
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".friend - Adds, removes & lists your friends"));
2425
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(commandPrefix + ".fakeplayer - Adds a FakePlayer"));

src/main/java/xyz/templecheats/templeclient/features/gui/menu/CustomMainMenu.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,16 @@ public class CustomMainMenu extends GuiMainMenu {
2020

2121
private void playMusic() {
2222
if (!mc.getSoundHandler().isSoundPlaying(TempleClient.SONG_MANAGER.getMenuSong())) {
23-
mc.getSoundHandler().playSound(TempleClient.SONG_MANAGER.getMenuSong());
23+
try {
24+
mc.getSoundHandler().playSound(TempleClient.SONG_MANAGER.getMenuSong());
25+
} catch (IllegalArgumentException ex) {
26+
ex.printStackTrace();
27+
System.err.println("Value already present: " + ex.getMessage());
28+
}
2429
}
2530
}
2631

32+
2733
@Override
2834
public void initGui() {
2935
super.initGui();

src/main/java/xyz/templecheats/templeclient/features/module/modules/client/HUD.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public HUD() {
5959
this.hudElements.add(new Ping());
6060
this.hudElements.add(new PlayerView());
6161
this.hudElements.add(new PlayerName());
62-
this.hudElements.add(new PotionHUD());
62+
this.hudElements.add(new Potion());
6363
this.hudElements.add(new Server());
6464
this.hudElements.add(new Speed());
6565
this.hudElements.add(new TargetHUD());

src/main/java/xyz/templecheats/templeclient/features/module/modules/client/MiddleClick.java

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)