package net.minecraft.network.play; import net.minecraft.network.INetHandler; import net.minecraft.network.play.server.S00PacketKeepAlive; import net.minecraft.network.play.server.S01PacketJoinGame; import net.minecraft.network.play.server.S02PacketChat; import net.minecraft.network.play.server.S03PacketTimeUpdate; import net.minecraft.network.play.server.S04PacketEntityEquipment; import net.minecraft.network.play.server.S05PacketSpawnPosition; import net.minecraft.network.play.server.S06PacketUpdateHealth; import net.minecraft.network.play.server.S07PacketRespawn; import net.minecraft.network.play.server.S08PacketPlayerPosLook; import net.minecraft.network.play.server.S09PacketHeldItemChange; import net.minecraft.network.play.server.S0APacketUseBed; import net.minecraft.network.play.server.S0BPacketAnimation; import net.minecraft.network.play.server.S0CPacketSpawnPlayer; import net.minecraft.network.play.server.S0DPacketCollectItem; import net.minecraft.network.play.server.S0EPacketSpawnObject; import net.minecraft.network.play.server.S0FPacketSpawnMob; import net.minecraft.network.play.server.S10PacketSpawnPainting; import net.minecraft.network.play.server.S11PacketSpawnExperienceOrb; import net.minecraft.network.play.server.S12PacketEntityVelocity; import net.minecraft.network.play.server.S13PacketDestroyEntities; import net.minecraft.network.play.server.S14PacketEntity; import net.minecraft.network.play.server.S18PacketEntityTeleport; import net.minecraft.network.play.server.S19PacketEntityHeadLook; import net.minecraft.network.play.server.S19PacketEntityStatus; import net.minecraft.network.play.server.S1BPacketEntityAttach; import net.minecraft.network.play.server.S1CPacketEntityMetadata; import net.minecraft.network.play.server.S1DPacketEntityEffect; import net.minecraft.network.play.server.S1EPacketRemoveEntityEffect; import net.minecraft.network.play.server.S1FPacketSetExperience; import net.minecraft.network.play.server.S20PacketEntityProperties; import net.minecraft.network.play.server.S21PacketChunkData; import net.minecraft.network.play.server.S22PacketMultiBlockChange; import net.minecraft.network.play.server.S23PacketBlockChange; import net.minecraft.network.play.server.S24PacketBlockAction; import net.minecraft.network.play.server.S25PacketBlockBreakAnim; import net.minecraft.network.play.server.S26PacketMapChunkBulk; import net.minecraft.network.play.server.S27PacketExplosion; import net.minecraft.network.play.server.S28PacketEffect; import net.minecraft.network.play.server.S29PacketSoundEffect; import net.minecraft.network.play.server.S2APacketParticles; import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.network.play.server.S2CPacketSpawnGlobalEntity; import net.minecraft.network.play.server.S2DPacketOpenWindow; import net.minecraft.network.play.server.S2EPacketCloseWindow; import net.minecraft.network.play.server.S2FPacketSetSlot; import net.minecraft.network.play.server.S30PacketWindowItems; import net.minecraft.network.play.server.S31PacketWindowProperty; import net.minecraft.network.play.server.S32PacketConfirmTransaction; import net.minecraft.network.play.server.S33PacketUpdateSign; import net.minecraft.network.play.server.S34PacketMaps; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.network.play.server.S36PacketSignEditorOpen; import net.minecraft.network.play.server.S37PacketStatistics; import net.minecraft.network.play.server.S38PacketPlayerListItem; import net.minecraft.network.play.server.S39PacketPlayerAbilities; import net.minecraft.network.play.server.S3APacketTabComplete; import net.minecraft.network.play.server.S3BPacketScoreboardObjective; import net.minecraft.network.play.server.S3CPacketUpdateScore; import net.minecraft.network.play.server.S3DPacketDisplayScoreboard; import net.minecraft.network.play.server.S3EPacketTeams; import net.minecraft.network.play.server.S3FPacketCustomPayload; import net.minecraft.network.play.server.S40PacketDisconnect; public interface INetHandlerPlayClient extends INetHandler { /** * Spawns an instance of the objecttype indicated by the packet and sets its position and momentum */ void handleSpawnObject(S0EPacketSpawnObject packetIn); /** * Spawns an experience orb and sets its value (amount of XP) */ void handleSpawnExperienceOrb(S11PacketSpawnExperienceOrb packetIn); /** * Handles globally visible entities. Used in vanilla for lightning bolts */ void handleSpawnGlobalEntity(S2CPacketSpawnGlobalEntity packetIn); /** * Spawns the mob entity at the specified location, with the specified rotation, momentum and type. Updates the * entities Datawatchers with the entity metadata specified in the packet */ void handleSpawnMob(S0FPacketSpawnMob packetIn); /** * May create a scoreboard objective, remove an objective from the scoreboard or update an objectives' displayname */ void handleScoreboardObjective(S3BPacketScoreboardObjective packetIn); /** * Handles the spawning of a painting object */ void handleSpawnPainting(S10PacketSpawnPainting packetIn); /** * Handles the creation of a nearby player entity, sets the position and held item */ void handleSpawnPlayer(S0CPacketSpawnPlayer packetIn); /** * Renders a specified animation: Waking up a player, a living entity swinging its currently held item, being hurt * or receiving a critical hit by normal or magical means */ void handleAnimation(S0BPacketAnimation packetIn); /** * Updates the players statistics or achievements */ void handleStatistics(S37PacketStatistics packetIn); /** * Updates all registered IWorldAccess instances with destroyBlockInWorldPartially */ void handleBlockBreakAnim(S25PacketBlockBreakAnim packetIn); /** * Creates a sign in the specified location if it didn't exist and opens the GUI to edit its text */ void handleSignEditorOpen(S36PacketSignEditorOpen packetIn); /** * Updates the NBTTagCompound metadata of instances of the following entitytypes: Mob spawners, command blocks, * beacons, skulls, flowerpot */ void handleUpdateTileEntity(S35PacketUpdateTileEntity packetIn); /** * Triggers Block.onBlockEventReceived, which is implemented in BlockPistonBase for extension/retraction, BlockNote * for setting the instrument (including audiovisual feedback) and in BlockContainer to set the number of players * accessing a (Ender)Chest */ void handleBlockAction(S24PacketBlockAction packetIn); /** * Updates the block and metadata and generates a blockupdate (and notify the clients) */ void handleBlockChange(S23PacketBlockChange packetIn); /** * Prints a chatmessage in the chat GUI */ void handleChat(S02PacketChat packetIn); /** * Displays the available command-completion options the server knows of */ void handleTabComplete(S3APacketTabComplete packetIn); /** * Received from the servers PlayerManager if between 1 and 64 blocks in a chunk are changed. If only one block * requires an update, the server sends S23PacketBlockChange and if 64 or more blocks are changed, the server sends * S21PacketChunkData */ void handleMultiBlockChange(S22PacketMultiBlockChange packetIn); /** * Updates the worlds MapStorage with the specified MapData for the specified map-identifier and invokes a * MapItemRenderer for it */ void handleMaps(S34PacketMaps packetIn); /** * Verifies that the server and client are synchronized with respect to the inventory/container opened by the player * and confirms if it is the case. */ void handleConfirmTransaction(S32PacketConfirmTransaction packetIn); /** * Resets the ItemStack held in hand and closes the window that is opened */ void handleCloseWindow(S2EPacketCloseWindow packetIn); /** * Handles the placement of a specified ItemStack in a specified container/inventory slot */ void handleWindowItems(S30PacketWindowItems packetIn); /** * Displays a GUI by ID. In order starting from id 0: Chest, Workbench, Furnace, Dispenser, Enchanting table, * Brewing stand, Villager merchant, Beacon, Anvil, Hopper, Dropper, Horse */ void handleOpenWindow(S2DPacketOpenWindow packetIn); /** * Sets the progressbar of the opened window to the specified value */ void handleWindowProperty(S31PacketWindowProperty packetIn); /** * Handles pickin up an ItemStack or dropping one in your inventory or an open (non-creative) container */ void handleSetSlot(S2FPacketSetSlot packetIn); /** * Handles packets that have room for a channel specification. Vanilla implemented channels are "MC|TrList" to * acquire a MerchantRecipeList trades for a villager merchant, "MC|Brand" which sets the server brand? on the * player instance and finally "MC|RPack" which the server uses to communicate the identifier of the default server * resourcepack for the client to load. */ void handleCustomPayload(S3FPacketCustomPayload packetIn); /** * Closes the network channel */ void handleDisconnect(S40PacketDisconnect packetIn); /** * Retrieves the player identified by the packet, puts him to sleep if possible (and flags whether all players are * asleep) */ void handleUseBed(S0APacketUseBed packetIn); /** * Invokes the entities' handleUpdateHealth method which is implemented in LivingBase (hurt/death), * MinecartMobSpawner (spawn delay), FireworkRocket & MinecartTNT (explosion), IronGolem (throwing,...), Witch * (spawn particles), Zombie (villager transformation), Animal (breeding mode particles), Horse (breeding/smoke * particles), Sheep (...), Tameable (...), Villager (particles for breeding mode, angry and happy), Wolf (...) */ void handleEntityStatus(S19PacketEntityStatus packetIn); void handleEntityAttach(S1BPacketEntityAttach packetIn); /** * Initiates a new explosion (sound, particles, drop spawn) for the affected blocks indicated by the packet. */ void handleExplosion(S27PacketExplosion packetIn); void handleChangeGameState(S2BPacketChangeGameState packetIn); void handleKeepAlive(S00PacketKeepAlive packetIn); /** * Updates the specified chunk with the supplied data, marks it for re-rendering and lighting recalculation */ void handleChunkData(S21PacketChunkData packetIn); void handleMapChunkBulk(S26PacketMapChunkBulk packetIn); void handleEffect(S28PacketEffect packetIn); /** * Registers some server properties (gametype,hardcore-mode,terraintype,difficulty,player limit), creates a new * WorldClient and sets the player initial dimension */ void handleJoinGame(S01PacketJoinGame packetIn); /** * Updates the specified entity's position by the specified relative moment and absolute rotation. Note that * subclassing of the packet allows for the specification of a subset of this data (e.g. only rel. position, abs. * rotation or both). */ void handleEntityMovement(S14PacketEntity packetIn); /** * Handles changes in player positioning and rotation such as when travelling to a new dimension, (re)spawning, * mounting horses etc. Seems to immediately reply to the server with the clients post-processing perspective on the * player positioning */ void handlePlayerPosLook(S08PacketPlayerPosLook packetIn); /** * Spawns a specified number of particles at the specified location with a randomized displacement according to * specified bounds */ void handleParticles(S2APacketParticles packetIn); void handlePlayerAbilities(S39PacketPlayerAbilities packetIn); void handlePlayerListItem(S38PacketPlayerListItem packetIn); /** * Locally eliminates the entities. Invoked by the server when the items are in fact destroyed, or the player is no * longer registered as required to monitor them. The latter happens when distance between the player and item * increases beyond a certain treshold (typically the viewing distance) */ void handleDestroyEntities(S13PacketDestroyEntities packetIn); void handleRemoveEntityEffect(S1EPacketRemoveEntityEffect packetIn); void handleRespawn(S07PacketRespawn packetIn); /** * Updates the direction in which the specified entity is looking, normally this head rotation is independent of the * rotation of the entity itself */ void handleEntityHeadLook(S19PacketEntityHeadLook packetIn); /** * Updates which hotbar slot of the player is currently selected */ void handleHeldItemChange(S09PacketHeldItemChange packetIn); /** * Removes or sets the ScoreObjective to be displayed at a particular scoreboard position (list, sidebar, below * name) */ void handleDisplayScoreboard(S3DPacketDisplayScoreboard packetIn); /** * Invoked when the server registers new proximate objects in your watchlist or when objects in your watchlist have * changed -> Registers any changes locally */ void handleEntityMetadata(S1CPacketEntityMetadata packetIn); /** * Sets the velocity of the specified entity to the specified value */ void handleEntityVelocity(S12PacketEntityVelocity packetIn); void handleEntityEquipment(S04PacketEntityEquipment packetIn); void handleSetExperience(S1FPacketSetExperience packetIn); void handleUpdateHealth(S06PacketUpdateHealth packetIn); /** * Updates a team managed by the scoreboard: Create/Remove the team registration, Register/Remove the player-team- * memberships, Set team displayname/prefix/suffix and/or whether friendly fire is enabled */ void handleTeams(S3EPacketTeams packetIn); /** * Either updates the score with a specified value or removes the score for an objective */ void handleUpdateScore(S3CPacketUpdateScore packetIn); void handleSpawnPosition(S05PacketSpawnPosition packetIn); void handleTimeUpdate(S03PacketTimeUpdate packetIn); /** * Updates a specified sign with the specified text lines */ void handleUpdateSign(S33PacketUpdateSign packetIn); void handleSoundEffect(S29PacketSoundEffect packetIn); void handleCollectItem(S0DPacketCollectItem packetIn); /** * Updates an entity's position and rotation as specified by the packet */ void handleEntityTeleport(S18PacketEntityTeleport packetIn); /** * Updates en entity's attributes and their respective modifiers, which are used for speed bonusses (player * sprinting, animals fleeing, baby speed), weapon/tool attackDamage, hostiles followRange randomization, zombie * maxHealth and knockback resistance as well as reinforcement spawning chance. */ void handleEntityProperties(S20PacketEntityProperties packetIn); void handleEntityEffect(S1DPacketEntityEffect packetIn); }