Minecraft Client Network Code Overview
Minecraft Client Network Code Overview
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].ChatMessageC2SPacket;
import [Link].ClientStatusC2SPacket;
import [Link].CommandExecutionC2SPacket;
import [Link].CustomPayloadC2SPacket;
import [Link].KeepAliveC2SPacket;
import [Link].MessageAcknowledgmentC2SPacket;
import [Link].PlayPongC2SPacket;
import [Link].PlayerMoveC2SPacket;
import [Link].PlayerSessionC2SPacket;
import [Link].ResourcePackStatusC2SPacket;
import [Link].TeleportConfirmC2SPacket;
import [Link].VehicleMoveC2SPacket;
import [Link];
import [Link];
import [Link].AdvancementUpdateS2CPacket;
import [Link].BlockBreakingProgressS2CPacket;
import [Link].BlockEntityUpdateS2CPacket;
import [Link].BlockEventS2CPacket;
import [Link].BlockUpdateS2CPacket;
import [Link].BossBarS2CPacket;
import [Link].BundleS2CPacket;
import [Link].ChatMessageS2CPacket;
import [Link].ChatSuggestionsS2CPacket;
import [Link].ChunkBiomeDataS2CPacket;
import [Link];
import [Link].ChunkDataS2CPacket;
import [Link].ChunkDeltaUpdateS2CPacket;
import [Link].ChunkLoadDistanceS2CPacket;
import [Link].ChunkRenderDistanceCenterS2CPacket;
import [Link].ClearTitleS2CPacket;
import [Link].CloseScreenS2CPacket;
import [Link].CommandSuggestionsS2CPacket;
import [Link].CommandTreeS2CPacket;
import [Link].CooldownUpdateS2CPacket;
import [Link].CraftFailedResponseS2CPacket;
import [Link].CustomPayloadS2CPacket;
import [Link].DamageTiltS2CPacket;
import [Link].DeathMessageS2CPacket;
import [Link].DifficultyS2CPacket;
import [Link].DisconnectS2CPacket;
import [Link].EndCombatS2CPacket;
import [Link].EnterCombatS2CPacket;
import [Link].EntitiesDestroyS2CPacket;
import [Link].EntityAnimationS2CPacket;
import [Link].EntityAttachS2CPacket;
import [Link].EntityAttributesS2CPacket;
import [Link].EntityDamageS2CPacket;
import [Link].EntityEquipmentUpdateS2CPacket;
import [Link].EntityPassengersSetS2CPacket;
import [Link].EntityPositionS2CPacket;
import [Link].EntityS2CPacket;
import [Link].EntitySetHeadYawS2CPacket;
import [Link].EntitySpawnS2CPacket;
import [Link].EntityStatusEffectS2CPacket;
import [Link].EntityStatusS2CPacket;
import [Link].EntityTrackerUpdateS2CPacket;
import [Link].EntityVelocityUpdateS2CPacket;
import [Link].ExperienceBarUpdateS2CPacket;
import [Link].ExperienceOrbSpawnS2CPacket;
import [Link].ExplosionS2CPacket;
import [Link].FeaturesS2CPacket;
import [Link].GameJoinS2CPacket;
import [Link].GameMessageS2CPacket;
import [Link].GameStateChangeS2CPacket;
import [Link].HealthUpdateS2CPacket;
import [Link].InventoryS2CPacket;
import [Link].ItemPickupAnimationS2CPacket;
import [Link].KeepAliveS2CPacket;
import [Link];
import [Link].LightUpdateS2CPacket;
import [Link].LookAtS2CPacket;
import [Link].MapUpdateS2CPacket;
import [Link].NbtQueryResponseS2CPacket;
import [Link].OpenHorseScreenS2CPacket;
import [Link].OpenScreenS2CPacket;
import [Link].OpenWrittenBookS2CPacket;
import [Link].OverlayMessageS2CPacket;
import [Link].ParticleS2CPacket;
import [Link].PlayPingS2CPacket;
import [Link].PlaySoundFromEntityS2CPacket;
import [Link].PlaySoundS2CPacket;
import [Link].PlayerAbilitiesS2CPacket;
import [Link].PlayerActionResponseS2CPacket;
import [Link].PlayerListHeaderS2CPacket;
import [Link].PlayerListS2CPacket;
import [Link].PlayerPositionLookS2CPacket;
import [Link].PlayerRemoveS2CPacket;
import [Link].PlayerRespawnS2CPacket;
import [Link].PlayerSpawnPositionS2CPacket;
import [Link].PlayerSpawnS2CPacket;
import [Link];
import [Link].ProfilelessChatMessageS2CPacket;
import [Link].RemoveEntityStatusEffectS2CPacket;
import [Link].RemoveMessageS2CPacket;
import [Link].ResourcePackSendS2CPacket;
import [Link].ScoreboardDisplayS2CPacket;
import [Link].ScoreboardObjectiveUpdateS2CPacket;
import [Link].ScoreboardPlayerUpdateS2CPacket;
import [Link].ScreenHandlerPropertyUpdateS2CPacket;
import [Link].ScreenHandlerSlotUpdateS2CPacket;
import [Link].SelectAdvancementTabS2CPacket;
import [Link].ServerMetadataS2CPacket;
import [Link].SetCameraEntityS2CPacket;
import [Link].SetTradeOffersS2CPacket;
import [Link].SignEditorOpenS2CPacket;
import [Link].SimulationDistanceS2CPacket;
import [Link].StatisticsS2CPacket;
import [Link].StopSoundS2CPacket;
import [Link].SubtitleS2CPacket;
import [Link].SynchronizeRecipesS2CPacket;
import [Link].SynchronizeTagsS2CPacket;
import [Link].TeamS2CPacket;
import [Link].TitleFadeS2CPacket;
import [Link].TitleS2CPacket;
import [Link].UnloadChunkS2CPacket;
import [Link].UnlockRecipesS2CPacket;
import [Link].UpdateSelectedSlotS2CPacket;
import [Link].VehicleMoveS2CPacket;
import [Link].WorldBorderCenterChangedS2CPacket;
import [Link].WorldBorderInitializeS2CPacket;
import [Link].WorldBorderInterpolateSizeS2CPacket;
import [Link].WorldBorderSizeChangedS2CPacket;
import
[Link].WorldBorderWarningBlocksChangedS2CPacket;
import
[Link].WorldBorderWarningTimeChangedS2CPacket;
import [Link].WorldEventS2CPacket;
import [Link].WorldTimeUpdateS2CPacket;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].Vec3d;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Environment([Link])
public class ClientPlayNetworkHandler implements TickablePacketListener,
ClientPlayPacketListener {
private static final Logger LOGGER = [Link]();
private static final Text DISCONNECT_LOST_TEXT =
[Link]("[Link]");
private static final Text UNSECURE_SERVER_TOAST_TITLE =
[Link]("[Link]");
private static final Text UNSECURE_SERVER_TOAST_TEXT =
[Link]("[Link]");
private static final Text INVALID_PACKET_TEXT =
[Link]("[Link].invalid_packet");
private static final Text CHAT_VALIDATION_FAILED_TEXT =
[Link]("[Link].chat_validation_failed");
private static final int ACKNOWLEDGMENT_BATCH_SIZE = 64;
private final ClientConnection connection;
private final List<QueuedPacket> queuedPackets = new ArrayList();
@Nullable
private final ServerInfo serverInfo;
private final GameProfile profile;
private final Screen loginScreen;
private final MinecraftClient client;
private ClientWorld world;
private [Link] worldProperties;
private final Map<UUID, PlayerListEntry> playerListEntries = [Link]();
private final Set<PlayerListEntry> listedPlayerListEntries = new
ReferenceOpenHashSet();
private final ClientAdvancementManager advancementHandler;
private final ClientCommandSource commandSource;
private final DataQueryHandler dataQueryHandler = new DataQueryHandler(this);
private int chunkLoadDistance = 3;
private int simulationDistance = 3;
private final Random random = [Link]();
private CommandDispatcher<CommandSource> commandDispatcher = new
CommandDispatcher();
private final RecipeManager recipeManager = new RecipeManager();
private final UUID sessionId = [Link]();
private Set<RegistryKey<World>> worldKeys;
private CombinedDynamicRegistries<ClientDynamicRegistryType>
combinedDynamicRegistries =
[Link]();
private FeatureSet enabledFeatures;
private final WorldSession worldSession;
@Nullable
private ClientPlayerSession session;
private [Link] messagePacker;
private LastSeenMessagesCollector lastSeenMessagesCollector;
private MessageSignatureStorage signatureStorage;
[Link]().streamAllRegistries().f
orEach((entry) -> [Link]().clearTags());
}
[Link]().setLocalPlayerUuid([Link]());
}
}
[Link]();
[Link]();
int i = [Link]();
[Link](i);
[Link](i, [Link]);
[Link] = new KeyboardInput([Link]);
[Link]([Link]);
[Link] = [Link];
[Link](new DownloadingTerrainScreen());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link](),
[Link]());
[Link]([Link]());
[Link]();
[Link](new
CustomPayloadC2SPacket([Link], (new
PacketByteBuf([Link]())).writeString([Link]
())));
[Link] = null;
[Link] = new LastSeenMessagesCollector(20);
[Link] = [Link]();
if ([Link]()) {
[Link]().fetchKeyPair().thenAcceptAsync((keyPair) -
> [Link](this::updateKeyPair), [Link]);
}
[Link]([Link](), [Link]());
[Link]().save([Link]);
}
[Link]().playNextTick(abstractBeeSoundInstance);
}
}
public void onExperienceOrbSpawn(ExperienceOrbSpawnS2CPacket packet) {
[Link](packet, this, [Link]);
double d = [Link]();
double e = [Link]();
double f = [Link]();
Entity entity = new ExperienceOrbEntity([Link], d, e, f,
[Link]());
[Link](d, e, f);
[Link](0.0F);
[Link](0.0F);
[Link]([Link]());
[Link]([Link](), entity);
}
}
}
[Link]([Link]());
}
}
}
double f;
double g;
if (bl2) {
f = [Link]();
g = [Link]() + [Link]();
[Link] += [Link]();
[Link] += [Link]();
} else {
f = (double)0.0F;
g = [Link]();
[Link] = g;
[Link] = g;
}
double h;
double i;
if (bl3) {
h = [Link]();
i = [Link]() + [Link]();
[Link] += [Link]();
[Link] += [Link]();
} else {
h = (double)0.0F;
i = [Link]();
[Link] = i;
[Link] = i;
}
[Link](e, g, i);
[Link](d, f, h);
float j = [Link]();
float k = [Link]();
if ([Link]().contains(PositionFlag.X_ROT)) {
[Link]([Link]() + k);
[Link] += k;
} else {
[Link](k);
[Link] = k;
}
if ([Link]().contains(PositionFlag.Y_ROT)) {
[Link]([Link]() + j);
[Link] += j;
} else {
[Link](j);
[Link] = j;
}
[Link](new TeleportConfirmC2SPacket([Link]()));
[Link](new [Link]([Link](),
[Link](), [Link](), [Link](),
[Link](), false));
}
});
}
for([Link] serialized :
[Link]()) {
[Link]().onChunkBiomeData([Link]().x,
[Link]().z, [Link]());
}
for([Link] serialized :
[Link]()) {
[Link](new ChunkPos([Link]().x,
[Link]().z));
}
for([Link] serialized :
[Link]()) {
for(int i = -1; i <= 1; ++i) {
for(int j = -1; j <= 1; ++j) {
for(int k = [Link](); k <
[Link](); ++k) {
[Link]([Link]().x + i, k,
[Link]().z + j);
}
}
}
}
});
}
[Link](new
ItemPickupParticle([Link](),
[Link](), [Link], entity, livingEntity));
if (entity instanceof ItemEntity) {
ItemEntity itemEntity = (ItemEntity)entity;
ItemStack itemStack = [Link]();
if (![Link]()) {
[Link]([Link]());
}
if ([Link]()) {
[Link]([Link](),
[Link]);
}
} else if (!(entity instanceof ExperienceOrbEntity)) {
[Link]([Link](),
[Link]);
}
}
[Link]((MessageSignatureData)[Link]());
if (!
[Link]().removeDelayedMessage((MessageSignatureData)optional
.get())) {
[Link]().removeMessage((MessageSignatureData)[Link]
());
}
}
}
}
}
for(int i : [Link]()) {
Entity entity2 = [Link](i);
if (entity2 != null) {
[Link](entity, true);
if (entity2 == [Link] && !bl) {
if (entity instanceof BoatEntity) {
[Link] = [Link]();
[Link]([Link]());
[Link]([Link]());
}
}
}
[Link](getActiveTotemOfUndying([Link]
r));
}
break;
case 63:
[Link]().play(new
SnifferDigSoundInstance((SnifferEntity)entity));
break;
default:
[Link]([Link]());
}
}
[Link]().setSaturationLevel([Link]());
}
ClientPlayerEntity clientPlayerEntity2;
if ([Link]((byte)2)) {
clientPlayerEntity2 =
[Link]([Link],
[Link](), [Link](),
[Link](), [Link]());
} else {
clientPlayerEntity2 =
[Link]([Link],
[Link](), [Link]());
}
[Link](i);
[Link] = clientPlayerEntity2;
if (registryKey != [Link]().getRegistryKey()) {
[Link]().stop();
}
[Link] = clientPlayerEntity2;
if ([Link]((byte)2)) {
List<[Link]<?>> list =
[Link]().getChangedEntries();
if (list != null) {
[Link]().writeUpdatedEntries(list);
}
}
if ([Link]((byte)1)) {
[Link]().setFrom([Link]());
}
[Link]();
[Link](string);
[Link](i, clientPlayerEntity2);
[Link](-180.0F);
[Link] = new KeyboardInput([Link]);
[Link](clientPlayerEntity2);
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link] = [Link];
[Link] =
[Link];
if ([Link] instanceof DeathScreen ||
[Link] instanceof [Link]) {
[Link]((Screen)null);
}
[Link]([Link](),
[Link]());
}
[Link]([Link]().add((double)packet.
getPlayerVelocityX(), (double)[Link](),
(double)[Link]()));
}
[Link](i,
[Link](), itemStack);
} else if ([Link]() ==
[Link] && ([Link]() != 0 || !bl)) {
[Link](i,
[Link](), itemStack);
}
}
[Link]([Link](),
[Link](), [Link]());
}
((CommandBlockScreen)[Link]).updateCommandBlock();
}
});
}
[Link]([Link]("[Link].not_valid"),
false);
} else if (reason == GameStateChangeS2CPacket.RAIN_STARTED) {
[Link]().setRaining(true);
[Link](0.0F);
} else if (reason == GameStateChangeS2CPacket.RAIN_STOPPED) {
[Link]().setRaining(false);
[Link](1.0F);
} else if (reason == GameStateChangeS2CPacket.GAME_MODE_CHANGED) {
[Link]([Link](i));
} else if (reason == GameStateChangeS2CPacket.GAME_WON) {
if (i == 0) {
[Link](new
ClientStatusC2SPacket(Mode.PERFORM_RESPAWN));
[Link](new DownloadingTerrainScreen());
} else if (i == 1) {
[Link](new CreditsScreen(true, () -> {
[Link](new
ClientStatusC2SPacket(Mode.PERFORM_RESPAWN));
[Link]((Screen)null);
}));
}
} else if (reason == GameStateChangeS2CPacket.DEMO_MESSAGE_SHOWN) {
GameOptions gameOptions = [Link];
if (f == 0.0F) {
[Link](new DemoScreen());
} else if (f == 101.0F) {
[Link]().addMessage([Link]("[Link]
", new Object[]{[Link](),
[Link](),
[Link](),
[Link]()}));
} else if (f == 102.0F) {
[Link]().addMessage([Link]("[Link]",
new Object[]{[Link]()}));
} else if (f == 103.0F) {
[Link]().addMessage([Link]("[Link]
y", new Object[]{[Link]()}));
} else if (f == 104.0F) {
[Link]().addMessage([Link]("[Link].6", new
Object[]{[Link]()}));
}
} else if (reason == GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER) {
[Link](playerEntity, [Link](),
[Link](), [Link](), SoundEvents.ENTITY_ARROW_HIT_PLAYER,
[Link], 0.18F, 0.45F);
} else if (reason == GameStateChangeS2CPacket.RAIN_GRADIENT_CHANGED) {
[Link](f);
} else if (reason == GameStateChangeS2CPacket.THUNDER_GRADIENT_CHANGED) {
[Link](f);
} else if (reason == GameStateChangeS2CPacket.PUFFERFISH_STING) {
[Link](playerEntity, [Link](),
[Link](), [Link](), SoundEvents.ENTITY_PUFFER_FISH_STING,
[Link], 1.0F, 1.0F);
} else if (reason == GameStateChangeS2CPacket.ELDER_GUARDIAN_EFFECT) {
[Link](ParticleTypes.ELDER_GUARDIAN,
[Link](), [Link](), [Link](), (double)0.0F,
(double)0.0F, (double)0.0F);
if (i == 1) {
[Link](playerEntity, [Link](),
[Link](), [Link](), SoundEvents.ENTITY_ELDER_GUARDIAN_CURSE,
[Link], 1.0F, 1.0F);
}
} else if (reason == GameStateChangeS2CPacket.IMMEDIATE_RESPAWN) {
[Link](f == 0.0F);
}
[Link](mapState);
[Link](i, mapState);
}
});
}
}
[Link]().forEach((recipeResultCollection) ->
[Link](clientRecipeBook));
if ([Link] instanceof RecipeBookProvider) {
((RecipeBookProvider)[Link]).refreshRecipeBook();
}
}
public void onEntityStatusEffect(EntityStatusEffectS2CPacket packet) {
[Link](packet, this, [Link]);
Entity entity = [Link]([Link]());
if (entity instanceof LivingEntity) {
StatusEffect statusEffect = [Link]();
if (statusEffect != null) {
StatusEffectInstance statusEffectInstance = new
StatusEffectInstance(statusEffect, [Link](), [Link](),
[Link](), [Link](), [Link](),
(StatusEffectInstance)null,
[Link]([Link]()));
((LivingEntity)entity).setStatusEffect(statusEffectInstance,
(Entity)null);
}
}
}
[Link]().reloadSearchProvider();
}
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
}
public void
onWorldBorderWarningTimeChanged(WorldBorderWarningTimeChangedS2CPacket packet) {
[Link](packet, this, [Link]);
[Link]().setWarningTime([Link]());
}
}
}
[Link]().setHeader([Link]().getString().i
sEmpty() ? null : [Link]());
[Link]().setFooter([Link]().getString().i
sEmpty() ? null : [Link]());
}
((LivingEntity)entity).removeStatusEffectInternal([Link]());
}
[Link]().setPlayerOnline(playerListEntry);
}
}
[Link]([Link]());
break;
case UPDATE_LISTED:
if ([Link]()) {
[Link](currentEntry);
} else {
[Link](currentEntry);
}
break;
case UPDATE_LATENCY:
[Link]([Link]());
break;
case UPDATE_DISPLAY_NAME:
[Link]([Link]());
}
}
}
while([Link]()) {
QueuedPacket queuedPacket = (QueuedPacket)[Link]();
if ([Link]().getAsBoolean()) {
[Link]([Link]);
[Link]();
} else if ([Link]() <= [Link]())
{
[Link]();
}
}
[Link]([Link]().download(uRL
, string, true));
} else if ([Link] != null &&
[Link]() != [Link] && (!bl ||
[Link]() != [Link])) {
[Link]([Link]);
if (bl) {
[Link]([Link]("[Link]
connect"));
}
} else {
[Link](() -> [Link](new
ConfirmScreen((enabled) -> {
[Link]((Screen)null);
if (enabled) {
if ([Link] != null) {
[Link]([Link]);
}
[Link]([Link]);
[Link]([Link]().download(uRL
, string, true));
} else {
[Link]([Link]);
if (bl) {
[Link]([Link]("[Link]
connect"));
} else if ([Link] != null) {
[Link]([Link]);
}
}
if ([Link] != null) {
[Link]([Link]);
}
}, bl ?
[Link]("[Link].line1") :
[Link]("[Link].line1"),
getServerResourcePackPrompt(bl ?
[Link]("[Link].line2").formatted(new
Formatting[]{[Link], [Link]}) :
[Link]("[Link].line2"), [Link]()), bl ?
[Link] : [Link], (Text)(bl ?
[Link]("[Link]") : [Link]))));
}
}
}
@Nullable
private static URL resolveUrl(String url) {
try {
URL uRL = new URL(url);
String string = [Link]();
return !"http".equals(string) && !"https".equals(string) ? null : uRL;
} catch (MalformedURLException var3) {
return null;
}
}
try {
packetByteBuf = [Link]();
if ([Link](identifier)) {
String string = [Link]();
[Link](string);
[Link](string);
} else if (CustomPayloadS2CPacket.DEBUG_PATH.equals(identifier)) {
int i = [Link]();
float f = [Link]();
Path path = [Link](packetByteBuf);
[Link](i, path,
f);
} else if
(CustomPayloadS2CPacket.DEBUG_NEIGHBORS_UPDATE.equals(identifier)) {
long l = [Link]();
BlockPos blockPos = [Link]();
((NeighborUpdateDebugRenderer)[Link]
).addNeighborUpdate(l, blockPos);
} else if (CustomPayloadS2CPacket.DEBUG_STRUCTURES.equals(identifier))
{
DimensionType dimensionType =
(DimensionType)[Link]().get(Regi
stryKeys.DIMENSION_TYPE).get([Link]());
BlockBox blockBox = new BlockBox([Link](),
[Link](), [Link](), [Link](),
[Link](), [Link]());
int j = [Link]();
List<BlockBox> list = [Link]();
List<Boolean> list2 = [Link]();
[Link](blockBox, list,
list2, dimensionType);
} else if
(CustomPayloadS2CPacket.DEBUG_WORLDGEN_ATTEMPT.equals(identifier)) {
((WorldGenAttemptDebugRenderer)[Link]
er).addBox([Link](), [Link](),
[Link](), [Link](), [Link](),
[Link]());
} else if
(CustomPayloadS2CPacket.DEBUG_VILLAGE_SECTIONS.equals(identifier)) {
int i = [Link]();
[Link]([Link]
dChunkSectionPos());
}
int m = [Link]();
[Link](packetByteBuf.
readChunkSectionPos());
}
} else if (CustomPayloadS2CPacket.DEBUG_POI_ADDED.equals(identifier)) {
BlockPos blockPos2 = [Link]();
String string2 = [Link]();
int j = [Link]();
[Link] pointOfInterest = new
[Link](blockPos2, string2, j);
[Link](pointOfInterest);
} else if (CustomPayloadS2CPacket.DEBUG_POI_REMOVED.equals(identifier))
{
BlockPos blockPos2 = [Link]();
[Link](blockPos2);
} else if
(CustomPayloadS2CPacket.DEBUG_POI_TICKET_COUNT.equals(identifier)) {
BlockPos blockPos2 = [Link]();
int m = [Link]();
[Link](blockPos2, m);
} else if
(CustomPayloadS2CPacket.DEBUG_GOAL_SELECTOR.equals(identifier)) {
BlockPos blockPos2 = [Link]();
int m = [Link]();
int j = [Link]();
List<[Link]> list =
[Link]();
[Link](m, list);
} else if (CustomPayloadS2CPacket.DEBUG_RAIDS.equals(identifier)) {
int i = [Link]();
Collection<BlockPos> collection = [Link]();
[Link](collection);
} else if (CustomPayloadS2CPacket.DEBUG_BRAIN.equals(identifier)) {
double d = [Link]();
double e = [Link]();
double g = [Link]();
Position position = new PositionImpl(d, e, g);
UUID uUID = [Link]();
int o = [Link]();
String string4 = [Link]();
String string5 = [Link]();
int p = [Link]();
float h = [Link]();
float q = [Link]();
String string6 = [Link]();
Path path2 = (Path)[Link](Path::fromBuffer);
boolean bl2 = [Link]();
int r = [Link]();
[Link] brain = new
[Link](uUID, o, string4, string5, p, h, q, position, string6,
path2, bl2, r);
int s = [Link]();
for(int t = 0; t < s; ++t) {
String string7 = [Link]();
[Link](string7);
}
int t = [Link]();
int u = [Link]();
int v = [Link]();
int w = [Link]();
int x = [Link]();
[Link](brain);
} else if (CustomPayloadS2CPacket.DEBUG_BEE.equals(identifier)) {
double d = [Link]();
double e = [Link]();
double g = [Link]();
Position position = new PositionImpl(d, e, g);
UUID uUID = [Link]();
int o = [Link]();
BlockPos blockPos5 =
(BlockPos)[Link](PacketByteBuf::readBlockPos);
BlockPos blockPos6 =
(BlockPos)[Link](PacketByteBuf::readBlockPos);
int p = [Link]();
Path path3 = (Path)[Link](Path::fromBuffer);
[Link] bee = new [Link](uUID, o,
position, path3, blockPos5, blockPos6, p);
int z = [Link]();
int aa = [Link]();
[Link](bee);
} else if (CustomPayloadS2CPacket.DEBUG_HIVE.equals(identifier)) {
BlockPos blockPos2 = [Link]();
String string2 = [Link]();
int j = [Link]();
int ac = [Link]();
boolean bl3 = [Link]();
[Link] hive = new [Link](blockPos2,
string2, j, ac, bl3, [Link]());
[Link](hive);
} else if
(CustomPayloadS2CPacket.DEBUG_GAME_TEST_CLEAR.equals(identifier)) {
[Link]();
} else if
(CustomPayloadS2CPacket.DEBUG_GAME_TEST_ADD_MARKER.equals(identifier)) {
BlockPos blockPos2 = [Link]();
int m = [Link]();
String string12 = [Link]();
int ac = [Link]();
[Link](blockPos2, m, string12,
ac);
} else if (CustomPayloadS2CPacket.DEBUG_GAME_EVENT.equals(identifier))
{
GameEvent gameEvent = (GameEvent)Registries.GAME_EVENT.get(new
Identifier([Link]()));
Vec3d vec3d = new Vec3d([Link](),
[Link](), [Link]());
[Link](gameEvent, vec3d);
} else if
(CustomPayloadS2CPacket.DEBUG_GAME_EVENT_LISTENERS.equals(identifier)) {
Identifier identifier2 = [Link]();
PositionSource positionSource =
((PositionSourceType)Registries.POSITION_SOURCE_TYPE.getOrEmpty(identifier2).orElse
Throw(() -> new IllegalArgumentException("Unknown position source type " +
identifier2))).readFromBuf(packetByteBuf);
int j = [Link]();
[Link](positionSource, j);
} else {
[Link]("Unknown custom packed identifier: {}", identifier);
}
} finally {
if (packetByteBuf != null) {
[Link]();
}
}
[Link] collisionRule =
[Link]([Link]());
if (collisionRule != null) {
[Link](collisionRule);
}
[Link]([Link]());
[Link]([Link]());
});
[Link] operation2 = [Link]();
if (operation2 == [Link]) {
for(String string : [Link]()) {
[Link](string, team);
}
} else if (operation2 == [Link]) {
for(String string : [Link]()) {
[Link](string, team);
}
}
if (operation == [Link]) {
[Link](team);
}
try {
[Link]([Link](),
[Link](), [Link](), [Link](), [Link](), d, e, f);
} catch (Throwable var17) {
[Link]("Could not spawn particle effect {}",
[Link]());
}
} else {
for(int i = 0; i < [Link](); ++i) {
double g = [Link]() *
(double)[Link]();
double h = [Link]() *
(double)[Link]();
double j = [Link]() *
(double)[Link]();
double k = [Link]() * (double)[Link]();
double l = [Link]() * (double)[Link]();
double m = [Link]() * (double)[Link]();
try {
[Link]([Link](),
[Link](), [Link]() + g, [Link]() + h, [Link]() + j,
k, l, m);
} catch (Throwable var16) {
[Link]("Could not spawn particle effect {}",
[Link]());
return;
}
}
}
for(EntityAttributeModifier entityAttributeModifier :
[Link]()) {
[Link](entityAttributeModifier);
}
}
}
}
}
}
});
}
}
@Nullable
public PlayerListEntry getPlayerListEntry(UUID uuid) {
return (PlayerListEntry)[Link](uuid);
}
@Nullable
public PlayerListEntry getPlayerListEntry(String profileName) {
for(PlayerListEntry playerListEntry : [Link]()) {
if ([Link]().getName().equals(profileName)) {
return playerListEntry;
}
}
return null;
}
[Link]();
[Link]();
}
@Nullable
public ServerInfo getServerInfo() {
return [Link];
}
@Environment([Link])
static record QueuedPacket(Packet<ServerPlayPacketListener> packet,
BooleanSupplier sendCondition, long expirationTime) {
final Packet<ServerPlayPacketListener> packet;
}
}