Skip to content

Commit ae0c6c4

Browse files
committed
rewrote tuffx
1 parent 29785c7 commit ae0c6c4

Some content is hidden

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

62 files changed

+570778
-250
lines changed

dependency-reduced-pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@
5858
<id>mvnrepository.com</id>
5959
<url>https://mvnrepository.com</url>
6060
</repository>
61+
<repository>
62+
<id>dmulloy2-repo</id>
63+
<url>https://repo.dmulloy2.net/repository/public/</url>
64+
</repository>
6165
</repositories>
6266
<dependencies>
6367
<dependency>
@@ -66,6 +70,12 @@
6670
<version>1.21.8-R0.1-SNAPSHOT</version>
6771
<scope>provided</scope>
6872
</dependency>
73+
<dependency>
74+
<groupId>net.dmulloy2</groupId>
75+
<artifactId>ProtocolLib</artifactId>
76+
<version>5.4.0</version>
77+
<scope>provided</scope>
78+
</dependency>
6979
<dependency>
7080
<groupId>com.viaversion</groupId>
7181
<artifactId>viabackwards</artifactId>

pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@
8888
<id>mvnrepository.com</id>
8989
<url>https://mvnrepository.com</url>
9090
</repository>
91+
92+
<repository>
93+
<id>dmulloy2-repo</id>
94+
<url>https://repo.dmulloy2.net/repository/public/</url>
95+
</repository>
9196
</repositories>
9297

9398
<dependencies>
@@ -98,6 +103,13 @@
98103
<scope>provided</scope>
99104
</dependency>
100105

106+
<dependency>
107+
<groupId>net.dmulloy2</groupId>
108+
<artifactId>ProtocolLib</artifactId>
109+
<version>5.4.0</version>
110+
<scope>provided</scope>
111+
</dependency>
112+
101113
<dependency>
102114
<groupId>com.viaversion</groupId>
103115
<artifactId>viabackwards</artifactId>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package net.potato.tuff;
2+
3+
import com.comphenix.protocol.PacketType;
4+
import com.comphenix.protocol.ProtocolLibrary;
5+
import com.comphenix.protocol.ProtocolManager;
6+
import com.comphenix.protocol.events.PacketAdapter;
7+
import com.comphenix.protocol.events.PacketEvent;
8+
import org.bukkit.Chunk;
9+
import org.bukkit.World;
10+
import org.bukkit.entity.Player;
11+
import net.potato.tuff.TuffX;
12+
13+
public class ChunkPacketListener {
14+
15+
private static boolean initialized = false;
16+
17+
public static void initialize(TuffX plugin) {
18+
if (initialized) {
19+
return;
20+
}
21+
22+
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
23+
if (protocolManager == null) {
24+
plugin.getLogger().severe("Could not initialize ChunkPacketListener because ProtocolManager is null!");
25+
return;
26+
}
27+
28+
protocolManager.addPacketListener(
29+
new PacketAdapter(plugin, PacketType.Play.Server.MAP_CHUNK) {
30+
@Override
31+
public void onPacketSending(PacketEvent event) {
32+
Player player = event.getPlayer();
33+
34+
if (!((TuffX) this.plugin).isPlayerReady(player)) {
35+
return;
36+
}
37+
38+
World world = player.getWorld();
39+
int chunkX = event.getPacket().getIntegers().read(0);
40+
int chunkZ = event.getPacket().getIntegers().read(1);
41+
42+
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> {
43+
if (player.isOnline() && world.isChunkLoaded(chunkX, chunkZ)) {
44+
Chunk chunk = world.getChunkAt(chunkX, chunkZ);
45+
((TuffX) this.plugin).processAndSendChunk(player, chunk);
46+
}
47+
});
48+
}
49+
}
50+
);
51+
52+
plugin.getLogger().info("ProtocolLib listener for chunks registered successfully.");
53+
initialized = true;
54+
}
55+
}

0 commit comments

Comments
 (0)