forked from BLOCKFANTASY/LOOHP-Limbo
Minecraft 1.20
This commit is contained in:
@@ -24,7 +24,7 @@
|
|||||||
<groupId>com.loohp</groupId>
|
<groupId>com.loohp</groupId>
|
||||||
<artifactId>Limbo</artifactId>
|
<artifactId>Limbo</artifactId>
|
||||||
<name>Limbo</name>
|
<name>Limbo</name>
|
||||||
<version>0.7.4-ALPHA</version>
|
<version>0.7.5-ALPHA</version>
|
||||||
|
|
||||||
<description>Standalone Limbo Minecraft Server.</description>
|
<description>Standalone Limbo Minecraft Server.</description>
|
||||||
<url>https://github.com/LOOHP/Limbo</url>
|
<url>https://github.com/LOOHP/Limbo</url>
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
<finalName>${project.artifactId}-${project.version}-1.19.4</finalName>
|
<finalName>${project.artifactId}-${project.version}-1.20</finalName>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<profiles>
|
<profiles>
|
||||||
@@ -256,31 +256,31 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-text-serializer-gson</artifactId>
|
<artifactId>adventure-text-serializer-gson</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.14.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-text-serializer-legacy</artifactId>
|
<artifactId>adventure-text-serializer-legacy</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.14.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-text-serializer-plain</artifactId>
|
<artifactId>adventure-text-serializer-plain</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.14.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-api</artifactId>
|
<artifactId>adventure-api</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.14.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-nbt</artifactId>
|
<artifactId>adventure-nbt</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.14.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -139,8 +139,8 @@ public final class Limbo {
|
|||||||
|
|
||||||
//===========================
|
//===========================
|
||||||
|
|
||||||
public final String SERVER_IMPLEMENTATION_VERSION = "1.19.4";
|
public final String SERVER_IMPLEMENTATION_VERSION = "1.20";
|
||||||
public final int SERVER_IMPLEMENTATION_PROTOCOL = 762;
|
public final int SERVER_IMPLEMENTATION_PROTOCOL = 763;
|
||||||
public final String LIMBO_IMPLEMENTATION_VERSION;
|
public final String LIMBO_IMPLEMENTATION_VERSION;
|
||||||
|
|
||||||
private final AtomicBoolean isRunning;
|
private final AtomicBoolean isRunning;
|
||||||
|
|||||||
@@ -573,7 +573,7 @@ public class ClientConnection extends Thread {
|
|||||||
worldSpawn = spawnEvent.getSpawnLocation();
|
worldSpawn = spawnEvent.getSpawnLocation();
|
||||||
World world = worldSpawn.getWorld();
|
World world = worldSpawn.getWorld();
|
||||||
|
|
||||||
PacketPlayOutLogin join = new PacketPlayOutLogin(player.getEntityId(), false, properties.getDefaultGamemode(), Limbo.getInstance().getWorlds(), Limbo.getInstance().getDimensionRegistry().getCodec(), world, 0, (byte) properties.getMaxPlayers(), 8, 8, properties.isReducedDebugInfo(), true, false, true);
|
PacketPlayOutLogin join = new PacketPlayOutLogin(player.getEntityId(), false, properties.getDefaultGamemode(), Limbo.getInstance().getWorlds(), Limbo.getInstance().getDimensionRegistry().getCodec(), world, 0, (byte) properties.getMaxPlayers(), 8, 8, properties.isReducedDebugInfo(), true, false, true, 0);
|
||||||
sendPacket(join);
|
sendPacket(join);
|
||||||
Limbo.getInstance().getUnsafe().a(player, properties.getDefaultGamemode());
|
Limbo.getInstance().getUnsafe().a(player, properties.getDefaultGamemode());
|
||||||
|
|
||||||
|
|||||||
+1
-8
@@ -44,7 +44,6 @@ public class ClientboundLevelChunkWithLightPacket extends PacketOut {
|
|||||||
private int chunkZ;
|
private int chunkZ;
|
||||||
private Chunk chunk;
|
private Chunk chunk;
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
private boolean trustEdges;
|
|
||||||
private long[] skyLightBitMasks;
|
private long[] skyLightBitMasks;
|
||||||
private long[] blockLightBitMasks;
|
private long[] blockLightBitMasks;
|
||||||
private long[] skyLightBitMasksEmpty;
|
private long[] skyLightBitMasksEmpty;
|
||||||
@@ -52,12 +51,11 @@ public class ClientboundLevelChunkWithLightPacket extends PacketOut {
|
|||||||
private List<Byte[]> skylightArrays;
|
private List<Byte[]> skylightArrays;
|
||||||
private List<Byte[]> blocklightArrays;
|
private List<Byte[]> blocklightArrays;
|
||||||
|
|
||||||
public ClientboundLevelChunkWithLightPacket(int chunkX, int chunkZ, Chunk chunk, Environment environment, boolean trustEdges, List<Byte[]> skylightArrays, List<Byte[]> blocklightArrays) {
|
public ClientboundLevelChunkWithLightPacket(int chunkX, int chunkZ, Chunk chunk, Environment environment, List<Byte[]> skylightArrays, List<Byte[]> blocklightArrays) {
|
||||||
this.chunkX = chunkX;
|
this.chunkX = chunkX;
|
||||||
this.chunkZ = chunkZ;
|
this.chunkZ = chunkZ;
|
||||||
this.chunk = chunk;
|
this.chunk = chunk;
|
||||||
this.environment = environment;
|
this.environment = environment;
|
||||||
this.trustEdges = trustEdges;
|
|
||||||
this.skylightArrays = skylightArrays;
|
this.skylightArrays = skylightArrays;
|
||||||
this.blocklightArrays = blocklightArrays;
|
this.blocklightArrays = blocklightArrays;
|
||||||
|
|
||||||
@@ -96,10 +94,6 @@ public class ClientboundLevelChunkWithLightPacket extends PacketOut {
|
|||||||
return environment;
|
return environment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isTrustEdges() {
|
|
||||||
return trustEdges;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long[] getSkyLightBitMasks() {
|
public long[] getSkyLightBitMasks() {
|
||||||
return skyLightBitMasks;
|
return skyLightBitMasks;
|
||||||
}
|
}
|
||||||
@@ -258,7 +252,6 @@ public class ClientboundLevelChunkWithLightPacket extends PacketOut {
|
|||||||
DataTypeIO.writeCompoundTag(output, each);
|
DataTypeIO.writeCompoundTag(output, each);
|
||||||
}
|
}
|
||||||
|
|
||||||
output.writeBoolean(trustEdges);
|
|
||||||
DataTypeIO.writeVarInt(output, skyLightBitMasks.length);
|
DataTypeIO.writeVarInt(output, skyLightBitMasks.length);
|
||||||
for (long l : skyLightBitMasks) {
|
for (long l : skyLightBitMasks) {
|
||||||
output.writeLong(l);
|
output.writeLong(l);
|
||||||
|
|||||||
@@ -49,8 +49,9 @@ public class PacketPlayOutLogin extends PacketOut {
|
|||||||
private boolean enableRespawnScreen;
|
private boolean enableRespawnScreen;
|
||||||
private boolean isDebug;
|
private boolean isDebug;
|
||||||
private boolean isFlat;
|
private boolean isFlat;
|
||||||
|
private int portalCooldown;
|
||||||
|
|
||||||
public PacketPlayOutLogin(int entityId, boolean isHardcore, GameMode gamemode, List<World> worlds, CompoundTag dimensionCodec, World world, long hashedSeed, byte maxPlayers, int viewDistance, int simulationDistance, boolean reducedDebugInfo, boolean enableRespawnScreen, boolean isDebug, boolean isFlat) {
|
public PacketPlayOutLogin(int entityId, boolean isHardcore, GameMode gamemode, List<World> worlds, CompoundTag dimensionCodec, World world, long hashedSeed, byte maxPlayers, int viewDistance, int simulationDistance, boolean reducedDebugInfo, boolean enableRespawnScreen, boolean isDebug, boolean isFlat, int portalCooldown) {
|
||||||
this.entityId = entityId;
|
this.entityId = entityId;
|
||||||
this.isHardcore = isHardcore;
|
this.isHardcore = isHardcore;
|
||||||
this.gamemode = gamemode;
|
this.gamemode = gamemode;
|
||||||
@@ -66,6 +67,7 @@ public class PacketPlayOutLogin extends PacketOut {
|
|||||||
this.enableRespawnScreen = enableRespawnScreen;
|
this.enableRespawnScreen = enableRespawnScreen;
|
||||||
this.isDebug = isDebug;
|
this.isDebug = isDebug;
|
||||||
this.isFlat = isFlat;
|
this.isFlat = isFlat;
|
||||||
|
this.portalCooldown = portalCooldown;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getEntityId() {
|
public int getEntityId() {
|
||||||
@@ -154,6 +156,7 @@ public class PacketPlayOutLogin extends PacketOut {
|
|||||||
output.writeBoolean(isDebug);
|
output.writeBoolean(isDebug);
|
||||||
output.writeBoolean(isFlat);
|
output.writeBoolean(isFlat);
|
||||||
output.writeBoolean(false);
|
output.writeBoolean(false);
|
||||||
|
DataTypeIO.writeVarInt(output, portalCooldown);
|
||||||
|
|
||||||
return buffer.toByteArray();
|
return buffer.toByteArray();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import net.querz.mca.Chunk;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -123,7 +124,7 @@ public class PlayerInteractManager {
|
|||||||
if (!currentViewing.containsKey(chunkPos)) {
|
if (!currentViewing.containsKey(chunkPos)) {
|
||||||
Chunk chunk = chunkPos.getWorld().getChunkAt(chunkPos.getChunkX(), chunkPos.getChunkZ());
|
Chunk chunk = chunkPos.getWorld().getChunkAt(chunkPos.getChunkX(), chunkPos.getChunkZ());
|
||||||
if (chunk == null) {
|
if (chunk == null) {
|
||||||
ClientboundLevelChunkWithLightPacket chunkdata = new ClientboundLevelChunkWithLightPacket(chunkPos.getChunkX(), chunkPos.getChunkZ(), entry.getValue(), world.getEnvironment(), true, new ArrayList<>(), new ArrayList<>());
|
ClientboundLevelChunkWithLightPacket chunkdata = new ClientboundLevelChunkWithLightPacket(chunkPos.getChunkX(), chunkPos.getChunkZ(), entry.getValue(), world.getEnvironment(), Collections.emptyList(), Collections.emptyList());
|
||||||
player.clientConnection.sendPacket(chunkdata);
|
player.clientConnection.sendPacket(chunkdata);
|
||||||
} else {
|
} else {
|
||||||
List<Byte[]> blockChunk = world.getLightEngineBlock().getBlockLightBitMask(chunkPos.getChunkX(), chunkPos.getChunkZ());
|
List<Byte[]> blockChunk = world.getLightEngineBlock().getBlockLightBitMask(chunkPos.getChunkX(), chunkPos.getChunkZ());
|
||||||
@@ -137,7 +138,7 @@ public class PlayerInteractManager {
|
|||||||
if (skyChunk == null) {
|
if (skyChunk == null) {
|
||||||
skyChunk = new ArrayList<>();
|
skyChunk = new ArrayList<>();
|
||||||
}
|
}
|
||||||
ClientboundLevelChunkWithLightPacket chunkdata = new ClientboundLevelChunkWithLightPacket(chunkPos.getChunkX(), chunkPos.getChunkZ(), chunk, world.getEnvironment(), true, skyChunk, blockChunk);
|
ClientboundLevelChunkWithLightPacket chunkdata = new ClientboundLevelChunkWithLightPacket(chunkPos.getChunkX(), chunkPos.getChunkZ(), chunk, world.getEnvironment(), skyChunk, blockChunk);
|
||||||
player.clientConnection.sendPacket(chunkdata);
|
player.clientConnection.sendPacket(chunkdata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+164385
-160642
File diff suppressed because it is too large
Load Diff
+1308
-1061
File diff suppressed because it is too large
Load Diff
+8015
-7708
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user