send tick info with client level data
This commit is contained in:
1 parent
b744956777
commit
e140a5ddb0
2 files changed
+18
-3
No files matched your search
@@ -1,7 +1,9 @@
|
|||||||
package carpet.mixins;
|
package carpet.mixins;
|
||||||
|
|
||||||
import carpet.CarpetServer;
|
import carpet.CarpetServer;
|
||||||
|
import carpet.network.ServerNetworkHandler;
|
||||||
import net.minecraft.network.Connection;
|
import net.minecraft.network.Connection;
|
||||||
|
import net.minecraft.server.level.ServerLevel;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.server.players.PlayerList;
|
import net.minecraft.server.players.PlayerList;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
@@ -18,4 +20,10 @@ public class PlayerList_coreMixin
|
|||||||
{
|
{
|
||||||
CarpetServer.onPlayerLoggedIn(player);
|
CarpetServer.onPlayerLoggedIn(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject(method = "sendLevelInfo", at = @At("RETURN"))
|
||||||
|
private void onLevelChanged(final ServerPlayer serverPlayer, final ServerLevel serverLevel, final CallbackInfo ci)
|
||||||
|
{
|
||||||
|
ServerNetworkHandler.sendPlayerLevelData(serverPlayer, serverLevel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -25,6 +25,7 @@ import net.minecraft.network.FriendlyByteBuf;
|
|||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket;
|
import net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
import net.minecraft.server.level.ServerLevel;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
|
|
||||||
public class ServerNetworkHandler
|
public class ServerNetworkHandler
|
||||||
@@ -70,7 +71,6 @@ public class ServerNetworkHandler
|
|||||||
|
|
||||||
public static void onHello(ServerPlayer playerEntity, FriendlyByteBuf packetData)
|
public static void onHello(ServerPlayer playerEntity, FriendlyByteBuf packetData)
|
||||||
{
|
{
|
||||||
|
|
||||||
validCarpetPlayers.add(playerEntity);
|
validCarpetPlayers.add(playerEntity);
|
||||||
String clientVersion = packetData.readUtf(64);
|
String clientVersion = packetData.readUtf(64);
|
||||||
remoteCarpetPlayers.put(playerEntity, clientVersion);
|
remoteCarpetPlayers.put(playerEntity, clientVersion);
|
||||||
@@ -78,7 +78,8 @@ public class ServerNetworkHandler
|
|||||||
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
||||||
else
|
else
|
||||||
CarpetSettings.LOG.warn("Player "+playerEntity.getName().getString()+" joined with another carpet version: "+clientVersion);
|
CarpetSettings.LOG.warn("Player "+playerEntity.getName().getString()+" joined with another carpet version: "+clientVersion);
|
||||||
DataBuilder data = DataBuilder.create(playerEntity.server).withTickRate().withFrozenState().withTickPlayerActiveTimeout(); // .withSuperHotState()
|
|
||||||
|
DataBuilder data = DataBuilder.create(playerEntity.server);//;.withTickRate().withFrozenState().withTickPlayerActiveTimeout(); // .withSuperHotState()
|
||||||
CarpetServer.settingsManager.getCarpetRules().forEach(data::withRule);
|
CarpetServer.settingsManager.getCarpetRules().forEach(data::withRule);
|
||||||
CarpetServer.extensions.forEach(e -> {
|
CarpetServer.extensions.forEach(e -> {
|
||||||
SettingsManager eManager = e.extensionSettingsManager();
|
SettingsManager eManager = e.extensionSettingsManager();
|
||||||
@@ -86,7 +87,13 @@ public class ServerNetworkHandler
|
|||||||
eManager.getCarpetRules().forEach(data::withRule);
|
eManager.getCarpetRules().forEach(data::withRule);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
playerEntity.connection.send(new ClientboundCustomPayloadPacket(CarpetClient.CARPET_CHANNEL, data.build() ));
|
playerEntity.connection.send(new ClientboundCustomPayloadPacket(CarpetClient.CARPET_CHANNEL, data.build()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendPlayerLevelData(ServerPlayer player, ServerLevel level) {
|
||||||
|
DataBuilder data = DataBuilder.create(player.server).withTickRate().withFrozenState().withTickPlayerActiveTimeout(); // .withSuperHotState()
|
||||||
|
player.connection.send(new ClientboundCustomPayloadPacket(CarpetClient.CARPET_CHANNEL, data.build() ));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void handleClientCommand(ServerPlayer player, CompoundTag commandData)
|
private static void handleClientCommand(ServerPlayer player, CompoundTag commandData)
|
||||||
|
|||||||
Reference in new issue
Block a user