mirror of
https://github.com/PaperMC/Waterfall.git
synced 2025-03-02 10:41:11 +01:00
1.16.2 Temporary support patch (#560)
This commit is contained in:
parent
c0f946a534
commit
74e388df78
385
BungeeCord-Patches/0057-Waterfall-1.16.2-patch.patch
Normal file
385
BungeeCord-Patches/0057-Waterfall-1.16.2-patch.patch
Normal file
@ -0,0 +1,385 @@
|
||||
From 410bda8afddf6865905cf495afd65da36740f224 Mon Sep 17 00:00:00 2001
|
||||
From: "Five (Xer)" <admin@xernium.com>
|
||||
Date: Tue, 11 Aug 2020 20:03:28 +0200
|
||||
Subject: [PATCH] Waterfall 1.16.2-patch
|
||||
|
||||
|
||||
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
|
||||
index 546564fb..e2a02360 100644
|
||||
--- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
|
||||
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
|
||||
@@ -72,7 +72,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x21 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x20 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x21 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x20 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x20 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x1F )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
Login.class,
|
||||
@@ -81,7 +82,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_9, 0x23 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x25 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x26 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x25 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x25 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x24 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
Chat.class,
|
||||
@@ -102,7 +104,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x38 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x3A ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x3B ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x3A )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x3A ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x39 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
BossBar.class,
|
||||
@@ -135,7 +138,8 @@ public enum Protocol
|
||||
map(ProtocolConstants.MINECRAFT_1_13, 0x36),
|
||||
map(ProtocolConstants.MINECRAFT_1_14, 0x38),
|
||||
map(ProtocolConstants.MINECRAFT_1_15, 0x39),
|
||||
- map(ProtocolConstants.MINECRAFT_1_16, 0x38)
|
||||
+ map(ProtocolConstants.MINECRAFT_1_16, 0x38),
|
||||
+ map(ProtocolConstants.MINECRAFT_1_16_2, 0x37)
|
||||
);
|
||||
// Waterfall end
|
||||
TO_CLIENT.registerPacket(
|
||||
@@ -147,7 +151,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x30 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x33 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x34 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x33 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x33 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x32 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
TabCompleteResponse.class,
|
||||
@@ -156,7 +161,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_9, 0x0E ),
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x10 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x11 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x10 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x10 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x0F )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
ScoreboardObjective.class,
|
||||
@@ -210,7 +216,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x19 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x18 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x19 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x18 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x18 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x17 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
Kick.class,
|
||||
@@ -220,7 +227,8 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x1B ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x1A ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x1B ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x1A )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x1A ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x19 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
Title.class,
|
||||
@@ -254,21 +262,24 @@ public enum Protocol
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x1C ),
|
||||
map( ProtocolConstants.MINECRAFT_1_14, 0x1B ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x1C ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x1B )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x1B ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x1A )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
Commands.class,
|
||||
Commands::new, // Waterfall - speed up packet construction
|
||||
map( ProtocolConstants.MINECRAFT_1_13, 0x11 ),
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x12 ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_16, 0x11 )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16, 0x11 ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x10 )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
GameState.class,
|
||||
GameState::new, // Waterfall - speed up packet construction
|
||||
map( ProtocolConstants.MINECRAFT_1_15, 0x1F ),
|
||||
map( ProtocolConstants.MINECRAFT_1_16, 0x1E ),
|
||||
- map( ProtocolConstants.MINECRAFT_1_15, 0x1F )
|
||||
+ map( ProtocolConstants.MINECRAFT_1_15, 0x1F ),
|
||||
+ map( ProtocolConstants.MINECRAFT_1_16_2, 0x1E )
|
||||
);
|
||||
TO_CLIENT.registerPacket(
|
||||
ViewDistance.class,
|
||||
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
|
||||
index a82f2ec8..aa1b770c 100644
|
||||
--- a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
|
||||
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
|
||||
@@ -30,6 +30,7 @@ public class ProtocolConstants
|
||||
public static final int MINECRAFT_1_15_2 = 578;
|
||||
public static final int MINECRAFT_1_16 = 735;
|
||||
public static final int MINECRAFT_1_16_1 = 736;
|
||||
+ public static final int MINECRAFT_1_16_2 = 751;
|
||||
public static final List<String> SUPPORTED_VERSIONS = Arrays.asList(
|
||||
"1.8.x",
|
||||
"1.9.x",
|
||||
@@ -65,7 +66,8 @@ public class ProtocolConstants
|
||||
ProtocolConstants.MINECRAFT_1_15_1,
|
||||
ProtocolConstants.MINECRAFT_1_15_2,
|
||||
ProtocolConstants.MINECRAFT_1_16,
|
||||
- ProtocolConstants.MINECRAFT_1_16_1
|
||||
+ ProtocolConstants.MINECRAFT_1_16_1,
|
||||
+ ProtocolConstants.MINECRAFT_1_16_2
|
||||
);
|
||||
|
||||
public static final boolean isBeforeOrEq(int before, int other)
|
||||
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Commands.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Commands.java
|
||||
index 2b1c8377..1330cac2 100644
|
||||
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Commands.java
|
||||
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Commands.java
|
||||
@@ -550,6 +550,7 @@ public class Commands extends DefinedPacket
|
||||
PROVIDERS.put( "minecraft:uuid", VOID ); // 1.16
|
||||
PROVIDERS.put( "minecraft:test_argument", VOID ); // 1.16, debug
|
||||
PROVIDERS.put( "minecraft:test_class", VOID ); // 1.16, debug
|
||||
+ PROVIDERS.put( "minecraft:angle", VOID ); // 1.16
|
||||
}
|
||||
|
||||
private static ArgumentType<?> read(String key, ByteBuf buf)
|
||||
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Login.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Login.java
|
||||
index 6ca80e2b..8f02538e 100644
|
||||
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Login.java
|
||||
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Login.java
|
||||
@@ -35,19 +35,29 @@ public class Login extends DefinedPacket
|
||||
private String worldName;
|
||||
private long seed;
|
||||
private short difficulty;
|
||||
- private short maxPlayers;
|
||||
+ private int maxPlayers;
|
||||
private String levelType;
|
||||
private int viewDistance;
|
||||
private boolean reducedDebugInfo;
|
||||
private boolean normalRespawn;
|
||||
private boolean debug;
|
||||
private boolean flat;
|
||||
+ private boolean hardcoreMode;
|
||||
|
||||
@Override
|
||||
public void read(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion)
|
||||
{
|
||||
entityId = buf.readInt();
|
||||
- gameMode = buf.readUnsignedByte();
|
||||
+ if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ hardcoreMode = buf.readBoolean();
|
||||
+ gameMode = buf.readByte();
|
||||
+ } else
|
||||
+ {
|
||||
+ gameMode = buf.readByte();
|
||||
+ hardcoreMode = (gameMode & 0x08) != 0;
|
||||
+ gameMode &= ~0x08;
|
||||
+ }
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
previousGameMode = buf.readUnsignedByte();
|
||||
@@ -67,7 +77,13 @@ public class Login extends DefinedPacket
|
||||
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
- dimension = readString( buf );
|
||||
+ if ( protocolVersion < ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ dimension = readString( buf );
|
||||
+
|
||||
+ } else {
|
||||
+ dimension = NamedTag.read( new DataInputStream( new ByteBufInputStream( buf ) ) );
|
||||
+ }
|
||||
worldName = readString( buf );
|
||||
} else if ( protocolVersion > ProtocolConstants.MINECRAFT_1_9 )
|
||||
{
|
||||
@@ -84,7 +100,12 @@ public class Login extends DefinedPacket
|
||||
{
|
||||
difficulty = buf.readUnsignedByte();
|
||||
}
|
||||
- maxPlayers = buf.readUnsignedByte();
|
||||
+ if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ maxPlayers = readVarInt( buf );
|
||||
+ } else {
|
||||
+ maxPlayers = buf.readUnsignedByte();
|
||||
+ }
|
||||
if ( protocolVersion < ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
levelType = readString( buf );
|
||||
@@ -112,7 +133,14 @@ public class Login extends DefinedPacket
|
||||
public void write(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion)
|
||||
{
|
||||
buf.writeInt( entityId );
|
||||
- buf.writeByte( gameMode );
|
||||
+ if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ buf.writeBoolean( hardcoreMode );
|
||||
+ buf.writeByte( gameMode );
|
||||
+ } else
|
||||
+ {
|
||||
+ buf.writeByte( hardcoreMode ? gameMode | 0x8 : gameMode );
|
||||
+ }
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
buf.writeByte( previousGameMode );
|
||||
@@ -134,7 +162,18 @@ public class Login extends DefinedPacket
|
||||
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
- writeString( (String) dimension, buf );
|
||||
+ if ( protocolVersion < ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ writeString( (String) dimension, buf );
|
||||
+ } else {
|
||||
+ try
|
||||
+ {
|
||||
+ ((Tag) dimension).write( new DataOutputStream( new ByteBufOutputStream( buf ) ) );
|
||||
+ } catch ( IOException ex )
|
||||
+ {
|
||||
+ throw new RuntimeException( "Exception writing current dimension", ex );
|
||||
+ }
|
||||
+ }
|
||||
writeString( worldName, buf );
|
||||
} else if ( protocolVersion > ProtocolConstants.MINECRAFT_1_9 )
|
||||
{
|
||||
@@ -151,7 +190,13 @@ public class Login extends DefinedPacket
|
||||
{
|
||||
buf.writeByte( difficulty );
|
||||
}
|
||||
- buf.writeByte( maxPlayers );
|
||||
+ if( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ writeVarInt( maxPlayers, buf );
|
||||
+ } else
|
||||
+ {
|
||||
+ buf.writeByte( maxPlayers );
|
||||
+ }
|
||||
if ( protocolVersion < ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
writeString( levelType, buf );
|
||||
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Respawn.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Respawn.java
|
||||
index 0d8068ea..ef78db16 100644
|
||||
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Respawn.java
|
||||
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Respawn.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.md_5.bungee.protocol.packet;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
+import io.netty.buffer.ByteBufInputStream;
|
||||
+import io.netty.buffer.ByteBufOutputStream;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -8,6 +10,12 @@ import lombok.NoArgsConstructor;
|
||||
import net.md_5.bungee.protocol.AbstractPacketHandler;
|
||||
import net.md_5.bungee.protocol.DefinedPacket;
|
||||
import net.md_5.bungee.protocol.ProtocolConstants;
|
||||
+import se.llbit.nbt.NamedTag;
|
||||
+import se.llbit.nbt.Tag;
|
||||
+
|
||||
+import java.io.DataInputStream;
|
||||
+import java.io.DataOutputStream;
|
||||
+import java.io.IOException;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@@ -32,7 +40,13 @@ public class Respawn extends DefinedPacket
|
||||
{
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
- dimension = readString( buf );
|
||||
+ if( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ dimension = NamedTag.read( new DataInputStream( new ByteBufInputStream( buf ) ) );
|
||||
+ } else
|
||||
+ {
|
||||
+ dimension = readString( buf );
|
||||
+ }
|
||||
worldName = readString( buf );
|
||||
} else
|
||||
{
|
||||
@@ -64,7 +78,19 @@ public class Respawn extends DefinedPacket
|
||||
{
|
||||
if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
|
||||
{
|
||||
- writeString( (String) dimension, buf );
|
||||
+ if( protocolVersion >= ProtocolConstants.MINECRAFT_1_16_2 )
|
||||
+ {
|
||||
+ try
|
||||
+ {
|
||||
+ ((Tag) dimension).write( new DataOutputStream( new ByteBufOutputStream( buf ) ) );
|
||||
+ } catch ( IOException ex )
|
||||
+ {
|
||||
+ throw new RuntimeException( "Exception writing current Dimension (respawn)", ex );
|
||||
+ }
|
||||
+ } else
|
||||
+ {
|
||||
+ writeString( (String) dimension, buf );
|
||||
+ }
|
||||
writeString( worldName, buf );
|
||||
} else
|
||||
{
|
||||
diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
|
||||
index 78401dae..c473acdb 100644
|
||||
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
|
||||
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
|
||||
@@ -54,6 +54,7 @@ import net.md_5.bungee.protocol.packet.SetCompression;
|
||||
import net.md_5.bungee.protocol.packet.ViewDistance;
|
||||
import net.md_5.bungee.util.BufUtil;
|
||||
import net.md_5.bungee.util.QuietException;
|
||||
+import se.llbit.nbt.Tag;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class ServerConnector extends PacketHandler
|
||||
@@ -246,7 +247,7 @@ public class ServerConnector extends PacketHandler
|
||||
|
||||
// Set tab list size, TODO: what shall we do about packet mutability
|
||||
Login modLogin = new Login( login.getEntityId(), login.getGameMode(), login.getPreviousGameMode(), login.getWorldNames(), login.getDimensions(), login.getDimension(), login.getWorldName(), login.getSeed(), login.getDifficulty(),
|
||||
- (byte) user.getPendingConnection().getListener().getTabListSize(), login.getLevelType(), login.getViewDistance(), login.isReducedDebugInfo(), login.isNormalRespawn(), login.isDebug(), login.isFlat() );
|
||||
+ (byte) user.getPendingConnection().getListener().getTabListSize(), login.getLevelType(), login.getViewDistance(), login.isReducedDebugInfo(), login.isNormalRespawn(), login.isDebug(), login.isFlat(), login.isHardcoreMode() );
|
||||
|
||||
user.unsafe().sendPacket( modLogin );
|
||||
|
||||
@@ -264,7 +265,7 @@ public class ServerConnector extends PacketHandler
|
||||
}
|
||||
user.getSentBossBars().clear();
|
||||
|
||||
- user.unsafe().sendPacket( new Respawn( login.getDimension(), login.getWorldName(), login.getSeed(), login.getDifficulty(), login.getGameMode(), login.getPreviousGameMode(), login.getLevelType(), login.isDebug(), login.isFlat(), false ) );
|
||||
+ user.unsafe().sendPacket( new Respawn( login.getDimension(), login.getWorldName(), login.getSeed(), login.getDifficulty(), login.getGameMode(), login.getPreviousGameMode(), login.getLevelType(), login.isDebug(), login.isFlat(), false) );
|
||||
user.getServer().disconnect( "Quitting" );
|
||||
} else
|
||||
{
|
||||
@@ -332,7 +333,7 @@ public class ServerConnector extends PacketHandler
|
||||
}
|
||||
|
||||
Login modLogin = new Login( login.getEntityId(), login.getGameMode(), login.getPreviousGameMode(), login.getWorldNames(), login.getDimensions(), login.getDimension(), login.getWorldName(), login.getSeed(), login.getDifficulty(),
|
||||
- (byte) user.getPendingConnection().getListener().getTabListSize(), login.getLevelType(), login.getViewDistance(), login.isReducedDebugInfo(), login.isNormalRespawn(), login.isDebug(), login.isFlat() );
|
||||
+ (byte) user.getPendingConnection().getListener().getTabListSize(), login.getLevelType(), login.getViewDistance(), login.isReducedDebugInfo(), login.isNormalRespawn(), login.isDebug(), login.isFlat(), login.isHardcoreMode() );
|
||||
user.unsafe().sendPacket(modLogin);
|
||||
|
||||
// Only send if we're in the same dimension
|
||||
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
|
||||
index e64a11b5..05947c40 100644
|
||||
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
|
||||
+++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
|
||||
@@ -70,6 +70,8 @@ public abstract class EntityMap
|
||||
case ProtocolConstants.MINECRAFT_1_16:
|
||||
case ProtocolConstants.MINECRAFT_1_16_1:
|
||||
return EntityMap_1_16.INSTANCE;
|
||||
+ case ProtocolConstants.MINECRAFT_1_16_2:
|
||||
+ return EntityMap_Dummy.INSTANCE;
|
||||
}
|
||||
throw new RuntimeException( "Version " + version + " has no entity map" );
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
|
Loading…
Reference in New Issue
Block a user