Skip to content

Commit 467bba0

Browse files
used the end for the location and only shows the player in tab-list
1 parent 4c9a09f commit 467bba0

File tree

4 files changed

+32
-11
lines changed

4 files changed

+32
-11
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/.gradle/
22
/build/
33
/run/
4+
/.idea/

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = 'org.zerobzerot'
7-
version = '3.0.0'
7+
version = '3.0.1'
88

99
repositories {
1010
mavenCentral()
@@ -19,7 +19,7 @@ repositories {
1919
}
2020
maven {
2121
// ProtocolLib
22-
url = 'https://repo.dmulloy2.net/nexus/repository/public/'
22+
url = 'https://repo.dmulloy2.net/repository/public/'
2323
content {
2424
includeGroup 'com.comphenix.protocol'
2525
}
@@ -30,7 +30,7 @@ dependencies {
3030
// https://jd.papermc.io/paper/1.21/
3131
compileOnly group: 'io.papermc.paper', name: 'paper-api', version: "${project.minecraft_version}-R0.1-SNAPSHOT"
3232
// https://github.com/dmulloy2/ProtocolLib
33-
compileOnly group: 'com.comphenix.protocol', name: 'ProtocolLib', version: "${project.protocollib_version}-SNAPSHOT"
33+
compileOnly group: 'com.comphenix.protocol', name: 'ProtocolLib', version: "${project.protocollib_version}"
3434
}
3535

3636
java {

src/main/java/org/zerobzerot/queueplugin/EventCanceler.java

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
import com.comphenix.protocol.PacketType;
44
import com.comphenix.protocol.events.PacketAdapter;
55
import com.comphenix.protocol.events.PacketEvent;
6+
import com.comphenix.protocol.wrappers.EnumWrappers;
67
import com.comphenix.protocol.wrappers.PlayerInfoData;
8+
import com.google.common.collect.Lists;
79
import org.bukkit.entity.EntityType;
810
import org.bukkit.event.EventHandler;
911
import org.bukkit.event.Listener;
1012
import org.bukkit.event.entity.EntitySpawnEvent;
1113
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
14+
import org.bukkit.event.world.ChunkUnloadEvent;
1215
import org.bukkit.plugin.java.JavaPlugin;
1316

1417
import java.util.HashSet;
@@ -37,8 +40,7 @@ public void onPacketReceiving(PacketEvent ev) {
3740

3841
@Override
3942
public void onPacketSending(PacketEvent ev) {
40-
41-
// these are needed or a notchian client will not join
43+
// these are needed or a notch-ian client will not join
4244
if (ev.getPacketType() == PacketType.Play.Server.KEEP_ALIVE) return;
4345
if (ev.getPacketType() == PacketType.Play.Server.LOGIN) return;
4446
if (ev.getPacketType() == PacketType.Play.Server.POSITION) return;
@@ -53,13 +55,23 @@ public void onPacketSending(PacketEvent ev) {
5355
// this keeps clients from showing server as lagging
5456
if (ev.getPacketType() == PacketType.Play.Server.UPDATE_TIME) return;
5557

56-
// if we dont send this, player has default skin lol
58+
// if we don't send this, player has default skin lol
5759
if (ev.getPacketType() == PacketType.Play.Server.PLAYER_INFO) {
58-
for (List<PlayerInfoData> list : ev.getPacket().getPlayerInfoDataLists().getValues()) {
59-
if (list == null) continue;
60-
list.removeIf(data -> data != null &&
61-
!data.getProfile().getUUID().equals(ev.getPlayer().getUniqueId()));
60+
List<PlayerInfoData> newInfoData = Lists.newArrayList();
61+
62+
// only show the player in the tab-list
63+
for (PlayerInfoData infoData : ev.getPacket().getPlayerInfoDataLists().read(1)) {
64+
if (ev.getPlayer().getUniqueId() != infoData.getProfileId())
65+
continue;
66+
67+
newInfoData.add(new PlayerInfoData(
68+
infoData.getProfile(),
69+
infoData.getLatency(),
70+
EnumWrappers.NativeGameMode.SPECTATOR,
71+
infoData.getDisplayName()));
6272
}
73+
74+
ev.getPacket().getPlayerInfoDataLists().write(1, newInfoData);
6375
return;
6476
}
6577

@@ -77,4 +89,9 @@ public void onCommand(PlayerCommandPreprocessEvent ev) {
7789
ev.setCancelled(true);
7890
}
7991

92+
@EventHandler
93+
public void onChunkSave(ChunkUnloadEvent ev) {
94+
ev.setSaveChunk(false);
95+
}
96+
8097
}

src/main/java/org/zerobzerot/queueplugin/QueuePlugin.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public final class QueuePlugin extends JavaPlugin implements Listener {
1717

1818
@Override
1919
public void onEnable() {
20-
location = new Location(getServer().getWorlds().get(0), 0, 140, 0);
20+
// This should be the end, right?
21+
location = new Location(getServer().getWorlds().getLast(), 0, 140, 0);
2122

2223
getServer().getPluginManager().registerEvents(this, this);
2324
EventCanceler eventCanceler = new EventCanceler(this);
@@ -26,6 +27,7 @@ public void onEnable() {
2627

2728
// tick once per second
2829
getServer().getServerTickManager().setTickRate(1);
30+
2931
// run once per tick
3032
getServer().getScheduler().runTaskTimer(this, () -> {
3133
for (Player player : getServer().getOnlinePlayers()) {
@@ -35,6 +37,7 @@ public void onEnable() {
3537
player.hidePlayer(this, p);
3638
p.hidePlayer(this, player);
3739
}
40+
3841
// properties
3942
player.setGameMode(GameMode.SPECTATOR);
4043
player.setAllowFlight(true);

0 commit comments

Comments
 (0)