Skip to content

Commit 3314b15

Browse files
committed
CAI subtitles spec fix + TIMV enderchests
1 parent 411b379 commit 3314b15

File tree

6 files changed

+69
-11
lines changed

6 files changed

+69
-11
lines changed

src/main/java/tk/roccodev/beezig/forge/BeezigForgeMod.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
1717
import tk.roccodev.beezig.forge.api.BeezigAPIImpl;
1818
import tk.roccodev.beezig.forge.init.ClassFinder;
19-
import tk.roccodev.beezig.forge.listener.CAITitleListener;
19+
import tk.roccodev.beezig.forge.listener.games.cai.TitleListener;
20+
import tk.roccodev.beezig.forge.listener.games.timv.EnderchestsListener;
2021
import tk.roccodev.beezig.forge.packet.BeezigNetHandler;
2122

2223

@@ -41,7 +42,8 @@ public class BeezigForgeMod {
4142
public void onInit(FMLInitializationEvent evt) {
4243

4344
MinecraftForge.EVENT_BUS.register(this);
44-
CAITitleListener.inst = new CAITitleListener();
45+
MinecraftForge.EVENT_BUS.register(new EnderchestsListener());
46+
TitleListener.inst = new TitleListener();
4547
}
4648

4749
@SubscribeEvent
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package tk.roccodev.beezig.forge.gamefields;
2+
3+
import tk.roccodev.beezig.forge.init.ClassFinder;
4+
5+
import java.lang.reflect.Field;
6+
7+
public class TIMV {
8+
9+
private static Field currentEnderchestField;
10+
11+
public static void callInit() {
12+
try {
13+
currentEnderchestField = ClassFinder.findClass("tk.roccodev.beezig.games.TIMV").getField("currentEnderchests");
14+
} catch (NoSuchFieldException e) {
15+
e.printStackTrace();
16+
}
17+
}
18+
19+
public static void setEnderchests(long enderchests) {
20+
try {
21+
currentEnderchestField.set(null, enderchests);
22+
} catch (IllegalAccessException e) {
23+
e.printStackTrace();
24+
}
25+
}
26+
27+
}

src/main/java/tk/roccodev/beezig/forge/listener/ForgeListenerImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import net.minecraft.client.Minecraft;
44
import net.minecraftforge.fml.client.config.IConfigElement;
55
import tk.roccodev.beezig.forge.BeezigForgeMod;
6+
import tk.roccodev.beezig.forge.gamefields.TIMV;
67
import tk.roccodev.beezig.forge.gui.settings.GuiBeezigSettings;
78
import tk.roccodev.beezig.forge.settings.BeezigConfigElement;
89

@@ -15,11 +16,11 @@ public void onLoad(String s, String s1) {
1516
System.out.println("Found Beezig " + s + " on 5zig " + s1);
1617
BeezigForgeMod.loaded = true;
1718

18-
if(!s.equals(BeezigForgeMod.VERSION)) {
19+
if(!s.equals(BeezigForgeMod.VERSION))
1920
BeezigForgeMod.versionUpdate = true;
2021

2122

22-
}
23+
TIMV.callInit();
2324

2425
}
2526

src/main/java/tk/roccodev/beezig/forge/listener/CAITitleListener.java renamed to src/main/java/tk/roccodev/beezig/forge/listener/games/cai/TitleListener.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package tk.roccodev.beezig.forge.listener;
1+
package tk.roccodev.beezig.forge.listener.games.cai;
22

33
import net.minecraft.client.Minecraft;
44
import net.minecraft.network.play.server.S45PacketTitle;
@@ -9,9 +9,9 @@
99
import java.util.regex.Pattern;
1010

1111

12-
public class CAITitleListener {
12+
public class TitleListener {
1313

14-
public static CAITitleListener inst;
14+
public static TitleListener inst;
1515

1616
public boolean onTitle(S45PacketTitle packetIn) {
1717
if(packetIn == null) return true;
@@ -25,6 +25,7 @@ public boolean onTitle(S45PacketTitle packetIn) {
2525

2626
if(msg.equals("§r§eThe leader of the §r§bindians§r§e has been§r§4 CAUGHT§r§e!§r")) {
2727
String caiTeam = API.inst.getCAITeam();
28+
if(caiTeam.isEmpty()) return true;
2829
if(caiTeam.equals("Indians")) {
2930
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
3031
"§cYour leader has been §e§lCAUGHT!",
@@ -43,6 +44,7 @@ public boolean onTitle(S45PacketTitle packetIn) {
4344
}
4445
else if(msg.equals("§r§eThe leader of the §r§bcowboys§r§e has been§r§4 CAUGHT§r§e!§r")) {
4546
String caiTeam = API.inst.getCAITeam();
47+
if(caiTeam.isEmpty()) return true;
4648
if(caiTeam.equals("Cowboys")) {
4749
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
4850
"§cYour leader has been §e§lCAUGHT!",
@@ -73,6 +75,7 @@ else if(msg.startsWith("§r§cCowboys§r§b leader")) {
7375
}
7476
if(msg.endsWith("has been§r§6 §r§6§lCAPTURED!§r")) {
7577
String caiTeam = API.inst.getCAITeam();
78+
if(caiTeam.isEmpty()) return true;
7679
if(caiTeam.equals("Cowboys")) {
7780
name = name.replace("~", "§c");
7881
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
@@ -92,6 +95,7 @@ else if(msg.startsWith("§r§cCowboys§r§b leader")) {
9295
}
9396
else if(msg.endsWith("has§r§5 §r§5§lESCAPED!§r")) {
9497
String caiTeam = API.inst.getCAITeam();
98+
if(caiTeam.isEmpty()) return true;
9599
if(caiTeam.equals("Cowboys")) {
96100
name = name.replace("~", "§a");
97101
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
@@ -125,6 +129,7 @@ else if(msg.startsWith("§r§eIndians§r§b leader")) {
125129
}
126130
if(msg.endsWith("has been§r§6 §r§6§lCAPTURED!§r")) {
127131
String caiTeam = API.inst.getCAITeam();
132+
if(caiTeam.isEmpty()) return true;
128133
if(caiTeam.equals("Indians")) {
129134
name = name.replace("~", "§c");
130135
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
@@ -144,6 +149,7 @@ else if(msg.startsWith("§r§eIndians§r§b leader")) {
144149
}
145150
else if(msg.endsWith("has§r§5 §r§5§lESCAPED!§r")) {
146151
String caiTeam = API.inst.getCAITeam();
152+
if(caiTeam.isEmpty()) return true;
147153
if(caiTeam.equals("Indians")) {
148154
name = name.replace("~", "§a");
149155
Minecraft.getMinecraft().ingameGUI.displayTitle(null,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package tk.roccodev.beezig.forge.listener.games.timv;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.init.Blocks;
5+
import net.minecraft.world.World;
6+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
7+
import net.minecraftforge.fml.common.gameevent.TickEvent;
8+
import tk.roccodev.beezig.forge.gamefields.TIMV;
9+
10+
public class EnderchestsListener {
11+
12+
@SubscribeEvent
13+
public void onRenderChunk(TickEvent.ClientTickEvent evt) {
14+
try {
15+
if(evt.phase != TickEvent.Phase.END) return;
16+
if(Minecraft.getMinecraft().theWorld == null) return;
17+
World w = Minecraft.getMinecraft().theWorld;
18+
19+
TIMV.setEnderchests(w.loadedTileEntityList.stream()
20+
.filter(tileEntity -> tileEntity.getBlockType() == Blocks.ender_chest).count());
21+
} catch(Exception ignored) {}
22+
}
23+
24+
}

src/main/java/tk/roccodev/beezig/forge/packet/BeezigNetHandler.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
import net.minecraft.client.Minecraft;
44
import net.minecraft.client.gui.GuiScreen;
55
import net.minecraft.client.network.NetHandlerPlayClient;
6-
import net.minecraft.network.Packet;
76
import net.minecraft.network.play.server.*;
8-
import net.minecraft.util.IChatComponent;
97
import tk.roccodev.beezig.forge.API;
108
import tk.roccodev.beezig.forge.api.BeezigAPIImpl;
11-
import tk.roccodev.beezig.forge.listener.CAITitleListener;
9+
import tk.roccodev.beezig.forge.listener.games.cai.TitleListener;
1210

1311
import java.lang.reflect.Field;
1412

@@ -360,7 +358,7 @@ public void handleWorldBorder(S44PacketWorldBorder packetIn) {
360358

361359
@Override
362360
public void handleTitle(S45PacketTitle packetIn) {
363-
if(!CAITitleListener.inst.onTitle(packetIn)) return;
361+
if(!TitleListener.inst.onTitle(packetIn)) return;
364362
if(api.onPacketReceived(0x45, packetIn.toString()))
365363
parent.handleTitle(packetIn);
366364
}

0 commit comments

Comments
 (0)