Minecraft 1.20.3-pre2 support

This commit is contained in:
md_5
2023-11-25 17:02:40 +11:00
parent 0925c06f9b
commit 197bf13a28
12 changed files with 266 additions and 23 deletions

View File

@@ -53,6 +53,7 @@ import net.md_5.bungee.protocol.packet.PluginMessage;
import net.md_5.bungee.protocol.packet.Respawn;
import net.md_5.bungee.protocol.packet.ScoreboardObjective;
import net.md_5.bungee.protocol.packet.ScoreboardScore;
import net.md_5.bungee.protocol.packet.ScoreboardScoreReset;
import net.md_5.bungee.protocol.packet.SetCompression;
import net.md_5.bungee.protocol.packet.StartConfiguration;
import net.md_5.bungee.protocol.packet.ViewDistance;
@@ -284,12 +285,18 @@ public class ServerConnector extends PacketHandler
objective.getName(),
( user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_13 ) ? Either.right( ComponentSerializer.deserialize( objective.getValue() ) ) : Either.left( objective.getValue() ),
ScoreboardObjective.HealthDisplay.fromString( objective.getType() ),
(byte) 1 )
(byte) 1, null )
);
}
for ( Score score : serverScoreboard.getScores() )
{
user.unsafe().sendPacket( new ScoreboardScore( score.getItemName(), (byte) 1, score.getScoreName(), score.getValue() ) );
if ( user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_20_3 )
{
user.unsafe().sendPacket( new ScoreboardScoreReset( score.getItemName(), null ) );
} else
{
user.unsafe().sendPacket( new ScoreboardScore( score.getItemName(), (byte) 1, score.getScoreName(), score.getValue(), null, null ) );
}
}
for ( Team team : serverScoreboard.getTeams() )
{

View File

@@ -67,6 +67,7 @@ import net.md_5.bungee.protocol.packet.Respawn;
import net.md_5.bungee.protocol.packet.ScoreboardDisplay;
import net.md_5.bungee.protocol.packet.ScoreboardObjective;
import net.md_5.bungee.protocol.packet.ScoreboardScore;
import net.md_5.bungee.protocol.packet.ScoreboardScoreReset;
import net.md_5.bungee.protocol.packet.ServerData;
import net.md_5.bungee.protocol.packet.SetCompression;
import net.md_5.bungee.protocol.packet.TabCompleteResponse;
@@ -220,6 +221,18 @@ public class DownstreamBridge extends PacketHandler
}
}
@Override
public void handle(ScoreboardScoreReset scoreboardScoreReset) throws Exception
{
Scoreboard serverScoreboard = con.getServerSentScoreboard();
// TODO: Expand score API to handle objective values. Shouldn't matter currently as only used for removing score entries.
if ( scoreboardScoreReset.getScoreName() == null )
{
serverScoreboard.removeScore( scoreboardScoreReset.getItemName() );
}
}
@Override
public void handle(ScoreboardDisplay displayScoreboard) throws Exception
{

View File

@@ -172,10 +172,7 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter
} );
} else
{
ProxyServer.getInstance().getLogger().log( Level.WARNING, "{0} - could not decode packet! {1}", new Object[]
{
handler, cause
} );
ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - could not decode packet!", cause );
}
} else if ( cause instanceof IOException || ( cause instanceof IllegalStateException && handler instanceof InitialHandler ) )
{