From eaf3bbb0e9be21fccd70ab234ddd0065f69e1762 Mon Sep 17 00:00:00 2001 From: Sen Date: Tue, 3 Jun 2025 17:33:38 +0200 Subject: [PATCH] clean up --- proxy/src/main/java/proxy/Proxy.java | 42 +- proxy/src/main/java/proxy/nbt/NBTBase.java | 103 ----- .../main/java/proxy/nbt/NBTSizeTracker.java | 31 -- proxy/src/main/java/proxy/nbt/NBTTagByte.java | 103 ----- .../main/java/proxy/nbt/NBTTagByteArray.java | 77 ---- .../main/java/proxy/nbt/NBTTagCompound.java | 397 ------------------ .../src/main/java/proxy/nbt/NBTTagDouble.java | 74 ---- proxy/src/main/java/proxy/nbt/NBTTagEnd.java | 41 -- .../src/main/java/proxy/nbt/NBTTagFloat.java | 73 ---- proxy/src/main/java/proxy/nbt/NBTTagInt.java | 103 ----- .../main/java/proxy/nbt/NBTTagIntArray.java | 92 ---- proxy/src/main/java/proxy/nbt/NBTTagList.java | 221 ---------- proxy/src/main/java/proxy/nbt/NBTTagLong.java | 103 ----- .../src/main/java/proxy/nbt/NBTTagShort.java | 103 ----- .../src/main/java/proxy/nbt/NBTTagString.java | 93 ---- proxy/src/main/java/proxy/nbt/Nbt.java | 42 ++ proxy/src/main/java/proxy/nbt/NbtByte.java | 22 + .../src/main/java/proxy/nbt/NbtByteArray.java | 26 ++ .../src/main/java/proxy/nbt/NbtCompound.java | 68 +++ proxy/src/main/java/proxy/nbt/NbtDouble.java | 22 + proxy/src/main/java/proxy/nbt/NbtFloat.java | 22 + proxy/src/main/java/proxy/nbt/NbtInt.java | 22 + .../src/main/java/proxy/nbt/NbtIntArray.java | 30 ++ proxy/src/main/java/proxy/nbt/NbtList.java | 47 +++ proxy/src/main/java/proxy/nbt/NbtLong.java | 22 + proxy/src/main/java/proxy/nbt/NbtNull.java | 18 + proxy/src/main/java/proxy/nbt/NbtShort.java | 22 + proxy/src/main/java/proxy/nbt/NbtString.java | 27 ++ proxy/src/main/java/proxy/nbt/Tracker.java | 11 + ...onDecoder.java => CompressingDecoder.java} | 4 +- ...onEncoder.java => CompressingEncoder.java} | 4 +- .../{NetworkManager.java => Connection.java} | 81 ++-- .../proxy/network/EnumConnectionState.java | 347 --------------- .../proxy/network/EnumPacketDirection.java | 5 - .../src/main/java/proxy/network/Handler.java | 33 ++ .../java/proxy/network/HandshakeHandler.java | 49 +++ .../main/java/proxy/network/INetHandler.java | 7 - ...dlerLoginServer.java => LoginHandler.java} | 34 +- .../proxy/network/NetHandlerHandshake.java | 49 --- .../proxy/network/NetHandlerStatusClient.java | 18 - .../proxy/network/NetHandlerStatusServer.java | 39 -- proxy/src/main/java/proxy/network/Packet.java | 2 +- .../main/java/proxy/network/PacketBuffer.java | 30 +- ...geDeserializer.java => PacketDecoder.java} | 10 +- .../java/proxy/network/PacketDirection.java | 5 + ...sageSerializer.java => PacketEncoder.java} | 8 +- ...eSerializer2.java => PacketPrepender.java} | 2 +- ...Deserializer2.java => PacketSplitter.java} | 2 +- .../java/proxy/network/PacketThreadUtil.java | 16 - .../src/main/java/proxy/network/Protocol.java | 243 +++++++++++ ...ndlerPlayServer.java => ProxyHandler.java} | 182 ++------ .../java/proxy/network/StatusHandler.java | 39 ++ .../network/ThreadQuickExitException.java | 14 - .../{play/client => }/C00PacketKeepAlive.java | 8 +- .../client => }/C01PacketChatMessage.java | 8 +- .../{play/client => }/C02PacketUseEntity.java | 8 +- .../{play/client => }/C03PacketPlayer.java | 8 +- .../client => }/C07PacketPlayerDigging.java | 8 +- .../C08PacketPlayerBlockPlacement.java | 8 +- .../client => }/C09PacketHeldItemChange.java | 8 +- .../{play/client => }/C0APacketAnimation.java | 8 +- .../client => }/C0BPacketEntityAction.java | 8 +- .../{play/client => }/C0CPacketInput.java | 8 +- .../client => }/C0DPacketCloseWindow.java | 8 +- .../client => }/C0EPacketClickWindow.java | 8 +- .../C0FPacketConfirmTransaction.java | 8 +- .../C10PacketCreativeInventoryAction.java | 8 +- .../client => }/C11PacketEnchantItem.java | 8 +- .../client => }/C12PacketUpdateSign.java | 8 +- .../client => }/C13PacketPlayerAbilities.java | 8 +- .../client => }/C14PacketTabComplete.java | 8 +- .../client => }/C15PacketClientSettings.java | 8 +- .../client => }/C16PacketClientStatus.java | 8 +- .../client => }/C17PacketCustomPayload.java | 8 +- .../{play/client => }/C18PacketSpectate.java | 8 +- .../C19PacketResourcePackStatus.java | 8 +- ...Handshake.java => H00PacketHandshake.java} | 20 +- ...rverInfo.java => I00PacketServerInfo.java} | 13 +- .../S01PacketPong.java => I01PacketPong.java} | 13 +- ...ginStart.java => L00PacketLoginStart.java} | 12 +- ....java => L01PacketEncryptionResponse.java} | 8 +- ...erQuery.java => Q00PacketServerQuery.java} | 8 +- .../C01PacketPing.java => Q01PacketPing.java} | 12 +- ...sconnect.java => R00PacketDisconnect.java} | 10 +- ...t.java => R01PacketEncryptionRequest.java} | 6 +- ...uccess.java => R02PacketLoginSuccess.java} | 10 +- ...n.java => R03PacketEnableCompression.java} | 10 +- .../{play/server => }/S00PacketKeepAlive.java | 8 +- .../{play/server => }/S01PacketJoinGame.java | 8 +- .../{play/server => }/S02PacketChat.java | 8 +- .../server => }/S03PacketTimeUpdate.java | 8 +- .../server => }/S04PacketEntityEquipment.java | 8 +- .../server => }/S05PacketSpawnPosition.java | 8 +- .../server => }/S06PacketUpdateHealth.java | 8 +- .../{play/server => }/S07PacketRespawn.java | 8 +- .../server => }/S08PacketPlayerPosLook.java | 8 +- .../server => }/S09PacketHeldItemChange.java | 8 +- .../{play/server => }/S0APacketUseBed.java | 8 +- .../{play/server => }/S0BPacketAnimation.java | 8 +- .../server => }/S0CPacketSpawnPlayer.java | 8 +- .../server => }/S0DPacketCollectItem.java | 8 +- .../server => }/S0EPacketSpawnObject.java | 8 +- .../{play/server => }/S0FPacketSpawnMob.java | 8 +- .../server => }/S10PacketSpawnPainting.java | 8 +- .../S11PacketSpawnExperienceOrb.java | 8 +- .../server => }/S12PacketEntityVelocity.java | 8 +- .../server => }/S13PacketDestroyEntities.java | 8 +- .../{play/server => }/S14PacketEntity.java | 8 +- .../server => }/S18PacketEntityTeleport.java | 8 +- .../server => }/S19PacketEntityHeadLook.java | 8 +- .../server => }/S19PacketEntityStatus.java | 8 +- .../server => }/S1BPacketEntityAttach.java | 8 +- .../server => }/S1CPacketEntityMetadata.java | 8 +- .../server => }/S1DPacketEntityEffect.java | 8 +- .../S1EPacketRemoveEntityEffect.java | 8 +- .../server => }/S1FPacketSetExperience.java | 8 +- .../S20PacketEntityProperties.java | 8 +- .../{play/server => }/S21PacketChunkData.java | 8 +- .../S22PacketMultiBlockChange.java | 8 +- .../server => }/S23PacketBlockChange.java | 8 +- .../server => }/S24PacketBlockAction.java | 8 +- .../server => }/S25PacketBlockBreakAnim.java | 8 +- .../server => }/S26PacketMapChunkBulk.java | 8 +- .../{play/server => }/S27PacketExplosion.java | 8 +- .../{play/server => }/S28PacketEffect.java | 8 +- .../server => }/S29PacketSoundEffect.java | 8 +- .../{play/server => }/S2APacketParticles.java | 8 +- .../server => }/S2BPacketChangeGameState.java | 8 +- .../S2CPacketSpawnGlobalEntity.java | 8 +- .../server => }/S2DPacketOpenWindow.java | 8 +- .../server => }/S2EPacketCloseWindow.java | 8 +- .../{play/server => }/S2FPacketSetSlot.java | 8 +- .../server => }/S30PacketWindowItems.java | 8 +- .../server => }/S31PacketWindowProperty.java | 8 +- .../S32PacketConfirmTransaction.java | 8 +- .../server => }/S33PacketUpdateSign.java | 8 +- .../{play/server => }/S34PacketMaps.java | 8 +- .../S35PacketUpdateTileEntity.java | 12 +- .../server => }/S36PacketSignEditorOpen.java | 8 +- .../server => }/S37PacketStatistics.java | 8 +- .../server => }/S38PacketPlayerListItem.java | 10 +- .../server => }/S39PacketPlayerAbilities.java | 8 +- .../server => }/S3APacketTabComplete.java | 8 +- .../S3BPacketScoreboardObjective.java | 8 +- .../server => }/S3CPacketUpdateScore.java | 8 +- .../S3DPacketDisplayScoreboard.java | 8 +- .../{play/server => }/S3EPacketTeams.java | 8 +- .../server => }/S3FPacketCustomPayload.java | 8 +- .../server => }/S40PacketDisconnect.java | 8 +- .../S41PacketServerDifficulty.java | 8 +- .../server => }/S42PacketCombatEvent.java | 8 +- .../{play/server => }/S43PacketCamera.java | 8 +- .../server => }/S44PacketWorldBorder.java | 8 +- .../{play/server => }/S45PacketTitle.java | 8 +- .../S46PacketSetCompressionLevel.java | 8 +- .../S47PacketPlayerListHeaderFooter.java | 8 +- .../S48PacketResourcePackSend.java | 8 +- .../server => }/S49PacketUpdateEntityNBT.java | 12 +- .../src/main/java/proxy/util/EntityData.java | 24 ++ proxy/src/main/java/proxy/util/Profile.java | 28 ++ proxy/src/main/java/proxy/util/Property.java | 29 -- proxy/src/main/java/proxy/util/Stack.java | 8 +- proxy/src/main/java/proxy/util/Vec3.java | 12 +- proxy/src/main/java/proxy/util/Vec3f.java | 25 -- 164 files changed, 1415 insertions(+), 2875 deletions(-) delete mode 100755 proxy/src/main/java/proxy/nbt/NBTBase.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTSizeTracker.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagByte.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagByteArray.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagCompound.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagDouble.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagEnd.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagFloat.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagInt.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagIntArray.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagList.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagLong.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagShort.java delete mode 100755 proxy/src/main/java/proxy/nbt/NBTTagString.java create mode 100755 proxy/src/main/java/proxy/nbt/Nbt.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtByte.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtByteArray.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtCompound.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtDouble.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtFloat.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtInt.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtIntArray.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtList.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtLong.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtNull.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtShort.java create mode 100755 proxy/src/main/java/proxy/nbt/NbtString.java create mode 100755 proxy/src/main/java/proxy/nbt/Tracker.java rename proxy/src/main/java/proxy/network/{NettyCompressionDecoder.java => CompressingDecoder.java} (94%) rename proxy/src/main/java/proxy/network/{NettyCompressionEncoder.java => CompressingEncoder.java} (91%) rename proxy/src/main/java/proxy/network/{NetworkManager.java => Connection.java} (78%) delete mode 100755 proxy/src/main/java/proxy/network/EnumConnectionState.java delete mode 100755 proxy/src/main/java/proxy/network/EnumPacketDirection.java create mode 100755 proxy/src/main/java/proxy/network/Handler.java create mode 100755 proxy/src/main/java/proxy/network/HandshakeHandler.java delete mode 100755 proxy/src/main/java/proxy/network/INetHandler.java rename proxy/src/main/java/proxy/network/{NetHandlerLoginServer.java => LoginHandler.java} (66%) delete mode 100755 proxy/src/main/java/proxy/network/NetHandlerHandshake.java delete mode 100755 proxy/src/main/java/proxy/network/NetHandlerStatusClient.java delete mode 100755 proxy/src/main/java/proxy/network/NetHandlerStatusServer.java rename proxy/src/main/java/proxy/network/{MessageDeserializer.java => PacketDecoder.java} (63%) create mode 100755 proxy/src/main/java/proxy/network/PacketDirection.java rename proxy/src/main/java/proxy/network/{MessageSerializer.java => PacketEncoder.java} (74%) rename proxy/src/main/java/proxy/network/{MessageSerializer2.java => PacketPrepender.java} (91%) rename proxy/src/main/java/proxy/network/{MessageDeserializer2.java => PacketSplitter.java} (95%) delete mode 100755 proxy/src/main/java/proxy/network/PacketThreadUtil.java create mode 100755 proxy/src/main/java/proxy/network/Protocol.java rename proxy/src/main/java/proxy/network/{NetHandlerPlayServer.java => ProxyHandler.java} (71%) create mode 100755 proxy/src/main/java/proxy/network/StatusHandler.java delete mode 100755 proxy/src/main/java/proxy/network/ThreadQuickExitException.java rename proxy/src/main/java/proxy/packet/{play/client => }/C00PacketKeepAlive.java (79%) rename proxy/src/main/java/proxy/packet/{play/client => }/C01PacketChatMessage.java (82%) rename proxy/src/main/java/proxy/packet/{play/client => }/C02PacketUseEntity.java (87%) rename proxy/src/main/java/proxy/packet/{play/client => }/C03PacketPlayer.java (93%) rename proxy/src/main/java/proxy/packet/{play/client => }/C07PacketPlayerDigging.java (84%) rename proxy/src/main/java/proxy/packet/{play/client => }/C08PacketPlayerBlockPlacement.java (86%) rename proxy/src/main/java/proxy/packet/{play/client => }/C09PacketHeldItemChange.java (74%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0APacketAnimation.java (71%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0BPacketEntityAction.java (84%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0CPacketInput.java (84%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0DPacketCloseWindow.java (75%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0EPacketClickWindow.java (85%) rename proxy/src/main/java/proxy/packet/{play/client => }/C0FPacketConfirmTransaction.java (79%) rename proxy/src/main/java/proxy/packet/{play/client => }/C10PacketCreativeInventoryAction.java (85%) rename proxy/src/main/java/proxy/packet/{play/client => }/C11PacketEnchantItem.java (77%) rename proxy/src/main/java/proxy/packet/{play/client => }/C12PacketUpdateSign.java (82%) rename proxy/src/main/java/proxy/packet/{play/client => }/C13PacketPlayerAbilities.java (91%) rename proxy/src/main/java/proxy/packet/{play/client => }/C14PacketTabComplete.java (87%) rename proxy/src/main/java/proxy/packet/{play/client => }/C15PacketClientSettings.java (83%) rename proxy/src/main/java/proxy/packet/{play/client => }/C16PacketClientStatus.java (80%) rename proxy/src/main/java/proxy/packet/{play/client => }/C17PacketCustomPayload.java (85%) rename proxy/src/main/java/proxy/packet/{play/client => }/C18PacketSpectate.java (75%) rename proxy/src/main/java/proxy/packet/{play/client => }/C19PacketResourcePackStatus.java (82%) rename proxy/src/main/java/proxy/packet/{handshake/client/C00Handshake.java => H00PacketHandshake.java} (69%) rename proxy/src/main/java/proxy/packet/{status/server/S00PacketServerInfo.java => I00PacketServerInfo.java} (65%) rename proxy/src/main/java/proxy/packet/{status/server/S01PacketPong.java => I01PacketPong.java} (68%) rename proxy/src/main/java/proxy/packet/{login/client/C00PacketLoginStart.java => L00PacketLoginStart.java} (72%) rename proxy/src/main/java/proxy/packet/{login/client/C01PacketEncryptionResponse.java => L01PacketEncryptionResponse.java} (79%) rename proxy/src/main/java/proxy/packet/{status/client/C00PacketServerQuery.java => Q00PacketServerQuery.java} (70%) rename proxy/src/main/java/proxy/packet/{status/client/C01PacketPing.java => Q01PacketPing.java} (73%) rename proxy/src/main/java/proxy/packet/{login/server/S00PacketDisconnect.java => R00PacketDisconnect.java} (79%) rename proxy/src/main/java/proxy/packet/{login/server/S01PacketEncryptionRequest.java => R01PacketEncryptionRequest.java} (86%) rename proxy/src/main/java/proxy/packet/{login/server/S02PacketLoginSuccess.java => R02PacketLoginSuccess.java} (81%) rename proxy/src/main/java/proxy/packet/{login/server/S03PacketEnableCompression.java => R03PacketEnableCompression.java} (78%) rename proxy/src/main/java/proxy/packet/{play/server => }/S00PacketKeepAlive.java (79%) rename proxy/src/main/java/proxy/packet/{play/server => }/S01PacketJoinGame.java (92%) rename proxy/src/main/java/proxy/packet/{play/server => }/S02PacketChat.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S03PacketTimeUpdate.java (84%) rename proxy/src/main/java/proxy/packet/{play/server => }/S04PacketEntityEquipment.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S05PacketSpawnPosition.java (76%) rename proxy/src/main/java/proxy/packet/{play/server => }/S06PacketUpdateHealth.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S07PacketRespawn.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S08PacketPlayerPosLook.java (93%) rename proxy/src/main/java/proxy/packet/{play/server => }/S09PacketHeldItemChange.java (75%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0APacketUseBed.java (79%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0BPacketAnimation.java (78%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0CPacketSpawnPlayer.java (87%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0DPacketCollectItem.java (79%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0EPacketSpawnObject.java (89%) rename proxy/src/main/java/proxy/packet/{play/server => }/S0FPacketSpawnMob.java (89%) rename proxy/src/main/java/proxy/packet/{play/server => }/S10PacketSpawnPainting.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S11PacketSpawnExperienceOrb.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S12PacketEntityVelocity.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S13PacketDestroyEntities.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S14PacketEntity.java (93%) rename proxy/src/main/java/proxy/packet/{play/server => }/S18PacketEntityTeleport.java (85%) rename proxy/src/main/java/proxy/packet/{play/server => }/S19PacketEntityHeadLook.java (77%) rename proxy/src/main/java/proxy/packet/{play/server => }/S19PacketEntityStatus.java (78%) rename proxy/src/main/java/proxy/packet/{play/server => }/S1BPacketEntityAttach.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S1CPacketEntityMetadata.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S1DPacketEntityEffect.java (84%) rename proxy/src/main/java/proxy/packet/{play/server => }/S1EPacketRemoveEntityEffect.java (78%) rename proxy/src/main/java/proxy/packet/{play/server => }/S1FPacketSetExperience.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S20PacketEntityProperties.java (94%) rename proxy/src/main/java/proxy/packet/{play/server => }/S21PacketChunkData.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S22PacketMultiBlockChange.java (90%) rename proxy/src/main/java/proxy/packet/{play/server => }/S23PacketBlockChange.java (79%) rename proxy/src/main/java/proxy/packet/{play/server => }/S24PacketBlockAction.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S25PacketBlockBreakAnim.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S26PacketMapChunkBulk.java (95%) rename proxy/src/main/java/proxy/packet/{play/server => }/S27PacketExplosion.java (91%) rename proxy/src/main/java/proxy/packet/{play/server => }/S28PacketEffect.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S29PacketSoundEffect.java (84%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2APacketParticles.java (91%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2BPacketChangeGameState.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2CPacketSpawnGlobalEntity.java (82%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2DPacketOpenWindow.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2EPacketCloseWindow.java (75%) rename proxy/src/main/java/proxy/packet/{play/server => }/S2FPacketSetSlot.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S30PacketWindowItems.java (83%) rename proxy/src/main/java/proxy/packet/{play/server => }/S31PacketWindowProperty.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S32PacketConfirmTransaction.java (80%) rename proxy/src/main/java/proxy/packet/{play/server => }/S33PacketUpdateSign.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S34PacketMaps.java (93%) rename proxy/src/main/java/proxy/packet/{play/server => }/S35PacketUpdateTileEntity.java (76%) rename proxy/src/main/java/proxy/packet/{play/server => }/S36PacketSignEditorOpen.java (79%) rename proxy/src/main/java/proxy/packet/{play/server => }/S37PacketStatistics.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S38PacketPlayerListItem.java (97%) rename proxy/src/main/java/proxy/packet/{play/server => }/S39PacketPlayerAbilities.java (93%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3APacketTabComplete.java (84%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3BPacketScoreboardObjective.java (85%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3CPacketUpdateScore.java (86%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3DPacketDisplayScoreboard.java (78%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3EPacketTeams.java (92%) rename proxy/src/main/java/proxy/packet/{play/server => }/S3FPacketCustomPayload.java (87%) rename proxy/src/main/java/proxy/packet/{play/server => }/S40PacketDisconnect.java (81%) rename proxy/src/main/java/proxy/packet/{play/server => }/S41PacketServerDifficulty.java (75%) rename proxy/src/main/java/proxy/packet/{play/server => }/S42PacketCombatEvent.java (89%) rename proxy/src/main/java/proxy/packet/{play/server => }/S43PacketCamera.java (76%) rename proxy/src/main/java/proxy/packet/{play/server => }/S44PacketWorldBorder.java (94%) rename proxy/src/main/java/proxy/packet/{play/server => }/S45PacketTitle.java (92%) rename proxy/src/main/java/proxy/packet/{play/server => }/S46PacketSetCompressionLevel.java (77%) rename proxy/src/main/java/proxy/packet/{play/server => }/S47PacketPlayerListHeaderFooter.java (77%) rename proxy/src/main/java/proxy/packet/{play/server => }/S48PacketResourcePackSend.java (77%) rename proxy/src/main/java/proxy/packet/{play/server => }/S49PacketUpdateEntityNBT.java (73%) delete mode 100644 proxy/src/main/java/proxy/util/Property.java delete mode 100644 proxy/src/main/java/proxy/util/Vec3f.java diff --git a/proxy/src/main/java/proxy/Proxy.java b/proxy/src/main/java/proxy/Proxy.java index 0e6ebe3..4c4bc80 100755 --- a/proxy/src/main/java/proxy/Proxy.java +++ b/proxy/src/main/java/proxy/Proxy.java @@ -50,16 +50,16 @@ import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFutureTask; import com.google.common.util.concurrent.ThreadFactoryBuilder; -import proxy.network.EnumPacketDirection; -import proxy.network.MessageDeserializer; -import proxy.network.MessageDeserializer2; -import proxy.network.MessageSerializer; -import proxy.network.MessageSerializer2; -import proxy.network.NetHandlerHandshake; -import proxy.network.NetHandlerPlayServer; -import proxy.network.NetworkManager; -import proxy.network.ThreadQuickExitException; -import proxy.packet.play.server.S40PacketDisconnect; +import proxy.network.PacketDirection; +import proxy.network.PacketDecoder; +import proxy.network.PacketSplitter; +import proxy.network.PacketEncoder; +import proxy.network.PacketPrepender; +import proxy.network.Handler.ThreadQuickExitException; +import proxy.network.HandshakeHandler; +import proxy.network.ProxyHandler; +import proxy.network.Connection; +import proxy.packet.S40PacketDisconnect; import proxy.util.ChatColor; import proxy.util.ServerInfo; import proxy.util.User; @@ -82,10 +82,10 @@ public class Proxy { private volatile boolean running = true; private final List endpoints = Collections.synchronizedList(Lists.newArrayList()); - private final List networkManagers = Collections.synchronizedList(Lists.newArrayList()); + private final List networkManagers = Collections.synchronizedList(Lists.newArrayList()); private final Queue> futureTaskQueue = Queues.>newArrayDeque(); private final Map users = Maps.newHashMap(); - private final Map players = Maps.newHashMap(); + private final Map players = Maps.newHashMap(); private final Thread serverThread; private int compression = -1; @@ -217,14 +217,14 @@ public class Proxy { } p_initChannel_1_.pipeline().addLast((String)"timeout", (ChannelHandler)(new ReadTimeoutHandler(30))) - .addLast((String)"splitter", (ChannelHandler)(new MessageDeserializer2())) - .addLast((String)"decoder", (ChannelHandler)(new MessageDeserializer(EnumPacketDirection.SERVERBOUND))) - .addLast((String)"prepender", (ChannelHandler)(new MessageSerializer2())) - .addLast((String)"encoder", (ChannelHandler)(new MessageSerializer(EnumPacketDirection.CLIENTBOUND))); - NetworkManager networkmanager = new NetworkManager(EnumPacketDirection.SERVERBOUND); + .addLast((String)"splitter", (ChannelHandler)(new PacketSplitter())) + .addLast((String)"decoder", (ChannelHandler)(new PacketDecoder(PacketDirection.SERVER))) + .addLast((String)"prepender", (ChannelHandler)(new PacketPrepender())) + .addLast((String)"encoder", (ChannelHandler)(new PacketEncoder(PacketDirection.CLIENT))); + Connection networkmanager = new Connection(PacketDirection.SERVER); Proxy.this.networkManagers.add(networkmanager); p_initChannel_1_.pipeline().addLast((String)"packet_handler", (ChannelHandler)networkmanager); - networkmanager.setNetHandler(new NetHandlerHandshake(Proxy.this, networkmanager)); + networkmanager.setNetHandler(new HandshakeHandler(Proxy.this, networkmanager)); } }).group((EventLoopGroup)lazyloadbase.getValue()).localAddress(address, port)).bind().syncUninterruptibly()); } @@ -245,10 +245,10 @@ public class Proxy { public void networkTick() { synchronized(this.networkManagers) { - Iterator iterator = this.networkManagers.iterator(); + Iterator iterator = this.networkManagers.iterator(); while(iterator.hasNext()) { - final NetworkManager networkmanager = (NetworkManager)iterator.next(); + final Connection networkmanager = (Connection)iterator.next(); if(!networkmanager.hasNoChannel()) { if(!networkmanager.isChannelOpen()) { @@ -346,7 +346,7 @@ public class Proxy { this.users.put(user.toLowerCase(Locale.US), password); } - public void setLoggedIn(String user, NetHandlerPlayServer handler) { + public void setLoggedIn(String user, ProxyHandler handler) { this.players.put(user.toLowerCase(Locale.US), handler); } diff --git a/proxy/src/main/java/proxy/nbt/NBTBase.java b/proxy/src/main/java/proxy/nbt/NBTBase.java deleted file mode 100755 index 02b3fb4..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTBase.java +++ /dev/null @@ -1,103 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public abstract class NBTBase -{ - abstract void write(DataOutput output) throws IOException; - - abstract void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException; - - public abstract String toString(); - - /** - * Gets the type byte for the tag. - */ - public abstract byte getId(); - - /** - * Creates a new NBTBase object that corresponds with the passed in id. - */ - protected static NBTBase createNewByType(byte id) - { - switch (id) - { - case 0: - return new NBTTagEnd(); - - case 1: - return new NBTTagByte(); - - case 2: - return new NBTTagShort(); - - case 3: - return new NBTTagInt(); - - case 4: - return new NBTTagLong(); - - case 5: - return new NBTTagFloat(); - - case 6: - return new NBTTagDouble(); - - case 7: - return new NBTTagByteArray(); - - case 8: - return new NBTTagString(); - - case 9: - return new NBTTagList(); - - case 10: - return new NBTTagCompound(); - - case 11: - return new NBTTagIntArray(); - - default: - return null; - } - } - - /** - * Creates a clone of the tag. - */ - public abstract NBTBase copy(); - - /** - * Return whether this compound has no tags. - */ - public boolean hasNoTags() - { - return false; - } - - public boolean equals(Object p_equals_1_) - { - if (!(p_equals_1_ instanceof NBTBase)) - { - return false; - } - else - { - NBTBase nbtbase = (NBTBase)p_equals_1_; - return this.getId() == nbtbase.getId(); - } - } - - public int hashCode() - { - return this.getId(); - } - - protected String getString() - { - return this.toString(); - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTSizeTracker.java b/proxy/src/main/java/proxy/nbt/NBTSizeTracker.java deleted file mode 100755 index 1fd71f8..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTSizeTracker.java +++ /dev/null @@ -1,31 +0,0 @@ -package proxy.nbt; - -public class NBTSizeTracker -{ - public static final NBTSizeTracker INFINITE = new NBTSizeTracker(0L) - { - public void read(long bits) - { - } - }; - private final long max; - private long read; - - public NBTSizeTracker(long max) - { - this.max = max; - } - - /** - * Tracks the reading of the given amount of bits(!) - */ - public void read(long bits) - { - this.read += bits / 8L; - - if (this.read > this.max) - { - throw new RuntimeException("Tried to read NBT tag that was too big; tried to allocate: " + this.read + "bytes where max allowed: " + this.max); - } - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagByte.java b/proxy/src/main/java/proxy/nbt/NBTTagByte.java deleted file mode 100755 index b40c2d8..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagByte.java +++ /dev/null @@ -1,103 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagByte extends NBTBase -{ - /** The byte value for the tag. */ - private byte data; - - NBTTagByte() - { - } - - public NBTTagByte(byte data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeByte(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(72L); - this.data = input.readByte(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)1; - } - - public String toString() - { - return "" + this.data + "b"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagByte(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagByte nbttagbyte = (NBTTagByte)p_equals_1_; - return this.data == nbttagbyte.data; - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ this.data; - } - - public long getLong() - { - return (long)this.data; - } - - public int getInt() - { - return this.data; - } - - public short getShort() - { - return (short)this.data; - } - - public byte getByte() - { - return this.data; - } - - public double getDouble() - { - return (double)this.data; - } - - public float getFloat() - { - return (float)this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagByteArray.java b/proxy/src/main/java/proxy/nbt/NBTTagByteArray.java deleted file mode 100755 index 07d43ae..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagByteArray.java +++ /dev/null @@ -1,77 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.Arrays; - -public class NBTTagByteArray extends NBTBase -{ - /** The byte array stored in the tag. */ - private byte[] data; - - NBTTagByteArray() - { - } - - public NBTTagByteArray(byte[] data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeInt(this.data.length); - output.write(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(192L); - int i = input.readInt(); - sizeTracker.read((long)(8 * i)); - this.data = new byte[i]; - input.readFully(this.data); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)7; - } - - public String toString() - { - return "[" + this.data.length + " bytes]"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - byte[] abyte = new byte[this.data.length]; - System.arraycopy(this.data, 0, abyte, 0, this.data.length); - return new NBTTagByteArray(abyte); - } - - public boolean equals(Object p_equals_1_) - { - return super.equals(p_equals_1_) ? Arrays.equals(this.data, ((NBTTagByteArray)p_equals_1_).data) : false; - } - - public int hashCode() - { - return super.hashCode() ^ Arrays.hashCode(this.data); - } - - public byte[] getByteArray() - { - return this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagCompound.java b/proxy/src/main/java/proxy/nbt/NBTTagCompound.java deleted file mode 100755 index 7197c93..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagCompound.java +++ /dev/null @@ -1,397 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.Map; -import java.util.Set; - -import com.google.common.collect.Maps; - -import java.util.Map.Entry; - -public class NBTTagCompound extends NBTBase -{ - private Map tagMap = Maps.newHashMap(); - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - public void write(DataOutput output) throws IOException - { - for (String s : this.tagMap.keySet()) - { - NBTBase nbtbase = (NBTBase)this.tagMap.get(s); - writeEntry(s, nbtbase, output); - } - - output.writeByte(0); - } - - public void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(384L); - - if (depth > 512) - { - throw new RuntimeException("Tried to read NBT tag with too high complexity, depth > 512"); - } - else - { - this.tagMap.clear(); - byte b0; - - while ((b0 = readType(input, sizeTracker)) != 0) - { - String s = readKey(input, sizeTracker); - sizeTracker.read((long)(224 + 16 * s.length())); - NBTBase nbtbase = readNBT(b0, s, input, depth + 1, sizeTracker); - - if (this.tagMap.put(s, nbtbase) != null) - { - sizeTracker.read(288L); - } - } - } - } - - public Set getKeySet() - { - return this.tagMap.keySet(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)10; - } - - /** - * Stores the given tag into the map with the given string key. This is mostly used to store tag lists. - */ - public void setTag(String key, NBTBase value) - { - this.tagMap.put(key, value); - } - - /** - * Stores a new NBTTagByte with the given byte value into the map with the given string key. - */ - public void setByte(String key, byte value) - { - this.tagMap.put(key, new NBTTagByte(value)); - } - - /** - * Stores a new NBTTagShort with the given short value into the map with the given string key. - */ - public void setShort(String key, short value) - { - this.tagMap.put(key, new NBTTagShort(value)); - } - - /** - * Stores a new NBTTagInt with the given integer value into the map with the given string key. - */ - public void setInteger(String key, int value) - { - this.tagMap.put(key, new NBTTagInt(value)); - } - - /** - * Stores a new NBTTagLong with the given long value into the map with the given string key. - */ - public void setLong(String key, long value) - { - this.tagMap.put(key, new NBTTagLong(value)); - } - - /** - * Stores a new NBTTagFloat with the given float value into the map with the given string key. - */ - public void setFloat(String key, float value) - { - this.tagMap.put(key, new NBTTagFloat(value)); - } - - /** - * Stores a new NBTTagDouble with the given double value into the map with the given string key. - */ - public void setDouble(String key, double value) - { - this.tagMap.put(key, new NBTTagDouble(value)); - } - - /** - * Stores a new NBTTagString with the given string value into the map with the given string key. - */ - public void setString(String key, String value) - { - this.tagMap.put(key, new NBTTagString(value)); - } - - /** - * Stores a new NBTTagByteArray with the given array as data into the map with the given string key. - */ - public void setByteArray(String key, byte[] value) - { - this.tagMap.put(key, new NBTTagByteArray(value)); - } - - /** - * Stores a new NBTTagIntArray with the given array as data into the map with the given string key. - */ - public void setIntArray(String key, int[] value) - { - this.tagMap.put(key, new NBTTagIntArray(value)); - } - - /** - * Stores the given boolean value as a NBTTagByte, storing 1 for true and 0 for false, using the given string key. - */ - public void setBoolean(String key, boolean value) - { - this.setByte(key, (byte)(value ? 1 : 0)); - } - - /** - * gets a generic tag with the specified name - */ - public NBTBase getTag(String key) - { - return (NBTBase)this.tagMap.get(key); - } - - /** - * Gets the ID byte for the given tag key - */ - public byte getTagId(String key) - { - NBTBase nbtbase = (NBTBase)this.tagMap.get(key); - return nbtbase != null ? nbtbase.getId() : 0; - } - - /** - * Returns whether the given string has been previously stored as a key in the map. - */ - public boolean hasKey(String key) - { - return this.tagMap.containsKey(key); - } - - public boolean hasKey(String key, int type) - { - int i = this.getTagId(key); - return i == type; - } - - /** - * Retrieves a string value using the specified key, or an empty string if no such key was stored. - */ - public String getString(String key) - { - try - { - return !this.hasKey(key, 8) ? "" : ((NBTBase)this.tagMap.get(key)).getString(); - } - catch (ClassCastException var3) - { - return ""; - } - } - - /** - * Retrieves a byte array using the specified key, or a zero-length array if no such key was stored. - */ - public byte[] getByteArray(String key) - { - try - { - return !this.hasKey(key, 7) ? new byte[0] : ((NBTTagByteArray)this.tagMap.get(key)).getByteArray(); - } - catch (ClassCastException classcastexception) - { - throw new RuntimeException(classcastexception); - } - } - - /** - * Retrieves an int array using the specified key, or a zero-length array if no such key was stored. - */ - public int[] getIntArray(String key) - { - try - { - return !this.hasKey(key, 11) ? new int[0] : ((NBTTagIntArray)this.tagMap.get(key)).getIntArray(); - } - catch (ClassCastException classcastexception) - { - throw new RuntimeException(classcastexception); - } - } - - /** - * Retrieves a NBTTagCompound subtag matching the specified key, or a new empty NBTTagCompound if no such key was - * stored. - */ - public NBTTagCompound getCompoundTag(String key) - { - try - { - return !this.hasKey(key, 10) ? new NBTTagCompound() : (NBTTagCompound)this.tagMap.get(key); - } - catch (ClassCastException classcastexception) - { - throw new RuntimeException(classcastexception); - } - } - - /** - * Gets the NBTTagList object with the given name. Args: name, NBTBase type - */ - public NBTTagList getTagList(String key, int type) - { - try - { - if (this.getTagId(key) != 9) - { - return new NBTTagList(); - } - else - { - NBTTagList nbttaglist = (NBTTagList)this.tagMap.get(key); - return nbttaglist.tagCount() > 0 && nbttaglist.getTagType() != type ? new NBTTagList() : nbttaglist; - } - } - catch (ClassCastException classcastexception) - { - throw new RuntimeException(classcastexception); - } - } - - /** - * Remove the specified tag. - */ - public void removeTag(String key) - { - this.tagMap.remove(key); - } - - public String toString() - { - StringBuilder stringbuilder = new StringBuilder("{"); - - for (Entry entry : this.tagMap.entrySet()) - { - if (stringbuilder.length() != 1) - { - stringbuilder.append(','); - } - - stringbuilder.append((String)entry.getKey()).append(':').append(entry.getValue()); - } - - return stringbuilder.append('}').toString(); - } - - /** - * Return whether this compound has no tags. - */ - public boolean hasNoTags() - { - return this.tagMap.isEmpty(); - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - - for (String s : this.tagMap.keySet()) - { - nbttagcompound.setTag(s, ((NBTBase)this.tagMap.get(s)).copy()); - } - - return nbttagcompound; - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagCompound nbttagcompound = (NBTTagCompound)p_equals_1_; - return this.tagMap.entrySet().equals(nbttagcompound.tagMap.entrySet()); - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ this.tagMap.hashCode(); - } - - private static void writeEntry(String name, NBTBase data, DataOutput output) throws IOException - { - output.writeByte(data.getId()); - - if (data.getId() != 0) - { - output.writeUTF(name); - data.write(output); - } - } - - private static byte readType(DataInput input, NBTSizeTracker sizeTracker) throws IOException - { - return input.readByte(); - } - - private static String readKey(DataInput input, NBTSizeTracker sizeTracker) throws IOException - { - return input.readUTF(); - } - - static NBTBase readNBT(byte id, String key, DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - NBTBase nbtbase = NBTBase.createNewByType(id); - - nbtbase.read(input, depth, sizeTracker); - return nbtbase; - } - - /** - * Merges this NBTTagCompound with the given compound. Any sub-compounds are merged using the same methods, other - * types of tags are overwritten from the given compound. - */ - public void merge(NBTTagCompound other) - { - for (String s : other.tagMap.keySet()) - { - NBTBase nbtbase = (NBTBase)other.tagMap.get(s); - - if (nbtbase.getId() == 10) - { - if (this.hasKey(s, 10)) - { - NBTTagCompound nbttagcompound = this.getCompoundTag(s); - nbttagcompound.merge((NBTTagCompound)nbtbase); - } - else - { - this.setTag(s, nbtbase.copy()); - } - } - else - { - this.setTag(s, nbtbase.copy()); - } - } - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagDouble.java b/proxy/src/main/java/proxy/nbt/NBTTagDouble.java deleted file mode 100755 index 58dd4aa..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagDouble.java +++ /dev/null @@ -1,74 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagDouble extends NBTBase -{ - /** The double value for the tag. */ - private double data; - - NBTTagDouble() - { - } - - public NBTTagDouble(double data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeDouble(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(128L); - this.data = input.readDouble(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)6; - } - - public String toString() - { - return "" + this.data + "d"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagDouble(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagDouble nbttagdouble = (NBTTagDouble)p_equals_1_; - return this.data == nbttagdouble.data; - } - else - { - return false; - } - } - - public int hashCode() - { - long i = Double.doubleToLongBits(this.data); - return super.hashCode() ^ (int)(i ^ i >>> 32); - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagEnd.java b/proxy/src/main/java/proxy/nbt/NBTTagEnd.java deleted file mode 100755 index a0edc95..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagEnd.java +++ /dev/null @@ -1,41 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagEnd extends NBTBase -{ - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(64L); - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)0; - } - - public String toString() - { - return "END"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagEnd(); - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagFloat.java b/proxy/src/main/java/proxy/nbt/NBTTagFloat.java deleted file mode 100755 index 373de2b..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagFloat.java +++ /dev/null @@ -1,73 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagFloat extends NBTBase -{ - /** The float value for the tag. */ - private float data; - - NBTTagFloat() - { - } - - public NBTTagFloat(float data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeFloat(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(96L); - this.data = input.readFloat(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)5; - } - - public String toString() - { - return "" + this.data + "f"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagFloat(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagFloat nbttagfloat = (NBTTagFloat)p_equals_1_; - return this.data == nbttagfloat.data; - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ Float.floatToIntBits(this.data); - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagInt.java b/proxy/src/main/java/proxy/nbt/NBTTagInt.java deleted file mode 100755 index c707640..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagInt.java +++ /dev/null @@ -1,103 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagInt extends NBTBase -{ - /** The integer value for the tag. */ - private int data; - - NBTTagInt() - { - } - - public NBTTagInt(int data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeInt(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(96L); - this.data = input.readInt(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)3; - } - - public String toString() - { - return "" + this.data; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagInt(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagInt nbttagint = (NBTTagInt)p_equals_1_; - return this.data == nbttagint.data; - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ this.data; - } - - public long getLong() - { - return (long)this.data; - } - - public int getInt() - { - return this.data; - } - - public short getShort() - { - return (short)(this.data & 65535); - } - - public byte getByte() - { - return (byte)(this.data & 255); - } - - public double getDouble() - { - return (double)this.data; - } - - public float getFloat() - { - return (float)this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagIntArray.java b/proxy/src/main/java/proxy/nbt/NBTTagIntArray.java deleted file mode 100755 index 30eeddf..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagIntArray.java +++ /dev/null @@ -1,92 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.Arrays; - -public class NBTTagIntArray extends NBTBase -{ - /** The array of saved integers */ - private int[] intArray; - - NBTTagIntArray() - { - } - - public NBTTagIntArray(int[] p_i45132_1_) - { - this.intArray = p_i45132_1_; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeInt(this.intArray.length); - - for (int i = 0; i < this.intArray.length; ++i) - { - output.writeInt(this.intArray[i]); - } - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(192L); - int i = input.readInt(); - sizeTracker.read((long)(32 * i)); - this.intArray = new int[i]; - - for (int j = 0; j < i; ++j) - { - this.intArray[j] = input.readInt(); - } - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)11; - } - - public String toString() - { - String s = "["; - - for (int i : this.intArray) - { - s = s + i + ","; - } - - return s + "]"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - int[] aint = new int[this.intArray.length]; - System.arraycopy(this.intArray, 0, aint, 0, this.intArray.length); - return new NBTTagIntArray(aint); - } - - public boolean equals(Object p_equals_1_) - { - return super.equals(p_equals_1_) ? Arrays.equals(this.intArray, ((NBTTagIntArray)p_equals_1_).intArray) : false; - } - - public int hashCode() - { - return super.hashCode() ^ Arrays.hashCode(this.intArray); - } - - public int[] getIntArray() - { - return this.intArray; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagList.java b/proxy/src/main/java/proxy/nbt/NBTTagList.java deleted file mode 100755 index b382080..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagList.java +++ /dev/null @@ -1,221 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.List; - -import com.google.common.collect.Lists; - -import proxy.util.Log; - -public class NBTTagList extends NBTBase -{ - private List tagList = Lists.newArrayList(); - - /** - * The type byte for the tags in the list - they must all be of the same type. - */ - private byte tagType = 0; - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - if (!this.tagList.isEmpty()) - { - this.tagType = ((NBTBase)this.tagList.get(0)).getId(); - } - else - { - this.tagType = 0; - } - - output.writeByte(this.tagType); - output.writeInt(this.tagList.size()); - - for (int i = 0; i < this.tagList.size(); ++i) - { - ((NBTBase)this.tagList.get(i)).write(output); - } - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(296L); - - if (depth > 512) - { - throw new RuntimeException("Tried to read NBT tag with too high complexity, depth > 512"); - } - else - { - this.tagType = input.readByte(); - int i = input.readInt(); - - if (this.tagType == 0 && i > 0) - { - throw new RuntimeException("Missing type on ListTag"); - } - else - { - sizeTracker.read(32L * (long)i); - this.tagList = Lists.newArrayListWithCapacity(i); - - for (int j = 0; j < i; ++j) - { - NBTBase nbtbase = NBTBase.createNewByType(this.tagType); - nbtbase.read(input, depth + 1, sizeTracker); - this.tagList.add(nbtbase); - } - } - } - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)9; - } - - public String toString() - { - StringBuilder stringbuilder = new StringBuilder("["); - - for (int i = 0; i < this.tagList.size(); ++i) - { - if (i != 0) - { - stringbuilder.append(','); - } - - stringbuilder.append(i).append(':').append(this.tagList.get(i)); - } - - return stringbuilder.append(']').toString(); - } - - /** - * Adds the provided tag to the end of the list. There is no check to verify this tag is of the same type as any - * previous tag. - */ - public void appendTag(NBTBase nbt) - { - if (nbt.getId() == 0) - { - Log.warn("Invalid TagEnd added to ListTag"); - } - else - { - if (this.tagType == 0) - { - this.tagType = nbt.getId(); - } - else if (this.tagType != nbt.getId()) - { - Log.warn("Adding mismatching tag types to tag list"); - return; - } - - this.tagList.add(nbt); - } - } - - /** - * Set the given index to the given tag - */ - public void set(int idx, NBTBase nbt) - { - if (nbt.getId() == 0) - { - Log.warn("Invalid TagEnd added to ListTag"); - } - else if (idx >= 0 && idx < this.tagList.size()) - { - if (this.tagType == 0) - { - this.tagType = nbt.getId(); - } - else if (this.tagType != nbt.getId()) - { - Log.warn("Adding mismatching tag types to tag list"); - return; - } - - this.tagList.set(idx, nbt); - } - else - { - Log.warn("index out of bounds to set tag in tag list"); - } - } - - /** - * Removes a tag at the given index. - */ - public NBTBase removeTag(int i) - { - return (NBTBase)this.tagList.remove(i); - } - - /** - * Return whether this compound has no tags. - */ - public boolean hasNoTags() - { - return this.tagList.isEmpty(); - } - - /** - * Returns the number of tags in the list. - */ - public int tagCount() - { - return this.tagList.size(); - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - NBTTagList nbttaglist = new NBTTagList(); - nbttaglist.tagType = this.tagType; - - for (NBTBase nbtbase : this.tagList) - { - NBTBase nbtbase1 = nbtbase.copy(); - nbttaglist.tagList.add(nbtbase1); - } - - return nbttaglist; - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagList nbttaglist = (NBTTagList)p_equals_1_; - - if (this.tagType == nbttaglist.tagType) - { - return this.tagList.equals(nbttaglist.tagList); - } - } - - return false; - } - - public int hashCode() - { - return super.hashCode() ^ this.tagList.hashCode(); - } - - public int getTagType() - { - return this.tagType; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagLong.java b/proxy/src/main/java/proxy/nbt/NBTTagLong.java deleted file mode 100755 index 8fcf376..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagLong.java +++ /dev/null @@ -1,103 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagLong extends NBTBase -{ - /** The long value for the tag. */ - private long data; - - NBTTagLong() - { - } - - public NBTTagLong(long data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeLong(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(128L); - this.data = input.readLong(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)4; - } - - public String toString() - { - return "" + this.data + "L"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagLong(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagLong nbttaglong = (NBTTagLong)p_equals_1_; - return this.data == nbttaglong.data; - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ (int)(this.data ^ this.data >>> 32); - } - - public long getLong() - { - return this.data; - } - - public int getInt() - { - return (int)(this.data & -1L); - } - - public short getShort() - { - return (short)((int)(this.data & 65535L)); - } - - public byte getByte() - { - return (byte)((int)(this.data & 255L)); - } - - public double getDouble() - { - return (double)this.data; - } - - public float getFloat() - { - return (float)this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagShort.java b/proxy/src/main/java/proxy/nbt/NBTTagShort.java deleted file mode 100755 index 52573f8..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagShort.java +++ /dev/null @@ -1,103 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagShort extends NBTBase -{ - /** The short value for the tag. */ - private short data; - - public NBTTagShort() - { - } - - public NBTTagShort(short data) - { - this.data = data; - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeShort(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(80L); - this.data = input.readShort(); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)2; - } - - public String toString() - { - return "" + this.data + "s"; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagShort(this.data); - } - - public boolean equals(Object p_equals_1_) - { - if (super.equals(p_equals_1_)) - { - NBTTagShort nbttagshort = (NBTTagShort)p_equals_1_; - return this.data == nbttagshort.data; - } - else - { - return false; - } - } - - public int hashCode() - { - return super.hashCode() ^ this.data; - } - - public long getLong() - { - return (long)this.data; - } - - public int getInt() - { - return this.data; - } - - public short getShort() - { - return this.data; - } - - public byte getByte() - { - return (byte)(this.data & 255); - } - - public double getDouble() - { - return (double)this.data; - } - - public float getFloat() - { - return (float)this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/NBTTagString.java b/proxy/src/main/java/proxy/nbt/NBTTagString.java deleted file mode 100755 index 9ed386d..0000000 --- a/proxy/src/main/java/proxy/nbt/NBTTagString.java +++ /dev/null @@ -1,93 +0,0 @@ -package proxy.nbt; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagString extends NBTBase -{ - /** The string value for the tag (cannot be empty). */ - private String data; - - public NBTTagString() - { - this.data = ""; - } - - public NBTTagString(String data) - { - this.data = data; - - if (data == null) - { - throw new IllegalArgumentException("Empty string not allowed"); - } - } - - /** - * Write the actual data contents of the tag, implemented in NBT extension classes - */ - void write(DataOutput output) throws IOException - { - output.writeUTF(this.data); - } - - void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException - { - sizeTracker.read(288L); - this.data = input.readUTF(); - sizeTracker.read((long)(16 * this.data.length())); - } - - /** - * Gets the type byte for the tag. - */ - public byte getId() - { - return (byte)8; - } - - public String toString() - { - return "\"" + this.data.replace("\"", "\\\"") + "\""; - } - - /** - * Creates a clone of the tag. - */ - public NBTBase copy() - { - return new NBTTagString(this.data); - } - - /** - * Return whether this compound has no tags. - */ - public boolean hasNoTags() - { - return this.data.isEmpty(); - } - - public boolean equals(Object p_equals_1_) - { - if (!super.equals(p_equals_1_)) - { - return false; - } - else - { - NBTTagString nbttagstring = (NBTTagString)p_equals_1_; - return this.data == null && nbttagstring.data == null || this.data != null && this.data.equals(nbttagstring.data); - } - } - - public int hashCode() - { - return super.hashCode() ^ this.data.hashCode(); - } - - public String getString() - { - return this.data; - } -} diff --git a/proxy/src/main/java/proxy/nbt/Nbt.java b/proxy/src/main/java/proxy/nbt/Nbt.java new file mode 100755 index 0000000..d87d8d5 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/Nbt.java @@ -0,0 +1,42 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +abstract class Nbt { + abstract void write(DataOutput output) throws IOException; + abstract void read(DataInput input, int depth, Tracker tracker) throws IOException; + abstract byte getId(); + + static Nbt createTag(byte id) { + switch(id) { + case 0: + return new NbtNull(); + case 1: + return new NbtByte(); + case 2: + return new NbtShort(); + case 3: + return new NbtInt(); + case 4: + return new NbtLong(); + case 5: + return new NbtFloat(); + case 6: + return new NbtDouble(); + case 7: + return new NbtByteArray(); + case 8: + return new NbtString(); + case 9: + return new NbtList(); + case 10: + return new NbtCompound(); + case 11: + return new NbtIntArray(); + default: + return null; + } + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtByte.java b/proxy/src/main/java/proxy/nbt/NbtByte.java new file mode 100755 index 0000000..3bcc49b --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtByte.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtByte extends Nbt { + private byte data; + + void write(DataOutput output) throws IOException { + output.writeByte(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(72L); + this.data = input.readByte(); + } + + byte getId() { + return (byte)1; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtByteArray.java b/proxy/src/main/java/proxy/nbt/NbtByteArray.java new file mode 100755 index 0000000..26b7328 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtByteArray.java @@ -0,0 +1,26 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtByteArray extends Nbt { + private byte[] data; + + void write(DataOutput output) throws IOException { + output.writeInt(this.data.length); + output.write(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(192L); + int len = input.readInt(); + tracker.read((long)(8 * len)); + this.data = new byte[len]; + input.readFully(this.data); + } + + byte getId() { + return (byte)7; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtCompound.java b/proxy/src/main/java/proxy/nbt/NbtCompound.java new file mode 100755 index 0000000..bebd42a --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtCompound.java @@ -0,0 +1,68 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.util.Map; +import com.google.common.collect.Maps; + +public class NbtCompound extends Nbt { + private Map tags = Maps.newHashMap(); + + void write(DataOutput output) throws IOException { + for(String key : this.tags.keySet()) { + Nbt tag = this.tags.get(key); + output.writeByte(tag.getId()); + if(tag.getId() != 0) { + output.writeUTF(key); + tag.write(output); + } + } + output.writeByte(0); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(384L); + if(depth > 512) + throw new RuntimeException("Tried to read tag tree deeper than 512"); + this.tags.clear(); + byte type; + while((type = input.readByte()) != 0) { + String key = input.readUTF(); + tracker.read((long)(224 + 16 * key.length())); + Nbt tag = Nbt.createTag(type); + tag.read(input, depth + 1, tracker); + if(this.tags.put(key, tag) != null) + tracker.read(288L); + } + } + + byte getId() { + return (byte)10; + } + + public String getString(String key) { + Nbt tag = this.tags.get(key); + return tag instanceof NbtString ? ((NbtString)tag).getData() : null; + } + + public int getStringListLength(String key) { + Nbt tag = this.tags.get(key); + return tag instanceof NbtList ? ((NbtList)tag).getStringListLength() : -1; + } + + public static NbtCompound readTag(DataInput input) throws IOException { + if(input.readByte() != 10) + throw new IOException("Root is not a compound"); + input.readUTF(); + NbtCompound tag = new NbtCompound(); + tag.read(input, 0, new Tracker()); + return tag; + } + + public static void writeTag(NbtCompound tag, DataOutput output) throws IOException { + output.writeByte(tag.getId()); + output.writeUTF(""); + tag.write(output); + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtDouble.java b/proxy/src/main/java/proxy/nbt/NbtDouble.java new file mode 100755 index 0000000..7aeb017 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtDouble.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtDouble extends Nbt { + private double data; + + void write(DataOutput output) throws IOException { + output.writeDouble(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(128L); + this.data = input.readDouble(); + } + + byte getId() { + return (byte)6; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtFloat.java b/proxy/src/main/java/proxy/nbt/NbtFloat.java new file mode 100755 index 0000000..46b9ca2 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtFloat.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtFloat extends Nbt { + private float data; + + void write(DataOutput output) throws IOException { + output.writeFloat(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(96L); + this.data = input.readFloat(); + } + + byte getId() { + return (byte)5; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtInt.java b/proxy/src/main/java/proxy/nbt/NbtInt.java new file mode 100755 index 0000000..1ca7b15 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtInt.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtInt extends Nbt { + private int data; + + void write(DataOutput output) throws IOException { + output.writeInt(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(96L); + this.data = input.readInt(); + } + + byte getId() { + return (byte)3; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtIntArray.java b/proxy/src/main/java/proxy/nbt/NbtIntArray.java new file mode 100755 index 0000000..31cdf5d --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtIntArray.java @@ -0,0 +1,30 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtIntArray extends Nbt { + private int[] data; + + void write(DataOutput output) throws IOException { + output.writeInt(this.data.length); + for(int z = 0; z < this.data.length; z++) { + output.writeInt(this.data[z]); + } + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(192L); + int len = input.readInt(); + tracker.read((long)(32 * len)); + this.data = new int[len]; + for(int z = 0; z < len; z++) { + this.data[z] = input.readInt(); + } + } + + byte getId() { + return (byte)11; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtList.java b/proxy/src/main/java/proxy/nbt/NbtList.java new file mode 100755 index 0000000..c2497f4 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtList.java @@ -0,0 +1,47 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.util.List; + +import com.google.common.collect.Lists; + +class NbtList extends Nbt { + private List list = Lists.newArrayList(); + private byte type = 0; + + void write(DataOutput output) throws IOException { + this.type = this.list.isEmpty() ? 0 : this.list.get(0).getId(); + output.writeByte(this.type); + output.writeInt(this.list.size()); + for(int z = 0; z < this.list.size(); z++) { + this.list.get(z).write(output); + } + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(296L); + if(depth > 512) + throw new RuntimeException("Tried to read tag tree deeper than 512"); + this.type = input.readByte(); + int len = input.readInt(); + if(this.type == 0 && len > 0) + throw new RuntimeException("Type null on list tag"); + tracker.read(32L * (long)len); + this.list = Lists.newArrayListWithCapacity(len); + for(int z = 0; z < len; z++) { + Nbt nbtbase = Nbt.createTag(this.type); + nbtbase.read(input, depth + 1, tracker); + this.list.add(nbtbase); + } + } + + byte getId() { + return (byte)9; + } + + int getStringListLength() { + return this.type != 8 && !this.list.isEmpty() ? -1 : this.list.size(); + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtLong.java b/proxy/src/main/java/proxy/nbt/NbtLong.java new file mode 100755 index 0000000..b6065da --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtLong.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtLong extends Nbt { + private long data; + + void write(DataOutput output) throws IOException { + output.writeLong(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(128L); + this.data = input.readLong(); + } + + byte getId() { + return (byte)4; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtNull.java b/proxy/src/main/java/proxy/nbt/NbtNull.java new file mode 100755 index 0000000..be5fe7d --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtNull.java @@ -0,0 +1,18 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtNull extends Nbt { + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(64L); + } + + void write(DataOutput output) throws IOException { + } + + byte getId() { + return (byte)0; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtShort.java b/proxy/src/main/java/proxy/nbt/NbtShort.java new file mode 100755 index 0000000..0403ffb --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtShort.java @@ -0,0 +1,22 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtShort extends Nbt { + private short data; + + void write(DataOutput output) throws IOException { + output.writeShort(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(80L); + this.data = input.readShort(); + } + + byte getId() { + return (byte)2; + } +} diff --git a/proxy/src/main/java/proxy/nbt/NbtString.java b/proxy/src/main/java/proxy/nbt/NbtString.java new file mode 100755 index 0000000..8ded485 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/NbtString.java @@ -0,0 +1,27 @@ +package proxy.nbt; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +class NbtString extends Nbt { + private String data; + + void write(DataOutput output) throws IOException { + output.writeUTF(this.data); + } + + void read(DataInput input, int depth, Tracker tracker) throws IOException { + tracker.read(288L); + this.data = input.readUTF(); + tracker.read((long)(16 * this.data.length())); + } + + byte getId() { + return (byte)8; + } + + String getData() { + return this.data; + } +} diff --git a/proxy/src/main/java/proxy/nbt/Tracker.java b/proxy/src/main/java/proxy/nbt/Tracker.java new file mode 100755 index 0000000..942f134 --- /dev/null +++ b/proxy/src/main/java/proxy/nbt/Tracker.java @@ -0,0 +1,11 @@ +package proxy.nbt; + +class Tracker { + private long read; + + void read(long bits) { + this.read += bits / 8L; + if(this.read > 2097152L) + throw new RuntimeException("Tried to read tag that was too big: Read " + this.read + " bytes, maximum 2097152 bytes"); + } +} diff --git a/proxy/src/main/java/proxy/network/NettyCompressionDecoder.java b/proxy/src/main/java/proxy/network/CompressingDecoder.java similarity index 94% rename from proxy/src/main/java/proxy/network/NettyCompressionDecoder.java rename to proxy/src/main/java/proxy/network/CompressingDecoder.java index 51de107..ff7f2e9 100755 --- a/proxy/src/main/java/proxy/network/NettyCompressionDecoder.java +++ b/proxy/src/main/java/proxy/network/CompressingDecoder.java @@ -9,12 +9,12 @@ import java.util.List; import java.util.zip.DataFormatException; import java.util.zip.Inflater; -public class NettyCompressionDecoder extends ByteToMessageDecoder +public class CompressingDecoder extends ByteToMessageDecoder { private final Inflater inflater; private int treshold; - public NettyCompressionDecoder(int treshold) + public CompressingDecoder(int treshold) { this.treshold = treshold; this.inflater = new Inflater(); diff --git a/proxy/src/main/java/proxy/network/NettyCompressionEncoder.java b/proxy/src/main/java/proxy/network/CompressingEncoder.java similarity index 91% rename from proxy/src/main/java/proxy/network/NettyCompressionEncoder.java rename to proxy/src/main/java/proxy/network/CompressingEncoder.java index 57c146c..68918ed 100755 --- a/proxy/src/main/java/proxy/network/NettyCompressionEncoder.java +++ b/proxy/src/main/java/proxy/network/CompressingEncoder.java @@ -5,13 +5,13 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; import java.util.zip.Deflater; -public class NettyCompressionEncoder extends MessageToByteEncoder +public class CompressingEncoder extends MessageToByteEncoder { private final byte[] buffer = new byte[8192]; private final Deflater deflater; private int treshold; - public NettyCompressionEncoder(int treshold) + public CompressingEncoder(int treshold) { this.treshold = treshold; this.deflater = new Deflater(); diff --git a/proxy/src/main/java/proxy/network/NetworkManager.java b/proxy/src/main/java/proxy/network/Connection.java similarity index 78% rename from proxy/src/main/java/proxy/network/NetworkManager.java rename to proxy/src/main/java/proxy/network/Connection.java index 1b197bc..e090240 100755 --- a/proxy/src/main/java/proxy/network/NetworkManager.java +++ b/proxy/src/main/java/proxy/network/Connection.java @@ -29,12 +29,13 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.locks.ReentrantReadWriteLock; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import proxy.network.Handler.ThreadQuickExitException; import proxy.util.LazyLoader; import proxy.util.Log; -public class NetworkManager extends SimpleChannelInboundHandler +public class Connection extends SimpleChannelInboundHandler { - public static final AttributeKey STATE = AttributeKey.valueOf("protocol"); + public static final AttributeKey STATE = AttributeKey.valueOf("protocol"); public static final LazyLoader CLIENT_NIO_EVENTLOOP = new LazyLoader() { protected NioEventLoopGroup load() @@ -49,30 +50,30 @@ public class NetworkManager extends SimpleChannelInboundHandler return new EpollEventLoopGroup(0, (new ThreadFactoryBuilder()).setNameFormat("Netty Epoll Client IO #%d").setDaemon(true).build()); } }; - private final EnumPacketDirection direction; - private final Queue outboundPacketsQueue = new ConcurrentLinkedQueue(); + private final PacketDirection direction; + private final Queue outboundPacketsQueue = new ConcurrentLinkedQueue(); private final ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock(); private Channel channel; - private SocketAddress socketAddress; - private INetHandler packetListener; - private String terminationReason; + private SocketAddress address; + private Handler handler; + private String exitMessage; private boolean disconnected; - public NetworkManager(EnumPacketDirection packetDirection) + public Connection(PacketDirection direction) { - this.direction = packetDirection; + this.direction = direction; } public void channelActive(ChannelHandlerContext p_channelActive_1_) throws Exception { super.channelActive(p_channelActive_1_); this.channel = p_channelActive_1_.channel(); - this.socketAddress = this.channel.remoteAddress(); + this.address = this.channel.remoteAddress(); try { - this.setConnectionState(EnumConnectionState.HANDSHAKING); + this.setConnectionState(Protocol.HANDSHAKE); } catch (Throwable throwable) { @@ -83,7 +84,7 @@ public class NetworkManager extends SimpleChannelInboundHandler /** * Sets the new connection state and registers which packets this channel may send and receive */ - public void setConnectionState(EnumConnectionState newState) + public void setConnectionState(Protocol newState) { this.channel.attr(STATE).set(newState); this.channel.config().setAutoRead(true); @@ -117,7 +118,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { try { - p_channelRead0_2_.processPacket(this.packetListener); + p_channelRead0_2_.processPacket(this.handler); } catch (ThreadQuickExitException var4) { @@ -130,12 +131,12 @@ public class NetworkManager extends SimpleChannelInboundHandler * Sets the NetHandler for this NetworkManager, no checks are made if this handler is suitable for the particular * connection state (protocol) */ - public void setNetHandler(INetHandler handler) + public void setNetHandler(Handler handler) { if(handler == null) throw new IllegalArgumentException("handler may not be null"); Log.debug("Set listener of %s to %s", this, handler); - this.packetListener = handler; + this.handler = handler; } public void sendPacket(Packet packetIn) @@ -151,7 +152,7 @@ public class NetworkManager extends SimpleChannelInboundHandler try { - this.outboundPacketsQueue.add(new NetworkManager.InboundHandlerTuplePacketListener(packetIn, (GenericFutureListener[])null)); + this.outboundPacketsQueue.add(new Connection.InboundHandlerTuplePacketListener(packetIn, (GenericFutureListener[])null)); } finally { @@ -173,7 +174,7 @@ public class NetworkManager extends SimpleChannelInboundHandler try { - this.outboundPacketsQueue.add(new NetworkManager.InboundHandlerTuplePacketListener(packetIn, new GenericFutureListener[] {listener})); + this.outboundPacketsQueue.add(new Connection.InboundHandlerTuplePacketListener(packetIn, new GenericFutureListener[] {listener})); } finally { @@ -188,8 +189,8 @@ public class NetworkManager extends SimpleChannelInboundHandler */ private void dispatchPacket(final Packet inPacket, final GenericFutureListener > [] futureListeners) { - final EnumConnectionState enumconnectionstate = EnumConnectionState.getFromPacket(inPacket); - final EnumConnectionState enumconnectionstate1 = (EnumConnectionState)this.channel.attr(STATE).get(); + final Protocol enumconnectionstate = Protocol.getFromPacket(inPacket); + final Protocol enumconnectionstate1 = (Protocol)this.channel.attr(STATE).get(); if (enumconnectionstate1 != enumconnectionstate) { @@ -221,10 +222,10 @@ public class NetworkManager extends SimpleChannelInboundHandler { if (enumconnectionstate != enumconnectionstate1) { - NetworkManager.this.setConnectionState(enumconnectionstate); + Connection.this.setConnectionState(enumconnectionstate); } - ChannelFuture channelfuture1 = NetworkManager.this.channel.writeAndFlush(inPacket); + ChannelFuture channelfuture1 = Connection.this.channel.writeAndFlush(inPacket); if (futureListeners != null) { @@ -250,7 +251,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { while (!this.outboundPacketsQueue.isEmpty()) { - NetworkManager.InboundHandlerTuplePacketListener networkmanager$inboundhandlertuplepacketlistener = (NetworkManager.InboundHandlerTuplePacketListener)this.outboundPacketsQueue.poll(); + Connection.InboundHandlerTuplePacketListener networkmanager$inboundhandlertuplepacketlistener = (Connection.InboundHandlerTuplePacketListener)this.outboundPacketsQueue.poll(); this.dispatchPacket(networkmanager$inboundhandlertuplepacketlistener.packet, networkmanager$inboundhandlertuplepacketlistener.futureListeners); } } @@ -267,8 +268,8 @@ public class NetworkManager extends SimpleChannelInboundHandler public void processReceivedPackets() { this.flushOutboundQueue(); - if(this.packetListener != null) - this.packetListener.update(this); + if(this.handler != null) + this.handler.update(this); this.channel.flush(); } @@ -277,7 +278,7 @@ public class NetworkManager extends SimpleChannelInboundHandler */ public SocketAddress getRemoteAddress() { - return this.socketAddress; + return this.address; } public void closeChannel(String message) @@ -285,7 +286,7 @@ public class NetworkManager extends SimpleChannelInboundHandler if (this.channel.isOpen()) { this.channel.close().awaitUninterruptibly(); - this.terminationReason = message; + this.exitMessage = message; } } @@ -296,9 +297,9 @@ public class NetworkManager extends SimpleChannelInboundHandler * @param serverPort The server port * @param useNativeTransport True if the client use the native transport system */ - public static NetworkManager createNetworkManagerAndConnect(InetAddress address, int serverPort, boolean useNativeTransport) + public static Connection createNetworkManagerAndConnect(InetAddress address, int serverPort, boolean useNativeTransport) { - final NetworkManager networkmanager = new NetworkManager(EnumPacketDirection.CLIENTBOUND); + final Connection networkmanager = new Connection(PacketDirection.CLIENT); Class oclass; LazyLoader lazyloadbase; @@ -326,7 +327,7 @@ public class NetworkManager extends SimpleChannelInboundHandler ; } - p_initChannel_1_.pipeline().addLast((String)"timeout", (ChannelHandler)(new ReadTimeoutHandler(30))).addLast((String)"splitter", (ChannelHandler)(new MessageDeserializer2())).addLast((String)"decoder", (ChannelHandler)(new MessageDeserializer(EnumPacketDirection.CLIENTBOUND))).addLast((String)"prepender", (ChannelHandler)(new MessageSerializer2())).addLast((String)"encoder", (ChannelHandler)(new MessageSerializer(EnumPacketDirection.SERVERBOUND))).addLast((String)"packet_handler", (ChannelHandler)networkmanager); + p_initChannel_1_.pipeline().addLast((String)"timeout", (ChannelHandler)(new ReadTimeoutHandler(30))).addLast((String)"splitter", (ChannelHandler)(new PacketSplitter())).addLast((String)"decoder", (ChannelHandler)(new PacketDecoder(PacketDirection.CLIENT))).addLast((String)"prepender", (ChannelHandler)(new PacketPrepender())).addLast((String)"encoder", (ChannelHandler)(new PacketEncoder(PacketDirection.SERVER))).addLast((String)"packet_handler", (ChannelHandler)networkmanager); } })).channel(oclass)).connect(address, serverPort).syncUninterruptibly(); return networkmanager; @@ -345,9 +346,9 @@ public class NetworkManager extends SimpleChannelInboundHandler /** * Gets the current handler for processing packets */ - public INetHandler getNetHandler() + public Handler getNetHandler() { - return this.packetListener; + return this.handler; } /** @@ -355,7 +356,7 @@ public class NetworkManager extends SimpleChannelInboundHandler */ public String getExitMessage() { - return this.terminationReason; + return this.exitMessage; } /** @@ -370,32 +371,32 @@ public class NetworkManager extends SimpleChannelInboundHandler { if (treshold >= 0) { - if (this.channel.pipeline().get("decompress") instanceof NettyCompressionDecoder) + if (this.channel.pipeline().get("decompress") instanceof CompressingDecoder) { - ((NettyCompressionDecoder)this.channel.pipeline().get("decompress")).setCompressionTreshold(treshold); + ((CompressingDecoder)this.channel.pipeline().get("decompress")).setCompressionTreshold(treshold); } else { - this.channel.pipeline().addBefore("decoder", "decompress", new NettyCompressionDecoder(treshold)); + this.channel.pipeline().addBefore("decoder", "decompress", new CompressingDecoder(treshold)); } - if (this.channel.pipeline().get("compress") instanceof NettyCompressionEncoder) + if (this.channel.pipeline().get("compress") instanceof CompressingEncoder) { - ((NettyCompressionEncoder)this.channel.pipeline().get("decompress")).setCompressionTreshold(treshold); + ((CompressingEncoder)this.channel.pipeline().get("decompress")).setCompressionTreshold(treshold); } else { - this.channel.pipeline().addBefore("encoder", "compress", new NettyCompressionEncoder(treshold)); + this.channel.pipeline().addBefore("encoder", "compress", new CompressingEncoder(treshold)); } } else { - if (this.channel.pipeline().get("decompress") instanceof NettyCompressionDecoder) + if (this.channel.pipeline().get("decompress") instanceof CompressingDecoder) { this.channel.pipeline().remove("decompress"); } - if (this.channel.pipeline().get("compress") instanceof NettyCompressionEncoder) + if (this.channel.pipeline().get("compress") instanceof CompressingEncoder) { this.channel.pipeline().remove("compress"); } diff --git a/proxy/src/main/java/proxy/network/EnumConnectionState.java b/proxy/src/main/java/proxy/network/EnumConnectionState.java deleted file mode 100755 index ff67754..0000000 --- a/proxy/src/main/java/proxy/network/EnumConnectionState.java +++ /dev/null @@ -1,347 +0,0 @@ -package proxy.network; - -import java.lang.reflect.InvocationTargetException; -import java.util.Map; - -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import com.google.common.collect.Maps; - -import proxy.packet.handshake.client.C00Handshake; -import proxy.packet.login.client.C00PacketLoginStart; -import proxy.packet.login.client.C01PacketEncryptionResponse; -import proxy.packet.login.server.S00PacketDisconnect; -import proxy.packet.login.server.S01PacketEncryptionRequest; -import proxy.packet.login.server.S02PacketLoginSuccess; -import proxy.packet.login.server.S03PacketEnableCompression; -import proxy.packet.play.client.C00PacketKeepAlive; -import proxy.packet.play.client.C01PacketChatMessage; -import proxy.packet.play.client.C02PacketUseEntity; -import proxy.packet.play.client.C03PacketPlayer; -import proxy.packet.play.client.C07PacketPlayerDigging; -import proxy.packet.play.client.C08PacketPlayerBlockPlacement; -import proxy.packet.play.client.C09PacketHeldItemChange; -import proxy.packet.play.client.C0APacketAnimation; -import proxy.packet.play.client.C0BPacketEntityAction; -import proxy.packet.play.client.C0CPacketInput; -import proxy.packet.play.client.C0DPacketCloseWindow; -import proxy.packet.play.client.C0EPacketClickWindow; -import proxy.packet.play.client.C0FPacketConfirmTransaction; -import proxy.packet.play.client.C10PacketCreativeInventoryAction; -import proxy.packet.play.client.C11PacketEnchantItem; -import proxy.packet.play.client.C12PacketUpdateSign; -import proxy.packet.play.client.C13PacketPlayerAbilities; -import proxy.packet.play.client.C14PacketTabComplete; -import proxy.packet.play.client.C15PacketClientSettings; -import proxy.packet.play.client.C16PacketClientStatus; -import proxy.packet.play.client.C17PacketCustomPayload; -import proxy.packet.play.client.C18PacketSpectate; -import proxy.packet.play.client.C19PacketResourcePackStatus; -import proxy.packet.play.server.S00PacketKeepAlive; -import proxy.packet.play.server.S01PacketJoinGame; -import proxy.packet.play.server.S02PacketChat; -import proxy.packet.play.server.S03PacketTimeUpdate; -import proxy.packet.play.server.S04PacketEntityEquipment; -import proxy.packet.play.server.S05PacketSpawnPosition; -import proxy.packet.play.server.S06PacketUpdateHealth; -import proxy.packet.play.server.S07PacketRespawn; -import proxy.packet.play.server.S08PacketPlayerPosLook; -import proxy.packet.play.server.S09PacketHeldItemChange; -import proxy.packet.play.server.S0APacketUseBed; -import proxy.packet.play.server.S0BPacketAnimation; -import proxy.packet.play.server.S0CPacketSpawnPlayer; -import proxy.packet.play.server.S0DPacketCollectItem; -import proxy.packet.play.server.S0EPacketSpawnObject; -import proxy.packet.play.server.S0FPacketSpawnMob; -import proxy.packet.play.server.S10PacketSpawnPainting; -import proxy.packet.play.server.S11PacketSpawnExperienceOrb; -import proxy.packet.play.server.S12PacketEntityVelocity; -import proxy.packet.play.server.S13PacketDestroyEntities; -import proxy.packet.play.server.S14PacketEntity; -import proxy.packet.play.server.S18PacketEntityTeleport; -import proxy.packet.play.server.S19PacketEntityHeadLook; -import proxy.packet.play.server.S19PacketEntityStatus; -import proxy.packet.play.server.S1BPacketEntityAttach; -import proxy.packet.play.server.S1CPacketEntityMetadata; -import proxy.packet.play.server.S1DPacketEntityEffect; -import proxy.packet.play.server.S1EPacketRemoveEntityEffect; -import proxy.packet.play.server.S1FPacketSetExperience; -import proxy.packet.play.server.S20PacketEntityProperties; -import proxy.packet.play.server.S21PacketChunkData; -import proxy.packet.play.server.S22PacketMultiBlockChange; -import proxy.packet.play.server.S23PacketBlockChange; -import proxy.packet.play.server.S24PacketBlockAction; -import proxy.packet.play.server.S25PacketBlockBreakAnim; -import proxy.packet.play.server.S26PacketMapChunkBulk; -import proxy.packet.play.server.S27PacketExplosion; -import proxy.packet.play.server.S28PacketEffect; -import proxy.packet.play.server.S29PacketSoundEffect; -import proxy.packet.play.server.S2APacketParticles; -import proxy.packet.play.server.S2BPacketChangeGameState; -import proxy.packet.play.server.S2CPacketSpawnGlobalEntity; -import proxy.packet.play.server.S2DPacketOpenWindow; -import proxy.packet.play.server.S2EPacketCloseWindow; -import proxy.packet.play.server.S2FPacketSetSlot; -import proxy.packet.play.server.S30PacketWindowItems; -import proxy.packet.play.server.S31PacketWindowProperty; -import proxy.packet.play.server.S32PacketConfirmTransaction; -import proxy.packet.play.server.S33PacketUpdateSign; -import proxy.packet.play.server.S34PacketMaps; -import proxy.packet.play.server.S35PacketUpdateTileEntity; -import proxy.packet.play.server.S36PacketSignEditorOpen; -import proxy.packet.play.server.S37PacketStatistics; -import proxy.packet.play.server.S38PacketPlayerListItem; -import proxy.packet.play.server.S39PacketPlayerAbilities; -import proxy.packet.play.server.S3APacketTabComplete; -import proxy.packet.play.server.S3BPacketScoreboardObjective; -import proxy.packet.play.server.S3CPacketUpdateScore; -import proxy.packet.play.server.S3DPacketDisplayScoreboard; -import proxy.packet.play.server.S3EPacketTeams; -import proxy.packet.play.server.S3FPacketCustomPayload; -import proxy.packet.play.server.S40PacketDisconnect; -import proxy.packet.play.server.S41PacketServerDifficulty; -import proxy.packet.play.server.S42PacketCombatEvent; -import proxy.packet.play.server.S43PacketCamera; -import proxy.packet.play.server.S44PacketWorldBorder; -import proxy.packet.play.server.S45PacketTitle; -import proxy.packet.play.server.S46PacketSetCompressionLevel; -import proxy.packet.play.server.S47PacketPlayerListHeaderFooter; -import proxy.packet.play.server.S48PacketResourcePackSend; -import proxy.packet.play.server.S49PacketUpdateEntityNBT; -import proxy.packet.status.client.C00PacketServerQuery; -import proxy.packet.status.client.C01PacketPing; -import proxy.packet.status.server.S00PacketServerInfo; -import proxy.packet.status.server.S01PacketPong; -import proxy.util.Log; - -public enum EnumConnectionState -{ - HANDSHAKING(-1) - { - { - this.registerPacket(EnumPacketDirection.SERVERBOUND, C00Handshake.class); - } - }, - PLAY(0) - { - { - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S00PacketKeepAlive.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S01PacketJoinGame.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S02PacketChat.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S03PacketTimeUpdate.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S04PacketEntityEquipment.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S05PacketSpawnPosition.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S06PacketUpdateHealth.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S07PacketRespawn.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S08PacketPlayerPosLook.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S09PacketHeldItemChange.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0APacketUseBed.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0BPacketAnimation.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0CPacketSpawnPlayer.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0DPacketCollectItem.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0EPacketSpawnObject.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S0FPacketSpawnMob.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S10PacketSpawnPainting.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S11PacketSpawnExperienceOrb.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S12PacketEntityVelocity.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S13PacketDestroyEntities.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S14PacketEntity.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S14PacketEntity.S15PacketEntityRelMove.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S14PacketEntity.S16PacketEntityLook.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S14PacketEntity.S17PacketEntityLookMove.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S18PacketEntityTeleport.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S19PacketEntityHeadLook.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S19PacketEntityStatus.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S1BPacketEntityAttach.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S1CPacketEntityMetadata.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S1DPacketEntityEffect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S1EPacketRemoveEntityEffect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S1FPacketSetExperience.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S20PacketEntityProperties.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S21PacketChunkData.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S22PacketMultiBlockChange.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S23PacketBlockChange.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S24PacketBlockAction.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S25PacketBlockBreakAnim.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S26PacketMapChunkBulk.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S27PacketExplosion.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S28PacketEffect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S29PacketSoundEffect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2APacketParticles.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2BPacketChangeGameState.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2CPacketSpawnGlobalEntity.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2DPacketOpenWindow.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2EPacketCloseWindow.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S2FPacketSetSlot.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S30PacketWindowItems.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S31PacketWindowProperty.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S32PacketConfirmTransaction.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S33PacketUpdateSign.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S34PacketMaps.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S35PacketUpdateTileEntity.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S36PacketSignEditorOpen.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S37PacketStatistics.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S38PacketPlayerListItem.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S39PacketPlayerAbilities.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3APacketTabComplete.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3BPacketScoreboardObjective.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3CPacketUpdateScore.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3DPacketDisplayScoreboard.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3EPacketTeams.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S3FPacketCustomPayload.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S40PacketDisconnect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S41PacketServerDifficulty.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S42PacketCombatEvent.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S43PacketCamera.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S44PacketWorldBorder.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S45PacketTitle.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S46PacketSetCompressionLevel.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S47PacketPlayerListHeaderFooter.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S48PacketResourcePackSend.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S49PacketUpdateEntityNBT.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C00PacketKeepAlive.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C01PacketChatMessage.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C02PacketUseEntity.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C03PacketPlayer.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C03PacketPlayer.C04PacketPlayerPosition.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C03PacketPlayer.C05PacketPlayerLook.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C03PacketPlayer.C06PacketPlayerPosLook.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C07PacketPlayerDigging.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C08PacketPlayerBlockPlacement.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C09PacketHeldItemChange.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0APacketAnimation.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0BPacketEntityAction.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0CPacketInput.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0DPacketCloseWindow.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0EPacketClickWindow.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C0FPacketConfirmTransaction.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C10PacketCreativeInventoryAction.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C11PacketEnchantItem.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C12PacketUpdateSign.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C13PacketPlayerAbilities.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C14PacketTabComplete.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C15PacketClientSettings.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C16PacketClientStatus.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C17PacketCustomPayload.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C18PacketSpectate.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C19PacketResourcePackStatus.class); - } - }, - STATUS(1) - { - { - this.registerPacket(EnumPacketDirection.SERVERBOUND, C00PacketServerQuery.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S00PacketServerInfo.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C01PacketPing.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S01PacketPong.class); - } - }, - LOGIN(2) - { - { - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S00PacketDisconnect.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S01PacketEncryptionRequest.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S02PacketLoginSuccess.class); - this.registerPacket(EnumPacketDirection.CLIENTBOUND, S03PacketEnableCompression.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C00PacketLoginStart.class); - this.registerPacket(EnumPacketDirection.SERVERBOUND, C01PacketEncryptionResponse.class); - } - }; - - private static int field_181136_e = -1; - private static int field_181137_f = 2; - private static final EnumConnectionState[] STATES_BY_ID = new EnumConnectionState[field_181137_f - field_181136_e + 1]; - private static final Map < Class , EnumConnectionState > STATES_BY_CLASS = Maps. < Class , EnumConnectionState > newHashMap(); - private final int id; - private final Map < EnumPacketDirection, BiMap < Integer, Class >> directionMaps; - - private EnumConnectionState(int protocolId) - { - this.directionMaps = Maps.newEnumMap(EnumPacketDirection.class); - this.id = protocolId; - } - - protected EnumConnectionState registerPacket(EnumPacketDirection direction, Class packetClass) - { - BiMap < Integer, Class > bimap = (BiMap)this.directionMaps.get(direction); - - if (bimap == null) - { - bimap = HashBiMap. < Integer, Class > create(); - this.directionMaps.put(direction, bimap); - } - - if (bimap.containsValue(packetClass)) - { - String s = direction + " packet " + packetClass + " is already known to ID " + bimap.inverse().get(packetClass); - Log.error(s); - throw new IllegalArgumentException(s); - } - else - { - bimap.put(Integer.valueOf(bimap.size()), packetClass); - return this; - } - } - - public Integer getPacketId(EnumPacketDirection direction, Packet packetIn) - { - return (Integer)((BiMap)this.directionMaps.get(direction)).inverse().get(packetIn.getClass()); - } - - public Packet getPacket(EnumPacketDirection direction, int packetId) throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException { - Class oclass = (Class)((BiMap)this.directionMaps.get(direction)).get(Integer.valueOf(packetId)); - return oclass == null ? null : (Packet)oclass.getConstructor().newInstance(); - } - - public int getId() - { - return this.id; - } - - public static EnumConnectionState getById(int stateId) - { - return stateId >= field_181136_e && stateId <= field_181137_f ? STATES_BY_ID[stateId - field_181136_e] : null; - } - - public static EnumConnectionState getFromPacket(Packet packetIn) - { - return (EnumConnectionState)STATES_BY_CLASS.get(packetIn.getClass()); - } - - static { - for (EnumConnectionState enumconnectionstate : values()) - { - int i = enumconnectionstate.getId(); - - if (i < field_181136_e || i > field_181137_f) - { - throw new Error("Invalid protocol ID " + Integer.toString(i)); - } - - STATES_BY_ID[i - field_181136_e] = enumconnectionstate; - - for (EnumPacketDirection enumpacketdirection : enumconnectionstate.directionMaps.keySet()) - { - for (Class oclass : (enumconnectionstate.directionMaps.get(enumpacketdirection)).values()) - { - if (STATES_BY_CLASS.containsKey(oclass) && STATES_BY_CLASS.get(oclass) != enumconnectionstate) - { - throw new Error("Packet " + oclass + " is already assigned to protocol " + STATES_BY_CLASS.get(oclass) + " - can\'t reassign to " + enumconnectionstate); - } - - try - { - oclass.getConstructor().newInstance(); - } - catch (Throwable var10) - { - throw new Error("Packet " + oclass + " fails instantiation checks! " + oclass); - } - - STATES_BY_CLASS.put(oclass, enumconnectionstate); - } - } - } - } -} diff --git a/proxy/src/main/java/proxy/network/EnumPacketDirection.java b/proxy/src/main/java/proxy/network/EnumPacketDirection.java deleted file mode 100755 index b4a0a0f..0000000 --- a/proxy/src/main/java/proxy/network/EnumPacketDirection.java +++ /dev/null @@ -1,5 +0,0 @@ -package proxy.network; - -public enum EnumPacketDirection { - SERVERBOUND, CLIENTBOUND; -} diff --git a/proxy/src/main/java/proxy/network/Handler.java b/proxy/src/main/java/proxy/network/Handler.java new file mode 100755 index 0000000..3ef1957 --- /dev/null +++ b/proxy/src/main/java/proxy/network/Handler.java @@ -0,0 +1,33 @@ +package proxy.network; + +import proxy.Proxy; + +public interface Handler { + public static final class ThreadQuickExitException extends RuntimeException { + public static final ThreadQuickExitException INSTANCE = new ThreadQuickExitException(); + + private ThreadQuickExitException() { + this.setStackTrace(new StackTraceElement[0]); + } + + public synchronized Throwable fillInStackTrace() { + this.setStackTrace(new StackTraceElement[0]); + return this; + } + } + + static void syncToMain(final Packet packet, final T handler, Proxy proxy) throws ThreadQuickExitException { + if(!proxy.isMainThread()) { + proxy.schedule(new Runnable() { + public void run() { + packet.processPacket(handler); + } + }); + throw ThreadQuickExitException.INSTANCE; + } + } + + void onDisconnect(Connection connection, String reason); + default void update(Connection connection) { + } +} diff --git a/proxy/src/main/java/proxy/network/HandshakeHandler.java b/proxy/src/main/java/proxy/network/HandshakeHandler.java new file mode 100755 index 0000000..824b69a --- /dev/null +++ b/proxy/src/main/java/proxy/network/HandshakeHandler.java @@ -0,0 +1,49 @@ +package proxy.network; + +import proxy.Proxy; +import proxy.packet.H00PacketHandshake; +import proxy.packet.R00PacketDisconnect; + +public class HandshakeHandler implements Handler { + private final Proxy proxy; + private final Connection connection; + + public HandshakeHandler(Proxy proxy, Connection connection) { + this.proxy = proxy; + this.connection = connection; + } + + public void processHandshake(H00PacketHandshake packet) { + switch(packet.getRequestedState()) { + case LOGIN: + this.connection.setConnectionState(Protocol.LOGIN); + + if(packet.getProtocolVersion() > 47) { + String text = "Outdated server! I\'m still on 1.8.9"; + this.connection.sendPacket(new R00PacketDisconnect(text)); + this.connection.closeChannel(text); + } + else if(packet.getProtocolVersion() < 47) { + String text = "Outdated client! Please use 1.8.9"; + this.connection.sendPacket(new R00PacketDisconnect(text)); + this.connection.closeChannel(text); + } + else { + this.connection.setNetHandler(new LoginHandler(this.proxy, this.connection)); + } + + break; + + case STATUS: + this.connection.setConnectionState(Protocol.STATUS); + this.connection.setNetHandler(new StatusHandler(this.proxy, this.connection)); + break; + + default: + throw new UnsupportedOperationException("Invalid intention " + packet.getRequestedState()); + } + } + + public void onDisconnect(Connection connection, String reason) { + } +} diff --git a/proxy/src/main/java/proxy/network/INetHandler.java b/proxy/src/main/java/proxy/network/INetHandler.java deleted file mode 100755 index 88c66a0..0000000 --- a/proxy/src/main/java/proxy/network/INetHandler.java +++ /dev/null @@ -1,7 +0,0 @@ -package proxy.network; - -public interface INetHandler { - void onDisconnect(NetworkManager connection, String reason); - default void update(NetworkManager connection) { - } -} diff --git a/proxy/src/main/java/proxy/network/NetHandlerLoginServer.java b/proxy/src/main/java/proxy/network/LoginHandler.java similarity index 66% rename from proxy/src/main/java/proxy/network/NetHandlerLoginServer.java rename to proxy/src/main/java/proxy/network/LoginHandler.java index cde2005..c1b22ca 100755 --- a/proxy/src/main/java/proxy/network/NetHandlerLoginServer.java +++ b/proxy/src/main/java/proxy/network/LoginHandler.java @@ -3,20 +3,20 @@ package proxy.network; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import proxy.Proxy; -import proxy.packet.login.client.C00PacketLoginStart; -import proxy.packet.login.client.C01PacketEncryptionResponse; -import proxy.packet.login.server.S00PacketDisconnect; -import proxy.packet.login.server.S02PacketLoginSuccess; -import proxy.packet.login.server.S03PacketEnableCompression; +import proxy.packet.L00PacketLoginStart; +import proxy.packet.L01PacketEncryptionResponse; +import proxy.packet.R00PacketDisconnect; +import proxy.packet.R02PacketLoginSuccess; +import proxy.packet.R03PacketEnableCompression; import proxy.util.Log; -public class NetHandlerLoginServer implements INetHandler { +public class LoginHandler implements Handler { private static enum LoginState { INIT, WAITING, DONE; } private final Proxy proxy; - private final NetworkManager connection; + private final Connection connection; private LoginState state = LoginState.INIT; private int timer; @@ -31,12 +31,12 @@ public class NetHandlerLoginServer implements INetHandler { return true; } - public NetHandlerLoginServer(Proxy proxy, NetworkManager connection) { + public LoginHandler(Proxy proxy, Connection connection) { this.proxy = proxy; this.connection = connection; } - public void update(NetworkManager connection) { + public void update(Connection connection) { if(this.state == LoginState.WAITING) { this.tryAcceptPlayer(); } @@ -49,7 +49,7 @@ public class NetHandlerLoginServer implements INetHandler { public void disconnect(String reason) { try { Log.info("Disconnecting " + this.getConnectionInfo() + ": " + reason); - this.connection.sendPacket(new S00PacketDisconnect(reason)); + this.connection.sendPacket(new R00PacketDisconnect(reason)); this.connection.closeChannel(reason); } catch(Exception e) { @@ -65,20 +65,20 @@ public class NetHandlerLoginServer implements INetHandler { this.state = LoginState.DONE; if(this.proxy.getCompression() >= 0) { - this.connection.sendPacket(new S03PacketEnableCompression(this.proxy.getCompression()), new ChannelFutureListener() { + this.connection.sendPacket(new R03PacketEnableCompression(this.proxy.getCompression()), new ChannelFutureListener() { public void operationComplete(ChannelFuture p_operationComplete_1_) throws Exception { - NetHandlerLoginServer.this.connection.setCompressionTreshold(NetHandlerLoginServer.this.proxy.getCompression()); + LoginHandler.this.connection.setCompressionTreshold(LoginHandler.this.proxy.getCompression()); } }); } - NetHandlerPlayServer handler = new NetHandlerPlayServer(this.proxy, this.connection, this.username); + ProxyHandler handler = new ProxyHandler(this.proxy, this.connection, this.username); this.connection.setNetHandler(handler); - this.connection.sendPacket(new S02PacketLoginSuccess(Proxy.getOfflineUUID(this.username), this.username)); + this.connection.sendPacket(new R02PacketLoginSuccess(Proxy.getOfflineUUID(this.username), this.username)); handler.setupPlayer(); } - public void onDisconnect(NetworkManager connection, String reason) { + public void onDisconnect(Connection connection, String reason) { Log.info(this.getConnectionInfo() + " lost connection: " + reason); } @@ -87,7 +87,7 @@ public class NetHandlerLoginServer implements INetHandler { : String.valueOf(this.connection.getRemoteAddress()); } - public void processLoginStart(C00PacketLoginStart packet) { + public void processLoginStart(L00PacketLoginStart packet) { if(this.state != LoginState.INIT) throw new IllegalStateException("Unexpected hello packet"); this.username = packet.getProfile(); @@ -98,7 +98,7 @@ public class NetHandlerLoginServer implements INetHandler { this.state = LoginState.WAITING; } - public void processEncryptionResponse(C01PacketEncryptionResponse packet) { + public void processEncryptionResponse(L01PacketEncryptionResponse packet) { throw new IllegalStateException("Unexpected key packet"); } } diff --git a/proxy/src/main/java/proxy/network/NetHandlerHandshake.java b/proxy/src/main/java/proxy/network/NetHandlerHandshake.java deleted file mode 100755 index 8f61e4f..0000000 --- a/proxy/src/main/java/proxy/network/NetHandlerHandshake.java +++ /dev/null @@ -1,49 +0,0 @@ -package proxy.network; - -import proxy.Proxy; -import proxy.packet.handshake.client.C00Handshake; -import proxy.packet.login.server.S00PacketDisconnect; - -public class NetHandlerHandshake implements INetHandler { - private final Proxy proxy; - private final NetworkManager connection; - - public NetHandlerHandshake(Proxy proxy, NetworkManager connection) { - this.proxy = proxy; - this.connection = connection; - } - - public void processHandshake(C00Handshake packet) { - switch(packet.getRequestedState()) { - case LOGIN: - this.connection.setConnectionState(EnumConnectionState.LOGIN); - - if(packet.getProtocolVersion() > 47) { - String text = "Outdated server! I\'m still on 1.8.9"; - this.connection.sendPacket(new S00PacketDisconnect(text)); - this.connection.closeChannel(text); - } - else if(packet.getProtocolVersion() < 47) { - String text = "Outdated client! Please use 1.8.9"; - this.connection.sendPacket(new S00PacketDisconnect(text)); - this.connection.closeChannel(text); - } - else { - this.connection.setNetHandler(new NetHandlerLoginServer(this.proxy, this.connection)); - } - - break; - - case STATUS: - this.connection.setConnectionState(EnumConnectionState.STATUS); - this.connection.setNetHandler(new NetHandlerStatusServer(this.proxy, this.connection)); - break; - - default: - throw new UnsupportedOperationException("Invalid intention " + packet.getRequestedState()); - } - } - - public void onDisconnect(NetworkManager connection, String reason) { - } -} diff --git a/proxy/src/main/java/proxy/network/NetHandlerStatusClient.java b/proxy/src/main/java/proxy/network/NetHandlerStatusClient.java deleted file mode 100755 index 3555b6f..0000000 --- a/proxy/src/main/java/proxy/network/NetHandlerStatusClient.java +++ /dev/null @@ -1,18 +0,0 @@ -package proxy.network; - -import proxy.packet.status.server.S00PacketServerInfo; -import proxy.packet.status.server.S01PacketPong; - -public class NetHandlerStatusClient implements INetHandler { - public void handleServerInfo(S00PacketServerInfo packetIn) { - - } - - public void handlePong(S01PacketPong packetIn) { - - } - - public void onDisconnect(NetworkManager connection, String reason) { - - } -} diff --git a/proxy/src/main/java/proxy/network/NetHandlerStatusServer.java b/proxy/src/main/java/proxy/network/NetHandlerStatusServer.java deleted file mode 100755 index ee1f430..0000000 --- a/proxy/src/main/java/proxy/network/NetHandlerStatusServer.java +++ /dev/null @@ -1,39 +0,0 @@ -package proxy.network; - -import proxy.Proxy; -import proxy.packet.status.client.C00PacketServerQuery; -import proxy.packet.status.client.C01PacketPing; -import proxy.packet.status.server.S00PacketServerInfo; -import proxy.packet.status.server.S01PacketPong; - -public class NetHandlerStatusServer implements INetHandler { - private static final String EXIT_MESSAGE = "Status request has been handled."; - - private final Proxy proxy; - private final NetworkManager networkManager; - - private boolean handled; - - public NetHandlerStatusServer(Proxy proxy, NetworkManager netManager) { - this.proxy = proxy; - this.networkManager = netManager; - } - - public void onDisconnect(NetworkManager connection, String reason) { - } - - public void processServerQuery(C00PacketServerQuery packetIn) { - if(this.handled) { - this.networkManager.closeChannel(EXIT_MESSAGE); - } - else { - this.handled = true; - this.networkManager.sendPacket(new S00PacketServerInfo(this.proxy.getStatus())); - } - } - - public void processPing(C01PacketPing packetIn) { - this.networkManager.sendPacket(new S01PacketPong(packetIn.getClientTime())); - this.networkManager.closeChannel(EXIT_MESSAGE); - } -} diff --git a/proxy/src/main/java/proxy/network/Packet.java b/proxy/src/main/java/proxy/network/Packet.java index 356261d..b674712 100755 --- a/proxy/src/main/java/proxy/network/Packet.java +++ b/proxy/src/main/java/proxy/network/Packet.java @@ -2,7 +2,7 @@ package proxy.network; import java.io.IOException; -public interface Packet { +public interface Packet { void readPacketData(PacketBuffer buf) throws IOException; void writePacketData(PacketBuffer buf) throws IOException; void processPacket(T handler); diff --git a/proxy/src/main/java/proxy/network/PacketBuffer.java b/proxy/src/main/java/proxy/network/PacketBuffer.java index 1b2bbdf..3583762 100755 --- a/proxy/src/main/java/proxy/network/PacketBuffer.java +++ b/proxy/src/main/java/proxy/network/PacketBuffer.java @@ -8,8 +8,6 @@ import io.netty.buffer.ByteBufProcessor; import io.netty.handler.codec.DecoderException; import io.netty.handler.codec.EncoderException; -import java.io.DataInput; -import java.io.DataOutput; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -20,8 +18,7 @@ import java.nio.channels.ScatteringByteChannel; import java.nio.charset.Charset; import java.util.UUID; -import proxy.nbt.NBTSizeTracker; -import proxy.nbt.NBTTagCompound; +import proxy.nbt.NbtCompound; import proxy.util.Vec3; import proxy.util.Stack; @@ -73,7 +70,7 @@ public class PacketBuffer extends ByteBuf public void writeVector(Vec3 pos) { - this.writeLong(pos.getData()); + this.writeLong(pos.pack()); } public String readChatComponent() throws IOException @@ -187,25 +184,10 @@ public class PacketBuffer extends ByteBuf this.writeByte((int)value); } - private static NBTTagCompound readTag(DataInput in) throws IOException { - if(in.readByte() != 10) - throw new IOException("Root tag must be a named compound tag"); - in.readUTF(); - NBTTagCompound tag = new NBTTagCompound(); - tag.read(in, 0, new NBTSizeTracker(2097152L)); - return tag; - } - - private static void writeTag(NBTTagCompound tag, DataOutput out) throws IOException { - out.writeByte(tag.getId()); - out.writeUTF(""); - tag.write(out); - } - /** * Writes a compressed NBTTagCompound to this buffer */ - public void writeNBTTagCompoundToBuffer(NBTTagCompound nbt) + public void writeNBTTagCompoundToBuffer(NbtCompound nbt) { if (nbt == null) { @@ -215,7 +197,7 @@ public class PacketBuffer extends ByteBuf { try { - writeTag(nbt, new ByteBufOutputStream(this)); + NbtCompound.writeTag(nbt, new ByteBufOutputStream(this)); } catch (IOException ioexception) { @@ -227,7 +209,7 @@ public class PacketBuffer extends ByteBuf /** * Reads a compressed NBTTagCompound from this buffer */ - public NBTTagCompound readNBTTagCompoundFromBuffer() throws IOException + public NbtCompound readNBTTagCompoundFromBuffer() throws IOException { int i = this.readerIndex(); byte b0 = this.readByte(); @@ -239,7 +221,7 @@ public class PacketBuffer extends ByteBuf else { this.readerIndex(i); - return readTag(new ByteBufInputStream(this)); + return NbtCompound.readTag(new ByteBufInputStream(this)); } } diff --git a/proxy/src/main/java/proxy/network/MessageDeserializer.java b/proxy/src/main/java/proxy/network/PacketDecoder.java similarity index 63% rename from proxy/src/main/java/proxy/network/MessageDeserializer.java rename to proxy/src/main/java/proxy/network/PacketDecoder.java index b4910e8..f7de6c1 100755 --- a/proxy/src/main/java/proxy/network/MessageDeserializer.java +++ b/proxy/src/main/java/proxy/network/PacketDecoder.java @@ -6,11 +6,11 @@ import io.netty.handler.codec.ByteToMessageDecoder; import java.io.IOException; import java.util.List; -public class MessageDeserializer extends ByteToMessageDecoder +public class PacketDecoder extends ByteToMessageDecoder { - private final EnumPacketDirection direction; + private final PacketDirection direction; - public MessageDeserializer(EnumPacketDirection direction) + public PacketDecoder(PacketDirection direction) { this.direction = direction; } @@ -21,7 +21,7 @@ public class MessageDeserializer extends ByteToMessageDecoder { PacketBuffer packetbuffer = new PacketBuffer(p_decode_2_); int i = packetbuffer.readVarIntFromBuffer(); - Packet packet = ((EnumConnectionState)p_decode_1_.channel().attr(NetworkManager.STATE).get()).getPacket(this.direction, i); + Packet packet = ((Protocol)p_decode_1_.channel().attr(Connection.STATE).get()).getPacket(this.direction, i); if (packet == null) { @@ -33,7 +33,7 @@ public class MessageDeserializer extends ByteToMessageDecoder if (packetbuffer.readableBytes() > 0) { - throw new IOException("Packet " + ((EnumConnectionState)p_decode_1_.channel().attr(NetworkManager.STATE).get()).getId() + "/" + i + " (" + packet.getClass().getSimpleName() + ") was larger than I expected, found " + packetbuffer.readableBytes() + " bytes extra whilst reading packet " + i); + throw new IOException("Packet " + ((Protocol)p_decode_1_.channel().attr(Connection.STATE).get()).getId() + "/" + i + " (" + packet.getClass().getSimpleName() + ") was larger than I expected, found " + packetbuffer.readableBytes() + " bytes extra whilst reading packet " + i); } else { diff --git a/proxy/src/main/java/proxy/network/PacketDirection.java b/proxy/src/main/java/proxy/network/PacketDirection.java new file mode 100755 index 0000000..3eb6695 --- /dev/null +++ b/proxy/src/main/java/proxy/network/PacketDirection.java @@ -0,0 +1,5 @@ +package proxy.network; + +public enum PacketDirection { + SERVER, CLIENT; +} diff --git a/proxy/src/main/java/proxy/network/MessageSerializer.java b/proxy/src/main/java/proxy/network/PacketEncoder.java similarity index 74% rename from proxy/src/main/java/proxy/network/MessageSerializer.java rename to proxy/src/main/java/proxy/network/PacketEncoder.java index f5a09b5..e082234 100755 --- a/proxy/src/main/java/proxy/network/MessageSerializer.java +++ b/proxy/src/main/java/proxy/network/PacketEncoder.java @@ -7,18 +7,18 @@ import proxy.util.Log; import java.io.IOException; -public class MessageSerializer extends MessageToByteEncoder +public class PacketEncoder extends MessageToByteEncoder { - private final EnumPacketDirection direction; + private final PacketDirection direction; - public MessageSerializer(EnumPacketDirection direction) + public PacketEncoder(PacketDirection direction) { this.direction = direction; } protected void encode(ChannelHandlerContext p_encode_1_, Packet p_encode_2_, ByteBuf p_encode_3_) throws IOException, Exception { - Integer integer = ((EnumConnectionState)p_encode_1_.channel().attr(NetworkManager.STATE).get()).getPacketId(this.direction, p_encode_2_); + Integer integer = ((Protocol)p_encode_1_.channel().attr(Connection.STATE).get()).getPacketId(this.direction, p_encode_2_); if (integer == null) { diff --git a/proxy/src/main/java/proxy/network/MessageSerializer2.java b/proxy/src/main/java/proxy/network/PacketPrepender.java similarity index 91% rename from proxy/src/main/java/proxy/network/MessageSerializer2.java rename to proxy/src/main/java/proxy/network/PacketPrepender.java index 4895b98..d747b64 100755 --- a/proxy/src/main/java/proxy/network/MessageSerializer2.java +++ b/proxy/src/main/java/proxy/network/PacketPrepender.java @@ -4,7 +4,7 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; -public class MessageSerializer2 extends MessageToByteEncoder +public class PacketPrepender extends MessageToByteEncoder { protected void encode(ChannelHandlerContext p_encode_1_, ByteBuf p_encode_2_, ByteBuf p_encode_3_) throws Exception { diff --git a/proxy/src/main/java/proxy/network/MessageDeserializer2.java b/proxy/src/main/java/proxy/network/PacketSplitter.java similarity index 95% rename from proxy/src/main/java/proxy/network/MessageDeserializer2.java rename to proxy/src/main/java/proxy/network/PacketSplitter.java index ec7fa0b..2e17488 100755 --- a/proxy/src/main/java/proxy/network/MessageDeserializer2.java +++ b/proxy/src/main/java/proxy/network/PacketSplitter.java @@ -7,7 +7,7 @@ import io.netty.handler.codec.ByteToMessageDecoder; import io.netty.handler.codec.CorruptedFrameException; import java.util.List; -public class MessageDeserializer2 extends ByteToMessageDecoder +public class PacketSplitter extends ByteToMessageDecoder { protected void decode(ChannelHandlerContext p_decode_1_, ByteBuf p_decode_2_, List p_decode_3_) throws Exception { diff --git a/proxy/src/main/java/proxy/network/PacketThreadUtil.java b/proxy/src/main/java/proxy/network/PacketThreadUtil.java deleted file mode 100755 index 7cec4a5..0000000 --- a/proxy/src/main/java/proxy/network/PacketThreadUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package proxy.network; - -import proxy.Proxy; - -public class PacketThreadUtil { - public static void checkThreadAndEnqueue(final Packet packet, final T handler, Proxy proxy) throws ThreadQuickExitException { - if(!proxy.isMainThread()) { - proxy.schedule(new Runnable() { - public void run() { - packet.processPacket(handler); - } - }); - throw ThreadQuickExitException.INSTANCE; - } - } -} diff --git a/proxy/src/main/java/proxy/network/Protocol.java b/proxy/src/main/java/proxy/network/Protocol.java new file mode 100755 index 0000000..04e55a2 --- /dev/null +++ b/proxy/src/main/java/proxy/network/Protocol.java @@ -0,0 +1,243 @@ +package proxy.network; + +import java.lang.reflect.InvocationTargetException; +import java.util.Map; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.Maps; + +import proxy.packet.*; +import proxy.util.Log; + +public enum Protocol +{ + HANDSHAKE(-1) + { + { + this.registerPacket(PacketDirection.SERVER, H00PacketHandshake.class); + } + }, + PLAY(0) + { + { + this.registerPacket(PacketDirection.CLIENT, S00PacketKeepAlive.class); + this.registerPacket(PacketDirection.CLIENT, S01PacketJoinGame.class); + this.registerPacket(PacketDirection.CLIENT, S02PacketChat.class); + this.registerPacket(PacketDirection.CLIENT, S03PacketTimeUpdate.class); + this.registerPacket(PacketDirection.CLIENT, S04PacketEntityEquipment.class); + this.registerPacket(PacketDirection.CLIENT, S05PacketSpawnPosition.class); + this.registerPacket(PacketDirection.CLIENT, S06PacketUpdateHealth.class); + this.registerPacket(PacketDirection.CLIENT, S07PacketRespawn.class); + this.registerPacket(PacketDirection.CLIENT, S08PacketPlayerPosLook.class); + this.registerPacket(PacketDirection.CLIENT, S09PacketHeldItemChange.class); + this.registerPacket(PacketDirection.CLIENT, S0APacketUseBed.class); + this.registerPacket(PacketDirection.CLIENT, S0BPacketAnimation.class); + this.registerPacket(PacketDirection.CLIENT, S0CPacketSpawnPlayer.class); + this.registerPacket(PacketDirection.CLIENT, S0DPacketCollectItem.class); + this.registerPacket(PacketDirection.CLIENT, S0EPacketSpawnObject.class); + this.registerPacket(PacketDirection.CLIENT, S0FPacketSpawnMob.class); + this.registerPacket(PacketDirection.CLIENT, S10PacketSpawnPainting.class); + this.registerPacket(PacketDirection.CLIENT, S11PacketSpawnExperienceOrb.class); + this.registerPacket(PacketDirection.CLIENT, S12PacketEntityVelocity.class); + this.registerPacket(PacketDirection.CLIENT, S13PacketDestroyEntities.class); + this.registerPacket(PacketDirection.CLIENT, S14PacketEntity.class); + this.registerPacket(PacketDirection.CLIENT, S14PacketEntity.S15PacketEntityRelMove.class); + this.registerPacket(PacketDirection.CLIENT, S14PacketEntity.S16PacketEntityLook.class); + this.registerPacket(PacketDirection.CLIENT, S14PacketEntity.S17PacketEntityLookMove.class); + this.registerPacket(PacketDirection.CLIENT, S18PacketEntityTeleport.class); + this.registerPacket(PacketDirection.CLIENT, S19PacketEntityHeadLook.class); + this.registerPacket(PacketDirection.CLIENT, S19PacketEntityStatus.class); + this.registerPacket(PacketDirection.CLIENT, S1BPacketEntityAttach.class); + this.registerPacket(PacketDirection.CLIENT, S1CPacketEntityMetadata.class); + this.registerPacket(PacketDirection.CLIENT, S1DPacketEntityEffect.class); + this.registerPacket(PacketDirection.CLIENT, S1EPacketRemoveEntityEffect.class); + this.registerPacket(PacketDirection.CLIENT, S1FPacketSetExperience.class); + this.registerPacket(PacketDirection.CLIENT, S20PacketEntityProperties.class); + this.registerPacket(PacketDirection.CLIENT, S21PacketChunkData.class); + this.registerPacket(PacketDirection.CLIENT, S22PacketMultiBlockChange.class); + this.registerPacket(PacketDirection.CLIENT, S23PacketBlockChange.class); + this.registerPacket(PacketDirection.CLIENT, S24PacketBlockAction.class); + this.registerPacket(PacketDirection.CLIENT, S25PacketBlockBreakAnim.class); + this.registerPacket(PacketDirection.CLIENT, S26PacketMapChunkBulk.class); + this.registerPacket(PacketDirection.CLIENT, S27PacketExplosion.class); + this.registerPacket(PacketDirection.CLIENT, S28PacketEffect.class); + this.registerPacket(PacketDirection.CLIENT, S29PacketSoundEffect.class); + this.registerPacket(PacketDirection.CLIENT, S2APacketParticles.class); + this.registerPacket(PacketDirection.CLIENT, S2BPacketChangeGameState.class); + this.registerPacket(PacketDirection.CLIENT, S2CPacketSpawnGlobalEntity.class); + this.registerPacket(PacketDirection.CLIENT, S2DPacketOpenWindow.class); + this.registerPacket(PacketDirection.CLIENT, S2EPacketCloseWindow.class); + this.registerPacket(PacketDirection.CLIENT, S2FPacketSetSlot.class); + this.registerPacket(PacketDirection.CLIENT, S30PacketWindowItems.class); + this.registerPacket(PacketDirection.CLIENT, S31PacketWindowProperty.class); + this.registerPacket(PacketDirection.CLIENT, S32PacketConfirmTransaction.class); + this.registerPacket(PacketDirection.CLIENT, S33PacketUpdateSign.class); + this.registerPacket(PacketDirection.CLIENT, S34PacketMaps.class); + this.registerPacket(PacketDirection.CLIENT, S35PacketUpdateTileEntity.class); + this.registerPacket(PacketDirection.CLIENT, S36PacketSignEditorOpen.class); + this.registerPacket(PacketDirection.CLIENT, S37PacketStatistics.class); + this.registerPacket(PacketDirection.CLIENT, S38PacketPlayerListItem.class); + this.registerPacket(PacketDirection.CLIENT, S39PacketPlayerAbilities.class); + this.registerPacket(PacketDirection.CLIENT, S3APacketTabComplete.class); + this.registerPacket(PacketDirection.CLIENT, S3BPacketScoreboardObjective.class); + this.registerPacket(PacketDirection.CLIENT, S3CPacketUpdateScore.class); + this.registerPacket(PacketDirection.CLIENT, S3DPacketDisplayScoreboard.class); + this.registerPacket(PacketDirection.CLIENT, S3EPacketTeams.class); + this.registerPacket(PacketDirection.CLIENT, S3FPacketCustomPayload.class); + this.registerPacket(PacketDirection.CLIENT, S40PacketDisconnect.class); + this.registerPacket(PacketDirection.CLIENT, S41PacketServerDifficulty.class); + this.registerPacket(PacketDirection.CLIENT, S42PacketCombatEvent.class); + this.registerPacket(PacketDirection.CLIENT, S43PacketCamera.class); + this.registerPacket(PacketDirection.CLIENT, S44PacketWorldBorder.class); + this.registerPacket(PacketDirection.CLIENT, S45PacketTitle.class); + this.registerPacket(PacketDirection.CLIENT, S46PacketSetCompressionLevel.class); + this.registerPacket(PacketDirection.CLIENT, S47PacketPlayerListHeaderFooter.class); + this.registerPacket(PacketDirection.CLIENT, S48PacketResourcePackSend.class); + this.registerPacket(PacketDirection.CLIENT, S49PacketUpdateEntityNBT.class); + this.registerPacket(PacketDirection.SERVER, C00PacketKeepAlive.class); + this.registerPacket(PacketDirection.SERVER, C01PacketChatMessage.class); + this.registerPacket(PacketDirection.SERVER, C02PacketUseEntity.class); + this.registerPacket(PacketDirection.SERVER, C03PacketPlayer.class); + this.registerPacket(PacketDirection.SERVER, C03PacketPlayer.C04PacketPlayerPosition.class); + this.registerPacket(PacketDirection.SERVER, C03PacketPlayer.C05PacketPlayerLook.class); + this.registerPacket(PacketDirection.SERVER, C03PacketPlayer.C06PacketPlayerPosLook.class); + this.registerPacket(PacketDirection.SERVER, C07PacketPlayerDigging.class); + this.registerPacket(PacketDirection.SERVER, C08PacketPlayerBlockPlacement.class); + this.registerPacket(PacketDirection.SERVER, C09PacketHeldItemChange.class); + this.registerPacket(PacketDirection.SERVER, C0APacketAnimation.class); + this.registerPacket(PacketDirection.SERVER, C0BPacketEntityAction.class); + this.registerPacket(PacketDirection.SERVER, C0CPacketInput.class); + this.registerPacket(PacketDirection.SERVER, C0DPacketCloseWindow.class); + this.registerPacket(PacketDirection.SERVER, C0EPacketClickWindow.class); + this.registerPacket(PacketDirection.SERVER, C0FPacketConfirmTransaction.class); + this.registerPacket(PacketDirection.SERVER, C10PacketCreativeInventoryAction.class); + this.registerPacket(PacketDirection.SERVER, C11PacketEnchantItem.class); + this.registerPacket(PacketDirection.SERVER, C12PacketUpdateSign.class); + this.registerPacket(PacketDirection.SERVER, C13PacketPlayerAbilities.class); + this.registerPacket(PacketDirection.SERVER, C14PacketTabComplete.class); + this.registerPacket(PacketDirection.SERVER, C15PacketClientSettings.class); + this.registerPacket(PacketDirection.SERVER, C16PacketClientStatus.class); + this.registerPacket(PacketDirection.SERVER, C17PacketCustomPayload.class); + this.registerPacket(PacketDirection.SERVER, C18PacketSpectate.class); + this.registerPacket(PacketDirection.SERVER, C19PacketResourcePackStatus.class); + } + }, + STATUS(1) + { + { + this.registerPacket(PacketDirection.SERVER, Q00PacketServerQuery.class); + this.registerPacket(PacketDirection.CLIENT, I00PacketServerInfo.class); + this.registerPacket(PacketDirection.SERVER, Q01PacketPing.class); + this.registerPacket(PacketDirection.CLIENT, I01PacketPong.class); + } + }, + LOGIN(2) + { + { + this.registerPacket(PacketDirection.CLIENT, R00PacketDisconnect.class); + this.registerPacket(PacketDirection.CLIENT, R01PacketEncryptionRequest.class); + this.registerPacket(PacketDirection.CLIENT, R02PacketLoginSuccess.class); + this.registerPacket(PacketDirection.CLIENT, R03PacketEnableCompression.class); + this.registerPacket(PacketDirection.SERVER, L00PacketLoginStart.class); + this.registerPacket(PacketDirection.SERVER, L01PacketEncryptionResponse.class); + } + }; + + private static int field_181136_e = -1; + private static int field_181137_f = 2; + private static final Protocol[] STATES_BY_ID = new Protocol[field_181137_f - field_181136_e + 1]; + private static final Map < Class , Protocol > STATES_BY_CLASS = Maps. < Class , Protocol > newHashMap(); + private final int id; + private final Map < PacketDirection, BiMap < Integer, Class >> directionMaps; + + private Protocol(int protocolId) + { + this.directionMaps = Maps.newEnumMap(PacketDirection.class); + this.id = protocolId; + } + + protected Protocol registerPacket(PacketDirection direction, Class packetClass) + { + BiMap < Integer, Class > bimap = (BiMap)this.directionMaps.get(direction); + + if (bimap == null) + { + bimap = HashBiMap. < Integer, Class > create(); + this.directionMaps.put(direction, bimap); + } + + if (bimap.containsValue(packetClass)) + { + String s = direction + " packet " + packetClass + " is already known to ID " + bimap.inverse().get(packetClass); + Log.error(s); + throw new IllegalArgumentException(s); + } + else + { + bimap.put(Integer.valueOf(bimap.size()), packetClass); + return this; + } + } + + public Integer getPacketId(PacketDirection direction, Packet packetIn) + { + return (Integer)((BiMap)this.directionMaps.get(direction)).inverse().get(packetIn.getClass()); + } + + public Packet getPacket(PacketDirection direction, int packetId) throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException { + Class oclass = (Class)((BiMap)this.directionMaps.get(direction)).get(Integer.valueOf(packetId)); + return oclass == null ? null : (Packet)oclass.getConstructor().newInstance(); + } + + public int getId() + { + return this.id; + } + + public static Protocol getById(int stateId) + { + return stateId >= field_181136_e && stateId <= field_181137_f ? STATES_BY_ID[stateId - field_181136_e] : null; + } + + public static Protocol getFromPacket(Packet packetIn) + { + return (Protocol)STATES_BY_CLASS.get(packetIn.getClass()); + } + + static { + for (Protocol enumconnectionstate : values()) + { + int i = enumconnectionstate.getId(); + + if (i < field_181136_e || i > field_181137_f) + { + throw new Error("Invalid protocol ID " + Integer.toString(i)); + } + + STATES_BY_ID[i - field_181136_e] = enumconnectionstate; + + for (PacketDirection enumpacketdirection : enumconnectionstate.directionMaps.keySet()) + { + for (Class oclass : (enumconnectionstate.directionMaps.get(enumpacketdirection)).values()) + { + if (STATES_BY_CLASS.containsKey(oclass) && STATES_BY_CLASS.get(oclass) != enumconnectionstate) + { + throw new Error("Packet " + oclass + " is already assigned to protocol " + STATES_BY_CLASS.get(oclass) + " - can\'t reassign to " + enumconnectionstate); + } + + try + { + oclass.getConstructor().newInstance(); + } + catch (Throwable var10) + { + throw new Error("Packet " + oclass + " fails instantiation checks! " + oclass); + } + + STATES_BY_CLASS.put(oclass, enumconnectionstate); + } + } + } + } +} diff --git a/proxy/src/main/java/proxy/network/NetHandlerPlayServer.java b/proxy/src/main/java/proxy/network/ProxyHandler.java similarity index 71% rename from proxy/src/main/java/proxy/network/NetHandlerPlayServer.java rename to proxy/src/main/java/proxy/network/ProxyHandler.java index 09246c4..02a1975 100755 --- a/proxy/src/main/java/proxy/network/NetHandlerPlayServer.java +++ b/proxy/src/main/java/proxy/network/ProxyHandler.java @@ -8,150 +8,50 @@ import java.net.InetAddress; import java.net.UnknownHostException; import proxy.Proxy; -import proxy.nbt.NBTTagList; -import proxy.packet.handshake.client.C00Handshake; -import proxy.packet.login.client.C00PacketLoginStart; -import proxy.packet.login.server.S00PacketDisconnect; -import proxy.packet.login.server.S01PacketEncryptionRequest; -import proxy.packet.login.server.S02PacketLoginSuccess; -import proxy.packet.login.server.S03PacketEnableCompression; -import proxy.packet.play.client.C00PacketKeepAlive; -import proxy.packet.play.client.C01PacketChatMessage; -import proxy.packet.play.client.C02PacketUseEntity; -import proxy.packet.play.client.C03PacketPlayer; -import proxy.packet.play.client.C07PacketPlayerDigging; -import proxy.packet.play.client.C08PacketPlayerBlockPlacement; -import proxy.packet.play.client.C09PacketHeldItemChange; -import proxy.packet.play.client.C0APacketAnimation; -import proxy.packet.play.client.C0BPacketEntityAction; -import proxy.packet.play.client.C0CPacketInput; -import proxy.packet.play.client.C0DPacketCloseWindow; -import proxy.packet.play.client.C0EPacketClickWindow; -import proxy.packet.play.client.C0FPacketConfirmTransaction; -import proxy.packet.play.client.C10PacketCreativeInventoryAction; -import proxy.packet.play.client.C11PacketEnchantItem; -import proxy.packet.play.client.C12PacketUpdateSign; -import proxy.packet.play.client.C13PacketPlayerAbilities; -import proxy.packet.play.client.C14PacketTabComplete; -import proxy.packet.play.client.C15PacketClientSettings; -import proxy.packet.play.client.C16PacketClientStatus; -import proxy.packet.play.client.C17PacketCustomPayload; -import proxy.packet.play.client.C18PacketSpectate; -import proxy.packet.play.client.C19PacketResourcePackStatus; -import proxy.packet.play.server.S00PacketKeepAlive; -import proxy.packet.play.server.S01PacketJoinGame; -import proxy.packet.play.server.S02PacketChat; -import proxy.packet.play.server.S03PacketTimeUpdate; -import proxy.packet.play.server.S04PacketEntityEquipment; -import proxy.packet.play.server.S05PacketSpawnPosition; -import proxy.packet.play.server.S06PacketUpdateHealth; -import proxy.packet.play.server.S07PacketRespawn; -import proxy.packet.play.server.S08PacketPlayerPosLook; -import proxy.packet.play.server.S09PacketHeldItemChange; -import proxy.packet.play.server.S0APacketUseBed; -import proxy.packet.play.server.S0BPacketAnimation; -import proxy.packet.play.server.S0CPacketSpawnPlayer; -import proxy.packet.play.server.S0DPacketCollectItem; -import proxy.packet.play.server.S0EPacketSpawnObject; -import proxy.packet.play.server.S0FPacketSpawnMob; -import proxy.packet.play.server.S10PacketSpawnPainting; -import proxy.packet.play.server.S11PacketSpawnExperienceOrb; -import proxy.packet.play.server.S12PacketEntityVelocity; -import proxy.packet.play.server.S13PacketDestroyEntities; -import proxy.packet.play.server.S14PacketEntity; -import proxy.packet.play.server.S18PacketEntityTeleport; -import proxy.packet.play.server.S19PacketEntityHeadLook; -import proxy.packet.play.server.S19PacketEntityStatus; -import proxy.packet.play.server.S1BPacketEntityAttach; -import proxy.packet.play.server.S1CPacketEntityMetadata; -import proxy.packet.play.server.S1DPacketEntityEffect; -import proxy.packet.play.server.S1EPacketRemoveEntityEffect; -import proxy.packet.play.server.S1FPacketSetExperience; -import proxy.packet.play.server.S20PacketEntityProperties; -import proxy.packet.play.server.S21PacketChunkData; -import proxy.packet.play.server.S22PacketMultiBlockChange; -import proxy.packet.play.server.S23PacketBlockChange; -import proxy.packet.play.server.S24PacketBlockAction; -import proxy.packet.play.server.S25PacketBlockBreakAnim; -import proxy.packet.play.server.S26PacketMapChunkBulk; -import proxy.packet.play.server.S27PacketExplosion; -import proxy.packet.play.server.S28PacketEffect; -import proxy.packet.play.server.S29PacketSoundEffect; -import proxy.packet.play.server.S2APacketParticles; -import proxy.packet.play.server.S2BPacketChangeGameState; -import proxy.packet.play.server.S2CPacketSpawnGlobalEntity; -import proxy.packet.play.server.S2DPacketOpenWindow; -import proxy.packet.play.server.S2EPacketCloseWindow; -import proxy.packet.play.server.S2FPacketSetSlot; -import proxy.packet.play.server.S30PacketWindowItems; -import proxy.packet.play.server.S31PacketWindowProperty; -import proxy.packet.play.server.S32PacketConfirmTransaction; -import proxy.packet.play.server.S33PacketUpdateSign; -import proxy.packet.play.server.S34PacketMaps; -import proxy.packet.play.server.S35PacketUpdateTileEntity; -import proxy.packet.play.server.S36PacketSignEditorOpen; -import proxy.packet.play.server.S37PacketStatistics; -import proxy.packet.play.server.S38PacketPlayerListItem; -import proxy.packet.play.server.S39PacketPlayerAbilities; -import proxy.packet.play.server.S3APacketTabComplete; -import proxy.packet.play.server.S3BPacketScoreboardObjective; -import proxy.packet.play.server.S3CPacketUpdateScore; -import proxy.packet.play.server.S3DPacketDisplayScoreboard; -import proxy.packet.play.server.S3EPacketTeams; -import proxy.packet.play.server.S3FPacketCustomPayload; -import proxy.packet.play.server.S40PacketDisconnect; -import proxy.packet.play.server.S41PacketServerDifficulty; -import proxy.packet.play.server.S42PacketCombatEvent; -import proxy.packet.play.server.S43PacketCamera; -import proxy.packet.play.server.S44PacketWorldBorder; -import proxy.packet.play.server.S45PacketTitle; -import proxy.packet.play.server.S46PacketSetCompressionLevel; -import proxy.packet.play.server.S47PacketPlayerListHeaderFooter; -import proxy.packet.play.server.S48PacketResourcePackSend; -import proxy.packet.play.server.S49PacketUpdateEntityNBT; +import proxy.packet.*; import proxy.util.ChatColor; import proxy.util.User; import proxy.util.Stack; import proxy.util.Log; -public class NetHandlerPlayServer implements INetHandler { - public class ProxyLoginHandler implements INetHandler { - public void handleEncryptionRequest(S01PacketEncryptionRequest packetIn) { - NetHandlerPlayServer.this.server.closeChannel("Online mode auth request received"); - NetHandlerPlayServer.this.disconnect("Server tried to authenticate, check if online-mode ist set to false"); +public class ProxyHandler implements Handler { + public class ProxyLoginHandler implements Handler { + public void handleEncryptionRequest(R01PacketEncryptionRequest packetIn) { + ProxyHandler.this.server.closeChannel("Online mode auth request received"); + ProxyHandler.this.disconnect("Server tried to authenticate, check if online-mode ist set to false"); } - public void handleLoginSuccess(S02PacketLoginSuccess packetIn) { - if(!NetHandlerPlayServer.this.username.equals(packetIn.getName()) || !Proxy.getOfflineUUID(NetHandlerPlayServer.this.username).equals(packetIn.getId())) { - NetHandlerPlayServer.this.server.closeChannel("Different profile received"); - NetHandlerPlayServer.this.disconnect("Server returned a different profile, check if server or plugins tamper with profiles"); + public void handleLoginSuccess(R02PacketLoginSuccess packetIn) { + if(!ProxyHandler.this.username.equals(packetIn.getName()) || !Proxy.getOfflineUUID(ProxyHandler.this.username).equals(packetIn.getId())) { + ProxyHandler.this.server.closeChannel("Different profile received"); + ProxyHandler.this.disconnect("Server returned a different profile, check if server or plugins tamper with profiles"); } - NetHandlerPlayServer.this.server.setNetHandler(NetHandlerPlayServer.this); - NetHandlerPlayServer.this.server.setConnectionState(EnumConnectionState.PLAY); - NetHandlerPlayServer.this.connected = true; - NetHandlerPlayServer.this.connecting = false; - Log.info("Connected %s to forward host", NetHandlerPlayServer.this.username); + ProxyHandler.this.server.setNetHandler(ProxyHandler.this); + ProxyHandler.this.server.setConnectionState(Protocol.PLAY); + ProxyHandler.this.connected = true; + ProxyHandler.this.connecting = false; + Log.info("Connected %s to forward host", ProxyHandler.this.username); } - public void handleDisconnect(S00PacketDisconnect packetIn) { - NetHandlerPlayServer.this.server.closeChannel("Kicked by server on login: " + packetIn.getReason()); - NetHandlerPlayServer.this.disconnect("Kicked by server on login"); + public void handleDisconnect(R00PacketDisconnect packetIn) { + ProxyHandler.this.server.closeChannel("Kicked by server on login: " + packetIn.getReason()); + ProxyHandler.this.disconnect("Kicked by server on login"); } - public void handleEnableCompression(S03PacketEnableCompression packetIn) { - NetHandlerPlayServer.this.server.setCompressionTreshold(packetIn.getCompressionTreshold()); + public void handleEnableCompression(R03PacketEnableCompression packetIn) { + ProxyHandler.this.server.setCompressionTreshold(packetIn.getCompressionTreshold()); } - public void onDisconnect(NetworkManager connection, String reason) { - NetHandlerPlayServer.this.onDisconnect(connection, reason); + public void onDisconnect(Connection connection, String reason) { + ProxyHandler.this.onDisconnect(connection, reason); } } private final Proxy proxy; - private final NetworkManager client; + private final Connection client; private final String username; - private NetworkManager server; + private Connection server; private int networkTickCount; private long lastPingTime; @@ -186,7 +86,7 @@ public class NetHandlerPlayServer implements INetHandler { return true; } - public NetHandlerPlayServer(Proxy proxy, NetworkManager client, String username) { + public ProxyHandler(Proxy proxy, Connection client, String username) { this.proxy = proxy; this.client = client; this.username = username; @@ -208,7 +108,7 @@ public class NetHandlerPlayServer implements INetHandler { this.sendToClient(new S02PacketChat(String.format(fmt, args))); } - public void update(NetworkManager connection) { + public void update(Connection connection) { if(connection == this.server) return; if(!this.connected) { @@ -246,13 +146,13 @@ public class NetHandlerPlayServer implements INetHandler { public void disconnect(final String reason) { this.client.sendPacket(new S40PacketDisconnect(reason), new GenericFutureListener>() { public void operationComplete(Future p_operationComplete_1_) throws Exception { - NetHandlerPlayServer.this.client.closeChannel(reason); + ProxyHandler.this.client.closeChannel(reason); } }); this.client.disableAutoRead(); this.proxy.schedule(new Runnable() { public void run() { - NetHandlerPlayServer.this.client.checkDisconnected(); + ProxyHandler.this.client.checkDisconnected(); } }); } @@ -260,9 +160,9 @@ public class NetHandlerPlayServer implements INetHandler { private void connectToServer() { this.proxy.setLoggedIn(this.username, this); Log.info("Connecting %s to %s:%d", this.username, this.proxy.getForwardHost(), this.proxy.getForwardPort()); - final NetworkManager conn; + final Connection conn; try { - conn = NetworkManager.createNetworkManagerAndConnect(InetAddress.getByName(IDN.toASCII(this.proxy.getForwardHost())), this.proxy.getForwardPort(), this.proxy.isUsingEPoll()); + conn = Connection.createNetworkManagerAndConnect(InetAddress.getByName(IDN.toASCII(this.proxy.getForwardHost())), this.proxy.getForwardPort(), this.proxy.isUsingEPoll()); } catch(UnknownHostException e) { this.disconnect("Could not connect to server: unknown host, check if the hostname is correct"); @@ -275,9 +175,9 @@ public class NetHandlerPlayServer implements INetHandler { return; } conn.setNetHandler(new ProxyLoginHandler()); - conn.sendPacket(new C00Handshake(47, this.proxy.getForwardHost(), this.proxy.getForwardPort(), EnumConnectionState.LOGIN), new GenericFutureListener>() { + conn.sendPacket(new H00PacketHandshake(47, this.proxy.getForwardHost(), this.proxy.getForwardPort(), Protocol.LOGIN), new GenericFutureListener>() { public void operationComplete(Future future) throws Exception { - conn.sendPacket(new C00PacketLoginStart(NetHandlerPlayServer.this.username)); + conn.sendPacket(new L00PacketLoginStart(ProxyHandler.this.username)); } }); this.server = conn; @@ -306,7 +206,7 @@ public class NetHandlerPlayServer implements INetHandler { } } - public void onDisconnect(NetworkManager connection, String reason) { + public void onDisconnect(Connection connection, String reason) { if(connection == this.server) { this.disconnect(reason); Log.info("Server disconnected, kicking player %s", this.username); @@ -375,7 +275,7 @@ public class NetHandlerPlayServer implements INetHandler { public void processUpdateSign(C12PacketUpdateSign packetIn) { if(!this.connected) { - PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.proxy); + Handler.syncToMain(packetIn, this, this.proxy); String line1 = ChatColor.fromJsonString(packetIn.getLines()[0]); String line2 = ChatColor.fromJsonString(packetIn.getLines()[1]); if(line1 == null || line2 == null || line1.length() > 50 || line2.length() > 50 || !isValidString(line1) || !isValidString(line2)) @@ -516,9 +416,9 @@ public class NetHandlerPlayServer implements INetHandler { try { Stack itemstack1 = packetbuffer.readStack(); - if(itemstack1 != null) { - NBTTagList pages = itemstack1.getTag().getTagList("pages", 8); - if(pages.tagCount() > 50) + if(itemstack1 != null && itemstack1.getTag() != null) { + int pages = itemstack1.getTag().getStringListLength("pages"); + if(pages > 50) return; } } @@ -536,12 +436,12 @@ public class NetHandlerPlayServer implements INetHandler { try { Stack itemstack = packetbuffer.readStack(); - if(itemstack != null) { + if(itemstack != null && itemstack.getTag() != null) { String title = itemstack.getTag().getString("title"); - if(title.length() > 50 || !isValidString(title)) + if(title != null && (title.length() > 50 || !isValidString(title))) return; - NBTTagList pages = itemstack.getTag().getTagList("pages", 8); - if(pages.tagCount() > 50) + int pages = itemstack.getTag().getStringListLength("pages"); + if(pages > 50) return; } } diff --git a/proxy/src/main/java/proxy/network/StatusHandler.java b/proxy/src/main/java/proxy/network/StatusHandler.java new file mode 100755 index 0000000..cd21baa --- /dev/null +++ b/proxy/src/main/java/proxy/network/StatusHandler.java @@ -0,0 +1,39 @@ +package proxy.network; + +import proxy.Proxy; +import proxy.packet.I00PacketServerInfo; +import proxy.packet.I01PacketPong; +import proxy.packet.Q00PacketServerQuery; +import proxy.packet.Q01PacketPing; + +public class StatusHandler implements Handler { + private static final String EXIT_MESSAGE = "Status request has been handled."; + + private final Proxy proxy; + private final Connection connection; + + private boolean handled; + + public StatusHandler(Proxy proxy, Connection connection) { + this.proxy = proxy; + this.connection = connection; + } + + public void onDisconnect(Connection connection, String reason) { + } + + public void processServerQuery(Q00PacketServerQuery packet) { + if(this.handled) { + this.connection.closeChannel(EXIT_MESSAGE); + } + else { + this.handled = true; + this.connection.sendPacket(new I00PacketServerInfo(this.proxy.getStatus())); + } + } + + public void processPing(Q01PacketPing packet) { + this.connection.sendPacket(new I01PacketPong(packet.getClientTime())); + this.connection.closeChannel(EXIT_MESSAGE); + } +} diff --git a/proxy/src/main/java/proxy/network/ThreadQuickExitException.java b/proxy/src/main/java/proxy/network/ThreadQuickExitException.java deleted file mode 100755 index df57f15..0000000 --- a/proxy/src/main/java/proxy/network/ThreadQuickExitException.java +++ /dev/null @@ -1,14 +0,0 @@ -package proxy.network; - -public final class ThreadQuickExitException extends RuntimeException { - public static final ThreadQuickExitException INSTANCE = new ThreadQuickExitException(); - - private ThreadQuickExitException() { - this.setStackTrace(new StackTraceElement[0]); - } - - public synchronized Throwable fillInStackTrace() { - this.setStackTrace(new StackTraceElement[0]); - return this; - } -} diff --git a/proxy/src/main/java/proxy/packet/play/client/C00PacketKeepAlive.java b/proxy/src/main/java/proxy/packet/C00PacketKeepAlive.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/client/C00PacketKeepAlive.java rename to proxy/src/main/java/proxy/packet/C00PacketKeepAlive.java index eacd46f..2a48ccb 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C00PacketKeepAlive.java +++ b/proxy/src/main/java/proxy/packet/C00PacketKeepAlive.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C00PacketKeepAlive implements Packet +public class C00PacketKeepAlive implements Packet { private int key; @@ -22,7 +22,7 @@ public class C00PacketKeepAlive implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processKeepAlive(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C01PacketChatMessage.java b/proxy/src/main/java/proxy/packet/C01PacketChatMessage.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/client/C01PacketChatMessage.java rename to proxy/src/main/java/proxy/packet/C01PacketChatMessage.java index 200c122..d34e928 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C01PacketChatMessage.java +++ b/proxy/src/main/java/proxy/packet/C01PacketChatMessage.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C01PacketChatMessage implements Packet +public class C01PacketChatMessage implements Packet { private String message; @@ -43,7 +43,7 @@ public class C01PacketChatMessage implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processChatMessage(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C02PacketUseEntity.java b/proxy/src/main/java/proxy/packet/C02PacketUseEntity.java similarity index 87% rename from proxy/src/main/java/proxy/packet/play/client/C02PacketUseEntity.java rename to proxy/src/main/java/proxy/packet/C02PacketUseEntity.java index 8d32f52..8a36b8d 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C02PacketUseEntity.java +++ b/proxy/src/main/java/proxy/packet/C02PacketUseEntity.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C02PacketUseEntity implements Packet +public class C02PacketUseEntity implements Packet { private int entityId; private C02PacketUseEntity.Action action; @@ -49,7 +49,7 @@ public class C02PacketUseEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processUseEntity(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C03PacketPlayer.java b/proxy/src/main/java/proxy/packet/C03PacketPlayer.java similarity index 93% rename from proxy/src/main/java/proxy/packet/play/client/C03PacketPlayer.java rename to proxy/src/main/java/proxy/packet/C03PacketPlayer.java index 6a76f6c..c45a4cf 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C03PacketPlayer.java +++ b/proxy/src/main/java/proxy/packet/C03PacketPlayer.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C03PacketPlayer implements Packet +public class C03PacketPlayer implements Packet { protected double x; protected double y; @@ -20,7 +20,7 @@ public class C03PacketPlayer implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processPlayer(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C07PacketPlayerDigging.java b/proxy/src/main/java/proxy/packet/C07PacketPlayerDigging.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/client/C07PacketPlayerDigging.java rename to proxy/src/main/java/proxy/packet/C07PacketPlayerDigging.java index 140610b..a27ae9a 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C07PacketPlayerDigging.java +++ b/proxy/src/main/java/proxy/packet/C07PacketPlayerDigging.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class C07PacketPlayerDigging implements Packet +public class C07PacketPlayerDigging implements Packet { private Vec3 position; private byte facing; @@ -36,7 +36,7 @@ public class C07PacketPlayerDigging implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processPlayerDigging(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C08PacketPlayerBlockPlacement.java b/proxy/src/main/java/proxy/packet/C08PacketPlayerBlockPlacement.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/client/C08PacketPlayerBlockPlacement.java rename to proxy/src/main/java/proxy/packet/C08PacketPlayerBlockPlacement.java index 7613688..5205793 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C08PacketPlayerBlockPlacement.java +++ b/proxy/src/main/java/proxy/packet/C08PacketPlayerBlockPlacement.java @@ -1,14 +1,14 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; import proxy.util.Stack; -public class C08PacketPlayerBlockPlacement implements Packet +public class C08PacketPlayerBlockPlacement implements Packet { private Vec3 position; private int placedBlockDirection; @@ -46,7 +46,7 @@ public class C08PacketPlayerBlockPlacement implements Packet +public class C09PacketHeldItemChange implements Packet { private int slotId; @@ -29,7 +29,7 @@ public class C09PacketHeldItemChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processHeldItemChange(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0APacketAnimation.java b/proxy/src/main/java/proxy/packet/C0APacketAnimation.java similarity index 71% rename from proxy/src/main/java/proxy/packet/play/client/C0APacketAnimation.java rename to proxy/src/main/java/proxy/packet/C0APacketAnimation.java index 81f2ad9..8a3c46f 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0APacketAnimation.java +++ b/proxy/src/main/java/proxy/packet/C0APacketAnimation.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C0APacketAnimation implements Packet +public class C0APacketAnimation implements Packet { /** * Reads the raw packet data from the data stream. @@ -25,7 +25,7 @@ public class C0APacketAnimation implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleAnimation(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0BPacketEntityAction.java b/proxy/src/main/java/proxy/packet/C0BPacketEntityAction.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/client/C0BPacketEntityAction.java rename to proxy/src/main/java/proxy/packet/C0BPacketEntityAction.java index 46878ce..36df267 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0BPacketEntityAction.java +++ b/proxy/src/main/java/proxy/packet/C0BPacketEntityAction.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C0BPacketEntityAction implements Packet +public class C0BPacketEntityAction implements Packet { private int entityID; private C0BPacketEntityAction.Action action; @@ -35,7 +35,7 @@ public class C0BPacketEntityAction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processEntityAction(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0CPacketInput.java b/proxy/src/main/java/proxy/packet/C0CPacketInput.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/client/C0CPacketInput.java rename to proxy/src/main/java/proxy/packet/C0CPacketInput.java index bb7cab4..87df2b0 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0CPacketInput.java +++ b/proxy/src/main/java/proxy/packet/C0CPacketInput.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C0CPacketInput implements Packet +public class C0CPacketInput implements Packet { private float strafeSpeed; private float forwardSpeed; @@ -50,7 +50,7 @@ public class C0CPacketInput implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processInput(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0DPacketCloseWindow.java b/proxy/src/main/java/proxy/packet/C0DPacketCloseWindow.java similarity index 75% rename from proxy/src/main/java/proxy/packet/play/client/C0DPacketCloseWindow.java rename to proxy/src/main/java/proxy/packet/C0DPacketCloseWindow.java index 144410a..2744295 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0DPacketCloseWindow.java +++ b/proxy/src/main/java/proxy/packet/C0DPacketCloseWindow.java @@ -1,19 +1,19 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C0DPacketCloseWindow implements Packet +public class C0DPacketCloseWindow implements Packet { private int windowId; /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processCloseWindow(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0EPacketClickWindow.java b/proxy/src/main/java/proxy/packet/C0EPacketClickWindow.java similarity index 85% rename from proxy/src/main/java/proxy/packet/play/client/C0EPacketClickWindow.java rename to proxy/src/main/java/proxy/packet/C0EPacketClickWindow.java index f28ce92..e10fd9a 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0EPacketClickWindow.java +++ b/proxy/src/main/java/proxy/packet/C0EPacketClickWindow.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Stack; -public class C0EPacketClickWindow implements Packet +public class C0EPacketClickWindow implements Packet { private int windowId; private int slotId; @@ -19,7 +19,7 @@ public class C0EPacketClickWindow implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processClickWindow(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C0FPacketConfirmTransaction.java b/proxy/src/main/java/proxy/packet/C0FPacketConfirmTransaction.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/client/C0FPacketConfirmTransaction.java rename to proxy/src/main/java/proxy/packet/C0FPacketConfirmTransaction.java index 9efafb1..baec4e2 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C0FPacketConfirmTransaction.java +++ b/proxy/src/main/java/proxy/packet/C0FPacketConfirmTransaction.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C0FPacketConfirmTransaction implements Packet +public class C0FPacketConfirmTransaction implements Packet { private int windowId; private short uid; @@ -15,7 +15,7 @@ public class C0FPacketConfirmTransaction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processConfirmTransaction(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C10PacketCreativeInventoryAction.java b/proxy/src/main/java/proxy/packet/C10PacketCreativeInventoryAction.java similarity index 85% rename from proxy/src/main/java/proxy/packet/play/client/C10PacketCreativeInventoryAction.java rename to proxy/src/main/java/proxy/packet/C10PacketCreativeInventoryAction.java index 4a33eb8..31c2318 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C10PacketCreativeInventoryAction.java +++ b/proxy/src/main/java/proxy/packet/C10PacketCreativeInventoryAction.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Stack; -public class C10PacketCreativeInventoryAction implements Packet +public class C10PacketCreativeInventoryAction implements Packet { private int slotId; private Stack stack; @@ -15,7 +15,7 @@ public class C10PacketCreativeInventoryAction implements Packet +public class C11PacketEnchantItem implements Packet { private int windowId; private int button; @@ -14,7 +14,7 @@ public class C11PacketEnchantItem implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processEnchantItem(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C12PacketUpdateSign.java b/proxy/src/main/java/proxy/packet/C12PacketUpdateSign.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/client/C12PacketUpdateSign.java rename to proxy/src/main/java/proxy/packet/C12PacketUpdateSign.java index 9e43872..6eebb6f 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C12PacketUpdateSign.java +++ b/proxy/src/main/java/proxy/packet/C12PacketUpdateSign.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class C12PacketUpdateSign implements Packet +public class C12PacketUpdateSign implements Packet { private Vec3 pos; private String[] lines; @@ -42,7 +42,7 @@ public class C12PacketUpdateSign implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processUpdateSign(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C13PacketPlayerAbilities.java b/proxy/src/main/java/proxy/packet/C13PacketPlayerAbilities.java similarity index 91% rename from proxy/src/main/java/proxy/packet/play/client/C13PacketPlayerAbilities.java rename to proxy/src/main/java/proxy/packet/C13PacketPlayerAbilities.java index e2cb2ae..90205b9 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C13PacketPlayerAbilities.java +++ b/proxy/src/main/java/proxy/packet/C13PacketPlayerAbilities.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C13PacketPlayerAbilities implements Packet +public class C13PacketPlayerAbilities implements Packet { private boolean invulnerable; private boolean flying; @@ -64,7 +64,7 @@ public class C13PacketPlayerAbilities implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processPlayerAbilities(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C14PacketTabComplete.java b/proxy/src/main/java/proxy/packet/C14PacketTabComplete.java similarity index 87% rename from proxy/src/main/java/proxy/packet/play/client/C14PacketTabComplete.java rename to proxy/src/main/java/proxy/packet/C14PacketTabComplete.java index 8eedde0..505f514 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C14PacketTabComplete.java +++ b/proxy/src/main/java/proxy/packet/C14PacketTabComplete.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class C14PacketTabComplete implements Packet +public class C14PacketTabComplete implements Packet { private String message; private Vec3 targetBlock; @@ -59,7 +59,7 @@ public class C14PacketTabComplete implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processTabComplete(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C15PacketClientSettings.java b/proxy/src/main/java/proxy/packet/C15PacketClientSettings.java similarity index 83% rename from proxy/src/main/java/proxy/packet/play/client/C15PacketClientSettings.java rename to proxy/src/main/java/proxy/packet/C15PacketClientSettings.java index be609b2..af626bd 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C15PacketClientSettings.java +++ b/proxy/src/main/java/proxy/packet/C15PacketClientSettings.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C15PacketClientSettings implements Packet +public class C15PacketClientSettings implements Packet { private String lang; private int view; @@ -41,7 +41,7 @@ public class C15PacketClientSettings implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processClientSettings(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C16PacketClientStatus.java b/proxy/src/main/java/proxy/packet/C16PacketClientStatus.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/client/C16PacketClientStatus.java rename to proxy/src/main/java/proxy/packet/C16PacketClientStatus.java index 8f4e7e1..bf93ffc 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C16PacketClientStatus.java +++ b/proxy/src/main/java/proxy/packet/C16PacketClientStatus.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C16PacketClientStatus implements Packet +public class C16PacketClientStatus implements Packet { private C16PacketClientStatus.EnumState status; @@ -29,7 +29,7 @@ public class C16PacketClientStatus implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processClientStatus(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C17PacketCustomPayload.java b/proxy/src/main/java/proxy/packet/C17PacketCustomPayload.java similarity index 85% rename from proxy/src/main/java/proxy/packet/play/client/C17PacketCustomPayload.java rename to proxy/src/main/java/proxy/packet/C17PacketCustomPayload.java index 9052e71..1c09d77 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C17PacketCustomPayload.java +++ b/proxy/src/main/java/proxy/packet/C17PacketCustomPayload.java @@ -1,15 +1,15 @@ -package proxy.packet.play.client; +package proxy.packet; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C17PacketCustomPayload implements Packet +public class C17PacketCustomPayload implements Packet { private String channel; private PacketBuffer data; @@ -44,7 +44,7 @@ public class C17PacketCustomPayload implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.processVanilla250Packet(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C18PacketSpectate.java b/proxy/src/main/java/proxy/packet/C18PacketSpectate.java similarity index 75% rename from proxy/src/main/java/proxy/packet/play/client/C18PacketSpectate.java rename to proxy/src/main/java/proxy/packet/C18PacketSpectate.java index b001327..1927fb8 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C18PacketSpectate.java +++ b/proxy/src/main/java/proxy/packet/C18PacketSpectate.java @@ -1,13 +1,13 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; import java.util.UUID; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C18PacketSpectate implements Packet +public class C18PacketSpectate implements Packet { private UUID id; @@ -30,7 +30,7 @@ public class C18PacketSpectate implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpectate(this); } diff --git a/proxy/src/main/java/proxy/packet/play/client/C19PacketResourcePackStatus.java b/proxy/src/main/java/proxy/packet/C19PacketResourcePackStatus.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/client/C19PacketResourcePackStatus.java rename to proxy/src/main/java/proxy/packet/C19PacketResourcePackStatus.java index 4afd3ce..a3eebfc 100755 --- a/proxy/src/main/java/proxy/packet/play/client/C19PacketResourcePackStatus.java +++ b/proxy/src/main/java/proxy/packet/C19PacketResourcePackStatus.java @@ -1,12 +1,12 @@ -package proxy.packet.play.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C19PacketResourcePackStatus implements Packet +public class C19PacketResourcePackStatus implements Packet { private String hash; private C19PacketResourcePackStatus.Action status; @@ -32,7 +32,7 @@ public class C19PacketResourcePackStatus implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleResourcePackStatus(this); } diff --git a/proxy/src/main/java/proxy/packet/handshake/client/C00Handshake.java b/proxy/src/main/java/proxy/packet/H00PacketHandshake.java similarity index 69% rename from proxy/src/main/java/proxy/packet/handshake/client/C00Handshake.java rename to proxy/src/main/java/proxy/packet/H00PacketHandshake.java index 4c2f488..aea65f3 100755 --- a/proxy/src/main/java/proxy/packet/handshake/client/C00Handshake.java +++ b/proxy/src/main/java/proxy/packet/H00PacketHandshake.java @@ -1,24 +1,24 @@ -package proxy.packet.handshake.client; +package proxy.packet; import java.io.IOException; -import proxy.network.EnumConnectionState; -import proxy.network.NetHandlerHandshake; +import proxy.network.Protocol; +import proxy.network.HandshakeHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C00Handshake implements Packet +public class H00PacketHandshake implements Packet { private int protocolVersion; private String ip; private int port; - private EnumConnectionState requestedState; + private Protocol requestedState; - public C00Handshake() + public H00PacketHandshake() { } - public C00Handshake(int version, String ip, int port, EnumConnectionState requestedState) + public H00PacketHandshake(int version, String ip, int port, Protocol requestedState) { this.protocolVersion = version; this.ip = ip; @@ -34,7 +34,7 @@ public class C00Handshake implements Packet this.protocolVersion = buf.readVarIntFromBuffer(); this.ip = buf.readStringFromBuffer(255); this.port = buf.readUnsignedShort(); - this.requestedState = EnumConnectionState.getById(buf.readVarIntFromBuffer()); + this.requestedState = Protocol.getById(buf.readVarIntFromBuffer()); } /** @@ -51,12 +51,12 @@ public class C00Handshake implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerHandshake handler) + public void processPacket(HandshakeHandler handler) { handler.processHandshake(this); } - public EnumConnectionState getRequestedState() + public Protocol getRequestedState() { return this.requestedState; } diff --git a/proxy/src/main/java/proxy/packet/status/server/S00PacketServerInfo.java b/proxy/src/main/java/proxy/packet/I00PacketServerInfo.java similarity index 65% rename from proxy/src/main/java/proxy/packet/status/server/S00PacketServerInfo.java rename to proxy/src/main/java/proxy/packet/I00PacketServerInfo.java index a1923df..72db9d6 100755 --- a/proxy/src/main/java/proxy/packet/status/server/S00PacketServerInfo.java +++ b/proxy/src/main/java/proxy/packet/I00PacketServerInfo.java @@ -1,20 +1,20 @@ -package proxy.packet.status.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerStatusClient; +import proxy.network.StatusHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.ServerInfo; -public class S00PacketServerInfo implements Packet { +public class I00PacketServerInfo implements Packet { private String response; - public S00PacketServerInfo() { + public I00PacketServerInfo() { } - public S00PacketServerInfo(ServerInfo responseIn) { + public I00PacketServerInfo(ServerInfo responseIn) { this.response = responseIn.serialize(); } @@ -35,7 +35,6 @@ public class S00PacketServerInfo implements Packet { /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerStatusClient handler) { - handler.handleServerInfo(this); + public void processPacket(StatusHandler handler) { } } diff --git a/proxy/src/main/java/proxy/packet/status/server/S01PacketPong.java b/proxy/src/main/java/proxy/packet/I01PacketPong.java similarity index 68% rename from proxy/src/main/java/proxy/packet/status/server/S01PacketPong.java rename to proxy/src/main/java/proxy/packet/I01PacketPong.java index c6bbcd8..9e6b0c8 100755 --- a/proxy/src/main/java/proxy/packet/status/server/S01PacketPong.java +++ b/proxy/src/main/java/proxy/packet/I01PacketPong.java @@ -1,20 +1,20 @@ -package proxy.packet.status.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerStatusClient; +import proxy.network.StatusHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S01PacketPong implements Packet +public class I01PacketPong implements Packet { private long clientTime; - public S01PacketPong() + public I01PacketPong() { } - public S01PacketPong(long time) + public I01PacketPong(long time) { this.clientTime = time; } @@ -38,8 +38,7 @@ public class S01PacketPong implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerStatusClient handler) + public void processPacket(StatusHandler handler) { - handler.handlePong(this); } } diff --git a/proxy/src/main/java/proxy/packet/login/client/C00PacketLoginStart.java b/proxy/src/main/java/proxy/packet/L00PacketLoginStart.java similarity index 72% rename from proxy/src/main/java/proxy/packet/login/client/C00PacketLoginStart.java rename to proxy/src/main/java/proxy/packet/L00PacketLoginStart.java index 341db4d..f3f2037 100755 --- a/proxy/src/main/java/proxy/packet/login/client/C00PacketLoginStart.java +++ b/proxy/src/main/java/proxy/packet/L00PacketLoginStart.java @@ -1,20 +1,20 @@ -package proxy.packet.login.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerLoginServer; +import proxy.network.LoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C00PacketLoginStart implements Packet +public class L00PacketLoginStart implements Packet { private String profile; - public C00PacketLoginStart() + public L00PacketLoginStart() { } - public C00PacketLoginStart(String profileIn) + public L00PacketLoginStart(String profileIn) { this.profile = profileIn; } @@ -38,7 +38,7 @@ public class C00PacketLoginStart implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerLoginServer handler) + public void processPacket(LoginHandler handler) { handler.processLoginStart(this); } diff --git a/proxy/src/main/java/proxy/packet/login/client/C01PacketEncryptionResponse.java b/proxy/src/main/java/proxy/packet/L01PacketEncryptionResponse.java similarity index 79% rename from proxy/src/main/java/proxy/packet/login/client/C01PacketEncryptionResponse.java rename to proxy/src/main/java/proxy/packet/L01PacketEncryptionResponse.java index 682aba4..5e727de 100755 --- a/proxy/src/main/java/proxy/packet/login/client/C01PacketEncryptionResponse.java +++ b/proxy/src/main/java/proxy/packet/L01PacketEncryptionResponse.java @@ -1,12 +1,12 @@ -package proxy.packet.login.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerLoginServer; +import proxy.network.LoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C01PacketEncryptionResponse implements Packet +public class L01PacketEncryptionResponse implements Packet { private byte[] secretKeyEncrypted = new byte[0]; private byte[] verifyTokenEncrypted = new byte[0]; @@ -32,7 +32,7 @@ public class C01PacketEncryptionResponse implements Packet +public class Q00PacketServerQuery implements Packet { /** * Reads the raw packet data from the data stream. @@ -25,7 +25,7 @@ public class C00PacketServerQuery implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerStatusServer handler) + public void processPacket(StatusHandler handler) { handler.processServerQuery(this); } diff --git a/proxy/src/main/java/proxy/packet/status/client/C01PacketPing.java b/proxy/src/main/java/proxy/packet/Q01PacketPing.java similarity index 73% rename from proxy/src/main/java/proxy/packet/status/client/C01PacketPing.java rename to proxy/src/main/java/proxy/packet/Q01PacketPing.java index 4b2bc4c..565a765 100755 --- a/proxy/src/main/java/proxy/packet/status/client/C01PacketPing.java +++ b/proxy/src/main/java/proxy/packet/Q01PacketPing.java @@ -1,20 +1,20 @@ -package proxy.packet.status.client; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerStatusServer; +import proxy.network.StatusHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class C01PacketPing implements Packet +public class Q01PacketPing implements Packet { private long clientTime; - public C01PacketPing() + public Q01PacketPing() { } - public C01PacketPing(long ping) + public Q01PacketPing(long ping) { this.clientTime = ping; } @@ -38,7 +38,7 @@ public class C01PacketPing implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerStatusServer handler) + public void processPacket(StatusHandler handler) { handler.processPing(this); } diff --git a/proxy/src/main/java/proxy/packet/login/server/S00PacketDisconnect.java b/proxy/src/main/java/proxy/packet/R00PacketDisconnect.java similarity index 79% rename from proxy/src/main/java/proxy/packet/login/server/S00PacketDisconnect.java rename to proxy/src/main/java/proxy/packet/R00PacketDisconnect.java index f33e97a..2d893d6 100755 --- a/proxy/src/main/java/proxy/packet/login/server/S00PacketDisconnect.java +++ b/proxy/src/main/java/proxy/packet/R00PacketDisconnect.java @@ -1,21 +1,21 @@ -package proxy.packet.login.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer.ProxyLoginHandler; +import proxy.network.ProxyHandler.ProxyLoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.ChatColor; -public class S00PacketDisconnect implements Packet +public class R00PacketDisconnect implements Packet { private String reason; - public S00PacketDisconnect() + public R00PacketDisconnect() { } - public S00PacketDisconnect(String reasonIn) + public R00PacketDisconnect(String reasonIn) { this.reason = ChatColor.toJsonString(reasonIn); } diff --git a/proxy/src/main/java/proxy/packet/login/server/S01PacketEncryptionRequest.java b/proxy/src/main/java/proxy/packet/R01PacketEncryptionRequest.java similarity index 86% rename from proxy/src/main/java/proxy/packet/login/server/S01PacketEncryptionRequest.java rename to proxy/src/main/java/proxy/packet/R01PacketEncryptionRequest.java index a61a846..856ba98 100755 --- a/proxy/src/main/java/proxy/packet/login/server/S01PacketEncryptionRequest.java +++ b/proxy/src/main/java/proxy/packet/R01PacketEncryptionRequest.java @@ -1,12 +1,12 @@ -package proxy.packet.login.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer.ProxyLoginHandler; +import proxy.network.ProxyHandler.ProxyLoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S01PacketEncryptionRequest implements Packet +public class R01PacketEncryptionRequest implements Packet { private String hashedServerId; private byte[] publicKey; diff --git a/proxy/src/main/java/proxy/packet/login/server/S02PacketLoginSuccess.java b/proxy/src/main/java/proxy/packet/R02PacketLoginSuccess.java similarity index 81% rename from proxy/src/main/java/proxy/packet/login/server/S02PacketLoginSuccess.java rename to proxy/src/main/java/proxy/packet/R02PacketLoginSuccess.java index 70c15d3..69e78ba 100755 --- a/proxy/src/main/java/proxy/packet/login/server/S02PacketLoginSuccess.java +++ b/proxy/src/main/java/proxy/packet/R02PacketLoginSuccess.java @@ -1,22 +1,22 @@ -package proxy.packet.login.server; +package proxy.packet; import java.io.IOException; import java.util.UUID; -import proxy.network.NetHandlerPlayServer.ProxyLoginHandler; +import proxy.network.ProxyHandler.ProxyLoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S02PacketLoginSuccess implements Packet +public class R02PacketLoginSuccess implements Packet { private UUID id; private String name; - public S02PacketLoginSuccess() + public R02PacketLoginSuccess() { } - public S02PacketLoginSuccess(UUID id, String name) + public R02PacketLoginSuccess(UUID id, String name) { this.id = id; this.name = name; diff --git a/proxy/src/main/java/proxy/packet/login/server/S03PacketEnableCompression.java b/proxy/src/main/java/proxy/packet/R03PacketEnableCompression.java similarity index 78% rename from proxy/src/main/java/proxy/packet/login/server/S03PacketEnableCompression.java rename to proxy/src/main/java/proxy/packet/R03PacketEnableCompression.java index d98a9c2..1743cea 100755 --- a/proxy/src/main/java/proxy/packet/login/server/S03PacketEnableCompression.java +++ b/proxy/src/main/java/proxy/packet/R03PacketEnableCompression.java @@ -1,20 +1,20 @@ -package proxy.packet.login.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer.ProxyLoginHandler; +import proxy.network.ProxyHandler.ProxyLoginHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S03PacketEnableCompression implements Packet +public class R03PacketEnableCompression implements Packet { private int compressionTreshold; - public S03PacketEnableCompression() + public R03PacketEnableCompression() { } - public S03PacketEnableCompression(int compressionTresholdIn) + public R03PacketEnableCompression(int compressionTresholdIn) { this.compressionTreshold = compressionTresholdIn; } diff --git a/proxy/src/main/java/proxy/packet/play/server/S00PacketKeepAlive.java b/proxy/src/main/java/proxy/packet/S00PacketKeepAlive.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/server/S00PacketKeepAlive.java rename to proxy/src/main/java/proxy/packet/S00PacketKeepAlive.java index a85aeca..97ac2eb 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S00PacketKeepAlive.java +++ b/proxy/src/main/java/proxy/packet/S00PacketKeepAlive.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S00PacketKeepAlive implements Packet +public class S00PacketKeepAlive implements Packet { private int id; @@ -22,7 +22,7 @@ public class S00PacketKeepAlive implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleKeepAlive(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S01PacketJoinGame.java b/proxy/src/main/java/proxy/packet/S01PacketJoinGame.java similarity index 92% rename from proxy/src/main/java/proxy/packet/play/server/S01PacketJoinGame.java rename to proxy/src/main/java/proxy/packet/S01PacketJoinGame.java index c00e44a..cbb34ac 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S01PacketJoinGame.java +++ b/proxy/src/main/java/proxy/packet/S01PacketJoinGame.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S01PacketJoinGame implements Packet +public class S01PacketJoinGame implements Packet { private int entityId; private boolean hardcoreMode; @@ -74,7 +74,7 @@ public class S01PacketJoinGame implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleJoinGame(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S02PacketChat.java b/proxy/src/main/java/proxy/packet/S02PacketChat.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S02PacketChat.java rename to proxy/src/main/java/proxy/packet/S02PacketChat.java index 49c8d86..a2c9f09 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S02PacketChat.java +++ b/proxy/src/main/java/proxy/packet/S02PacketChat.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.ChatColor; -public class S02PacketChat implements Packet +public class S02PacketChat implements Packet { private String chatComponent; private byte type; @@ -43,7 +43,7 @@ public class S02PacketChat implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleChat(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S03PacketTimeUpdate.java b/proxy/src/main/java/proxy/packet/S03PacketTimeUpdate.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/server/S03PacketTimeUpdate.java rename to proxy/src/main/java/proxy/packet/S03PacketTimeUpdate.java index 07bedf4..5359e91 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S03PacketTimeUpdate.java +++ b/proxy/src/main/java/proxy/packet/S03PacketTimeUpdate.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S03PacketTimeUpdate implements Packet +public class S03PacketTimeUpdate implements Packet { private long totalWorldTime; private long worldTime; @@ -52,7 +52,7 @@ public class S03PacketTimeUpdate implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleTimeUpdate(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S04PacketEntityEquipment.java b/proxy/src/main/java/proxy/packet/S04PacketEntityEquipment.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S04PacketEntityEquipment.java rename to proxy/src/main/java/proxy/packet/S04PacketEntityEquipment.java index 42d9655..36161f5 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S04PacketEntityEquipment.java +++ b/proxy/src/main/java/proxy/packet/S04PacketEntityEquipment.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Stack; -public class S04PacketEntityEquipment implements Packet +public class S04PacketEntityEquipment implements Packet { private int entityID; private int equipmentSlot; @@ -36,7 +36,7 @@ public class S04PacketEntityEquipment implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityEquipment(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S05PacketSpawnPosition.java b/proxy/src/main/java/proxy/packet/S05PacketSpawnPosition.java similarity index 76% rename from proxy/src/main/java/proxy/packet/play/server/S05PacketSpawnPosition.java rename to proxy/src/main/java/proxy/packet/S05PacketSpawnPosition.java index 0355626..511bb61 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S05PacketSpawnPosition.java +++ b/proxy/src/main/java/proxy/packet/S05PacketSpawnPosition.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S05PacketSpawnPosition implements Packet +public class S05PacketSpawnPosition implements Packet { private Vec3 spawnBlockPos; @@ -30,7 +30,7 @@ public class S05PacketSpawnPosition implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnPosition(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S06PacketUpdateHealth.java b/proxy/src/main/java/proxy/packet/S06PacketUpdateHealth.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S06PacketUpdateHealth.java rename to proxy/src/main/java/proxy/packet/S06PacketUpdateHealth.java index 0c21eea..52624a9 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S06PacketUpdateHealth.java +++ b/proxy/src/main/java/proxy/packet/S06PacketUpdateHealth.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S06PacketUpdateHealth implements Packet +public class S06PacketUpdateHealth implements Packet { private float health; private int foodLevel; @@ -35,7 +35,7 @@ public class S06PacketUpdateHealth implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleUpdateHealth(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S07PacketRespawn.java b/proxy/src/main/java/proxy/packet/S07PacketRespawn.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/server/S07PacketRespawn.java rename to proxy/src/main/java/proxy/packet/S07PacketRespawn.java index cd42013..8191a5a 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S07PacketRespawn.java +++ b/proxy/src/main/java/proxy/packet/S07PacketRespawn.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S07PacketRespawn implements Packet +public class S07PacketRespawn implements Packet { private int dimensionID; private byte difficulty; @@ -28,7 +28,7 @@ public class S07PacketRespawn implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleRespawn(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S08PacketPlayerPosLook.java b/proxy/src/main/java/proxy/packet/S08PacketPlayerPosLook.java similarity index 93% rename from proxy/src/main/java/proxy/packet/play/server/S08PacketPlayerPosLook.java rename to proxy/src/main/java/proxy/packet/S08PacketPlayerPosLook.java index 09bbf26..de275c0 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S08PacketPlayerPosLook.java +++ b/proxy/src/main/java/proxy/packet/S08PacketPlayerPosLook.java @@ -1,15 +1,15 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.Collections; import java.util.EnumSet; import java.util.Set; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S08PacketPlayerPosLook implements Packet +public class S08PacketPlayerPosLook implements Packet { private double x; private double y; @@ -61,7 +61,7 @@ public class S08PacketPlayerPosLook implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handlePlayerPosLook(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S09PacketHeldItemChange.java b/proxy/src/main/java/proxy/packet/S09PacketHeldItemChange.java similarity index 75% rename from proxy/src/main/java/proxy/packet/play/server/S09PacketHeldItemChange.java rename to proxy/src/main/java/proxy/packet/S09PacketHeldItemChange.java index 6c3fff7..edeefb5 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S09PacketHeldItemChange.java +++ b/proxy/src/main/java/proxy/packet/S09PacketHeldItemChange.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S09PacketHeldItemChange implements Packet +public class S09PacketHeldItemChange implements Packet { private int heldItemHotbarIndex; @@ -29,7 +29,7 @@ public class S09PacketHeldItemChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleHeldItemChange(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0APacketUseBed.java b/proxy/src/main/java/proxy/packet/S0APacketUseBed.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/server/S0APacketUseBed.java rename to proxy/src/main/java/proxy/packet/S0APacketUseBed.java index e49a1bf..46a6150 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0APacketUseBed.java +++ b/proxy/src/main/java/proxy/packet/S0APacketUseBed.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S0APacketUseBed implements Packet +public class S0APacketUseBed implements Packet { private int playerID; private Vec3 bedPos; @@ -33,7 +33,7 @@ public class S0APacketUseBed implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleUseBed(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0BPacketAnimation.java b/proxy/src/main/java/proxy/packet/S0BPacketAnimation.java similarity index 78% rename from proxy/src/main/java/proxy/packet/play/server/S0BPacketAnimation.java rename to proxy/src/main/java/proxy/packet/S0BPacketAnimation.java index a0d8241..d21c438 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0BPacketAnimation.java +++ b/proxy/src/main/java/proxy/packet/S0BPacketAnimation.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S0BPacketAnimation implements Packet +public class S0BPacketAnimation implements Packet { private int entityId; private int type; @@ -32,7 +32,7 @@ public class S0BPacketAnimation implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleAnimation(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0CPacketSpawnPlayer.java b/proxy/src/main/java/proxy/packet/S0CPacketSpawnPlayer.java similarity index 87% rename from proxy/src/main/java/proxy/packet/play/server/S0CPacketSpawnPlayer.java rename to proxy/src/main/java/proxy/packet/S0CPacketSpawnPlayer.java index 63e083a..67ea79f 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0CPacketSpawnPlayer.java +++ b/proxy/src/main/java/proxy/packet/S0CPacketSpawnPlayer.java @@ -1,15 +1,15 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.List; import java.util.UUID; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.EntityData; -public class S0CPacketSpawnPlayer implements Packet +public class S0CPacketSpawnPlayer implements Packet { private int entityId; private UUID playerId; @@ -56,7 +56,7 @@ public class S0CPacketSpawnPlayer implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnPlayer(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0DPacketCollectItem.java b/proxy/src/main/java/proxy/packet/S0DPacketCollectItem.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/server/S0DPacketCollectItem.java rename to proxy/src/main/java/proxy/packet/S0DPacketCollectItem.java index 41ea2bb..8a73df4 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0DPacketCollectItem.java +++ b/proxy/src/main/java/proxy/packet/S0DPacketCollectItem.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S0DPacketCollectItem implements Packet +public class S0DPacketCollectItem implements Packet { private int collectedItemEntityId; private int entityId; @@ -32,7 +32,7 @@ public class S0DPacketCollectItem implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleCollectItem(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0EPacketSpawnObject.java b/proxy/src/main/java/proxy/packet/S0EPacketSpawnObject.java similarity index 89% rename from proxy/src/main/java/proxy/packet/play/server/S0EPacketSpawnObject.java rename to proxy/src/main/java/proxy/packet/S0EPacketSpawnObject.java index 2bcd61e..fee30d1 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0EPacketSpawnObject.java +++ b/proxy/src/main/java/proxy/packet/S0EPacketSpawnObject.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S0EPacketSpawnObject implements Packet +public class S0EPacketSpawnObject implements Packet { private int entityId; private int x; @@ -67,7 +67,7 @@ public class S0EPacketSpawnObject implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnObject(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S0FPacketSpawnMob.java b/proxy/src/main/java/proxy/packet/S0FPacketSpawnMob.java similarity index 89% rename from proxy/src/main/java/proxy/packet/play/server/S0FPacketSpawnMob.java rename to proxy/src/main/java/proxy/packet/S0FPacketSpawnMob.java index d67688b..6f5cdf2 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S0FPacketSpawnMob.java +++ b/proxy/src/main/java/proxy/packet/S0FPacketSpawnMob.java @@ -1,14 +1,14 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.List; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.EntityData; -public class S0FPacketSpawnMob implements Packet +public class S0FPacketSpawnMob implements Packet { private int entityId; private int type; @@ -64,7 +64,7 @@ public class S0FPacketSpawnMob implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnMob(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S10PacketSpawnPainting.java b/proxy/src/main/java/proxy/packet/S10PacketSpawnPainting.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S10PacketSpawnPainting.java rename to proxy/src/main/java/proxy/packet/S10PacketSpawnPainting.java index a763896..a861540 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S10PacketSpawnPainting.java +++ b/proxy/src/main/java/proxy/packet/S10PacketSpawnPainting.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S10PacketSpawnPainting implements Packet +public class S10PacketSpawnPainting implements Packet { private int entityID; private Vec3 position; @@ -39,7 +39,7 @@ public class S10PacketSpawnPainting implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnPainting(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S11PacketSpawnExperienceOrb.java b/proxy/src/main/java/proxy/packet/S11PacketSpawnExperienceOrb.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S11PacketSpawnExperienceOrb.java rename to proxy/src/main/java/proxy/packet/S11PacketSpawnExperienceOrb.java index d6b267e..fbd6d7e 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S11PacketSpawnExperienceOrb.java +++ b/proxy/src/main/java/proxy/packet/S11PacketSpawnExperienceOrb.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S11PacketSpawnExperienceOrb implements Packet +public class S11PacketSpawnExperienceOrb implements Packet { private int entityID; private int posX; @@ -41,7 +41,7 @@ public class S11PacketSpawnExperienceOrb implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnExperienceOrb(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S12PacketEntityVelocity.java b/proxy/src/main/java/proxy/packet/S12PacketEntityVelocity.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S12PacketEntityVelocity.java rename to proxy/src/main/java/proxy/packet/S12PacketEntityVelocity.java index 78e2358..a34bf5a 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S12PacketEntityVelocity.java +++ b/proxy/src/main/java/proxy/packet/S12PacketEntityVelocity.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S12PacketEntityVelocity implements Packet +public class S12PacketEntityVelocity implements Packet { private int entityID; private int motionX; @@ -38,7 +38,7 @@ public class S12PacketEntityVelocity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityVelocity(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S13PacketDestroyEntities.java b/proxy/src/main/java/proxy/packet/S13PacketDestroyEntities.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S13PacketDestroyEntities.java rename to proxy/src/main/java/proxy/packet/S13PacketDestroyEntities.java index cffd425..395938c 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S13PacketDestroyEntities.java +++ b/proxy/src/main/java/proxy/packet/S13PacketDestroyEntities.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S13PacketDestroyEntities implements Packet +public class S13PacketDestroyEntities implements Packet { private int[] entityIDs; @@ -39,7 +39,7 @@ public class S13PacketDestroyEntities implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleDestroyEntities(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S14PacketEntity.java b/proxy/src/main/java/proxy/packet/S14PacketEntity.java similarity index 93% rename from proxy/src/main/java/proxy/packet/play/server/S14PacketEntity.java rename to proxy/src/main/java/proxy/packet/S14PacketEntity.java index cc114e8..313da24 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S14PacketEntity.java +++ b/proxy/src/main/java/proxy/packet/S14PacketEntity.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S14PacketEntity implements Packet +public class S14PacketEntity implements Packet { protected int entityId; protected byte posX; @@ -36,7 +36,7 @@ public class S14PacketEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityMovement(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S18PacketEntityTeleport.java b/proxy/src/main/java/proxy/packet/S18PacketEntityTeleport.java similarity index 85% rename from proxy/src/main/java/proxy/packet/play/server/S18PacketEntityTeleport.java rename to proxy/src/main/java/proxy/packet/S18PacketEntityTeleport.java index ff8aa42..b2d1118 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S18PacketEntityTeleport.java +++ b/proxy/src/main/java/proxy/packet/S18PacketEntityTeleport.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S18PacketEntityTeleport implements Packet +public class S18PacketEntityTeleport implements Packet { private int entityId; private int posX; @@ -47,7 +47,7 @@ public class S18PacketEntityTeleport implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityTeleport(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S19PacketEntityHeadLook.java b/proxy/src/main/java/proxy/packet/S19PacketEntityHeadLook.java similarity index 77% rename from proxy/src/main/java/proxy/packet/play/server/S19PacketEntityHeadLook.java rename to proxy/src/main/java/proxy/packet/S19PacketEntityHeadLook.java index 7d86f4d..34ee13b 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S19PacketEntityHeadLook.java +++ b/proxy/src/main/java/proxy/packet/S19PacketEntityHeadLook.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S19PacketEntityHeadLook implements Packet +public class S19PacketEntityHeadLook implements Packet { private int entityId; private byte yaw; @@ -32,7 +32,7 @@ public class S19PacketEntityHeadLook implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityHeadLook(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S19PacketEntityStatus.java b/proxy/src/main/java/proxy/packet/S19PacketEntityStatus.java similarity index 78% rename from proxy/src/main/java/proxy/packet/play/server/S19PacketEntityStatus.java rename to proxy/src/main/java/proxy/packet/S19PacketEntityStatus.java index b0a9984..90750ca 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S19PacketEntityStatus.java +++ b/proxy/src/main/java/proxy/packet/S19PacketEntityStatus.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S19PacketEntityStatus implements Packet +public class S19PacketEntityStatus implements Packet { private int entityId; private byte logicOpcode; @@ -32,7 +32,7 @@ public class S19PacketEntityStatus implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityStatus(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S1BPacketEntityAttach.java b/proxy/src/main/java/proxy/packet/S1BPacketEntityAttach.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S1BPacketEntityAttach.java rename to proxy/src/main/java/proxy/packet/S1BPacketEntityAttach.java index 48143bf..fd6c355 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S1BPacketEntityAttach.java +++ b/proxy/src/main/java/proxy/packet/S1BPacketEntityAttach.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S1BPacketEntityAttach implements Packet +public class S1BPacketEntityAttach implements Packet { private int leash; private int entityId; @@ -35,7 +35,7 @@ public class S1BPacketEntityAttach implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityAttach(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S1CPacketEntityMetadata.java b/proxy/src/main/java/proxy/packet/S1CPacketEntityMetadata.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S1CPacketEntityMetadata.java rename to proxy/src/main/java/proxy/packet/S1CPacketEntityMetadata.java index f5e6c53..86ebc88 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S1CPacketEntityMetadata.java +++ b/proxy/src/main/java/proxy/packet/S1CPacketEntityMetadata.java @@ -1,14 +1,14 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.List; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.EntityData; -public class S1CPacketEntityMetadata implements Packet +public class S1CPacketEntityMetadata implements Packet { private int entityId; private List field_149378_b; @@ -34,7 +34,7 @@ public class S1CPacketEntityMetadata implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityMetadata(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S1DPacketEntityEffect.java b/proxy/src/main/java/proxy/packet/S1DPacketEntityEffect.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/server/S1DPacketEntityEffect.java rename to proxy/src/main/java/proxy/packet/S1DPacketEntityEffect.java index 731d10a..2a42d4f 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S1DPacketEntityEffect.java +++ b/proxy/src/main/java/proxy/packet/S1DPacketEntityEffect.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S1DPacketEntityEffect implements Packet +public class S1DPacketEntityEffect implements Packet { private int entityId; private byte effectId; @@ -41,7 +41,7 @@ public class S1DPacketEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityEffect(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S1EPacketRemoveEntityEffect.java b/proxy/src/main/java/proxy/packet/S1EPacketRemoveEntityEffect.java similarity index 78% rename from proxy/src/main/java/proxy/packet/play/server/S1EPacketRemoveEntityEffect.java rename to proxy/src/main/java/proxy/packet/S1EPacketRemoveEntityEffect.java index f110ab0..de651dd 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S1EPacketRemoveEntityEffect.java +++ b/proxy/src/main/java/proxy/packet/S1EPacketRemoveEntityEffect.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S1EPacketRemoveEntityEffect implements Packet +public class S1EPacketRemoveEntityEffect implements Packet { private int entityId; private int effectId; @@ -32,7 +32,7 @@ public class S1EPacketRemoveEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleRemoveEntityEffect(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S1FPacketSetExperience.java b/proxy/src/main/java/proxy/packet/S1FPacketSetExperience.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S1FPacketSetExperience.java rename to proxy/src/main/java/proxy/packet/S1FPacketSetExperience.java index ae2732d..2ecd54a 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S1FPacketSetExperience.java +++ b/proxy/src/main/java/proxy/packet/S1FPacketSetExperience.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S1FPacketSetExperience implements Packet +public class S1FPacketSetExperience implements Packet { private float field_149401_a; private int totalExperience; @@ -35,7 +35,7 @@ public class S1FPacketSetExperience implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSetExperience(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S20PacketEntityProperties.java b/proxy/src/main/java/proxy/packet/S20PacketEntityProperties.java similarity index 94% rename from proxy/src/main/java/proxy/packet/play/server/S20PacketEntityProperties.java rename to proxy/src/main/java/proxy/packet/S20PacketEntityProperties.java index 4f30db8..eb578be 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S20PacketEntityProperties.java +++ b/proxy/src/main/java/proxy/packet/S20PacketEntityProperties.java @@ -1,4 +1,4 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.Collection; @@ -7,11 +7,11 @@ import java.util.UUID; import com.google.common.collect.Lists; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S20PacketEntityProperties implements Packet +public class S20PacketEntityProperties implements Packet { private int entityId; private final List field_149444_b = Lists.newArrayList(); @@ -67,7 +67,7 @@ public class S20PacketEntityProperties implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityProperties(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S21PacketChunkData.java b/proxy/src/main/java/proxy/packet/S21PacketChunkData.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/server/S21PacketChunkData.java rename to proxy/src/main/java/proxy/packet/S21PacketChunkData.java index 4096e2b..a12c074 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S21PacketChunkData.java +++ b/proxy/src/main/java/proxy/packet/S21PacketChunkData.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S21PacketChunkData implements Packet +public class S21PacketChunkData implements Packet { private int chunkX; private int chunkZ; @@ -41,7 +41,7 @@ public class S21PacketChunkData implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleChunkData(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S22PacketMultiBlockChange.java b/proxy/src/main/java/proxy/packet/S22PacketMultiBlockChange.java similarity index 90% rename from proxy/src/main/java/proxy/packet/play/server/S22PacketMultiBlockChange.java rename to proxy/src/main/java/proxy/packet/S22PacketMultiBlockChange.java index 085732a..88f4eff 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S22PacketMultiBlockChange.java +++ b/proxy/src/main/java/proxy/packet/S22PacketMultiBlockChange.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S22PacketMultiBlockChange implements Packet +public class S22PacketMultiBlockChange implements Packet { private int chunkPosCoordX; private int chunkPosCoordZ; @@ -46,7 +46,7 @@ public class S22PacketMultiBlockChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleMultiBlockChange(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S23PacketBlockChange.java b/proxy/src/main/java/proxy/packet/S23PacketBlockChange.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/server/S23PacketBlockChange.java rename to proxy/src/main/java/proxy/packet/S23PacketBlockChange.java index 0e10fe7..d4cf211 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S23PacketBlockChange.java +++ b/proxy/src/main/java/proxy/packet/S23PacketBlockChange.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S23PacketBlockChange implements Packet +public class S23PacketBlockChange implements Packet { private Vec3 blockPosition; private int blockState; @@ -33,7 +33,7 @@ public class S23PacketBlockChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleBlockChange(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S24PacketBlockAction.java b/proxy/src/main/java/proxy/packet/S24PacketBlockAction.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S24PacketBlockAction.java rename to proxy/src/main/java/proxy/packet/S24PacketBlockAction.java index c9707b1..001162d 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S24PacketBlockAction.java +++ b/proxy/src/main/java/proxy/packet/S24PacketBlockAction.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S24PacketBlockAction implements Packet +public class S24PacketBlockAction implements Packet { private Vec3 blockPosition; private int instrument; @@ -39,7 +39,7 @@ public class S24PacketBlockAction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleBlockAction(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S25PacketBlockBreakAnim.java b/proxy/src/main/java/proxy/packet/S25PacketBlockBreakAnim.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S25PacketBlockBreakAnim.java rename to proxy/src/main/java/proxy/packet/S25PacketBlockBreakAnim.java index f011c6d..154321b 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S25PacketBlockBreakAnim.java +++ b/proxy/src/main/java/proxy/packet/S25PacketBlockBreakAnim.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S25PacketBlockBreakAnim implements Packet +public class S25PacketBlockBreakAnim implements Packet { private int breakerId; private Vec3 position; @@ -36,7 +36,7 @@ public class S25PacketBlockBreakAnim implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleBlockBreakAnim(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S26PacketMapChunkBulk.java b/proxy/src/main/java/proxy/packet/S26PacketMapChunkBulk.java similarity index 95% rename from proxy/src/main/java/proxy/packet/play/server/S26PacketMapChunkBulk.java rename to proxy/src/main/java/proxy/packet/S26PacketMapChunkBulk.java index e93d511..8aa6360 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S26PacketMapChunkBulk.java +++ b/proxy/src/main/java/proxy/packet/S26PacketMapChunkBulk.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.Arrays; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S26PacketMapChunkBulk implements Packet +public class S26PacketMapChunkBulk implements Packet { private int[] xPositions; private int[] zPositions; @@ -79,7 +79,7 @@ public class S26PacketMapChunkBulk implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleMapChunkBulk(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S27PacketExplosion.java b/proxy/src/main/java/proxy/packet/S27PacketExplosion.java similarity index 91% rename from proxy/src/main/java/proxy/packet/play/server/S27PacketExplosion.java rename to proxy/src/main/java/proxy/packet/S27PacketExplosion.java index a9bf48f..805463c 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S27PacketExplosion.java +++ b/proxy/src/main/java/proxy/packet/S27PacketExplosion.java @@ -1,16 +1,16 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.List; import com.google.common.collect.Lists; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S27PacketExplosion implements Packet +public class S27PacketExplosion implements Packet { private double posX; private double posY; @@ -81,7 +81,7 @@ public class S27PacketExplosion implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleExplosion(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S28PacketEffect.java b/proxy/src/main/java/proxy/packet/S28PacketEffect.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S28PacketEffect.java rename to proxy/src/main/java/proxy/packet/S28PacketEffect.java index f4aef9a..f57f2bc 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S28PacketEffect.java +++ b/proxy/src/main/java/proxy/packet/S28PacketEffect.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S28PacketEffect implements Packet +public class S28PacketEffect implements Packet { private int soundType; private Vec3 soundPos; @@ -39,7 +39,7 @@ public class S28PacketEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEffect(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S29PacketSoundEffect.java b/proxy/src/main/java/proxy/packet/S29PacketSoundEffect.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/server/S29PacketSoundEffect.java rename to proxy/src/main/java/proxy/packet/S29PacketSoundEffect.java index 39f056e..5a886c6 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S29PacketSoundEffect.java +++ b/proxy/src/main/java/proxy/packet/S29PacketSoundEffect.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S29PacketSoundEffect implements Packet +public class S29PacketSoundEffect implements Packet { private String soundName; private int posX; @@ -44,7 +44,7 @@ public class S29PacketSoundEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSoundEffect(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2APacketParticles.java b/proxy/src/main/java/proxy/packet/S2APacketParticles.java similarity index 91% rename from proxy/src/main/java/proxy/packet/play/server/S2APacketParticles.java rename to proxy/src/main/java/proxy/packet/S2APacketParticles.java index 9029c22..e7e8c0e 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2APacketParticles.java +++ b/proxy/src/main/java/proxy/packet/S2APacketParticles.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S2APacketParticles implements Packet +public class S2APacketParticles implements Packet { private int particleType; private float xCoord; @@ -70,7 +70,7 @@ public class S2APacketParticles implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleParticles(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2BPacketChangeGameState.java b/proxy/src/main/java/proxy/packet/S2BPacketChangeGameState.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S2BPacketChangeGameState.java rename to proxy/src/main/java/proxy/packet/S2BPacketChangeGameState.java index 8e789b8..82100de 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2BPacketChangeGameState.java +++ b/proxy/src/main/java/proxy/packet/S2BPacketChangeGameState.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S2BPacketChangeGameState implements Packet +public class S2BPacketChangeGameState implements Packet { private int state; private float field_149141_c; @@ -42,7 +42,7 @@ public class S2BPacketChangeGameState implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleChangeGameState(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2CPacketSpawnGlobalEntity.java b/proxy/src/main/java/proxy/packet/S2CPacketSpawnGlobalEntity.java similarity index 82% rename from proxy/src/main/java/proxy/packet/play/server/S2CPacketSpawnGlobalEntity.java rename to proxy/src/main/java/proxy/packet/S2CPacketSpawnGlobalEntity.java index c473db2..7e43b19 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2CPacketSpawnGlobalEntity.java +++ b/proxy/src/main/java/proxy/packet/S2CPacketSpawnGlobalEntity.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S2CPacketSpawnGlobalEntity implements Packet +public class S2CPacketSpawnGlobalEntity implements Packet { private int entityId; private int x; @@ -41,7 +41,7 @@ public class S2CPacketSpawnGlobalEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSpawnGlobalEntity(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2DPacketOpenWindow.java b/proxy/src/main/java/proxy/packet/S2DPacketOpenWindow.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/server/S2DPacketOpenWindow.java rename to proxy/src/main/java/proxy/packet/S2DPacketOpenWindow.java index 1665d01..44eb94a 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2DPacketOpenWindow.java +++ b/proxy/src/main/java/proxy/packet/S2DPacketOpenWindow.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S2DPacketOpenWindow implements Packet +public class S2DPacketOpenWindow implements Packet { private int windowId; private String inventoryType; @@ -17,7 +17,7 @@ public class S2DPacketOpenWindow implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleOpenWindow(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2EPacketCloseWindow.java b/proxy/src/main/java/proxy/packet/S2EPacketCloseWindow.java similarity index 75% rename from proxy/src/main/java/proxy/packet/play/server/S2EPacketCloseWindow.java rename to proxy/src/main/java/proxy/packet/S2EPacketCloseWindow.java index 16c1049..0ccf2e4 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2EPacketCloseWindow.java +++ b/proxy/src/main/java/proxy/packet/S2EPacketCloseWindow.java @@ -1,19 +1,19 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S2EPacketCloseWindow implements Packet +public class S2EPacketCloseWindow implements Packet { private int windowId; /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleCloseWindow(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S2FPacketSetSlot.java b/proxy/src/main/java/proxy/packet/S2FPacketSetSlot.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S2FPacketSetSlot.java rename to proxy/src/main/java/proxy/packet/S2FPacketSetSlot.java index 151fede..0f58473 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S2FPacketSetSlot.java +++ b/proxy/src/main/java/proxy/packet/S2FPacketSetSlot.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Stack; -public class S2FPacketSetSlot implements Packet +public class S2FPacketSetSlot implements Packet { private int windowId; private int slot; @@ -16,7 +16,7 @@ public class S2FPacketSetSlot implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSetSlot(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S30PacketWindowItems.java b/proxy/src/main/java/proxy/packet/S30PacketWindowItems.java similarity index 83% rename from proxy/src/main/java/proxy/packet/play/server/S30PacketWindowItems.java rename to proxy/src/main/java/proxy/packet/S30PacketWindowItems.java index 77c778e..03061b9 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S30PacketWindowItems.java +++ b/proxy/src/main/java/proxy/packet/S30PacketWindowItems.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Stack; -public class S30PacketWindowItems implements Packet +public class S30PacketWindowItems implements Packet { private int windowId; private Stack[] itemStacks; @@ -44,7 +44,7 @@ public class S30PacketWindowItems implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleWindowItems(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S31PacketWindowProperty.java b/proxy/src/main/java/proxy/packet/S31PacketWindowProperty.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S31PacketWindowProperty.java rename to proxy/src/main/java/proxy/packet/S31PacketWindowProperty.java index 7e9974f..4b7b0e8 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S31PacketWindowProperty.java +++ b/proxy/src/main/java/proxy/packet/S31PacketWindowProperty.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S31PacketWindowProperty implements Packet +public class S31PacketWindowProperty implements Packet { private int windowId; private int varIndex; @@ -15,7 +15,7 @@ public class S31PacketWindowProperty implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleWindowProperty(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S32PacketConfirmTransaction.java b/proxy/src/main/java/proxy/packet/S32PacketConfirmTransaction.java similarity index 80% rename from proxy/src/main/java/proxy/packet/play/server/S32PacketConfirmTransaction.java rename to proxy/src/main/java/proxy/packet/S32PacketConfirmTransaction.java index ba9239b..ec4bf76 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S32PacketConfirmTransaction.java +++ b/proxy/src/main/java/proxy/packet/S32PacketConfirmTransaction.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S32PacketConfirmTransaction implements Packet +public class S32PacketConfirmTransaction implements Packet { private int windowId; private short actionNumber; @@ -15,7 +15,7 @@ public class S32PacketConfirmTransaction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleConfirmTransaction(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S33PacketUpdateSign.java b/proxy/src/main/java/proxy/packet/S33PacketUpdateSign.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/server/S33PacketUpdateSign.java rename to proxy/src/main/java/proxy/packet/S33PacketUpdateSign.java index d2492aa..4cef649 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S33PacketUpdateSign.java +++ b/proxy/src/main/java/proxy/packet/S33PacketUpdateSign.java @@ -1,14 +1,14 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; import proxy.util.ChatColor; -public class S33PacketUpdateSign implements Packet +public class S33PacketUpdateSign implements Packet { private Vec3 blockPos; private String[] lines; @@ -52,7 +52,7 @@ public class S33PacketUpdateSign implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleUpdateSign(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S34PacketMaps.java b/proxy/src/main/java/proxy/packet/S34PacketMaps.java similarity index 93% rename from proxy/src/main/java/proxy/packet/play/server/S34PacketMaps.java rename to proxy/src/main/java/proxy/packet/S34PacketMaps.java index 47f1fee..ea56d9d 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S34PacketMaps.java +++ b/proxy/src/main/java/proxy/packet/S34PacketMaps.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S34PacketMaps implements Packet +public class S34PacketMaps implements Packet { private static class Vec4b { @@ -109,7 +109,7 @@ public class S34PacketMaps implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleMaps(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S35PacketUpdateTileEntity.java b/proxy/src/main/java/proxy/packet/S35PacketUpdateTileEntity.java similarity index 76% rename from proxy/src/main/java/proxy/packet/play/server/S35PacketUpdateTileEntity.java rename to proxy/src/main/java/proxy/packet/S35PacketUpdateTileEntity.java index cf18377..f189834 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S35PacketUpdateTileEntity.java +++ b/proxy/src/main/java/proxy/packet/S35PacketUpdateTileEntity.java @@ -1,18 +1,18 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.nbt.NBTTagCompound; -import proxy.network.NetHandlerPlayServer; +import proxy.nbt.NbtCompound; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S35PacketUpdateTileEntity implements Packet +public class S35PacketUpdateTileEntity implements Packet { private Vec3 blockPos; private int metadata; - private NBTTagCompound nbt; + private NbtCompound nbt; /** * Reads the raw packet data from the data stream. @@ -37,7 +37,7 @@ public class S35PacketUpdateTileEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleUpdateTileEntity(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S36PacketSignEditorOpen.java b/proxy/src/main/java/proxy/packet/S36PacketSignEditorOpen.java similarity index 79% rename from proxy/src/main/java/proxy/packet/play/server/S36PacketSignEditorOpen.java rename to proxy/src/main/java/proxy/packet/S36PacketSignEditorOpen.java index d619194..dce2edc 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S36PacketSignEditorOpen.java +++ b/proxy/src/main/java/proxy/packet/S36PacketSignEditorOpen.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Vec3; -public class S36PacketSignEditorOpen implements Packet +public class S36PacketSignEditorOpen implements Packet { private Vec3 signPosition; @@ -22,7 +22,7 @@ public class S36PacketSignEditorOpen implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleSignEditorOpen(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S37PacketStatistics.java b/proxy/src/main/java/proxy/packet/S37PacketStatistics.java similarity index 86% rename from proxy/src/main/java/proxy/packet/play/server/S37PacketStatistics.java rename to proxy/src/main/java/proxy/packet/S37PacketStatistics.java index 9bbec89..bf343b0 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S37PacketStatistics.java +++ b/proxy/src/main/java/proxy/packet/S37PacketStatistics.java @@ -1,4 +1,4 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.Map; @@ -6,18 +6,18 @@ import java.util.Map.Entry; import com.google.common.collect.Maps; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S37PacketStatistics implements Packet +public class S37PacketStatistics implements Packet { private Map field_148976_a; /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleStatistics(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S38PacketPlayerListItem.java b/proxy/src/main/java/proxy/packet/S38PacketPlayerListItem.java similarity index 97% rename from proxy/src/main/java/proxy/packet/play/server/S38PacketPlayerListItem.java rename to proxy/src/main/java/proxy/packet/S38PacketPlayerListItem.java index b2ed1a5..01e0abf 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S38PacketPlayerListItem.java +++ b/proxy/src/main/java/proxy/packet/S38PacketPlayerListItem.java @@ -1,4 +1,4 @@ -package proxy.packet.play.server; +package proxy.packet; import com.google.common.base.Objects; import com.google.common.collect.Lists; @@ -6,13 +6,13 @@ import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.Profile; -import proxy.util.Property; +import proxy.util.Profile.Property; -public class S38PacketPlayerListItem implements Packet +public class S38PacketPlayerListItem implements Packet { private S38PacketPlayerListItem.Action action; private final List players = Lists.newArrayList(); @@ -174,7 +174,7 @@ public class S38PacketPlayerListItem implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handlePlayerListItem(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S39PacketPlayerAbilities.java b/proxy/src/main/java/proxy/packet/S39PacketPlayerAbilities.java similarity index 93% rename from proxy/src/main/java/proxy/packet/play/server/S39PacketPlayerAbilities.java rename to proxy/src/main/java/proxy/packet/S39PacketPlayerAbilities.java index 3548ffa..1fd62c5 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S39PacketPlayerAbilities.java +++ b/proxy/src/main/java/proxy/packet/S39PacketPlayerAbilities.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S39PacketPlayerAbilities implements Packet +public class S39PacketPlayerAbilities implements Packet { private boolean invulnerable; private boolean flying; @@ -78,7 +78,7 @@ public class S39PacketPlayerAbilities implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handlePlayerAbilities(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S3APacketTabComplete.java b/proxy/src/main/java/proxy/packet/S3APacketTabComplete.java similarity index 84% rename from proxy/src/main/java/proxy/packet/play/server/S3APacketTabComplete.java rename to proxy/src/main/java/proxy/packet/S3APacketTabComplete.java index 80a3359..08c827f 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S3APacketTabComplete.java +++ b/proxy/src/main/java/proxy/packet/S3APacketTabComplete.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S3APacketTabComplete implements Packet +public class S3APacketTabComplete implements Packet { private String[] matches; @@ -48,7 +48,7 @@ public class S3APacketTabComplete implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleTabComplete(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S3BPacketScoreboardObjective.java b/proxy/src/main/java/proxy/packet/S3BPacketScoreboardObjective.java similarity index 85% rename from proxy/src/main/java/proxy/packet/play/server/S3BPacketScoreboardObjective.java rename to proxy/src/main/java/proxy/packet/S3BPacketScoreboardObjective.java index 0f88d2d..b939490 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S3BPacketScoreboardObjective.java +++ b/proxy/src/main/java/proxy/packet/S3BPacketScoreboardObjective.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S3BPacketScoreboardObjective implements Packet +public class S3BPacketScoreboardObjective implements Packet { private String objectiveName; private String objectiveValue; @@ -46,7 +46,7 @@ public class S3BPacketScoreboardObjective implements Packet +public class S3CPacketUpdateScore implements Packet { private String name = ""; private String objective = ""; @@ -46,7 +46,7 @@ public class S3CPacketUpdateScore implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleUpdateScore(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S3DPacketDisplayScoreboard.java b/proxy/src/main/java/proxy/packet/S3DPacketDisplayScoreboard.java similarity index 78% rename from proxy/src/main/java/proxy/packet/play/server/S3DPacketDisplayScoreboard.java rename to proxy/src/main/java/proxy/packet/S3DPacketDisplayScoreboard.java index 6a16387..a80270b 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S3DPacketDisplayScoreboard.java +++ b/proxy/src/main/java/proxy/packet/S3DPacketDisplayScoreboard.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S3DPacketDisplayScoreboard implements Packet +public class S3DPacketDisplayScoreboard implements Packet { private int position; private String scoreName; @@ -32,7 +32,7 @@ public class S3DPacketDisplayScoreboard implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleDisplayScoreboard(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S3EPacketTeams.java b/proxy/src/main/java/proxy/packet/S3EPacketTeams.java similarity index 92% rename from proxy/src/main/java/proxy/packet/play/server/S3EPacketTeams.java rename to proxy/src/main/java/proxy/packet/S3EPacketTeams.java index 8918ce3..126397c 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S3EPacketTeams.java +++ b/proxy/src/main/java/proxy/packet/S3EPacketTeams.java @@ -1,15 +1,15 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; import java.util.Collection; import com.google.common.collect.Lists; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S3EPacketTeams implements Packet +public class S3EPacketTeams implements Packet { private String name = ""; private String displayName = ""; @@ -89,7 +89,7 @@ public class S3EPacketTeams implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleTeams(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S3FPacketCustomPayload.java b/proxy/src/main/java/proxy/packet/S3FPacketCustomPayload.java similarity index 87% rename from proxy/src/main/java/proxy/packet/play/server/S3FPacketCustomPayload.java rename to proxy/src/main/java/proxy/packet/S3FPacketCustomPayload.java index 71b69fc..e023426 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S3FPacketCustomPayload.java +++ b/proxy/src/main/java/proxy/packet/S3FPacketCustomPayload.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import io.netty.buffer.ByteBuf; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S3FPacketCustomPayload implements Packet +public class S3FPacketCustomPayload implements Packet { private String channel; private PacketBuffer data; @@ -57,7 +57,7 @@ public class S3FPacketCustomPayload implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleCustomPayload(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S40PacketDisconnect.java b/proxy/src/main/java/proxy/packet/S40PacketDisconnect.java similarity index 81% rename from proxy/src/main/java/proxy/packet/play/server/S40PacketDisconnect.java rename to proxy/src/main/java/proxy/packet/S40PacketDisconnect.java index e40616f..927b461 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S40PacketDisconnect.java +++ b/proxy/src/main/java/proxy/packet/S40PacketDisconnect.java @@ -1,13 +1,13 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; import proxy.util.ChatColor; -public class S40PacketDisconnect implements Packet +public class S40PacketDisconnect implements Packet { private String reason; @@ -39,7 +39,7 @@ public class S40PacketDisconnect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleDisconnect(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S41PacketServerDifficulty.java b/proxy/src/main/java/proxy/packet/S41PacketServerDifficulty.java similarity index 75% rename from proxy/src/main/java/proxy/packet/play/server/S41PacketServerDifficulty.java rename to proxy/src/main/java/proxy/packet/S41PacketServerDifficulty.java index 7a3048c..3c78a61 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S41PacketServerDifficulty.java +++ b/proxy/src/main/java/proxy/packet/S41PacketServerDifficulty.java @@ -1,19 +1,19 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S41PacketServerDifficulty implements Packet +public class S41PacketServerDifficulty implements Packet { private byte difficulty; /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleServerDifficulty(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S42PacketCombatEvent.java b/proxy/src/main/java/proxy/packet/S42PacketCombatEvent.java similarity index 89% rename from proxy/src/main/java/proxy/packet/play/server/S42PacketCombatEvent.java rename to proxy/src/main/java/proxy/packet/S42PacketCombatEvent.java index ef70429..6820c18 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S42PacketCombatEvent.java +++ b/proxy/src/main/java/proxy/packet/S42PacketCombatEvent.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S42PacketCombatEvent implements Packet +public class S42PacketCombatEvent implements Packet { public S42PacketCombatEvent.Event eventType; public int field_179774_b; @@ -57,7 +57,7 @@ public class S42PacketCombatEvent implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleCombatEvent(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S43PacketCamera.java b/proxy/src/main/java/proxy/packet/S43PacketCamera.java similarity index 76% rename from proxy/src/main/java/proxy/packet/play/server/S43PacketCamera.java rename to proxy/src/main/java/proxy/packet/S43PacketCamera.java index 768b8fa..782d276 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S43PacketCamera.java +++ b/proxy/src/main/java/proxy/packet/S43PacketCamera.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S43PacketCamera implements Packet +public class S43PacketCamera implements Packet { private int entityId; @@ -29,7 +29,7 @@ public class S43PacketCamera implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleCamera(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S44PacketWorldBorder.java b/proxy/src/main/java/proxy/packet/S44PacketWorldBorder.java similarity index 94% rename from proxy/src/main/java/proxy/packet/play/server/S44PacketWorldBorder.java rename to proxy/src/main/java/proxy/packet/S44PacketWorldBorder.java index 27274f5..7381c51 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S44PacketWorldBorder.java +++ b/proxy/src/main/java/proxy/packet/S44PacketWorldBorder.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S44PacketWorldBorder implements Packet +public class S44PacketWorldBorder implements Packet { private S44PacketWorldBorder.Action action; private int size; @@ -109,7 +109,7 @@ public class S44PacketWorldBorder implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleWorldBorder(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S45PacketTitle.java b/proxy/src/main/java/proxy/packet/S45PacketTitle.java similarity index 92% rename from proxy/src/main/java/proxy/packet/play/server/S45PacketTitle.java rename to proxy/src/main/java/proxy/packet/S45PacketTitle.java index 30dfa63..79f9b04 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S45PacketTitle.java +++ b/proxy/src/main/java/proxy/packet/S45PacketTitle.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S45PacketTitle implements Packet +public class S45PacketTitle implements Packet { private S45PacketTitle.Type type; private String message; @@ -57,7 +57,7 @@ public class S45PacketTitle implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleTitle(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S46PacketSetCompressionLevel.java b/proxy/src/main/java/proxy/packet/S46PacketSetCompressionLevel.java similarity index 77% rename from proxy/src/main/java/proxy/packet/play/server/S46PacketSetCompressionLevel.java rename to proxy/src/main/java/proxy/packet/S46PacketSetCompressionLevel.java index c17609a..ac891d4 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S46PacketSetCompressionLevel.java +++ b/proxy/src/main/java/proxy/packet/S46PacketSetCompressionLevel.java @@ -1,12 +1,12 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.network.NetHandlerPlayServer; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S46PacketSetCompressionLevel implements Packet +public class S46PacketSetCompressionLevel implements Packet { private int threshold; @@ -29,7 +29,7 @@ public class S46PacketSetCompressionLevel implements Packet +public class S47PacketPlayerListHeaderFooter implements Packet { private String header; private String footer; @@ -32,7 +32,7 @@ public class S47PacketPlayerListHeaderFooter implements Packet +public class S48PacketResourcePackSend implements Packet { private String url; private String hash; @@ -32,7 +32,7 @@ public class S48PacketResourcePackSend implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleResourcePack(this); } diff --git a/proxy/src/main/java/proxy/packet/play/server/S49PacketUpdateEntityNBT.java b/proxy/src/main/java/proxy/packet/S49PacketUpdateEntityNBT.java similarity index 73% rename from proxy/src/main/java/proxy/packet/play/server/S49PacketUpdateEntityNBT.java rename to proxy/src/main/java/proxy/packet/S49PacketUpdateEntityNBT.java index 9b45700..ed4eefc 100755 --- a/proxy/src/main/java/proxy/packet/play/server/S49PacketUpdateEntityNBT.java +++ b/proxy/src/main/java/proxy/packet/S49PacketUpdateEntityNBT.java @@ -1,16 +1,16 @@ -package proxy.packet.play.server; +package proxy.packet; import java.io.IOException; -import proxy.nbt.NBTTagCompound; -import proxy.network.NetHandlerPlayServer; +import proxy.nbt.NbtCompound; +import proxy.network.ProxyHandler; import proxy.network.Packet; import proxy.network.PacketBuffer; -public class S49PacketUpdateEntityNBT implements Packet +public class S49PacketUpdateEntityNBT implements Packet { private int entityId; - private NBTTagCompound tagCompound; + private NbtCompound tagCompound; /** * Reads the raw packet data from the data stream. @@ -33,7 +33,7 @@ public class S49PacketUpdateEntityNBT implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(ProxyHandler handler) { handler.handleEntityNBT(this); } diff --git a/proxy/src/main/java/proxy/util/EntityData.java b/proxy/src/main/java/proxy/util/EntityData.java index 4837690..e7873a7 100644 --- a/proxy/src/main/java/proxy/util/EntityData.java +++ b/proxy/src/main/java/proxy/util/EntityData.java @@ -8,6 +8,30 @@ import com.google.common.collect.Lists; import proxy.network.PacketBuffer; public class EntityData { + private static class Vec3f { + private final float x; + private final float y; + private final float z; + + public Vec3f(float x, float y, float z) { + this.x = x; + this.y = y; + this.z = z; + } + + public float getX() { + return this.x; + } + + public float getY() { + return this.y; + } + + public float getZ() { + return this.z; + } + } + private final int type; private final int id; private final Object data; diff --git a/proxy/src/main/java/proxy/util/Profile.java b/proxy/src/main/java/proxy/util/Profile.java index 940dc10..86517a0 100644 --- a/proxy/src/main/java/proxy/util/Profile.java +++ b/proxy/src/main/java/proxy/util/Profile.java @@ -6,6 +6,34 @@ import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; public class Profile { + public static class Property { + private final String name; + private final String value; + private final String signature; + + public Property(String value, String name) { + this(value, name, null); + } + + public Property(String name, String value, String signature) { + this.name = name; + this.value = value; + this.signature = signature; + } + + public String getName() { + return this.name; + } + + public String getValue() { + return this.value; + } + + public String getSignature() { + return this.signature; + } + } + private final UUID id; private final String name; private final Multimap properties = LinkedHashMultimap.create(); diff --git a/proxy/src/main/java/proxy/util/Property.java b/proxy/src/main/java/proxy/util/Property.java deleted file mode 100644 index 1b8dfd9..0000000 --- a/proxy/src/main/java/proxy/util/Property.java +++ /dev/null @@ -1,29 +0,0 @@ -package proxy.util; - -public class Property { - private final String name; - private final String value; - private final String signature; - - public Property(String value, String name) { - this(value, name, null); - } - - public Property(String name, String value, String signature) { - this.name = name; - this.value = value; - this.signature = signature; - } - - public String getName() { - return this.name; - } - - public String getValue() { - return this.value; - } - - public String getSignature() { - return this.signature; - } -} diff --git a/proxy/src/main/java/proxy/util/Stack.java b/proxy/src/main/java/proxy/util/Stack.java index 4f3adf5..59f552c 100755 --- a/proxy/src/main/java/proxy/util/Stack.java +++ b/proxy/src/main/java/proxy/util/Stack.java @@ -1,14 +1,14 @@ package proxy.util; -import proxy.nbt.NBTTagCompound; +import proxy.nbt.NbtCompound; public final class Stack { private final short id; private final byte size; private final short meta; - private final NBTTagCompound tag; + private final NbtCompound tag; - public Stack(short id, byte size, short meta, NBTTagCompound tag) { + public Stack(short id, byte size, short meta, NbtCompound tag) { this.id = id; this.size = size; this.meta = meta; @@ -27,7 +27,7 @@ public final class Stack { return this.meta; } - public NBTTagCompound getTag() { + public NbtCompound getTag() { return this.tag; } } diff --git a/proxy/src/main/java/proxy/util/Vec3.java b/proxy/src/main/java/proxy/util/Vec3.java index d643621..0db7ade 100755 --- a/proxy/src/main/java/proxy/util/Vec3.java +++ b/proxy/src/main/java/proxy/util/Vec3.java @@ -11,10 +11,10 @@ public class Vec3 { this.z = z; } - public Vec3(long data) { - this.x = (int)(data << 64 - 38 - 26 >> 64 - 26); - this.y = (int)(data << 64 - 26 - 12 >> 64 - 12); - this.z = (int)(data << 64 - 26 >> 64 - 26); + public Vec3(long packed) { + this.x = (int)(packed >> 38); + this.y = (int)(packed << 26 >> 52); + this.z = (int)(packed << 38 >> 38); } public int getX() { @@ -29,7 +29,7 @@ public class Vec3 { return this.z; } - public long getData() { - return ((long)this.getX() & 0x3ffffff) << 38 | ((long)this.getY() & 0xfff) << 26 | ((long)this.getZ() & 0x3ffffff) << 0; + public long pack() { + return ((long)this.x & 0x3ffffff) << 38 | ((long)this.y & 0xfff) << 26 | ((long)this.z & 0x3ffffff) << 0; } } diff --git a/proxy/src/main/java/proxy/util/Vec3f.java b/proxy/src/main/java/proxy/util/Vec3f.java deleted file mode 100644 index 735bfe8..0000000 --- a/proxy/src/main/java/proxy/util/Vec3f.java +++ /dev/null @@ -1,25 +0,0 @@ -package proxy.util; - -public class Vec3f { - private final float x; - private final float y; - private final float z; - - public Vec3f(float x, float y, float z) { - this.x = x; - this.y = y; - this.z = z; - } - - public float getX() { - return this.x; - } - - public float getY() { - return this.y; - } - - public float getZ() { - return this.z; - } -} \ No newline at end of file