diff options
| author | Pugmatt <pugmatt@gmail.com> | 2020-07-06 22:42:59 -0400 |
|---|---|---|
| committer | Pugmatt <pugmatt@gmail.com> | 2020-07-06 22:42:59 -0400 |
| commit | 7dfb6720cc167c37065942c67337aedf1a1e2035 (patch) | |
| tree | 09fdbbfaa15b4160e4d121390e5693c1a47aca3e | |
| parent | b56476391b879646151ae901ac5d12da300fc30b (diff) | |
| download | BedrockConnect-7dfb6720cc167c37065942c67337aedf1a1e2035.tar.gz BedrockConnect-7dfb6720cc167c37065942c67337aedf1a1e2035.tar.bz2 BedrockConnect-7dfb6720cc167c37065942c67337aedf1a1e2035.zip | |
Initial 1.16 push
17 files changed, 4638 insertions, 5345 deletions
diff --git a/serverlist-server/BedrockConnect.iml b/serverlist-server/BedrockConnect.iml index 667e8d4..52fad66 100644 --- a/serverlist-server/BedrockConnect.iml +++ b/serverlist-server/BedrockConnect.iml @@ -13,26 +13,8 @@ <orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" /> <orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.protocol:bedrock-v389:2.5.2" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.protocol:bedrock-v388:2.5.2" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.protocol:bedrock-common:2.5.2" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.protocol:common:2.5.2" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.network:common:1.6.16" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-transport-native-epoll:linux-x86_64:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-transport-native-kqueue:osx-x86_64:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: cn.nukkit:nukkit-natives:1.0.1-SNAPSHOT" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx:nbt:1.5.1" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx.network:raknet:1.6.16" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.43.Final" level="project" /> - <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.43.Final" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" /> <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.5" level="project" /> - <orderEntry type="library" name="Maven: com.nukkitx:math:1.0.0" level="project" /> <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:4.39.2" level="project" /> <orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" /> <orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" /> @@ -47,5 +29,15 @@ <orderEntry type="library" name="Maven: net.sf.trove4j:trove-generator:3.1.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.19" level="project" /> <orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.6.1" level="project" /> + <orderEntry type="library" name="Maven: dnsjava:dnsjava:3.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-simple:1.7.21" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.43.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.43.Final" level="project" /> </component> </module>
\ No newline at end of file diff --git a/serverlist-server/pom.xml b/serverlist-server/pom.xml index 5325ea3..b967d68 100644 --- a/serverlist-server/pom.xml +++ b/serverlist-server/pom.xml @@ -67,14 +67,24 @@ <repositories> <repository> - <id>nukkitx-repo-release</id> - <url>https://repo.nukkitx.com/maven-releases/</url> + <id>nukkitx-repo</id> + <url>https://repo.nukkitx.com/snapshot</url> </repository> + </repositories> + + <distributionManagement> <repository> - <id>nukkitx-repo-snapshot</id> - <url>https://repo.nukkitx.com/maven-snapshots/</url> + <id>releases</id> + <name>nukkitx-releases</name> + <url>https://repo.nukkitx.com/maven-releases</url> </repository> - </repositories> + <snapshotRepository> + <id>snapshots</id> + <name>nukkitx-snapshots</name> + <url>https://repo.nukkitx.com/maven-snapshots</url> + </snapshotRepository> + </distributionManagement> + <dependencies> <!-- https://mvnrepository.com/artifact/net.minidev/json-smart --> <dependency> @@ -82,12 +92,19 @@ <artifactId>json-smart</artifactId> <version>2.3</version> </dependency> - <dependency> + <!-- <dependency> <groupId>com.nukkitx.protocol</groupId> <artifactId>bedrock-v389</artifactId> <version>2.5.2</version> <scope>compile</scope> - </dependency> + <exclusions> + <exclusion> + <groupId>net.sf.trove4j</groupId> + <artifactId>trove</artifactId> + </exclusion> + </exclusions> + </dependency> --> + <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> @@ -137,6 +154,25 @@ <type>jar</type> <scope>compile</scope> </dependency> + <dependency> + <groupId>dnsjava</groupId> + <artifactId>dnsjava</artifactId> + <version>3.0.2</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.21</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-resolver-dns</artifactId> + <version>4.1.43.Final</version> + <scope>compile</scope> + </dependency> + + <!-- Proxy Stuff --> + </dependencies> </project> diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/BedrockConnect.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/BedrockConnect.java index b58f1d9..3c72590 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/BedrockConnect.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/BedrockConnect.java @@ -1,5 +1,6 @@ package main.com.pyratron.pugmatt.bedrockconnect; +import main.com.pyratron.pugmatt.bedrockconnect.dns.DNS; import main.com.pyratron.pugmatt.bedrockconnect.sql.Data; import main.com.pyratron.pugmatt.bedrockconnect.sql.MySQL; import main.com.pyratron.pugmatt.bedrockconnect.utils.PaletteManager; @@ -41,6 +42,12 @@ public class BedrockConnect { String serverLimit = "100"; + String localIP = null; + String publicIP = null; + String localIPV6 = null; + String publicIPV6 = null; + boolean enableDNS = false; + for(String str : args) { if(str.startsWith("mysql_host=")) hostname = getArgValue(str, "mysql_host"); @@ -100,6 +107,68 @@ public class BedrockConnect { throw new RuntimeException(e); } } + if(str.startsWith("localipv4=")) { + localIP = getArgValue(str, "localipv4"); + } + if(str.startsWith("localipv6=")) { + localIPV6 = getArgValue(str, "localipv6"); + } + if(str.startsWith("publicipv4=")) { + publicIP = getArgValue(str, "publicipv4"); + } + if(str.startsWith("publicipv6=")) { + publicIPV6 = getArgValue(str, "publicipv6"); + } + if(str.startsWith("enabledns=")) { + enableDNS = true; + } + } + + if(enableDNS) { + if(localIP == null) { + String ip; + + try { + Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); + + System.out.println("Local IPv4 IPs:"); + while (interfaces.hasMoreElements()) { + NetworkInterface iface = interfaces.nextElement(); + + if (iface.isLoopback() || !iface.isUp() || iface.isVirtual() || iface.isPointToPoint()) + continue; + + Enumeration<InetAddress> addresses = iface.getInetAddresses(); + while (addresses.hasMoreElements()) { + InetAddress addr = addresses.nextElement(); + + if (!(addr instanceof Inet4Address)) continue; + + ip = addr.getHostAddress(); + System.out.println(iface.getDisplayName() + ": " + ip); + } + } + + Scanner reader = new Scanner(System.in); // Reading from System.in + System.out.print("\nEnter the local IPv4 that players inside your WiFi network will connect to: "); + localIP = reader.next().replaceAll("\\s+", ""); + reader.close(); + } catch (SocketException e) { + throw new RuntimeException(e); + } + + } + + if(publicIP == null) { + URL whatismyip = new URL("http://checkip.amazonaws.com"); + BufferedReader in = new BufferedReader(new InputStreamReader( + whatismyip.openStream())); + + publicIP = in.readLine(); + } + + DNS dnsServer = new DNS(localIP, publicIP, localIPV6, publicIPV6, 53); + dnsServer.start(); } if(!noDB) diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Bedrock_v390.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Bedrock_v390.java deleted file mode 100644 index 46e7a69..0000000 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Bedrock_v390.java +++ /dev/null @@ -1,296 +0,0 @@ -package main.com.pyratron.pugmatt.bedrockconnect; - -import com.nukkitx.protocol.bedrock.BedrockPacketCodec; -import com.nukkitx.protocol.bedrock.packet.AddBehaviorTreePacket; -import com.nukkitx.protocol.bedrock.packet.AddEntityPacket; -import com.nukkitx.protocol.bedrock.packet.AddItemEntityPacket; -import com.nukkitx.protocol.bedrock.packet.AddPaintingPacket; -import com.nukkitx.protocol.bedrock.packet.AddPlayerPacket; -import com.nukkitx.protocol.bedrock.packet.AdventureSettingsPacket; -import com.nukkitx.protocol.bedrock.packet.AnimatePacket; -import com.nukkitx.protocol.bedrock.packet.AnvilDamagePacket; -import com.nukkitx.protocol.bedrock.packet.AutomationClientConnectPacket; -import com.nukkitx.protocol.bedrock.packet.AvailableCommandsPacket; -import com.nukkitx.protocol.bedrock.packet.AvailableEntityIdentifiersPacket; -import com.nukkitx.protocol.bedrock.packet.BiomeDefinitionListPacket; -import com.nukkitx.protocol.bedrock.packet.BlockEntityDataPacket; -import com.nukkitx.protocol.bedrock.packet.BlockEventPacket; -import com.nukkitx.protocol.bedrock.packet.BlockPickRequestPacket; -import com.nukkitx.protocol.bedrock.packet.BookEditPacket; -import com.nukkitx.protocol.bedrock.packet.BossEventPacket; -import com.nukkitx.protocol.bedrock.packet.CameraPacket; -import com.nukkitx.protocol.bedrock.packet.ChangeDimensionPacket; -import com.nukkitx.protocol.bedrock.packet.ChunkRadiusUpdatedPacket; -import com.nukkitx.protocol.bedrock.packet.ClientCacheBlobStatusPacket; -import com.nukkitx.protocol.bedrock.packet.ClientCacheMissResponsePacket; -import com.nukkitx.protocol.bedrock.packet.ClientCacheStatusPacket; -import com.nukkitx.protocol.bedrock.packet.ClientToServerHandshakePacket; -import com.nukkitx.protocol.bedrock.packet.ClientboundMapItemDataPacket; -import com.nukkitx.protocol.bedrock.packet.CommandBlockUpdatePacket; -import com.nukkitx.protocol.bedrock.packet.CommandOutputPacket; -import com.nukkitx.protocol.bedrock.packet.CommandRequestPacket; -import com.nukkitx.protocol.bedrock.packet.CompletedUsingItemPacket; -import com.nukkitx.protocol.bedrock.packet.ContainerClosePacket; -import com.nukkitx.protocol.bedrock.packet.ContainerOpenPacket; -import com.nukkitx.protocol.bedrock.packet.ContainerSetDataPacket; -import com.nukkitx.protocol.bedrock.packet.CraftingDataPacket; -import com.nukkitx.protocol.bedrock.packet.CraftingEventPacket; -import com.nukkitx.protocol.bedrock.packet.DisconnectPacket; -import com.nukkitx.protocol.bedrock.packet.EducationSettingsPacket; -import com.nukkitx.protocol.bedrock.packet.EmotePacket; -import com.nukkitx.protocol.bedrock.packet.EntityEventPacket; -import com.nukkitx.protocol.bedrock.packet.EntityFallPacket; -import com.nukkitx.protocol.bedrock.packet.EntityPickRequestPacket; -import com.nukkitx.protocol.bedrock.packet.EventPacket; -import com.nukkitx.protocol.bedrock.packet.GameRulesChangedPacket; -import com.nukkitx.protocol.bedrock.packet.GuiDataPickItemPacket; -import com.nukkitx.protocol.bedrock.packet.HurtArmorPacket; -import com.nukkitx.protocol.bedrock.packet.InteractPacket; -import com.nukkitx.protocol.bedrock.packet.InventoryContentPacket; -import com.nukkitx.protocol.bedrock.packet.InventorySlotPacket; -import com.nukkitx.protocol.bedrock.packet.InventoryTransactionPacket; -import com.nukkitx.protocol.bedrock.packet.ItemFrameDropItemPacket; -import com.nukkitx.protocol.bedrock.packet.LabTablePacket; -import com.nukkitx.protocol.bedrock.packet.LecternUpdatePacket; -import com.nukkitx.protocol.bedrock.packet.LevelChunkPacket; -import com.nukkitx.protocol.bedrock.packet.LevelEventGenericPacket; -import com.nukkitx.protocol.bedrock.packet.LevelEventPacket; -import com.nukkitx.protocol.bedrock.packet.LevelSoundEvent1Packet; -import com.nukkitx.protocol.bedrock.packet.LevelSoundEvent2Packet; -import com.nukkitx.protocol.bedrock.packet.LevelSoundEventPacket; -import com.nukkitx.protocol.bedrock.packet.LoginPacket; -import com.nukkitx.protocol.bedrock.packet.MapCreateLockedCopyPacket; -import com.nukkitx.protocol.bedrock.packet.MapInfoRequestPacket; -import com.nukkitx.protocol.bedrock.packet.MobArmorEquipmentPacket; -import com.nukkitx.protocol.bedrock.packet.MobEffectPacket; -import com.nukkitx.protocol.bedrock.packet.MobEquipmentPacket; -import com.nukkitx.protocol.bedrock.packet.ModalFormRequestPacket; -import com.nukkitx.protocol.bedrock.packet.ModalFormResponsePacket; -import com.nukkitx.protocol.bedrock.packet.MoveEntityAbsolutePacket; -import com.nukkitx.protocol.bedrock.packet.MoveEntityDeltaPacket; -import com.nukkitx.protocol.bedrock.packet.MovePlayerPacket; -import com.nukkitx.protocol.bedrock.packet.MultiplayerSettingsPacket; -import com.nukkitx.protocol.bedrock.packet.NetworkChunkPublisherUpdatePacket; -import com.nukkitx.protocol.bedrock.packet.NetworkSettingsPacket; -import com.nukkitx.protocol.bedrock.packet.NetworkStackLatencyPacket; -import com.nukkitx.protocol.bedrock.packet.NpcRequestPacket; -import com.nukkitx.protocol.bedrock.packet.OnScreenTextureAnimationPacket; -import com.nukkitx.protocol.bedrock.packet.PhotoTransferPacket; -import com.nukkitx.protocol.bedrock.packet.PlaySoundPacket; -import com.nukkitx.protocol.bedrock.packet.PlayStatusPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerActionPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerAuthInputPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerHotbarPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerInputPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerListPacket; -import com.nukkitx.protocol.bedrock.packet.PlayerSkinPacket; -import com.nukkitx.protocol.bedrock.packet.PurchaseReceiptPacket; -import com.nukkitx.protocol.bedrock.packet.RemoveEntityPacket; -import com.nukkitx.protocol.bedrock.packet.RemoveObjectivePacket; -import com.nukkitx.protocol.bedrock.packet.RequestChunkRadiusPacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePackChunkDataPacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePackChunkRequestPacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePackClientResponsePacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePackDataInfoPacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePackStackPacket; -import com.nukkitx.protocol.bedrock.packet.ResourcePacksInfoPacket; -import com.nukkitx.protocol.bedrock.packet.RespawnPacket; -import com.nukkitx.protocol.bedrock.packet.RiderJumpPacket; -import com.nukkitx.protocol.bedrock.packet.ScriptCustomEventPacket; -import com.nukkitx.protocol.bedrock.packet.ServerSettingsRequestPacket; -import com.nukkitx.protocol.bedrock.packet.ServerSettingsResponsePacket; -import com.nukkitx.protocol.bedrock.packet.ServerToClientHandshakePacket; -import com.nukkitx.protocol.bedrock.packet.SetCommandsEnabledPacket; -import com.nukkitx.protocol.bedrock.packet.SetDefaultGameTypePacket; -import com.nukkitx.protocol.bedrock.packet.SetDifficultyPacket; -import com.nukkitx.protocol.bedrock.packet.SetDisplayObjectivePacket; -import com.nukkitx.protocol.bedrock.packet.SetEntityDataPacket; -import com.nukkitx.protocol.bedrock.packet.SetEntityLinkPacket; -import com.nukkitx.protocol.bedrock.packet.SetEntityMotionPacket; -import com.nukkitx.protocol.bedrock.packet.SetHealthPacket; -import com.nukkitx.protocol.bedrock.packet.SetLastHurtByPacket; -import com.nukkitx.protocol.bedrock.packet.SetLocalPlayerAsInitializedPacket; -import com.nukkitx.protocol.bedrock.packet.SetPlayerGameTypePacket; -import com.nukkitx.protocol.bedrock.packet.SetScorePacket; -import com.nukkitx.protocol.bedrock.packet.SetScoreboardIdentityPacket; -import com.nukkitx.protocol.bedrock.packet.SetSpawnPositionPacket; -import com.nukkitx.protocol.bedrock.packet.SetTimePacket; -import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; -import com.nukkitx.protocol.bedrock.packet.SettingsCommandPacket; -import com.nukkitx.protocol.bedrock.packet.ShowCreditsPacket; -import com.nukkitx.protocol.bedrock.packet.ShowProfilePacket; -import com.nukkitx.protocol.bedrock.packet.ShowStoreOfferPacket; -import com.nukkitx.protocol.bedrock.packet.SimpleEventPacket; -import com.nukkitx.protocol.bedrock.packet.SpawnExperienceOrbPacket; -import com.nukkitx.protocol.bedrock.packet.SpawnParticleEffectPacket; -import com.nukkitx.protocol.bedrock.packet.StartGamePacket; -import com.nukkitx.protocol.bedrock.packet.StopSoundPacket; -import com.nukkitx.protocol.bedrock.packet.StructureBlockUpdatePacket; -import com.nukkitx.protocol.bedrock.packet.StructureTemplateDataExportRequestPacket; -import com.nukkitx.protocol.bedrock.packet.StructureTemplateDataExportResponsePacket; -import com.nukkitx.protocol.bedrock.packet.SubClientLoginPacket; -import com.nukkitx.protocol.bedrock.packet.TakeItemEntityPacket; -import com.nukkitx.protocol.bedrock.packet.TextPacket; -import com.nukkitx.protocol.bedrock.packet.TickSyncPacket; -import com.nukkitx.protocol.bedrock.packet.TransferPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateAttributesPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateBlockPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateBlockPropertiesPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateBlockSyncedPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateEquipPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateSoftEnumPacket; -import com.nukkitx.protocol.bedrock.packet.UpdateTradePacket; -import com.nukkitx.protocol.bedrock.packet.VideoStreamConnectPacket; -import com.nukkitx.protocol.bedrock.v388.serializer.AddBehaviorTreeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AddEntitySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AddItemEntitySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AddPaintingSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AddPlayerSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AdventureSettingsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AnimateSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AnvilDamageSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AutomationClientConnectSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AvailableCommandsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.AvailableEntityIdentifiersSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BiomeDefinitionListSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BlockEntityDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BlockEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BlockPickRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BookEditSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.BossEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CameraSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ChangeDimensionSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ChunkRadiusUpdatedSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ClientCacheBlobStatusSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ClientCacheMissResponseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ClientCacheStatusSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ClientToServerHandshakeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ClientboundMapItemDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CommandBlockUpdateSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CommandOutputSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CommandRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CompletedUsingItemSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ContainerCloseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ContainerOpenSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ContainerSetDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CraftingDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.CraftingEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.DisconnectSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.EducationSettingsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.EmoteSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.EntityEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.EntityFallSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.EntityPickRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.GameRulesChangedSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.GuiDataPickItemSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.HurtArmorSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.InteractSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.InventoryContentSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.InventorySlotSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.InventoryTransactionSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ItemFrameDropItemSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LabTableSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LecternUpdateSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelChunkSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelEventGenericSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelSoundEvent1Serializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelSoundEvent2Serializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LevelSoundEvent3Serializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.LoginSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MapCreateLockedCopySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MapInfoRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MobArmorEquipmentSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MobEffectSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MobEquipmentSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ModalFormRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ModalFormResponseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MoveEntityAbsoluteSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MoveEntityDeltaSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MovePlayerSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.MultiplayerSettingsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.NetworkChunkPublisherUpdateSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.NetworkSettingsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.NetworkStackLatencySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.NpcRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.OnScreenTextureAnimationSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PacketHeaderSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PhotoTransferSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlaySoundSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayStatusSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerActionSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerAuthInputSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerHotbarSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerInputSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerListSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PlayerSkinSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.PurchaseReceiptSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.RemoveEntitySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.RemoveObjectiveSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.RequestChunkRadiusSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePackChunkDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePackChunkRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePackClientResponseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePackDataInfoSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePackStackSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ResourcePacksInfoSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.RespawnSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.RiderJumpSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ScriptCustomEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ServerSettingsRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ServerSettingsResponseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ServerToClientHandshakeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetCommandsEnabledSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetDefaultGameTypeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetDifficultySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetDisplayObjectiveSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetEntityDataSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetEntityLinkSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetEntityMotionSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetHealthSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetLastHurtBySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetLocalPlayerAsInitializedSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetPlayerGameTypeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetScoreSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetScoreboardIdentitySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetSpawnPositionSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetTimeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SetTitleSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SettingsCommandSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ShowCreditsSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ShowProfileSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.ShowStoreOfferSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SimpleEventSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SpawnExperienceOrbSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SpawnParticleEffectSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.StartGameSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.StopSoundSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.StructureBlockUpdateSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.StructureTemplateDataExportRequestSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.StructureTemplateDataExportResponseSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.SubClientLoginSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.TakeItemEntitySerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.TextSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.TickSyncSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.TransferSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateAttributesSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateBlockPropertiesSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateBlockSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateBlockSyncedSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateEquipSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateSoftEnumSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.UpdateTradeSerializer_v388; -import com.nukkitx.protocol.bedrock.v388.serializer.VideoStreamConnectSerializer_v388; -import com.nukkitx.protocol.bedrock.v389.serializer.EventSerializer_v389; - -public final class Bedrock_v390 { - public static BedrockPacketCodec V390_CODEC; - - private Bedrock_v390() { - throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); - } - - static { - V390_CODEC = BedrockPacketCodec.builder().protocolVersion(390).minecraftVersion("1.14.0").headerSerializer(PacketHeaderSerializer_v388.INSTANCE).registerPacket(LoginPacket.class, LoginSerializer_v388.INSTANCE, 1).registerPacket(PlayStatusPacket.class, PlayStatusSerializer_v388.INSTANCE, 2).registerPacket(ServerToClientHandshakePacket.class, ServerToClientHandshakeSerializer_v388.INSTANCE, 3).registerPacket(ClientToServerHandshakePacket.class, ClientToServerHandshakeSerializer_v388.INSTANCE, 4).registerPacket(DisconnectPacket.class, DisconnectSerializer_v388.INSTANCE, 5).registerPacket(ResourcePacksInfoPacket.class, ResourcePacksInfoSerializer_v388.INSTANCE, 6).registerPacket(ResourcePackStackPacket.class, ResourcePackStackSerializer_v388.INSTANCE, 7).registerPacket(ResourcePackClientResponsePacket.class, ResourcePackClientResponseSerializer_v388.INSTANCE, 8).registerPacket(TextPacket.class, TextSerializer_v388.INSTANCE, 9).registerPacket(SetTimePacket.class, SetTimeSerializer_v388.INSTANCE, 10).registerPacket(StartGamePacket.class, StartGameSerializer_v388.INSTANCE, 11).registerPacket(AddPlayerPacket.class, AddPlayerSerializer_v388.INSTANCE, 12).registerPacket(AddEntityPacket.class, AddEntitySerializer_v388.INSTANCE, 13).registerPacket(RemoveEntityPacket.class, RemoveEntitySerializer_v388.INSTANCE, 14).registerPacket(AddItemEntityPacket.class, AddItemEntitySerializer_v388.INSTANCE, 15).registerPacket(TakeItemEntityPacket.class, TakeItemEntitySerializer_v388.INSTANCE, 17).registerPacket(MoveEntityAbsolutePacket.class, MoveEntityAbsoluteSerializer_v388.INSTANCE, 18).registerPacket(MovePlayerPacket.class, MovePlayerSerializer_v388.INSTANCE, 19).registerPacket(RiderJumpPacket.class, RiderJumpSerializer_v388.INSTANCE, 20).registerPacket(UpdateBlockPacket.class, UpdateBlockSerializer_v388.INSTANCE, 21).registerPacket(AddPaintingPacket.class, AddPaintingSerializer_v388.INSTANCE, 22).registerPacket(TickSyncPacket.class, TickSyncSerializer_v388.INSTANCE, 23).registerPacket(LevelSoundEvent1Packet.class, LevelSoundEvent1Serializer_v388.INSTANCE, 24).registerPacket(LevelEventPacket.class, LevelEventSerializer_v388.INSTANCE, 25).registerPacket(BlockEventPacket.class, BlockEventSerializer_v388.INSTANCE, 26).registerPacket(EntityEventPacket.class, EntityEventSerializer_v388.INSTANCE, 27).registerPacket(MobEffectPacket.class, MobEffectSerializer_v388.INSTANCE, 28).registerPacket(UpdateAttributesPacket.class, UpdateAttributesSerializer_v388.INSTANCE, 29).registerPacket(InventoryTransactionPacket.class, InventoryTransactionSerializer_v388.INSTANCE, 30).registerPacket(MobEquipmentPacket.class, MobEquipmentSerializer_v388.INSTANCE, 31).registerPacket(MobArmorEquipmentPacket.class, MobArmorEquipmentSerializer_v388.INSTANCE, 32).registerPacket(InteractPacket.class, InteractSerializer_v388.INSTANCE, 33).registerPacket(BlockPickRequestPacket.class, BlockPickRequestSerializer_v388.INSTANCE, 34).registerPacket(EntityPickRequestPacket.class, EntityPickRequestSerializer_v388.INSTANCE, 35).registerPacket(PlayerActionPacket.class, PlayerActionSerializer_v388.INSTANCE, 36).registerPacket(EntityFallPacket.class, EntityFallSerializer_v388.INSTANCE, 37).registerPacket(HurtArmorPacket.class, HurtArmorSerializer_v388.INSTANCE, 38).registerPacket(SetEntityDataPacket.class, SetEntityDataSerializer_v388.INSTANCE, 39).registerPacket(SetEntityMotionPacket.class, SetEntityMotionSerializer_v388.INSTANCE, 40).registerPacket(SetEntityLinkPacket.class, SetEntityLinkSerializer_v388.INSTANCE, 41).registerPacket(SetHealthPacket.class, SetHealthSerializer_v388.INSTANCE, 42).registerPacket(SetSpawnPositionPacket.class, SetSpawnPositionSerializer_v388.INSTANCE, 43).registerPacket(AnimatePacket.class, AnimateSerializer_v388.INSTANCE, 44).registerPacket(RespawnPacket.class, RespawnSerializer_v388.INSTANCE, 45).registerPacket(ContainerOpenPacket.class, ContainerOpenSerializer_v388.INSTANCE, 46).registerPacket(ContainerClosePacket.class, ContainerCloseSerializer_v388.INSTANCE, 47).registerPacket(PlayerHotbarPacket.class, PlayerHotbarSerializer_v388.INSTANCE, 48).registerPacket(InventoryContentPacket.class, InventoryContentSerializer_v388.INSTANCE, 49).registerPacket(InventorySlotPacket.class, InventorySlotSerializer_v388.INSTANCE, 50).registerPacket(ContainerSetDataPacket.class, ContainerSetDataSerializer_v388.INSTANCE, 51).registerPacket(CraftingDataPacket.class, CraftingDataSerializer_v388.INSTANCE, 52).registerPacket(CraftingEventPacket.class, CraftingEventSerializer_v388.INSTANCE, 53).registerPacket(GuiDataPickItemPacket.class, GuiDataPickItemSerializer_v388.INSTANCE, 54).registerPacket(AdventureSettingsPacket.class, AdventureSettingsSerializer_v388.INSTANCE, 55).registerPacket(BlockEntityDataPacket.class, BlockEntityDataSerializer_v388.INSTANCE, 56).registerPacket(PlayerInputPacket.class, PlayerInputSerializer_v388.INSTANCE, 57).registerPacket(LevelChunkPacket.class, LevelChunkSerializer_v388.INSTANCE, 58).registerPacket(SetCommandsEnabledPacket.class, SetCommandsEnabledSerializer_v388.INSTANCE, 59).registerPacket(SetDifficultyPacket.class, SetDifficultySerializer_v388.INSTANCE, 60).registerPacket(ChangeDimensionPacket.class, ChangeDimensionSerializer_v388.INSTANCE, 61).registerPacket(SetPlayerGameTypePacket.class, SetPlayerGameTypeSerializer_v388.INSTANCE, 62).registerPacket(PlayerListPacket.class, PlayerListSerializer_v388.INSTANCE, 63).registerPacket(SimpleEventPacket.class, SimpleEventSerializer_v388.INSTANCE, 64).registerPacket(EventPacket.class, EventSerializer_v389.INSTANCE, 65).registerPacket(SpawnExperienceOrbPacket.class, SpawnExperienceOrbSerializer_v388.INSTANCE, 66).registerPacket(ClientboundMapItemDataPacket.class, ClientboundMapItemDataSerializer_v388.INSTANCE, 67).registerPacket(MapInfoRequestPacket.class, MapInfoRequestSerializer_v388.INSTANCE, 68).registerPacket(RequestChunkRadiusPacket.class, RequestChunkRadiusSerializer_v388.INSTANCE, 69).registerPacket(ChunkRadiusUpdatedPacket.class, ChunkRadiusUpdatedSerializer_v388.INSTANCE, 70).registerPacket(ItemFrameDropItemPacket.class, ItemFrameDropItemSerializer_v388.INSTANCE, 71).registerPacket(GameRulesChangedPacket.class, GameRulesChangedSerializer_v388.INSTANCE, 72).registerPacket(CameraPacket.class, CameraSerializer_v388.INSTANCE, 73).registerPacket(BossEventPacket.class, BossEventSerializer_v388.INSTANCE, 74).registerPacket(ShowCreditsPacket.class, ShowCreditsSerializer_v388.INSTANCE, 75).registerPacket(AvailableCommandsPacket.class, AvailableCommandsSerializer_v388.INSTANCE, 76).registerPacket(CommandRequestPacket.class, CommandRequestSerializer_v388.INSTANCE, 77).registerPacket(CommandBlockUpdatePacket.class, CommandBlockUpdateSerializer_v388.INSTANCE, 78).registerPacket(CommandOutputPacket.class, CommandOutputSerializer_v388.INSTANCE, 79).registerPacket(UpdateTradePacket.class, UpdateTradeSerializer_v388.INSTANCE, 80).registerPacket(UpdateEquipPacket.class, UpdateEquipSerializer_v388.INSTANCE, 81).registerPacket(ResourcePackDataInfoPacket.class, ResourcePackDataInfoSerializer_v388.INSTANCE, 82).registerPacket(ResourcePackChunkDataPacket.class, ResourcePackChunkDataSerializer_v388.INSTANCE, 83).registerPacket(ResourcePackChunkRequestPacket.class, ResourcePackChunkRequestSerializer_v388.INSTANCE, 84).registerPacket(TransferPacket.class, TransferSerializer_v388.INSTANCE, 85).registerPacket(PlaySoundPacket.class, PlaySoundSerializer_v388.INSTANCE, 86).registerPacket(StopSoundPacket.class, StopSoundSerializer_v388.INSTANCE, 87).registerPacket(SetTitlePacket.class, SetTitleSerializer_v388.INSTANCE, 88).registerPacket(AddBehaviorTreePacket.class, AddBehaviorTreeSerializer_v388.INSTANCE, 89).registerPacket(StructureBlockUpdatePacket.class, StructureBlockUpdateSerializer_v388.INSTANCE, 90).registerPacket(ShowStoreOfferPacket.class, ShowStoreOfferSerializer_v388.INSTANCE, 91).registerPacket(PurchaseReceiptPacket.class, PurchaseReceiptSerializer_v388.INSTANCE, 92).registerPacket(PlayerSkinPacket.class, PlayerSkinSerializer_v388.INSTANCE, 93).registerPacket(SubClientLoginPacket.class, SubClientLoginSerializer_v388.INSTANCE, 94).registerPacket(AutomationClientConnectPacket.class, AutomationClientConnectSerializer_v388.INSTANCE, 95).registerPacket(SetLastHurtByPacket.class, SetLastHurtBySerializer_v388.INSTANCE, 96).registerPacket(BookEditPacket.class, BookEditSerializer_v388.INSTANCE, 97).registerPacket(NpcRequestPacket.class, NpcRequestSerializer_v388.INSTANCE, 98).registerPacket(PhotoTransferPacket.class, PhotoTransferSerializer_v388.INSTANCE, 99).registerPacket(ModalFormRequestPacket.class, ModalFormRequestSerializer_v388.INSTANCE, 100).registerPacket(ModalFormResponsePacket.class, ModalFormResponseSerializer_v388.INSTANCE, 101).registerPacket(ServerSettingsRequestPacket.class, ServerSettingsRequestSerializer_v388.INSTANCE, 102).registerPacket(ServerSettingsResponsePacket.class, ServerSettingsResponseSerializer_v388.INSTANCE, 103).registerPacket(ShowProfilePacket.class, ShowProfileSerializer_v388.INSTANCE, 104).registerPacket(SetDefaultGameTypePacket.class, SetDefaultGameTypeSerializer_v388.INSTANCE, 105).registerPacket(RemoveObjectivePacket.class, RemoveObjectiveSerializer_v388.INSTANCE, 106).registerPacket(SetDisplayObjectivePacket.class, SetDisplayObjectiveSerializer_v388.INSTANCE, 107).registerPacket(SetScorePacket.class, SetScoreSerializer_v388.INSTANCE, 108).registerPacket(LabTablePacket.class, LabTableSerializer_v388.INSTANCE, 109).registerPacket(UpdateBlockSyncedPacket.class, UpdateBlockSyncedSerializer_v388.INSTANCE, 110).registerPacket(MoveEntityDeltaPacket.class, MoveEntityDeltaSerializer_v388.INSTANCE, 111).registerPacket(SetScoreboardIdentityPacket.class, SetScoreboardIdentitySerializer_v388.INSTANCE, 112).registerPacket(SetLocalPlayerAsInitializedPacket.class, SetLocalPlayerAsInitializedSerializer_v388.INSTANCE, 113).registerPacket(UpdateSoftEnumPacket.class, UpdateSoftEnumSerializer_v388.INSTANCE, 114).registerPacket(NetworkStackLatencyPacket.class, NetworkStackLatencySerializer_v388.INSTANCE, 115).registerPacket(ScriptCustomEventPacket.class, ScriptCustomEventSerializer_v388.INSTANCE, 117).registerPacket(SpawnParticleEffectPacket.class, SpawnParticleEffectSerializer_v388.INSTANCE, 118).registerPacket(AvailableEntityIdentifiersPacket.class, AvailableEntityIdentifiersSerializer_v388.INSTANCE, 119).registerPacket(LevelSoundEvent2Packet.class, LevelSoundEvent2Serializer_v388.INSTANCE, 120).registerPacket(NetworkChunkPublisherUpdatePacket.class, NetworkChunkPublisherUpdateSerializer_v388.INSTANCE, 121).registerPacket(BiomeDefinitionListPacket.class, BiomeDefinitionListSerializer_v388.INSTANCE, 122).registerPacket(LevelSoundEventPacket.class, LevelSoundEvent3Serializer_v388.INSTANCE, 123).registerPacket(LevelEventGenericPacket.class, LevelEventGenericSerializer_v388.INSTANCE, 124).registerPacket(LecternUpdatePacket.class, LecternUpdateSerializer_v388.INSTANCE, 125).registerPacket(VideoStreamConnectPacket.class, VideoStreamConnectSerializer_v388.INSTANCE, 126).registerPacket(ClientCacheStatusPacket.class, ClientCacheStatusSerializer_v388.INSTANCE, 129).registerPacket(OnScreenTextureAnimationPacket.class, OnScreenTextureAnimationSerializer_v388.INSTANCE, 130).registerPacket(MapCreateLockedCopyPacket.class, MapCreateLockedCopySerializer_v388.INSTANCE, 131).registerPacket(StructureTemplateDataExportRequestPacket.class, StructureTemplateDataExportRequestSerializer_v388.INSTANCE, 132).registerPacket(StructureTemplateDataExportResponsePacket.class, StructureTemplateDataExportResponseSerializer_v388.INSTANCE, 133).registerPacket(UpdateBlockPropertiesPacket.class, UpdateBlockPropertiesSerializer_v388.INSTANCE, 134).registerPacket(ClientCacheBlobStatusPacket.class, ClientCacheBlobStatusSerializer_v388.INSTANCE, 135).registerPacket(ClientCacheMissResponsePacket.class, ClientCacheMissResponseSerializer_v388.INSTANCE, 136).registerPacket(EducationSettingsPacket.class, EducationSettingsSerializer_v388.INSTANCE, 137).registerPacket(EmotePacket.class, EmoteSerializer_v388.INSTANCE, 138).registerPacket(MultiplayerSettingsPacket.class, MultiplayerSettingsSerializer_v388.INSTANCE, 139).registerPacket(SettingsCommandPacket.class, SettingsCommandSerializer_v388.INSTANCE, 140).registerPacket(AnvilDamagePacket.class, AnvilDamageSerializer_v388.INSTANCE, 141).registerPacket(CompletedUsingItemPacket.class, CompletedUsingItemSerializer_v388.INSTANCE, 142).registerPacket(NetworkSettingsPacket.class, NetworkSettingsSerializer_v388.INSTANCE, 143).registerPacket(PlayerAuthInputPacket.class, PlayerAuthInputSerializer_v388.INSTANCE, 144).build(); - } -} diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PacketCatcher.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PacketCatcher.java new file mode 100644 index 0000000..5827c88 --- /dev/null +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PacketCatcher.java @@ -0,0 +1,14 @@ +package main.com.pyratron.pugmatt.bedrockconnect; + +import com.nukkitx.protocol.bedrock.BedrockPacket; + +import java.util.ArrayList; + +public class PacketCatcher { + + public ArrayList<BedrockPacket> packets; + + public void PacketCatcher() { + + } +} diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java index 9400fff..fabf8e3 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/PipePlayer.java @@ -11,10 +11,8 @@ import com.nukkitx.nbt.tag.ListTag; import com.nukkitx.protocol.bedrock.Bedrock; import com.nukkitx.protocol.bedrock.BedrockPacket; import com.nukkitx.protocol.bedrock.BedrockServerSession; -import com.nukkitx.protocol.bedrock.data.Attribute; -import com.nukkitx.protocol.bedrock.data.GamePublishSetting; -import com.nukkitx.protocol.bedrock.data.GameRuleData; -import com.nukkitx.protocol.bedrock.data.PlayerPermission; +import com.nukkitx.protocol.bedrock.data.*; +import com.nukkitx.protocol.bedrock.data.inventory.ContainerId; import com.nukkitx.protocol.bedrock.packet.*; import com.nukkitx.math.vector.Vector3f; import main.com.pyratron.pugmatt.bedrockconnect.gui.UIComponents; @@ -95,6 +93,10 @@ public class PipePlayer { public void joinGame() { + /** for(BedrockPacket packet : BedrockConnect.server.packets) { + session.sendPacket(packet); + } **/ + MovePlayerPacket mp = new MovePlayerPacket(); mp.setRuntimeEntityId(1); mp.setOnGround(false); @@ -106,23 +108,25 @@ public class PipePlayer { StartGamePacket startGamePacket = new StartGamePacket(); startGamePacket.setUniqueEntityId(1); startGamePacket.setRuntimeEntityId(1); - startGamePacket.setPlayerGamemode(1); + startGamePacket.setPlayerGameType(GameType.SURVIVAL); startGamePacket.setPlayerPosition(Vector3f.from(0, 0, 0)); startGamePacket.setRotation(Vector2f.from(1, 1)); startGamePacket.setSeed(-1); startGamePacket.setDimensionId(0); startGamePacket.setGeneratorId(1); - startGamePacket.setLevelGamemode(1); + startGamePacket.setLevelGameType(GameType.SURVIVAL); startGamePacket.setDifficulty(1); - startGamePacket.setDefaultSpawn(Vector3i.from(0, 0, 0)); + startGamePacket.setDefaultSpawn(Vector3i.ZERO); startGamePacket.setAchievementsDisabled(false); - startGamePacket.setTime(-1); - startGamePacket.setEduFeaturesEnabled(false); + startGamePacket.setCurrentTick(-1); + //startGamePacket.setUnknownInt0(-1); + //startGamePacket.setUnknownInt1(-1); + startGamePacket.setEduEditionOffers(0); startGamePacket.setEduFeaturesEnabled(false); startGamePacket.setRainLevel(0); startGamePacket.setLightningLevel(0); - startGamePacket.setPlatformLockedContentConfirmed(false); + //startGamePacket.setPlatformLockedContentConfirmed(false); startGamePacket.setMultiplayerGame(true); startGamePacket.setBroadcastingToLan(true); startGamePacket.getGamerules().add((new GameRuleData<>("showcoordinates", true))); @@ -132,7 +136,7 @@ public class PipePlayer { startGamePacket.setTexturePacksRequired(false); startGamePacket.setBonusChestEnabled(false); startGamePacket.setStartingWithMap(false); - startGamePacket.setTrustingPlayers(false); + startGamePacket.setTrustingPlayers(true); startGamePacket.setDefaultPlayerPermission(PlayerPermission.MEMBER); startGamePacket.setServerChunkTickRange(4); startGamePacket.setBehaviorPackLocked(false); @@ -141,14 +145,16 @@ public class PipePlayer { startGamePacket.setUsingMsaGamertagsOnly(false); startGamePacket.setFromWorldTemplate(false); startGamePacket.setWorldTemplateOptionLocked(false); - startGamePacket.setOnlySpawningV1Villagers(false); - startGamePacket.setMovementServerAuthoritative(false); - startGamePacket.setTrial(false); - startGamePacket.setVanillaVersion(Server.codec.getMinecraftVersion()); - - startGamePacket.setLevelId(""); - startGamePacket.setWorldName("world"); - startGamePacket.setPremiumWorldTemplateId(""); + + //startGamePacket.setOnlySpawningV1Villagers(false); + //startGamePacket.setMovementServerAuthoritative(false); + //startGamePacket.setTrial(false); + startGamePacket.setVanillaVersion("*"); + + startGamePacket.setLevelId("world"); + startGamePacket.setLevelName("world"); + //startGamePacket.setWorldName("world"); + startGamePacket.setPremiumWorldTemplateId("00000000-0000-0000-0000-000000000000"); startGamePacket.setCurrentTick(0); startGamePacket.setEnchantmentSeed(0); startGamePacket.setMultiplayerCorrelationId(""); @@ -178,14 +184,29 @@ public class PipePlayer { } BiomeDefinitionListPacket biomePacket = new BiomeDefinitionListPacket(); - biomePacket.setTag(CompoundTag.EMPTY); + biomePacket.setTag(BedrockConnect.paletteManager.BIOMES); session.sendPacket(biomePacket); + AvailableEntityIdentifiersPacket entityPacket = new AvailableEntityIdentifiersPacket(); - entityPacket.setTag(CompoundTag.EMPTY); + entityPacket.setTag(BedrockConnect.paletteManager.ENTITY_IDENTIFIERS); session.sendPacket(entityPacket); + InventoryContentPacket creativePacket = new InventoryContentPacket(); + creativePacket.setContainerId(ContainerId.CREATIVE); //TODO: Why is this deprecated? + creativePacket.setContents(BedrockConnect.paletteManager.CREATIVE_ITEMS); + session.sendPacket(creativePacket); + PlayStatusPacket playStatus = new PlayStatusPacket(); playStatus.setStatus(PlayStatusPacket.Status.PLAYER_SPAWN); session.sendPacket(playStatus); + + UpdateAttributesPacket attributesPacket = new UpdateAttributesPacket(); + attributesPacket.setRuntimeEntityId(0); + List<AttributeData> attributes = new ArrayList<>(); + // Default move speed + // Bedrock clients move very fast by default until they get an attribute packet correcting the speed + attributes.add(new AttributeData("minecraft:movement", 0.0f, 1024f, 0.1f, 0.1f)); + attributesPacket.setAttributes(attributes); + session.sendPacket(attributesPacket); } } diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Server.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Server.java index a23aca1..4bae4e4 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Server.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/Server.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLMapper; import com.nukkitx.protocol.bedrock.*; +import com.nukkitx.protocol.bedrock.v407.Bedrock_v407; import main.com.pyratron.pugmatt.bedrockconnect.listeners.PacketHandler; import main.com.pyratron.pugmatt.bedrockconnect.sql.Data; @@ -20,11 +21,6 @@ public class Server { public static BedrockPacketCodec codec; - public boolean recordingDone = false; - public List<BedrockPacket> packets = new ArrayList<>(); - - - public int getProtocol() { return codec.getProtocolVersion(); } @@ -42,6 +38,9 @@ public class Server { return players; } + public boolean recordingDone = false; + public List<BedrockPacket> packets = new ArrayList<>(); + public PipePlayer getPlayer(String uuid) { for(int i=0;i<players.size();i++) { if(players.get(i).getUuid() == uuid) @@ -51,6 +50,11 @@ public class Server { } public void addPlayer(PipePlayer player) { + //System.gc(); + //Runtime rt = Runtime.getRuntime(); + //long usedMB = (rt.totalMemory() - rt.freeMemory()) / 1024 / 1024; + //System.out.println("Memory usage: " + usedMB); + System.out.println("Total users connected: " + this.players.size()); this.players.add(player); } @@ -70,7 +74,7 @@ public class Server { players = new ArrayList<>(); InetSocketAddress bindAddress = new InetSocketAddress("0.0.0.0", Integer.parseInt(port)); - codec = Bedrock_v390.V390_CODEC; + codec = Bedrock_v407.V407_CODEC; server = new BedrockServer(bindAddress); pong = new BedrockPong(); pong.setEdition("MCPE"); @@ -93,7 +97,12 @@ public class Server { } @Override public void onSessionCreation(BedrockServerSession session) { - session.setPacketHandler(new PacketHandler(session, current)); + // if(!recordingDone) + // session.setPacketHandler(new PacketHandler(session, current, true)); + // else { + session.setPacketHandler(new PacketHandler(session, current, false)); + // } + //session.setPacketHandler(new PacketHandler(session, current)); } }); // Start server up diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/dns/DNS.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/dns/DNS.java new file mode 100644 index 0000000..7e65c7f --- /dev/null +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/dns/DNS.java @@ -0,0 +1,99 @@ +package main.com.pyratron.pugmatt.bedrockconnect.dns; + +import org.xbill.DNS.*; + +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.util.Arrays; +import java.util.List; + +// Referenced code from: https://medium.com/swlh/mock-a-dns-server-in-java-a810b9338872 + +public class DNS { + private Thread thread = null; + private volatile boolean running = false; + private static final int UDP_SIZE = 512; + private final int port; + private int requestCount = 0; + + private String localIP; + private String publicIP; + + private String localIPV6; + private String publicIPV6; + + public DNS(String localIP, String publicIP, String localIPV6, String publicIPV6, int port) { + this.port = port; + this.localIP = localIP; + this.publicIP = publicIP; + + this.localIPV6 = localIPV6; + this.publicIPV6 = publicIPV6; + } + + public void start() { + running = true; + thread = new Thread(() -> { + try { + serve(); + } catch (IOException ex) { + stop(); + throw new RuntimeException(ex); + } + }); + thread.start(); + System.out.println("BedrockConnect DNS server now running ( Local IPv4: " + localIP + " ; Public IPv4: " + publicIP + " )"); + } + + public void stop() { + running = false; + thread.interrupt(); + thread = null; + } + + public int getRequestCount() { + return requestCount; + } + + private void serve() throws IOException { + DatagramSocket socket = new DatagramSocket(port); + while (running) { + process(socket); + } + } + + private void process(DatagramSocket socket) throws IOException { + byte[] in = new byte[UDP_SIZE]; + + DatagramPacket indp = new DatagramPacket(in, UDP_SIZE); + socket.receive(indp); + ++requestCount; + + Message request = new Message(in); + Message response = new Message(request.getHeader().getID()); + + response.addRecord(request.getQuestion(), Section.QUESTION); + System.out.println(request.getQuestion().getName().toString()); + List<String> featuredServers = Arrays.asList("receive-lp1.dg.srv.nintendo.net", "www.facebook.com.", "mobile.twitter.com.", "geo.hivebedrock.network.", "hivebedrock.network.", "mco.mineplex.com.", "play.inpvp.net.", "mco.lbsg.net.", "mco.cubecraft.net."); + if(featuredServers.contains(request.getQuestion().getName().toString())) { + if (indp.getAddress().getHostAddress().startsWith("192.168")) { + System.out.println(localIP); + response.addRecord(Record.fromString(Name.root, Type.A, DClass.ANY, 86400, "192.168.0.140", Name.root), Section.ANSWER); + //if(localIPV6 != null) { + // response.addRecord(Record.fromString(Name.root, Type.AAAA, DClass.IN, 86400, localIPV6, Name.root), Section.ANSWER); + //} + } + else { + response.addRecord(Record.fromString(Name.root, Type.A, DClass.IN, 86400, publicIP, Name.root), Section.ANSWER); + if(publicIPV6 != null) { + response.addRecord(Record.fromString(Name.root, Type.AAAA, DClass.IN, 86400, publicIPV6, Name.root), Section.ANSWER); + } + } + + byte[] resp = response.toWire(); + DatagramPacket outdp = new DatagramPacket(resp, resp.length, indp.getAddress(), indp.getPort()); + socket.send(outdp); + } + } +} diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java index 6b10d7c..e807500 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/gui/UIForms.java @@ -9,10 +9,12 @@ import java.util.ArrayList; import java.util.List; public class UIForms { - public static final int ERROR = 2, MAIN = 0, DIRECT_CONNECT = 1, REMOVE_SERVER = 3; + public static final int ERROR = 2, MAIN = 0, DIRECT_CONNECT = 1, REMOVE_SERVER = 3, DONATION = 4; public static int currentForm = 0; + public static final char ESCAPE = '\u00a7'; + public static ModalFormRequestPacket createMain(List<String> servers) { currentForm = MAIN; ModalFormRequestPacket mf = new ModalFormRequestPacket(); @@ -87,4 +89,18 @@ public class UIForms { mf.setFormData(form.toString()); return mf; } + + public static ModalFormRequestPacket createDonatelink() { + currentForm = DONATION; + ModalFormRequestPacket mf = new ModalFormRequestPacket(); + mf.setFormId(UIForms.DONATION); + JsonObject form = new JsonObject(); + form.addProperty("type", "custom_form"); + form.addProperty("title", "Thank you!"); + JsonArray content = new JsonArray(); + content.add(UIComponents.createLabel("")); + form.add("content", content); + mf.setFormData(form.toString()); + return mf; + } } diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/ClientPacketHandler.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/ClientPacketHandler.java deleted file mode 100644 index f368a58..0000000 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/ClientPacketHandler.java +++ /dev/null @@ -1,805 +0,0 @@ -package main.com.pyratron.pugmatt.bedrockconnect.listeners; - -import com.nukkitx.protocol.bedrock.BedrockClientSession; -import com.nukkitx.protocol.bedrock.packet.*; - -import com.nukkitx.protocol.bedrock.handler.BedrockPacketHandler; -import com.nukkitx.protocol.bedrock.packet.LoginPacket; - -public class ClientPacketHandler implements BedrockPacketHandler { - - private static final int PIXEL_SIZE = 4; - - private BedrockClientSession session; - - @Override - public boolean handle(AdventureSettingsPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AnimatePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BlockEntityDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BlockPickRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BookEditPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ClientToServerHandshakePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CommandBlockUpdatePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CommandRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ContainerClosePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CraftingEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(EntityEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(EntityFallPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(EntityPickRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(EventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(InteractPacket packet) { - System.out.println(packet.toString()); - session.sendPacketImmediately(packet); - return false; - } - - @Override - public boolean handle(InventoryContentPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(InventorySlotPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(InventoryTransactionPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ItemFrameDropItemPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(LabTablePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(LecternUpdatePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(LevelSoundEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MapInfoRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MobArmorEquipmentPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MobEquipmentPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ModalFormResponsePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MoveEntityAbsolutePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MovePlayerPacket packet) { - System.out.println(packet.toString()); - session.sendPacketImmediately(packet); - return false; - } - - @Override - public boolean handle(NetworkStackLatencyPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PhotoTransferPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayerActionPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayerHotbarPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayerInputPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayerSkinPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PurchaseReceiptPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(RequestChunkRadiusPacket packet) { - System.out.println(packet.toString()); - ChunkRadiusUpdatedPacket chunk = new ChunkRadiusUpdatedPacket(); - chunk.setRadius(Math.max(3, Math.min(packet.getRadius(), 5))); - //PacketHeader ph = new PacketHeader(); - // ph.set - //chunk.setHeader(); - session.sendPacketImmediately(chunk); - - int chunkPositionX = 0; - int chunkPositionZ = 0; - int chunkRadius = 5; - for (int x = -chunkRadius; x < chunkRadius; x++) { - for (int z = -chunkRadius; z < chunkRadius; z++) { - LevelChunkPacket fullChunk = new LevelChunkPacket(); - fullChunk.setChunkX(chunkPositionX + x); - fullChunk.setChunkZ(chunkPositionZ + z); - fullChunk.setData(new byte[0]); - session.sendPacket(fullChunk); - } - } - - PlayStatusPacket play = new PlayStatusPacket(); - play.setStatus(PlayStatusPacket.Status.PLAYER_SPAWN); - session.sendPacketImmediately(play); - - SetTimePacket st = new SetTimePacket(); - st.setTime(0); - session.sendPacketImmediately(st); - return false; - } - - @Override - public boolean handle(RiderJumpPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ServerSettingsRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetDefaultGameTypePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetLocalPlayerAsInitializedPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetPlayerGameTypePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SubClientLoginPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(TextPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddBehaviorTreePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddEntityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddHangingEntityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddItemEntityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddPaintingPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AddPlayerPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AvailableCommandsPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BlockEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BossEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CameraPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ChangeDimensionPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ChunkRadiusUpdatedPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ClientboundMapItemDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CommandOutputPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ContainerOpenPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ContainerSetDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(CraftingDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ExplodePacket packet) { - System.out.println(packet.toString()); - return false; - } - - /** @Override - public boolean handle(FullChunkDataPacket packet) { - System.out.println(packet.toString()); - return false; - } **/ - - @Override - public boolean handle(GameRulesChangedPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(GuiDataPickItemPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(HurtArmorPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AutomationClientConnectPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(LevelEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MapCreateLockedCopyPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MobEffectPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ModalFormRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(MoveEntityDeltaPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(NpcRequestPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(OnScreenTextureAnimationPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayerListPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlaySoundPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(PlayStatusPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(RemoveEntityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(RemoveObjectivePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ResourcePackChunkDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ResourcePackDataInfoPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ResourcePacksInfoPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ResourcePackStackPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(RespawnPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ScriptCustomEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ServerSettingsResponsePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ServerToClientHandshakePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetCommandsEnabledPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetDifficultyPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetDisplayObjectivePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetEntityDataPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetEntityLinkPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetEntityMotionPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetHealthPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetLastHurtByPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetScoreboardIdentityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetScorePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetSpawnPositionPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetTimePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SetTitlePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ShowCreditsPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ShowProfilePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(ShowStoreOfferPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SimpleEventPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SpawnExperienceOrbPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(StartGamePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(StopSoundPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(StructureBlockUpdatePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(TakeItemEntityPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(TransferPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateAttributesPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateBlockPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateBlockSyncedPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateEquipPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateSoftEnumPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(UpdateTradePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(AvailableEntityIdentifiersPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(BiomeDefinitionListPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(LevelSoundEvent2Packet packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(NetworkChunkPublisherUpdatePacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(SpawnParticleEffectPacket packet) { - System.out.println(packet.toString()); - return false; - } - - @Override - public boolean handle(VideoStreamConnectPacket packet) { - System.out.println(packet.toString()); - return false; - } - - public ClientPacketHandler() { - //this.session = session; - - //session.addDisconnectHandler((Reason) -> disconnect()); - } - - public void disconnect() { - //player.getClient().getSession().disconnect("Left Game"); - //server.removePlayer(player); - } - - @Override - public boolean handle(DisconnectPacket packet) { - System.out.println(packet.toString()); - return true; - } - - @Override - public boolean handle(ResourcePackChunkRequestPacket packet) { - System.out.println(packet.toString()); - return true; - } - - @Override - public boolean handle(ResourcePackClientResponsePacket packet) { - System.out.println(packet.toString()); - return true; - } - - @Override - public boolean handle(LoginPacket packet) { - System.out.println(packet.toString()); - return true; - } - -}
\ No newline at end of file diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java index 5a7688e..85b9fd4 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/listeners/PacketHandler.java @@ -1,17 +1,17 @@ package main.com.pyratron.pugmatt.bedrockconnect.listeners; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.JsonNodeType; -import com.nukkitx.math.vector.Vector2f; +import com.nimbusds.jwt.SignedJWT; import com.nukkitx.math.vector.Vector3f; -import com.nukkitx.math.vector.Vector3i; import com.nukkitx.nbt.CompoundTagBuilder; import com.nukkitx.nbt.NbtUtils; import com.nukkitx.nbt.stream.NBTOutputStream; import com.nukkitx.nbt.tag.CompoundTag; import com.nukkitx.network.util.Preconditions; -import com.nukkitx.protocol.bedrock.BedrockClientSession; -import com.nukkitx.protocol.bedrock.data.GamePublishSetting; +import com.nukkitx.protocol.bedrock.BedrockClient; import com.nukkitx.protocol.bedrock.packet.*; import com.nimbusds.jose.JOSEException; import com.nimbusds.jose.JWSObject; @@ -20,6 +20,10 @@ import com.nukkitx.protocol.bedrock.BedrockServerSession; import com.nukkitx.protocol.bedrock.handler.BedrockPacketHandler; import com.nukkitx.protocol.bedrock.packet.LoginPacket; import com.nukkitx.protocol.bedrock.util.EncryptionUtils; +import com.nukkitx.protocol.bedrock.v388.Bedrock_v388; +import com.nukkitx.protocol.bedrock.v407.Bedrock_v407; +import io.netty.util.AsciiString; +import io.netty.util.internal.ThreadLocalRandom; import main.com.pyratron.pugmatt.bedrockconnect.BedrockConnect; import main.com.pyratron.pugmatt.bedrockconnect.Server; import main.com.pyratron.pugmatt.bedrockconnect.gui.UIComponents; @@ -28,9 +32,13 @@ import net.minidev.json.JSONObject; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.net.InetSocketAddress; import java.security.interfaces.ECPublicKey; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; // Heavily referenced from https://github.com/NukkitX/ProxyPass/blob/master/src/main/java/com/nukkitx/proxypass/network/bedrock/session/UpstreamPacketHandler.java @@ -44,8 +52,13 @@ public class PacketHandler implements BedrockPacketHandler { private JSONObject extraData; + private JSONObject skinData; + private ArrayNode chainData; + private boolean print = false; + private boolean packetListening; + private static final CompoundTag EMPTY_TAG = CompoundTagBuilder.builder().buildRootTag(); private static final byte[] EMPTY_LEVEL_CHUNK_DATA; @@ -1054,6 +1067,9 @@ public class PacketHandler implements BedrockPacketHandler { case UIForms.ERROR: session.sendPacketImmediately(UIForms.createMain(server.getPlayer(uuid).getServerList())); break; + case UIForms.DONATION: + session.sendPacketImmediately(UIForms.createMain(server.getPlayer(uuid).getServerList())); + break; } return false; } @@ -1073,9 +1089,10 @@ public class PacketHandler implements BedrockPacketHandler { return false; } - public PacketHandler(BedrockServerSession session, Server server) { + public PacketHandler(BedrockServerSession session, Server server, boolean packetListening) { this.session = session; this.server = server; + this.packetListening = packetListening; session.addDisconnectHandler((DisconnectReason) -> disconnect()); } @@ -1142,15 +1159,13 @@ public class PacketHandler implements BedrockPacketHandler { @Override public boolean handle(LoginPacket packet) { - if(print) - System.out.println(packet.toString()); int protocolVersion = packet.getProtocolVersion(); if (protocolVersion != server.getProtocol()) { PlayStatusPacket status = new PlayStatusPacket(); if (protocolVersion > server.getProtocol()) { - status.setStatus(PlayStatusPacket.Status.FAILED_SERVER); + status.setStatus(PlayStatusPacket.Status.LOGIN_FAILED_SERVER_OLD); } else { - status.setStatus(PlayStatusPacket.Status.FAILED_CLIENT); + status.setStatus(PlayStatusPacket.Status.LOGIN_FAILED_CLIENT_OLD); } session.sendPacket(status); } @@ -1167,6 +1182,7 @@ public class PacketHandler implements BedrockPacketHandler { if (certChainData.getNodeType() != JsonNodeType.ARRAY) { throw new RuntimeException("Certificate data is not valid"); } + chainData = (ArrayNode) certChainData; boolean validChain; try { @@ -1191,23 +1207,24 @@ public class PacketHandler implements BedrockPacketHandler { System.out.println("Made it through login - " + "User: " + extraData.getAsString("displayName") + " (" + extraData.getAsString("identity") + ")"); - name = extraData.getAsString("displayName"); - uuid = extraData.getAsString("identity"); + name = extraData.getAsString("displayName"); + uuid = extraData.getAsString("identity"); - PlayStatusPacket status = new PlayStatusPacket(); - status.setStatus(PlayStatusPacket.Status.LOGIN_SUCCESS); - session.sendPacket(status); - SetEntityMotionPacket motion = new SetEntityMotionPacket(); - motion.setRuntimeEntityId(1); - motion.setMotion(Vector3f.ZERO); - session.sendPacket(motion); + PlayStatusPacket status = new PlayStatusPacket(); + status.setStatus(PlayStatusPacket.Status.LOGIN_SUCCESS); + session.sendPacket(status); + + SetEntityMotionPacket motion = new SetEntityMotionPacket(); + motion.setRuntimeEntityId(1); + motion.setMotion(Vector3f.ZERO); + session.sendPacket(motion); - ResourcePacksInfoPacket resourcePacksInfo = new ResourcePacksInfoPacket(); - resourcePacksInfo.setForcedToAccept(false); - resourcePacksInfo.setScriptingEnabled(false); - session.sendPacket(resourcePacksInfo); + ResourcePacksInfoPacket resourcePacksInfo = new ResourcePacksInfoPacket(); + resourcePacksInfo.setForcedToAccept(false); + resourcePacksInfo.setScriptingEnabled(false); + session.sendPacket(resourcePacksInfo); } catch (Exception e) { session.disconnect("disconnectionScreen.internalError.cantConnect"); throw new RuntimeException("Unable to complete login", e); @@ -1215,4 +1232,15 @@ public class PacketHandler implements BedrockPacketHandler { return true; } + public Set<BedrockClient> clients = Collections.newSetFromMap(new ConcurrentHashMap<>()); + + public BedrockClient newClient() { + InetSocketAddress bindAddress = new InetSocketAddress("0.0.0.0", ThreadLocalRandom.current().nextInt(20000, 60000)); + BedrockClient client = new BedrockClient(bindAddress); + this.clients.add(client); + client.bind().join(); + return client; + } + + }
\ No newline at end of file diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/sql/MySQL.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/sql/MySQL.java index 4013dda..c2bd20c 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/sql/MySQL.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/sql/MySQL.java @@ -5,7 +5,6 @@ import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.logging.Level; @@ -48,7 +47,7 @@ public class MySQL extends Database { public Connection openConnection() { try { Class.forName("com.mysql.cj.jdbc.Driver"); - connection = DriverManager.getConnection("jdbc:mysql://" + this.hostname + "/" + this.database, this.user, this.password); + connection = DriverManager.getConnection("jdbc:mysql://" + this.hostname + "/" + this.database + "?serverTimezone=UTC&useLegacyDatetimeCode=false", this.user, this.password); System.out.println("- MySQL Connection Started -"); } catch (SQLException e) { diff --git a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java index e7bb857..b33c92a 100644 --- a/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java +++ b/serverlist-server/src/main/com/pyratron/pugmatt/bedrockconnect/utils/PaletteManager.java @@ -1,26 +1,21 @@ package main.com.pyratron.pugmatt.bedrockconnect.utils; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.type.CollectionType; -import com.nukkitx.nbt.CompoundTagBuilder; import com.nukkitx.nbt.NbtUtils; import com.nukkitx.nbt.stream.NBTInputStream; -import com.nukkitx.nbt.stream.NBTOutputStream; import com.nukkitx.nbt.tag.CompoundTag; import com.nukkitx.nbt.tag.ListTag; -import com.nukkitx.network.VarInts; -import com.nukkitx.protocol.bedrock.v388.BedrockUtils; +import com.nukkitx.protocol.bedrock.data.inventory.ItemData; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import main.com.pyratron.pugmatt.bedrockconnect.BedrockConnect; import java.io.*; import java.nio.ByteOrder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; // https://github.com/DragonetMC/DragonProxy/blob/rewrite/proxy/src/main/java/org/dragonet/proxy/util/PaletteManager.java // Author: lukeeey @@ -33,6 +28,75 @@ public class PaletteManager { public ListTag<CompoundTag> CACHED_PALLETE; + public static final CompoundTag BIOMES; + + static { + InputStream stream = BedrockConnect.class.getClassLoader().getResourceAsStream("tables/biome_definitions.dat"); + + CompoundTag biomesTag; + + try (NBTInputStream biomenbtInputStream = NbtUtils.createNetworkReader(stream)){ + biomesTag = (CompoundTag) biomenbtInputStream.readTag(); + BIOMES = biomesTag; + } catch (Exception ex) { + throw new AssertionError(ex); + } + } + + public static final CompoundTag ENTITY_IDENTIFIERS; + + static { + InputStream stream = BedrockConnect.class.getClassLoader().getResourceAsStream("tables/entity_identifiers.dat"); + + CompoundTag entityTag; + + try (NBTInputStream entitynbtInputStream = NbtUtils.createNetworkReader(stream)){ + entityTag = (CompoundTag) entitynbtInputStream.readTag(); + ENTITY_IDENTIFIERS = entityTag; + } catch (Exception ex) { + throw new AssertionError(ex); + } + } + + private static final ObjectMapper JSON_MAPPER = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + + public static final ItemData[] CREATIVE_ITEMS; + + static { + /* Load creative items */ + InputStream stream = BedrockConnect.class.getClassLoader().getResourceAsStream("tables/creative_items.json"); + + JsonNode creativeItemEntries; + try { + creativeItemEntries = JSON_MAPPER.readTree(stream).get("items"); + } catch (Exception e) { + throw new AssertionError("Unable to load creative items", e); + } + + List<ItemData> creativeItems = new ArrayList<>(); + for (JsonNode itemNode : creativeItemEntries) { + short damage = 0; + if (itemNode.has("damage")) { + damage = itemNode.get("damage").numberValue().shortValue(); + } + if (itemNode.has("nbt_b64")) { + byte[] bytes = Base64.getDecoder().decode(itemNode.get("nbt_b64").asText()); + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + try { + com.nukkitx.nbt.tag.CompoundTag tag = (com.nukkitx.nbt.tag.CompoundTag) NbtUtils.createReaderLE(bais).readTag(); + creativeItems.add(ItemData.of(itemNode.get("id").asInt(), damage, 1, tag)); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + creativeItems.add(ItemData.of(itemNode.get("id").asInt(), damage, 1)); + } + } + CREATIVE_ITEMS = creativeItems.toArray(new ItemData[0]); + } + + + public PaletteManager() { InputStream stream = BedrockConnect.class.getClassLoader().getResourceAsStream("tables/runtime_block_states.dat"); if (stream == null) { diff --git a/serverlist-server/src/main/resources/tables/biome_definitions.dat b/serverlist-server/src/main/resources/tables/biome_definitions.dat Binary files differindex 015a265..6d72cc9 100644 --- a/serverlist-server/src/main/resources/tables/biome_definitions.dat +++ b/serverlist-server/src/main/resources/tables/biome_definitions.dat diff --git a/serverlist-server/src/main/resources/tables/creative_items.json b/serverlist-server/src/main/resources/tables/creative_items.json index 6007398..8045b21 100644 --- a/serverlist-server/src/main/resources/tables/creative_items.json +++ b/serverlist-server/src/main/resources/tables/creative_items.json @@ -1,4157 +1,4204 @@ -[ - { - "id" : 5 - }, - { - "id" : 5, - "damage" : 1 - }, - { - "id" : 5, - "damage" : 2 - }, - { - "id" : 5, - "damage" : 3 - }, - { - "id" : 5, - "damage" : 4 - }, - { - "id" : 5, - "damage" : 5 - }, - { - "id" : 139 - }, - { - "id" : 139, - "damage" : 1 - }, - { - "id" : 139, - "damage" : 2 - }, - { - "id" : 139, - "damage" : 3 - }, - { - "id" : 139, - "damage" : 4 - }, - { - "id" : 139, - "damage" : 5 - }, - { - "id" : 139, - "damage" : 12 - }, - { - "id" : 139, - "damage" : 7 - }, - { - "id" : 139, - "damage" : 8 - }, - { - "id" : 139, - "damage" : 6 - }, - { - "id" : 139, - "damage" : 9 - }, - { - "id" : 139, - "damage" : 13 - }, - { - "id" : 139, - "damage" : 10 - }, - { - "id" : 139, - "damage" : 11 - }, - { - "id" : 85 - }, - { - "id" : 85, - "damage" : 1 - }, - { - "id" : 85, - "damage" : 2 - }, - { - "id" : 85, - "damage" : 3 - }, - { - "id" : 85, - "damage" : 4 - }, - { - "id" : 85, - "damage" : 5 - }, - { - "id" : 113 - }, - { - "id" : 107 - }, - { - "id" : 183 - }, - { - "id" : 184 - }, - { - "id" : 185 - }, - { - "id" : 187 - }, - { - "id" : 186 - }, - { - "id" : -180 - }, - { - "id" : 67 - }, - { - "id" : -179 - }, - { - "id" : 53 - }, - { - "id" : 134 - }, - { - "id" : 135 - }, - { - "id" : 136 - }, - { - "id" : 163 - }, - { - "id" : 164 - }, - { - "id" : 109 - }, - { - "id" : -175 - }, - { - "id" : 128 - }, - { - "id" : -177 - }, - { - "id" : 180 - }, - { - "id" : -176 - }, - { - "id" : -169 - }, - { - "id" : -172 - }, - { - "id" : -170 - }, - { - "id" : -173 - }, - { - "id" : -171 - }, - { - "id" : -174 - }, - { - "id" : 108 - }, - { - "id" : 114 - }, - { - "id" : -184 - }, - { - "id" : -178 - }, - { - "id" : 156 - }, - { - "id" : -185 - }, - { - "id" : 203 - }, - { - "id" : -2 - }, - { - "id" : -3 - }, - { - "id" : -4 - }, - { - "id" : 324 - }, - { - "id" : 427 - }, - { - "id" : 428 - }, - { - "id" : 429 - }, - { - "id" : 430 - }, - { - "id" : 431 - }, - { - "id" : 330 - }, - { - "id" : 96 - }, - { - "id" : -149 - }, - { - "id" : -146 - }, - { - "id" : -148 - }, - { - "id" : -145 - }, - { - "id" : -147 - }, - { - "id" : 167 - }, - { - "id" : 101 - }, - { - "id" : 20 - }, - { - "id" : 241 - }, - { - "id" : 241, - "damage" : 8 - }, - { - "id" : 241, - "damage" : 7 - }, - { - "id" : 241, - "damage" : 15 - }, - { - "id" : 241, - "damage" : 12 - }, - { - "id" : 241, - "damage" : 14 - }, - { - "id" : 241, - "damage" : 1 - }, - { - "id" : 241, - "damage" : 4 - }, - { - "id" : 241, - "damage" : 5 - }, - { - "id" : 241, - "damage" : 13 - }, - { - "id" : 241, - "damage" : 9 - }, - { - "id" : 241, - "damage" : 3 - }, - { - "id" : 241, - "damage" : 11 - }, - { - "id" : 241, - "damage" : 10 - }, - { - "id" : 241, - "damage" : 2 - }, - { - "id" : 241, - "damage" : 6 - }, - { - "id" : 102 - }, - { - "id" : 160 - }, - { - "id" : 160, - "damage" : 8 - }, - { - "id" : 160, - "damage" : 7 - }, - { - "id" : 160, - "damage" : 15 - }, - { - "id" : 160, - "damage" : 12 - }, - { - "id" : 160, - "damage" : 14 - }, - { - "id" : 160, - "damage" : 1 - }, - { - "id" : 160, - "damage" : 4 - }, - { - "id" : 160, - "damage" : 5 - }, - { - "id" : 160, - "damage" : 13 - }, - { - "id" : 160, - "damage" : 9 - }, - { - "id" : 160, - "damage" : 3 - }, - { - "id" : 160, - "damage" : 11 - }, - { - "id" : 160, - "damage" : 10 - }, - { - "id" : 160, - "damage" : 2 - }, - { - "id" : 160, - "damage" : 6 - }, - { - "id" : 65 - }, - { - "id" : -165 - }, - { - "id" : 44 - }, - { - "id" : -166, - "damage" : 2 - }, - { - "id" : 44, - "damage" : 3 - }, - { - "id" : 182, - "damage" : 5 - }, - { - "id" : 158 - }, - { - "id" : 158, - "damage" : 1 - }, - { - "id" : 158, - "damage" : 2 - }, - { - "id" : 158, - "damage" : 3 - }, - { - "id" : 158, - "damage" : 4 - }, - { - "id" : 158, - "damage" : 5 - }, - { - "id" : 44, - "damage" : 5 - }, - { - "id" : -166 - }, - { - "id" : 44, - "damage" : 1 - }, - { - "id" : -166, - "damage" : 3 - }, - { - "id" : 182, - "damage" : 6 - }, - { - "id" : 182 - }, - { - "id" : -166, - "damage" : 4 - }, - { - "id" : -162, - "damage" : 1 - }, - { - "id" : -162, - "damage" : 6 - }, - { - "id" : -162, - "damage" : 7 - }, - { - "id" : -162, - "damage" : 4 - }, - { - "id" : -162, - "damage" : 5 - }, - { - "id" : -162, - "damage" : 3 - }, - { - "id" : -162, - "damage" : 2 - }, - { - "id" : 44, - "damage" : 4 - }, - { - "id" : 44, - "damage" : 7 - }, - { - "id" : 182, - "damage" : 7 - }, - { - "id" : -162 - }, - { - "id" : 44, - "damage" : 6 - }, - { - "id" : -166, - "damage" : 1 - }, - { - "id" : 182, - "damage" : 1 - }, - { - "id" : 182, - "damage" : 2 - }, - { - "id" : 182, - "damage" : 3 - }, - { - "id" : 182, - "damage" : 4 - }, - { - "id" : 45 - }, - { - "id" : 98 - }, - { - "id" : 98, - "damage" : 1 - }, - { - "id" : 98, - "damage" : 2 - }, - { - "id" : 98, - "damage" : 3 - }, - { - "id" : 206 - }, - { - "id" : 168, - "damage" : 2 - }, - { - "id" : 4 - }, - { - "id" : 48 - }, - { - "id" : -183 - }, - { - "id" : 24 - }, - { - "id" : 24, - "damage" : 1 - }, - { - "id" : 24, - "damage" : 2 - }, - { - "id" : 24, - "damage" : 3 - }, - { - "id" : 179 - }, - { - "id" : 179, - "damage" : 1 - }, - { - "id" : 179, - "damage" : 2 - }, - { - "id" : 179, - "damage" : 3 - }, - { - "id" : 173 - }, - { - "id" : -139 - }, - { - "id" : 41 - }, - { - "id" : 42 - }, - { - "id" : 133 - }, - { - "id" : 57 - }, - { - "id" : 22 - }, - { - "id" : 155 - }, - { - "id" : 155, - "damage" : 2 - }, - { - "id" : 155, - "damage" : 1 - }, - { - "id" : 155, - "damage" : 3 - }, - { - "id" : 168 - }, - { - "id" : 168, - "damage" : 1 - }, - { - "id" : 165 - }, - { - "id" : 170 - }, - { - "id" : 216 - }, - { - "id" : 214 - }, - { - "id" : 112 - }, - { - "id" : 215 - }, - { - "id" : 35 - }, - { - "id" : 35, - "damage" : 8 - }, - { - "id" : 35, - "damage" : 7 - }, - { - "id" : 35, - "damage" : 15 - }, - { - "id" : 35, - "damage" : 12 - }, - { - "id" : 35, - "damage" : 14 - }, - { - "id" : 35, - "damage" : 1 - }, - { - "id" : 35, - "damage" : 4 - }, - { - "id" : 35, - "damage" : 5 - }, - { - "id" : 35, - "damage" : 13 - }, - { - "id" : 35, - "damage" : 9 - }, - { - "id" : 35, - "damage" : 3 - }, - { - "id" : 35, - "damage" : 11 - }, - { - "id" : 35, - "damage" : 10 - }, - { - "id" : 35, - "damage" : 2 - }, - { - "id" : 35, - "damage" : 6 - }, - { - "id" : 171 - }, - { - "id" : 171, - "damage" : 8 - }, - { - "id" : 171, - "damage" : 7 - }, - { - "id" : 171, - "damage" : 15 - }, - { - "id" : 171, - "damage" : 12 - }, - { - "id" : 171, - "damage" : 14 - }, - { - "id" : 171, - "damage" : 1 - }, - { - "id" : 171, - "damage" : 4 - }, - { - "id" : 171, - "damage" : 5 - }, - { - "id" : 171, - "damage" : 13 - }, - { - "id" : 171, - "damage" : 9 - }, - { - "id" : 171, - "damage" : 3 - }, - { - "id" : 171, - "damage" : 11 - }, - { - "id" : 171, - "damage" : 10 - }, - { - "id" : 171, - "damage" : 2 - }, - { - "id" : 171, - "damage" : 6 - }, - { - "id" : 237 - }, - { - "id" : 237, - "damage" : 8 - }, - { - "id" : 237, - "damage" : 7 - }, - { - "id" : 237, - "damage" : 15 - }, - { - "id" : 237, - "damage" : 12 - }, - { - "id" : 237, - "damage" : 14 - }, - { - "id" : 237, - "damage" : 1 - }, - { - "id" : 237, - "damage" : 4 - }, - { - "id" : 237, - "damage" : 5 - }, - { - "id" : 237, - "damage" : 13 - }, - { - "id" : 237, - "damage" : 9 - }, - { - "id" : 237, - "damage" : 3 - }, - { - "id" : 237, - "damage" : 11 - }, - { - "id" : 237, - "damage" : 10 - }, - { - "id" : 237, - "damage" : 2 - }, - { - "id" : 237, - "damage" : 6 - }, - { - "id" : 236 - }, - { - "id" : 236, - "damage" : 8 - }, - { - "id" : 236, - "damage" : 7 - }, - { - "id" : 236, - "damage" : 15 - }, - { - "id" : 236, - "damage" : 12 - }, - { - "id" : 236, - "damage" : 14 - }, - { - "id" : 236, - "damage" : 1 - }, - { - "id" : 236, - "damage" : 4 - }, - { - "id" : 236, - "damage" : 5 - }, - { - "id" : 236, - "damage" : 13 - }, - { - "id" : 236, - "damage" : 9 - }, - { - "id" : 236, - "damage" : 3 - }, - { - "id" : 236, - "damage" : 11 - }, - { - "id" : 236, - "damage" : 10 - }, - { - "id" : 236, - "damage" : 2 - }, - { - "id" : 236, - "damage" : 6 - }, - { - "id" : 82 - }, - { - "id" : 172 - }, - { - "id" : 159 - }, - { - "id" : 159, - "damage" : 8 - }, - { - "id" : 159, - "damage" : 7 - }, - { - "id" : 159, - "damage" : 15 - }, - { - "id" : 159, - "damage" : 12 - }, - { - "id" : 159, - "damage" : 14 - }, - { - "id" : 159, - "damage" : 1 - }, - { - "id" : 159, - "damage" : 4 - }, - { - "id" : 159, - "damage" : 5 - }, - { - "id" : 159, - "damage" : 13 - }, - { - "id" : 159, - "damage" : 9 - }, - { - "id" : 159, - "damage" : 3 - }, - { - "id" : 159, - "damage" : 11 - }, - { - "id" : 159, - "damage" : 10 - }, - { - "id" : 159, - "damage" : 2 - }, - { - "id" : 159, - "damage" : 6 - }, - { - "id" : 220 - }, - { - "id" : 228 - }, - { - "id" : 227 - }, - { - "id" : 235 - }, - { - "id" : 232 - }, - { - "id" : 234 - }, - { - "id" : 221 - }, - { - "id" : 224 - }, - { - "id" : 225 - }, - { - "id" : 233 - }, - { - "id" : 229 - }, - { - "id" : 223 - }, - { - "id" : 231 - }, - { - "id" : 219 - }, - { - "id" : 222 - }, - { - "id" : 226 - }, - { - "id" : 201 - }, - { - "id" : 201, - "damage" : 2 - }, - { - "id" : 3 - }, - { - "id" : 3, - "damage" : 1 - }, - { - "id" : 2 - }, - { - "id" : 243 - }, - { - "id" : 110 - }, - { - "id" : 1 - }, - { - "id" : 15 - }, - { - "id" : 14 - }, - { - "id" : 56 - }, - { - "id" : 21 - }, - { - "id" : 73 - }, - { - "id" : 16 - }, - { - "id" : 129 - }, - { - "id" : 153 - }, - { - "id" : 13 - }, - { - "id" : 1, - "damage" : 1 - }, - { - "id" : 1, - "damage" : 3 - }, - { - "id" : 1, - "damage" : 5 - }, - { - "id" : 1, - "damage" : 2 - }, - { - "id" : 1, - "damage" : 4 - }, - { - "id" : 1, - "damage" : 6 - }, - { - "id" : 12 - }, - { - "id" : 12, - "damage" : 1 - }, - { - "id" : 81 - }, - { - "id" : 17 - }, - { - "id" : -10 - }, - { - "id" : 17, - "damage" : 1 - }, - { - "id" : -5 - }, - { - "id" : 17, - "damage" : 2 - }, - { - "id" : -6 - }, - { - "id" : 17, - "damage" : 3 - }, - { - "id" : -7 - }, - { - "id" : 162 - }, - { - "id" : -8 - }, - { - "id" : 162, - "damage" : 1 - }, - { - "id" : -9 - }, - { - "id" : -212 - }, - { - "id" : -212, - "damage" : 8 - }, - { - "id" : -212, - "damage" : 1 - }, - { - "id" : -212, - "damage" : 9 - }, - { - "id" : -212, - "damage" : 2 - }, - { - "id" : -212, - "damage" : 10 - }, - { - "id" : -212, - "damage" : 3 - }, - { - "id" : -212, - "damage" : 11 - }, - { - "id" : -212, - "damage" : 4 - }, - { - "id" : -212, - "damage" : 12 - }, - { - "id" : -212, - "damage" : 5 - }, - { - "id" : -212, - "damage" : 13 - }, - { - "id" : 18 - }, - { - "id" : 18, - "damage" : 1 - }, - { - "id" : 18, - "damage" : 2 - }, - { - "id" : 18, - "damage" : 3 - }, - { - "id" : 161 - }, - { - "id" : 161, - "damage" : 1 - }, - { - "id" : 6 - }, - { - "id" : 6, - "damage" : 1 - }, - { - "id" : 6, - "damage" : 2 - }, - { - "id" : 6, - "damage" : 3 - }, - { - "id" : 6, - "damage" : 4 - }, - { - "id" : 6, - "damage" : 5 - }, - { - "id" : 295 - }, - { - "id" : 361 - }, - { - "id" : 362 - }, - { - "id" : 458 - }, - { - "id" : 296 - }, - { - "id" : 457 - }, - { - "id" : 392 - }, - { - "id" : 394 - }, - { - "id" : 391 - }, - { - "id" : 396 - }, - { - "id" : 260 - }, - { - "id" : 322 - }, - { - "id" : 466 - }, - { - "id" : 103 - }, - { - "id" : 360 - }, - { - "id" : 382 - }, - { - "id" : 477 - }, - { - "id" : 86 - }, - { - "id" : -155 - }, - { - "id" : 91 - }, - { - "id" : 31, - "damage" : 2 - }, - { - "id" : 175, - "damage" : 3 - }, - { - "id" : 31, - "damage" : 1 - }, - { - "id" : 175, - "damage" : 2 - }, - { - "id" : -131, - "damage" : 3 - }, - { - "id" : -131, - "damage" : 1 - }, - { - "id" : -131, - "damage" : 2 - }, - { - "id" : -131 - }, - { - "id" : -131, - "damage" : 4 - }, - { - "id" : -133, - "damage" : 3 - }, - { - "id" : -133, - "damage" : 1 - }, - { - "id" : -133, - "damage" : 2 - }, - { - "id" : -133 - }, - { - "id" : -133, - "damage" : 4 - }, - { - "id" : -134, - "damage" : 3 - }, - { - "id" : -134, - "damage" : 1 - }, - { - "id" : -134, - "damage" : 2 - }, - { - "id" : -134 - }, - { - "id" : -134, - "damage" : 4 - }, - { - "id" : 335 - }, - { - "id" : -130 - }, - { - "id" : 37 - }, - { - "id" : 38 - }, - { - "id" : 38, - "damage" : 1 - }, - { - "id" : 38, - "damage" : 2 - }, - { - "id" : 38, - "damage" : 3 - }, - { - "id" : 38, - "damage" : 4 - }, - { - "id" : 38, - "damage" : 5 - }, - { - "id" : 38, - "damage" : 6 - }, - { - "id" : 38, - "damage" : 7 - }, - { - "id" : 38, - "damage" : 8 - }, - { - "id" : 38, - "damage" : 9 - }, - { - "id" : 38, - "damage" : 10 - }, - { - "id" : 175 - }, - { - "id" : 175, - "damage" : 1 - }, - { - "id" : 175, - "damage" : 4 - }, - { - "id" : 175, - "damage" : 5 - }, - { - "id" : 351, - "damage" : 19 - }, - { - "id" : 351, - "damage" : 7 - }, - { - "id" : 351, - "damage" : 8 - }, - { - "id" : 351, - "damage" : 16 - }, - { - "id" : 351, - "damage" : 17 - }, - { - "id" : 351, - "damage" : 1 - }, - { - "id" : 351, - "damage" : 14 - }, - { - "id" : 351, - "damage" : 11 - }, - { - "id" : 351, - "damage" : 10 - }, - { - "id" : 351, - "damage" : 2 - }, - { - "id" : 351, - "damage" : 6 - }, - { - "id" : 351, - "damage" : 12 - }, - { - "id" : 351, - "damage" : 18 - }, - { - "id" : 351, - "damage" : 5 - }, - { - "id" : 351, - "damage" : 13 - }, - { - "id" : 351, - "damage" : 9 - }, - { - "id" : 351 - }, - { - "id" : 351, - "damage" : 3 - }, - { - "id" : 351, - "damage" : 4 - }, - { - "id" : 351, - "damage" : 15 - }, - { - "id" : 106 - }, - { - "id" : 111 - }, - { - "id" : 32 - }, - { - "id" : -163 - }, - { - "id" : 80 - }, - { - "id" : 79 - }, - { - "id" : 174 - }, - { - "id" : -11 - }, - { - "id" : 78 - }, - { - "id" : 365 - }, - { - "id" : 319 - }, - { - "id" : 363 - }, - { - "id" : 423 - }, - { - "id" : 411 - }, - { - "id" : 349 - }, - { - "id" : 460 - }, - { - "id" : 461 - }, - { - "id" : 462 - }, - { - "id" : 39 - }, - { - "id" : 40 - }, - { - "id" : 99, - "damage" : 14 - }, - { - "id" : 100, - "damage" : 14 - }, - { - "id" : 99, - "damage" : 15 - }, - { - "id" : 99 - }, - { - "id" : 344 - }, - { - "id" : 338 - }, - { - "id" : 353 - }, - { - "id" : 367 - }, - { - "id" : 352 - }, - { - "id" : 30 - }, - { - "id" : 375 - }, - { - "id" : 52 - }, - { - "id" : 97 - }, - { - "id" : 97, - "damage" : 1 - }, - { - "id" : 97, - "damage" : 2 - }, - { - "id" : 97, - "damage" : 3 - }, - { - "id" : 97, - "damage" : 4 - }, - { - "id" : 97, - "damage" : 5 - }, - { - "id" : 122 - }, - { - "id" : -159 - }, - { - "id" : 383, - "damage" : 10 - }, - { - "id" : 383, - "damage" : 11 - }, - { - "id" : 383, - "damage" : 12 - }, - { - "id" : 383, - "damage" : 13 - }, - { - "id" : 383, - "damage" : 14 - }, - { - "id" : 383, - "damage" : 28 - }, - { - "id" : 383, - "damage" : 22 - }, - { - "id" : 383, - "damage" : 75 - }, - { - "id" : 383, - "damage" : 16 - }, - { - "id" : 383, - "damage" : 19 - }, - { - "id" : 383, - "damage" : 30 - }, - { - "id" : 383, - "damage" : 18 - }, - { - "id" : 383, - "damage" : 29 - }, - { - "id" : 383, - "damage" : 23 - }, - { - "id" : 383, - "damage" : 24 - }, - { - "id" : 383, - "damage" : 25 - }, - { - "id" : 383, - "damage" : 26 - }, - { - "id" : 383, - "damage" : 27 - }, - { - "id" : 383, - "damage" : 111 - }, - { - "id" : 383, - "damage" : 112 - }, - { - "id" : 383, - "damage" : 108 - }, - { - "id" : 383, - "damage" : 109 - }, - { - "id" : 383, - "damage" : 31 - }, - { - "id" : 383, - "damage" : 74 - }, - { - "id" : 383, - "damage" : 113 - }, - { - "id" : 383, - "damage" : 33 - }, - { - "id" : 383, - "damage" : 38 - }, - { - "id" : 383, - "damage" : 39 - }, - { - "id" : 383, - "damage" : 34 - }, - { - "id" : 383, - "damage" : 48 - }, - { - "id" : 383, - "damage" : 46 - }, - { - "id" : 383, - "damage" : 37 - }, - { - "id" : 383, - "damage" : 35 - }, - { - "id" : 383, - "damage" : 32 - }, - { - "id" : 383, - "damage" : 36 - }, - { - "id" : 383, - "damage" : 47 - }, - { - "id" : 383, - "damage" : 110 - }, - { - "id" : 383, - "damage" : 17 - }, - { - "id" : 383, - "damage" : 40 - }, - { - "id" : 383, - "damage" : 45 - }, - { - "id" : 383, - "damage" : 49 - }, - { - "id" : 383, - "damage" : 50 - }, - { - "id" : 383, - "damage" : 55 - }, - { - "id" : 383, - "damage" : 42 - }, - { - "id" : 383, - "damage" : 41 - }, - { - "id" : 383, - "damage" : 43 - }, - { - "id" : 383, - "damage" : 54 - }, - { - "id" : 383, - "damage" : 57 - }, - { - "id" : 383, - "damage" : 104 - }, - { - "id" : 383, - "damage" : 105 - }, - { - "id" : 383, - "damage" : 115 - }, - { - "id" : 383, - "damage" : 118 - }, - { - "id" : 383, - "damage" : 116 - }, - { - "id" : 383, - "damage" : 58 - }, - { - "id" : 383, - "damage" : 114 - }, - { - "id" : 383, - "damage" : 59 - }, - { - "id" : 49 - }, - { - "id" : 7 - }, - { - "id" : 88 - }, - { - "id" : 87 - }, - { - "id" : 213 - }, - { - "id" : 372 - }, - { - "id" : 121 - }, - { - "id" : 200 - }, - { - "id" : 240 - }, - { - "id" : 432 - }, - { - "id" : 433 - }, - { - "id" : 19 - }, - { - "id" : 19, - "damage" : 1 - }, - { - "id" : -132 - }, - { - "id" : -132, - "damage" : 1 - }, - { - "id" : -132, - "damage" : 2 - }, - { - "id" : -132, - "damage" : 3 - }, - { - "id" : -132, - "damage" : 4 - }, - { - "id" : -132, - "damage" : 8 - }, - { - "id" : -132, - "damage" : 9 - }, - { - "id" : -132, - "damage" : 10 - }, - { - "id" : -132, - "damage" : 11 - }, - { - "id" : -132, - "damage" : 12 - }, - { - "id" : 298 - }, - { - "id" : 302 - }, - { - "id" : 306 - }, - { - "id" : 314 - }, - { - "id" : 310 - }, - { - "id" : 299 - }, - { - "id" : 303 - }, - { - "id" : 307 - }, - { - "id" : 315 - }, - { - "id" : 311 - }, - { - "id" : 300 - }, - { - "id" : 304 - }, - { - "id" : 308 - }, - { - "id" : 316 - }, - { - "id" : 312 - }, - { - "id" : 301 - }, - { - "id" : 305 - }, - { - "id" : 309 - }, - { - "id" : 317 - }, - { - "id" : 313 - }, - { - "id" : 268 - }, - { - "id" : 272 - }, - { - "id" : 267 - }, - { - "id" : 283 - }, - { - "id" : 276 - }, - { - "id" : 271 - }, - { - "id" : 275 - }, - { - "id" : 258 - }, - { - "id" : 286 - }, - { - "id" : 279 - }, - { - "id" : 270 - }, - { - "id" : 274 - }, - { - "id" : 257 - }, - { - "id" : 285 - }, - { - "id" : 278 - }, - { - "id" : 269 - }, - { - "id" : 273 - }, - { - "id" : 256 - }, - { - "id" : 284 - }, - { - "id" : 277 - }, - { - "id" : 290 - }, - { - "id" : 291 - }, - { - "id" : 292 - }, - { - "id" : 294 - }, - { - "id" : 293 - }, - { - "id" : 261 - }, - { - "id" : 471 - }, - { - "id" : 262 - }, - { - "id" : 262, - "damage" : 6 - }, - { - "id" : 262, - "damage" : 7 - }, - { - "id" : 262, - "damage" : 8 - }, - { - "id" : 262, - "damage" : 9 - }, - { - "id" : 262, - "damage" : 10 - }, - { - "id" : 262, - "damage" : 11 - }, - { - "id" : 262, - "damage" : 12 - }, - { - "id" : 262, - "damage" : 13 - }, - { - "id" : 262, - "damage" : 14 - }, - { - "id" : 262, - "damage" : 15 - }, - { - "id" : 262, - "damage" : 16 - }, - { - "id" : 262, - "damage" : 17 - }, - { - "id" : 262, - "damage" : 18 - }, - { - "id" : 262, - "damage" : 19 - }, - { - "id" : 262, - "damage" : 20 - }, - { - "id" : 262, - "damage" : 21 - }, - { - "id" : 262, - "damage" : 22 - }, - { - "id" : 262, - "damage" : 23 - }, - { - "id" : 262, - "damage" : 24 - }, - { - "id" : 262, - "damage" : 25 - }, - { - "id" : 262, - "damage" : 26 - }, - { - "id" : 262, - "damage" : 27 - }, - { - "id" : 262, - "damage" : 28 - }, - { - "id" : 262, - "damage" : 29 - }, - { - "id" : 262, - "damage" : 30 - }, - { - "id" : 262, - "damage" : 31 - }, - { - "id" : 262, - "damage" : 32 - }, - { - "id" : 262, - "damage" : 33 - }, - { - "id" : 262, - "damage" : 34 - }, - { - "id" : 262, - "damage" : 35 - }, - { - "id" : 262, - "damage" : 36 - }, - { - "id" : 262, - "damage" : 37 - }, - { - "id" : 262, - "damage" : 38 - }, - { - "id" : 262, - "damage" : 39 - }, - { - "id" : 262, - "damage" : 40 - }, - { - "id" : 262, - "damage" : 41 - }, - { - "id" : 262, - "damage" : 42 - }, - { - "id" : 513 - }, - { - "id" : 366 - }, - { - "id" : 320 - }, - { - "id" : 364 - }, - { - "id" : 424 - }, - { - "id" : 412 - }, - { - "id" : 350 - }, - { - "id" : 463 - }, - { - "id" : 297 - }, - { - "id" : 282 - }, - { - "id" : 459 - }, - { - "id" : 413 - }, - { - "id" : 393 - }, - { - "id" : 357 - }, - { - "id" : 400 - }, - { - "id" : 354 - }, - { - "id" : 464 - }, - { - "id" : 346 - }, - { - "id" : 398 - }, - { - "id" : 332 - }, - { - "id" : 359 - }, - { - "id" : 259 - }, - { - "id" : 420 - }, - { - "id" : 347 - }, - { - "id" : 345 - }, - { - "id" : 395 - }, - { - "id" : 395, - "damage" : 2 - }, - { - "id" : 329 - }, - { - "id" : 416 - }, - { - "id" : 417 - }, - { - "id" : 418 - }, - { - "id" : 419 - }, - { - "id" : 455 - }, - { - "id" : 469 - }, - { - "id" : 444 - }, - { - "id" : 450 - }, - { - "id" : 374 - }, - { - "id" : 384 - }, - { - "id" : 373 - }, - { - "id" : 373, - "damage" : 1 - }, - { - "id" : 373, - "damage" : 2 - }, - { - "id" : 373, - "damage" : 3 - }, - { - "id" : 373, - "damage" : 4 - }, - { - "id" : 373, - "damage" : 5 - }, - { - "id" : 373, - "damage" : 6 - }, - { - "id" : 373, - "damage" : 7 - }, - { - "id" : 373, - "damage" : 8 - }, - { - "id" : 373, - "damage" : 9 - }, - { - "id" : 373, - "damage" : 10 - }, - { - "id" : 373, - "damage" : 11 - }, - { - "id" : 373, - "damage" : 12 - }, - { - "id" : 373, - "damage" : 13 - }, - { - "id" : 373, - "damage" : 14 - }, - { - "id" : 373, - "damage" : 15 - }, - { - "id" : 373, - "damage" : 16 - }, - { - "id" : 373, - "damage" : 17 - }, - { - "id" : 373, - "damage" : 18 - }, - { - "id" : 373, - "damage" : 19 - }, - { - "id" : 373, - "damage" : 20 - }, - { - "id" : 373, - "damage" : 21 - }, - { - "id" : 373, - "damage" : 22 - }, - { - "id" : 373, - "damage" : 23 - }, - { - "id" : 373, - "damage" : 24 - }, - { - "id" : 373, - "damage" : 25 - }, - { - "id" : 373, - "damage" : 26 - }, - { - "id" : 373, - "damage" : 27 - }, - { - "id" : 373, - "damage" : 28 - }, - { - "id" : 373, - "damage" : 29 - }, - { - "id" : 373, - "damage" : 30 - }, - { - "id" : 373, - "damage" : 31 - }, - { - "id" : 373, - "damage" : 32 - }, - { - "id" : 373, - "damage" : 33 - }, - { - "id" : 373, - "damage" : 34 - }, - { - "id" : 373, - "damage" : 35 - }, - { - "id" : 373, - "damage" : 36 - }, - { - "id" : 373, - "damage" : 37 - }, - { - "id" : 373, - "damage" : 38 - }, - { - "id" : 373, - "damage" : 39 - }, - { - "id" : 373, - "damage" : 40 - }, - { - "id" : 373, - "damage" : 41 - }, - { - "id" : 438 - }, - { - "id" : 438, - "damage" : 1 - }, - { - "id" : 438, - "damage" : 2 - }, - { - "id" : 438, - "damage" : 3 - }, - { - "id" : 438, - "damage" : 4 - }, - { - "id" : 438, - "damage" : 5 - }, - { - "id" : 438, - "damage" : 6 - }, - { - "id" : 438, - "damage" : 7 - }, - { - "id" : 438, - "damage" : 8 - }, - { - "id" : 438, - "damage" : 9 - }, - { - "id" : 438, - "damage" : 10 - }, - { - "id" : 438, - "damage" : 11 - }, - { - "id" : 438, - "damage" : 12 - }, - { - "id" : 438, - "damage" : 13 - }, - { - "id" : 438, - "damage" : 14 - }, - { - "id" : 438, - "damage" : 15 - }, - { - "id" : 438, - "damage" : 16 - }, - { - "id" : 438, - "damage" : 17 - }, - { - "id" : 438, - "damage" : 18 - }, - { - "id" : 438, - "damage" : 19 - }, - { - "id" : 438, - "damage" : 20 - }, - { - "id" : 438, - "damage" : 21 - }, - { - "id" : 438, - "damage" : 22 - }, - { - "id" : 438, - "damage" : 23 - }, - { - "id" : 438, - "damage" : 24 - }, - { - "id" : 438, - "damage" : 25 - }, - { - "id" : 438, - "damage" : 26 - }, - { - "id" : 438, - "damage" : 27 - }, - { - "id" : 438, - "damage" : 28 - }, - { - "id" : 438, - "damage" : 29 - }, - { - "id" : 438, - "damage" : 30 - }, - { - "id" : 438, - "damage" : 31 - }, - { - "id" : 438, - "damage" : 32 - }, - { - "id" : 438, - "damage" : 33 - }, - { - "id" : 438, - "damage" : 34 - }, - { - "id" : 438, - "damage" : 35 - }, - { - "id" : 438, - "damage" : 36 - }, - { - "id" : 438, - "damage" : 37 - }, - { - "id" : 438, - "damage" : 38 - }, - { - "id" : 438, - "damage" : 39 - }, - { - "id" : 438, - "damage" : 40 - }, - { - "id" : 438, - "damage" : 41 - }, - { - "id" : 441 - }, - { - "id" : 441, - "damage" : 1 - }, - { - "id" : 441, - "damage" : 2 - }, - { - "id" : 441, - "damage" : 3 - }, - { - "id" : 441, - "damage" : 4 - }, - { - "id" : 441, - "damage" : 5 - }, - { - "id" : 441, - "damage" : 6 - }, - { - "id" : 441, - "damage" : 7 - }, - { - "id" : 441, - "damage" : 8 - }, - { - "id" : 441, - "damage" : 9 - }, - { - "id" : 441, - "damage" : 10 - }, - { - "id" : 441, - "damage" : 11 - }, - { - "id" : 441, - "damage" : 12 - }, - { - "id" : 441, - "damage" : 13 - }, - { - "id" : 441, - "damage" : 14 - }, - { - "id" : 441, - "damage" : 15 - }, - { - "id" : 441, - "damage" : 16 - }, - { - "id" : 441, - "damage" : 17 - }, - { - "id" : 441, - "damage" : 18 - }, - { - "id" : 441, - "damage" : 19 - }, - { - "id" : 441, - "damage" : 20 - }, - { - "id" : 441, - "damage" : 21 - }, - { - "id" : 441, - "damage" : 22 - }, - { - "id" : 441, - "damage" : 23 - }, - { - "id" : 441, - "damage" : 24 - }, - { - "id" : 441, - "damage" : 25 - }, - { - "id" : 441, - "damage" : 26 - }, - { - "id" : 441, - "damage" : 27 - }, - { - "id" : 441, - "damage" : 28 - }, - { - "id" : 441, - "damage" : 29 - }, - { - "id" : 441, - "damage" : 30 - }, - { - "id" : 441, - "damage" : 31 - }, - { - "id" : 441, - "damage" : 32 - }, - { - "id" : 441, - "damage" : 33 - }, - { - "id" : 441, - "damage" : 34 - }, - { - "id" : 441, - "damage" : 35 - }, - { - "id" : 441, - "damage" : 36 - }, - { - "id" : 441, - "damage" : 37 - }, - { - "id" : 441, - "damage" : 38 - }, - { - "id" : 441, - "damage" : 39 - }, - { - "id" : 441, - "damage" : 40 - }, - { - "id" : 441, - "damage" : 41 - }, - { - "id" : 280 - }, - { - "id" : 355 - }, - { - "id" : 355, - "damage" : 8 - }, - { - "id" : 355, - "damage" : 7 - }, - { - "id" : 355, - "damage" : 15 - }, - { - "id" : 355, - "damage" : 12 - }, - { - "id" : 355, - "damage" : 14 - }, - { - "id" : 355, - "damage" : 1 - }, - { - "id" : 355, - "damage" : 4 - }, - { - "id" : 355, - "damage" : 5 - }, - { - "id" : 355, - "damage" : 13 - }, - { - "id" : 355, - "damage" : 9 - }, - { - "id" : 355, - "damage" : 3 - }, - { - "id" : 355, - "damage" : 11 - }, - { - "id" : 355, - "damage" : 10 - }, - { - "id" : 355, - "damage" : 2 - }, - { - "id" : 355, - "damage" : 6 - }, - { - "id" : 50 - }, - { - "id" : -156 - }, - { - "id" : -208 - }, - { - "id" : 58 - }, - { - "id" : -200 - }, - { - "id" : -201 - }, - { - "id" : -202 - }, - { - "id" : 720 - }, - { - "id" : 61 - }, - { - "id" : -196 - }, - { - "id" : -198 - }, - { - "id" : 379 - }, - { - "id" : 145 - }, - { - "id" : 145, - "damage" : 4 - }, - { - "id" : 145, - "damage" : 8 - }, - { - "id" : -195 - }, - { - "id" : 116 - }, - { - "id" : 47 - }, - { - "id" : -194 - }, - { - "id" : 380 - }, - { - "id" : -213 - }, - { - "id" : 54 - }, - { - "id" : -203 - }, - { - "id" : 146 - }, - { - "id" : 130 - }, - { - "id" : 205 - }, - { - "id" : 218 - }, - { - "id" : 218, - "damage" : 8 - }, - { - "id" : 218, - "damage" : 7 - }, - { - "id" : 218, - "damage" : 15 - }, - { - "id" : 218, - "damage" : 12 - }, - { - "id" : 218, - "damage" : 14 - }, - { - "id" : 218, - "damage" : 1 - }, - { - "id" : 218, - "damage" : 4 - }, - { - "id" : 218, - "damage" : 5 - }, - { - "id" : 218, - "damage" : 13 - }, - { - "id" : 218, - "damage" : 9 - }, - { - "id" : 218, - "damage" : 3 - }, - { - "id" : 218, - "damage" : 11 - }, - { - "id" : 218, - "damage" : 10 - }, - { - "id" : 218, - "damage" : 2 - }, - { - "id" : 218, - "damage" : 6 - }, - { - "id" : 425 - }, - { - "id" : 25 - }, - { - "id" : 84 - }, - { - "id" : 500 - }, - { - "id" : 501 - }, - { - "id" : 502 - }, - { - "id" : 503 - }, - { - "id" : 504 - }, - { - "id" : 505 - }, - { - "id" : 506 - }, - { - "id" : 507 - }, - { - "id" : 508 - }, - { - "id" : 509 - }, - { - "id" : 510 - }, - { - "id" : 511 - }, - { - "id" : 348 - }, - { - "id" : 89 - }, - { - "id" : 123 - }, - { - "id" : 169 - }, - { - "id" : 323 - }, - { - "id" : 472 - }, - { - "id" : 473 - }, - { - "id" : 474 - }, - { - "id" : 475 - }, - { - "id" : 476 - }, - { - "id" : 321 - }, - { - "id" : 389 - }, - { - "id" : 390 - }, - { - "id" : 281 - }, - { - "id" : 325 - }, - { - "id" : 325, - "damage" : 1 - }, - { - "id" : 325, - "damage" : 8 - }, - { - "id" : 325, - "damage" : 10 - }, - { - "id" : 325, - "damage" : 2 - }, - { - "id" : 325, - "damage" : 3 - }, - { - "id" : 325, - "damage" : 4 - }, - { - "id" : 325, - "damage" : 5 - }, - { - "id" : 397, - "damage" : 3 - }, - { - "id" : 397, - "damage" : 2 - }, - { - "id" : 397, - "damage" : 4 - }, - { - "id" : 397, - "damage" : 5 - }, - { - "id" : 397 - }, - { - "id" : 397, - "damage" : 1 - }, - { - "id" : 138 - }, - { - "id" : -206 - }, - { - "id" : -157 - }, - { - "id" : -197 - }, - { - "id" : 120 - }, - { - "id" : 263 - }, - { - "id" : 263, - "damage" : 1 - }, - { - "id" : 264 - }, - { - "id" : 452 - }, - { - "id" : 265 - }, - { - "id" : 371 - }, - { - "id" : 266 - }, - { - "id" : 388 - }, - { - "id" : 406 - }, - { - "id" : 337 - }, - { - "id" : 336 - }, - { - "id" : 405 - }, - { - "id" : 409 - }, - { - "id" : 422 - }, - { - "id" : 465 - }, - { - "id" : 467 - }, - { - "id" : 468 - }, - { - "id" : 470 - }, - { - "id" : 287 - }, - { - "id" : 288 - }, - { - "id" : 318 - }, - { - "id" : 289 - }, - { - "id" : 334 - }, - { - "id" : 415 - }, - { - "id" : 414 - }, - { - "id" : 385 - }, - { - "id" : 369 - }, - { - "id" : 377 - }, - { - "id" : 378 - }, - { - "id" : 376 - }, - { - "id" : 437 - }, - { - "id" : 445 - }, - { - "id" : 370 - }, - { - "id" : 341 - }, - { - "id" : 368 - }, - { - "id" : 381 - }, - { - "id" : 399 - }, - { - "id" : 208 - }, - { - "id" : 426 - }, - { - "id" : 339 - }, - { - "id" : 340 - }, - { - "id" : 386 - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAUAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAUAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAUAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAYAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAYAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAYAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAgAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAsAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAsAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAsAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAsAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAsAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAwAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAwAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZA4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZA8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZA8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZA8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZBMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZBMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBQAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBUAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBYAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBcAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBgAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBgAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBgAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBkAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBoAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZB0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZB0AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB4AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB8AAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCAAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCEAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZCIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZCIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZCIAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZCMAAAA=" - }, - { - "id" : 403, - "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZCMAAAA=" - }, - { - "id" : 333 - }, - { - "id" : 333, - "damage" : 1 - }, - { - "id" : 333, - "damage" : 2 - }, - { - "id" : 333, - "damage" : 3 - }, - { - "id" : 333, - "damage" : 4 - }, - { - "id" : 333, - "damage" : 5 - }, - { - "id" : 66 - }, - { - "id" : 27 - }, - { - "id" : 28 - }, - { - "id" : 126 - }, - { - "id" : 328 - }, - { - "id" : 342 - }, - { - "id" : 408 - }, - { - "id" : 407 - }, - { - "id" : 331 - }, - { - "id" : 152 - }, - { - "id" : 76 - }, - { - "id" : 69 - }, - { - "id" : 143, - "damage" : 5 - }, - { - "id" : -144, - "damage" : 5 - }, - { - "id" : -141, - "damage" : 5 - }, - { - "id" : -143, - "damage" : 5 - }, - { - "id" : -140, - "damage" : 5 - }, - { - "id" : -142, - "damage" : 5 - }, - { - "id" : 77, - "damage" : 5 - }, - { - "id" : 131 - }, - { - "id" : 72 - }, - { - "id" : -154 - }, - { - "id" : -151 - }, - { - "id" : -153 - }, - { - "id" : -150 - }, - { - "id" : -152 - }, - { - "id" : 70 - }, - { - "id" : 147 - }, - { - "id" : 148 - }, - { - "id" : 251 - }, - { - "id" : 151 - }, - { - "id" : 356 - }, - { - "id" : 404 - }, - { - "id" : 410 - }, - { - "id" : 125, - "damage" : 3 - }, - { - "id" : 23, - "damage" : 3 - }, - { - "id" : 33, - "damage" : 1 - }, - { - "id" : 29, - "damage" : 1 - }, - { - "id" : 46 - }, - { - "id" : 421 - }, - { - "id" : -204 - }, - { - "id" : 446 - }, - { - "id" : 446, - "damage" : 8 - }, - { - "id" : 446, - "damage" : 7 - }, - { - "id" : 446, - "damage" : 15 - }, - { - "id" : 446, - "damage" : 12 - }, - { - "id" : 446, - "damage" : 14 - }, - { - "id" : 446, - "damage" : 1 - }, - { - "id" : 446, - "damage" : 4 - }, - { - "id" : 446, - "damage" : 5 - }, - { - "id" : 446, - "damage" : 13 - }, - { - "id" : 446, - "damage" : 9 - }, - { - "id" : 446, - "damage" : 3 - }, - { - "id" : 446, - "damage" : 11 - }, - { - "id" : 446, - "damage" : 10 - }, - { - "id" : 446, - "damage" : 2 - }, - { - "id" : 446, - "damage" : 6 - }, - { - "id" : 446, - "damage" : 15, - "nbt_b64" : "CgAAAwQAVHlwZQEAAAAA" - }, - { - "id" : 434 - }, - { - "id" : 434, - "damage" : 1 - }, - { - "id" : 434, - "damage" : 2 - }, - { - "id" : 434, - "damage" : 3 - }, - { - "id" : 434, - "damage" : 4 - }, - { - "id" : 434, - "damage" : 5 - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMAAAAAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 401, - "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" - }, - { - "id" : 402, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IhHR3/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 8, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3JST0f/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 7, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KXnZ3/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 15, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Lw8PD/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 12, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Laszr/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 14, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IdgPn/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 1, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3ImLrD/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 4, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KqRDz/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 5, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3K4Mon/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 13, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3K9Tsf/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 9, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Kqi/P/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 3, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IyVIP/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 11, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3I92P7/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 10, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Ifx4D/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 2, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IWfF7/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - }, - { - "id" : 402, - "damage" : 6, - "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KcnBb/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" - } -]
\ No newline at end of file +{ + "items" : [ + { + "id" : 5 + }, + { + "id" : 5, + "damage" : 1 + }, + { + "id" : 5, + "damage" : 2 + }, + { + "id" : 5, + "damage" : 3 + }, + { + "id" : 5, + "damage" : 4 + }, + { + "id" : 5, + "damage" : 5 + }, + { + "id" : 139 + }, + { + "id" : 139, + "damage" : 1 + }, + { + "id" : 139, + "damage" : 2 + }, + { + "id" : 139, + "damage" : 3 + }, + { + "id" : 139, + "damage" : 4 + }, + { + "id" : 139, + "damage" : 5 + }, + { + "id" : 139, + "damage" : 12 + }, + { + "id" : 139, + "damage" : 7 + }, + { + "id" : 139, + "damage" : 8 + }, + { + "id" : 139, + "damage" : 6 + }, + { + "id" : 139, + "damage" : 9 + }, + { + "id" : 139, + "damage" : 13 + }, + { + "id" : 139, + "damage" : 10 + }, + { + "id" : 139, + "damage" : 11 + }, + { + "id" : 85 + }, + { + "id" : 85, + "damage" : 1 + }, + { + "id" : 85, + "damage" : 2 + }, + { + "id" : 85, + "damage" : 3 + }, + { + "id" : 85, + "damage" : 4 + }, + { + "id" : 85, + "damage" : 5 + }, + { + "id" : 113 + }, + { + "id" : 107 + }, + { + "id" : 183 + }, + { + "id" : 184 + }, + { + "id" : 185 + }, + { + "id" : 187 + }, + { + "id" : 186 + }, + { + "id" : -180 + }, + { + "id" : 67 + }, + { + "id" : -179 + }, + { + "id" : 53 + }, + { + "id" : 134 + }, + { + "id" : 135 + }, + { + "id" : 136 + }, + { + "id" : 163 + }, + { + "id" : 164 + }, + { + "id" : 109 + }, + { + "id" : -175 + }, + { + "id" : 128 + }, + { + "id" : -177 + }, + { + "id" : 180 + }, + { + "id" : -176 + }, + { + "id" : -169 + }, + { + "id" : -172 + }, + { + "id" : -170 + }, + { + "id" : -173 + }, + { + "id" : -171 + }, + { + "id" : -174 + }, + { + "id" : 108 + }, + { + "id" : 114 + }, + { + "id" : -184 + }, + { + "id" : -178 + }, + { + "id" : 156 + }, + { + "id" : -185 + }, + { + "id" : 203 + }, + { + "id" : -2 + }, + { + "id" : -3 + }, + { + "id" : -4 + }, + { + "id" : 324 + }, + { + "id" : 427 + }, + { + "id" : 428 + }, + { + "id" : 429 + }, + { + "id" : 430 + }, + { + "id" : 431 + }, + { + "id" : 330 + }, + { + "id" : 96 + }, + { + "id" : -149 + }, + { + "id" : -146 + }, + { + "id" : -148 + }, + { + "id" : -145 + }, + { + "id" : -147 + }, + { + "id" : 167 + }, + { + "id" : 101 + }, + { + "id" : 20 + }, + { + "id" : 241 + }, + { + "id" : 241, + "damage" : 8 + }, + { + "id" : 241, + "damage" : 7 + }, + { + "id" : 241, + "damage" : 15 + }, + { + "id" : 241, + "damage" : 12 + }, + { + "id" : 241, + "damage" : 14 + }, + { + "id" : 241, + "damage" : 1 + }, + { + "id" : 241, + "damage" : 4 + }, + { + "id" : 241, + "damage" : 5 + }, + { + "id" : 241, + "damage" : 13 + }, + { + "id" : 241, + "damage" : 9 + }, + { + "id" : 241, + "damage" : 3 + }, + { + "id" : 241, + "damage" : 11 + }, + { + "id" : 241, + "damage" : 10 + }, + { + "id" : 241, + "damage" : 2 + }, + { + "id" : 241, + "damage" : 6 + }, + { + "id" : 102 + }, + { + "id" : 160 + }, + { + "id" : 160, + "damage" : 8 + }, + { + "id" : 160, + "damage" : 7 + }, + { + "id" : 160, + "damage" : 15 + }, + { + "id" : 160, + "damage" : 12 + }, + { + "id" : 160, + "damage" : 14 + }, + { + "id" : 160, + "damage" : 1 + }, + { + "id" : 160, + "damage" : 4 + }, + { + "id" : 160, + "damage" : 5 + }, + { + "id" : 160, + "damage" : 13 + }, + { + "id" : 160, + "damage" : 9 + }, + { + "id" : 160, + "damage" : 3 + }, + { + "id" : 160, + "damage" : 11 + }, + { + "id" : 160, + "damage" : 10 + }, + { + "id" : 160, + "damage" : 2 + }, + { + "id" : 160, + "damage" : 6 + }, + { + "id" : 65 + }, + { + "id" : -165 + }, + { + "id" : 44 + }, + { + "id" : -166, + "damage" : 2 + }, + { + "id" : 44, + "damage" : 3 + }, + { + "id" : 182, + "damage" : 5 + }, + { + "id" : 158 + }, + { + "id" : 158, + "damage" : 1 + }, + { + "id" : 158, + "damage" : 2 + }, + { + "id" : 158, + "damage" : 3 + }, + { + "id" : 158, + "damage" : 4 + }, + { + "id" : 158, + "damage" : 5 + }, + { + "id" : 44, + "damage" : 5 + }, + { + "id" : -166 + }, + { + "id" : 44, + "damage" : 1 + }, + { + "id" : -166, + "damage" : 3 + }, + { + "id" : 182, + "damage" : 6 + }, + { + "id" : 182 + }, + { + "id" : -166, + "damage" : 4 + }, + { + "id" : -162, + "damage" : 1 + }, + { + "id" : -162, + "damage" : 6 + }, + { + "id" : -162, + "damage" : 7 + }, + { + "id" : -162, + "damage" : 4 + }, + { + "id" : -162, + "damage" : 5 + }, + { + "id" : -162, + "damage" : 3 + }, + { + "id" : -162, + "damage" : 2 + }, + { + "id" : 44, + "damage" : 4 + }, + { + "id" : 44, + "damage" : 7 + }, + { + "id" : 182, + "damage" : 7 + }, + { + "id" : -162 + }, + { + "id" : 44, + "damage" : 6 + }, + { + "id" : -166, + "damage" : 1 + }, + { + "id" : 182, + "damage" : 1 + }, + { + "id" : 182, + "damage" : 2 + }, + { + "id" : 182, + "damage" : 3 + }, + { + "id" : 182, + "damage" : 4 + }, + { + "id" : 45 + }, + { + "id" : 98 + }, + { + "id" : 98, + "damage" : 1 + }, + { + "id" : 98, + "damage" : 2 + }, + { + "id" : 98, + "damage" : 3 + }, + { + "id" : 206 + }, + { + "id" : 168, + "damage" : 2 + }, + { + "id" : 4 + }, + { + "id" : 48 + }, + { + "id" : -183 + }, + { + "id" : 24 + }, + { + "id" : 24, + "damage" : 1 + }, + { + "id" : 24, + "damage" : 2 + }, + { + "id" : 24, + "damage" : 3 + }, + { + "id" : 179 + }, + { + "id" : 179, + "damage" : 1 + }, + { + "id" : 179, + "damage" : 2 + }, + { + "id" : 179, + "damage" : 3 + }, + { + "id" : 173 + }, + { + "id" : -139 + }, + { + "id" : 41 + }, + { + "id" : 42 + }, + { + "id" : 133 + }, + { + "id" : 57 + }, + { + "id" : 22 + }, + { + "id" : 155 + }, + { + "id" : 155, + "damage" : 2 + }, + { + "id" : 155, + "damage" : 1 + }, + { + "id" : 155, + "damage" : 3 + }, + { + "id" : 168 + }, + { + "id" : 168, + "damage" : 1 + }, + { + "id" : 165 + }, + { + "id" : -220 + }, + { + "id" : -221 + }, + { + "id" : 170 + }, + { + "id" : 216 + }, + { + "id" : 214 + }, + { + "id" : 112 + }, + { + "id" : 215 + }, + { + "id" : 35 + }, + { + "id" : 35, + "damage" : 8 + }, + { + "id" : 35, + "damage" : 7 + }, + { + "id" : 35, + "damage" : 15 + }, + { + "id" : 35, + "damage" : 12 + }, + { + "id" : 35, + "damage" : 14 + }, + { + "id" : 35, + "damage" : 1 + }, + { + "id" : 35, + "damage" : 4 + }, + { + "id" : 35, + "damage" : 5 + }, + { + "id" : 35, + "damage" : 13 + }, + { + "id" : 35, + "damage" : 9 + }, + { + "id" : 35, + "damage" : 3 + }, + { + "id" : 35, + "damage" : 11 + }, + { + "id" : 35, + "damage" : 10 + }, + { + "id" : 35, + "damage" : 2 + }, + { + "id" : 35, + "damage" : 6 + }, + { + "id" : 171 + }, + { + "id" : 171, + "damage" : 8 + }, + { + "id" : 171, + "damage" : 7 + }, + { + "id" : 171, + "damage" : 15 + }, + { + "id" : 171, + "damage" : 12 + }, + { + "id" : 171, + "damage" : 14 + }, + { + "id" : 171, + "damage" : 1 + }, + { + "id" : 171, + "damage" : 4 + }, + { + "id" : 171, + "damage" : 5 + }, + { + "id" : 171, + "damage" : 13 + }, + { + "id" : 171, + "damage" : 9 + }, + { + "id" : 171, + "damage" : 3 + }, + { + "id" : 171, + "damage" : 11 + }, + { + "id" : 171, + "damage" : 10 + }, + { + "id" : 171, + "damage" : 2 + }, + { + "id" : 171, + "damage" : 6 + }, + { + "id" : 237 + }, + { + "id" : 237, + "damage" : 8 + }, + { + "id" : 237, + "damage" : 7 + }, + { + "id" : 237, + "damage" : 15 + }, + { + "id" : 237, + "damage" : 12 + }, + { + "id" : 237, + "damage" : 14 + }, + { + "id" : 237, + "damage" : 1 + }, + { + "id" : 237, + "damage" : 4 + }, + { + "id" : 237, + "damage" : 5 + }, + { + "id" : 237, + "damage" : 13 + }, + { + "id" : 237, + "damage" : 9 + }, + { + "id" : 237, + "damage" : 3 + }, + { + "id" : 237, + "damage" : 11 + }, + { + "id" : 237, + "damage" : 10 + }, + { + "id" : 237, + "damage" : 2 + }, + { + "id" : 237, + "damage" : 6 + }, + { + "id" : 236 + }, + { + "id" : 236, + "damage" : 8 + }, + { + "id" : 236, + "damage" : 7 + }, + { + "id" : 236, + "damage" : 15 + }, + { + "id" : 236, + "damage" : 12 + }, + { + "id" : 236, + "damage" : 14 + }, + { + "id" : 236, + "damage" : 1 + }, + { + "id" : 236, + "damage" : 4 + }, + { + "id" : 236, + "damage" : 5 + }, + { + "id" : 236, + "damage" : 13 + }, + { + "id" : 236, + "damage" : 9 + }, + { + "id" : 236, + "damage" : 3 + }, + { + "id" : 236, + "damage" : 11 + }, + { + "id" : 236, + "damage" : 10 + }, + { + "id" : 236, + "damage" : 2 + }, + { + "id" : 236, + "damage" : 6 + }, + { + "id" : 82 + }, + { + "id" : 172 + }, + { + "id" : 159 + }, + { + "id" : 159, + "damage" : 8 + }, + { + "id" : 159, + "damage" : 7 + }, + { + "id" : 159, + "damage" : 15 + }, + { + "id" : 159, + "damage" : 12 + }, + { + "id" : 159, + "damage" : 14 + }, + { + "id" : 159, + "damage" : 1 + }, + { + "id" : 159, + "damage" : 4 + }, + { + "id" : 159, + "damage" : 5 + }, + { + "id" : 159, + "damage" : 13 + }, + { + "id" : 159, + "damage" : 9 + }, + { + "id" : 159, + "damage" : 3 + }, + { + "id" : 159, + "damage" : 11 + }, + { + "id" : 159, + "damage" : 10 + }, + { + "id" : 159, + "damage" : 2 + }, + { + "id" : 159, + "damage" : 6 + }, + { + "id" : 220 + }, + { + "id" : 228 + }, + { + "id" : 227 + }, + { + "id" : 235 + }, + { + "id" : 232 + }, + { + "id" : 234 + }, + { + "id" : 221 + }, + { + "id" : 224 + }, + { + "id" : 225 + }, + { + "id" : 233 + }, + { + "id" : 229 + }, + { + "id" : 223 + }, + { + "id" : 231 + }, + { + "id" : 219 + }, + { + "id" : 222 + }, + { + "id" : 226 + }, + { + "id" : 201 + }, + { + "id" : 201, + "damage" : 2 + }, + { + "id" : 3 + }, + { + "id" : 3, + "damage" : 1 + }, + { + "id" : 2 + }, + { + "id" : 198 + }, + { + "id" : 243 + }, + { + "id" : 110 + }, + { + "id" : 1 + }, + { + "id" : 15 + }, + { + "id" : 14 + }, + { + "id" : 56 + }, + { + "id" : 21 + }, + { + "id" : 73 + }, + { + "id" : 16 + }, + { + "id" : 129 + }, + { + "id" : 153 + }, + { + "id" : 13 + }, + { + "id" : 1, + "damage" : 1 + }, + { + "id" : 1, + "damage" : 3 + }, + { + "id" : 1, + "damage" : 5 + }, + { + "id" : 1, + "damage" : 2 + }, + { + "id" : 1, + "damage" : 4 + }, + { + "id" : 1, + "damage" : 6 + }, + { + "id" : 12 + }, + { + "id" : 12, + "damage" : 1 + }, + { + "id" : 81 + }, + { + "id" : 17 + }, + { + "id" : -10 + }, + { + "id" : 17, + "damage" : 1 + }, + { + "id" : -5 + }, + { + "id" : 17, + "damage" : 2 + }, + { + "id" : -6 + }, + { + "id" : 17, + "damage" : 3 + }, + { + "id" : -7 + }, + { + "id" : 162 + }, + { + "id" : -8 + }, + { + "id" : 162, + "damage" : 1 + }, + { + "id" : -9 + }, + { + "id" : -212 + }, + { + "id" : -212, + "damage" : 8 + }, + { + "id" : -212, + "damage" : 1 + }, + { + "id" : -212, + "damage" : 9 + }, + { + "id" : -212, + "damage" : 2 + }, + { + "id" : -212, + "damage" : 10 + }, + { + "id" : -212, + "damage" : 3 + }, + { + "id" : -212, + "damage" : 11 + }, + { + "id" : -212, + "damage" : 4 + }, + { + "id" : -212, + "damage" : 12 + }, + { + "id" : -212, + "damage" : 5 + }, + { + "id" : -212, + "damage" : 13 + }, + { + "id" : 18 + }, + { + "id" : 18, + "damage" : 1 + }, + { + "id" : 18, + "damage" : 2 + }, + { + "id" : 18, + "damage" : 3 + }, + { + "id" : 161 + }, + { + "id" : 161, + "damage" : 1 + }, + { + "id" : 6 + }, + { + "id" : 6, + "damage" : 1 + }, + { + "id" : 6, + "damage" : 2 + }, + { + "id" : 6, + "damage" : 3 + }, + { + "id" : 6, + "damage" : 4 + }, + { + "id" : 6, + "damage" : 5 + }, + { + "id" : -218 + }, + { + "id" : 295 + }, + { + "id" : 361 + }, + { + "id" : 362 + }, + { + "id" : 458 + }, + { + "id" : 296 + }, + { + "id" : 457 + }, + { + "id" : 392 + }, + { + "id" : 394 + }, + { + "id" : 391 + }, + { + "id" : 396 + }, + { + "id" : 260 + }, + { + "id" : 322 + }, + { + "id" : 466 + }, + { + "id" : 103 + }, + { + "id" : 360 + }, + { + "id" : 382 + }, + { + "id" : 477 + }, + { + "id" : 86 + }, + { + "id" : -155 + }, + { + "id" : 91 + }, + { + "id" : 736 + }, + { + "id" : 31, + "damage" : 2 + }, + { + "id" : 175, + "damage" : 3 + }, + { + "id" : 31, + "damage" : 1 + }, + { + "id" : 175, + "damage" : 2 + }, + { + "id" : -131, + "damage" : 3 + }, + { + "id" : -131, + "damage" : 1 + }, + { + "id" : -131, + "damage" : 2 + }, + { + "id" : -131 + }, + { + "id" : -131, + "damage" : 4 + }, + { + "id" : -131, + "damage" : 11 + }, + { + "id" : -131, + "damage" : 9 + }, + { + "id" : -131, + "damage" : 10 + }, + { + "id" : -131, + "damage" : 8 + }, + { + "id" : -131, + "damage" : 12 + }, + { + "id" : -133, + "damage" : 3 + }, + { + "id" : -133, + "damage" : 1 + }, + { + "id" : -133, + "damage" : 2 + }, + { + "id" : -133 + }, + { + "id" : -133, + "damage" : 4 + }, + { + "id" : -134, + "damage" : 3 + }, + { + "id" : -134, + "damage" : 1 + }, + { + "id" : -134, + "damage" : 2 + }, + { + "id" : -134 + }, + { + "id" : -134, + "damage" : 4 + }, + { + "id" : 335 + }, + { + "id" : -130 + }, + { + "id" : 37 + }, + { + "id" : 38 + }, + { + "id" : 38, + "damage" : 1 + }, + { + "id" : 38, + "damage" : 2 + }, + { + "id" : 38, + "damage" : 3 + }, + { + "id" : 38, + "damage" : 4 + }, + { + "id" : 38, + "damage" : 5 + }, + { + "id" : 38, + "damage" : 6 + }, + { + "id" : 38, + "damage" : 7 + }, + { + "id" : 38, + "damage" : 8 + }, + { + "id" : 38, + "damage" : 9 + }, + { + "id" : 38, + "damage" : 10 + }, + { + "id" : 175 + }, + { + "id" : 175, + "damage" : 1 + }, + { + "id" : 175, + "damage" : 4 + }, + { + "id" : 175, + "damage" : 5 + }, + { + "id" : -216 + }, + { + "id" : 351, + "damage" : 19 + }, + { + "id" : 351, + "damage" : 7 + }, + { + "id" : 351, + "damage" : 8 + }, + { + "id" : 351, + "damage" : 16 + }, + { + "id" : 351, + "damage" : 17 + }, + { + "id" : 351, + "damage" : 1 + }, + { + "id" : 351, + "damage" : 14 + }, + { + "id" : 351, + "damage" : 11 + }, + { + "id" : 351, + "damage" : 10 + }, + { + "id" : 351, + "damage" : 2 + }, + { + "id" : 351, + "damage" : 6 + }, + { + "id" : 351, + "damage" : 12 + }, + { + "id" : 351, + "damage" : 18 + }, + { + "id" : 351, + "damage" : 5 + }, + { + "id" : 351, + "damage" : 13 + }, + { + "id" : 351, + "damage" : 9 + }, + { + "id" : 351 + }, + { + "id" : 351, + "damage" : 3 + }, + { + "id" : 351, + "damage" : 4 + }, + { + "id" : 351, + "damage" : 15 + }, + { + "id" : 106 + }, + { + "id" : 111 + }, + { + "id" : 32 + }, + { + "id" : -163 + }, + { + "id" : 80 + }, + { + "id" : 79 + }, + { + "id" : 174 + }, + { + "id" : -11 + }, + { + "id" : 78 + }, + { + "id" : 365 + }, + { + "id" : 319 + }, + { + "id" : 363 + }, + { + "id" : 423 + }, + { + "id" : 411 + }, + { + "id" : 349 + }, + { + "id" : 460 + }, + { + "id" : 461 + }, + { + "id" : 462 + }, + { + "id" : 39 + }, + { + "id" : 40 + }, + { + "id" : 99, + "damage" : 14 + }, + { + "id" : 100, + "damage" : 14 + }, + { + "id" : 99, + "damage" : 15 + }, + { + "id" : 99 + }, + { + "id" : 344 + }, + { + "id" : 338 + }, + { + "id" : 353 + }, + { + "id" : 367 + }, + { + "id" : 352 + }, + { + "id" : 30 + }, + { + "id" : 375 + }, + { + "id" : 52 + }, + { + "id" : 97 + }, + { + "id" : 97, + "damage" : 1 + }, + { + "id" : 97, + "damage" : 2 + }, + { + "id" : 97, + "damage" : 3 + }, + { + "id" : 97, + "damage" : 4 + }, + { + "id" : 97, + "damage" : 5 + }, + { + "id" : 122 + }, + { + "id" : -159 + }, + { + "id" : 383, + "damage" : 10 + }, + { + "id" : 383, + "damage" : 122 + }, + { + "id" : 383, + "damage" : 11 + }, + { + "id" : 383, + "damage" : 12 + }, + { + "id" : 383, + "damage" : 13 + }, + { + "id" : 383, + "damage" : 14 + }, + { + "id" : 383, + "damage" : 28 + }, + { + "id" : 383, + "damage" : 22 + }, + { + "id" : 383, + "damage" : 75 + }, + { + "id" : 383, + "damage" : 16 + }, + { + "id" : 383, + "damage" : 19 + }, + { + "id" : 383, + "damage" : 30 + }, + { + "id" : 383, + "damage" : 18 + }, + { + "id" : 383, + "damage" : 29 + }, + { + "id" : 383, + "damage" : 23 + }, + { + "id" : 383, + "damage" : 24 + }, + { + "id" : 383, + "damage" : 25 + }, + { + "id" : 383, + "damage" : 26 + }, + { + "id" : 383, + "damage" : 27 + }, + { + "id" : 383, + "damage" : 111 + }, + { + "id" : 383, + "damage" : 112 + }, + { + "id" : 383, + "damage" : 108 + }, + { + "id" : 383, + "damage" : 109 + }, + { + "id" : 383, + "damage" : 31 + }, + { + "id" : 383, + "damage" : 74 + }, + { + "id" : 383, + "damage" : 113 + }, + { + "id" : 383, + "damage" : 121 + }, + { + "id" : 383, + "damage" : 33 + }, + { + "id" : 383, + "damage" : 38 + }, + { + "id" : 383, + "damage" : 39 + }, + { + "id" : 383, + "damage" : 34 + }, + { + "id" : 383, + "damage" : 48 + }, + { + "id" : 383, + "damage" : 46 + }, + { + "id" : 383, + "damage" : 37 + }, + { + "id" : 383, + "damage" : 35 + }, + { + "id" : 383, + "damage" : 32 + }, + { + "id" : 383, + "damage" : 36 + }, + { + "id" : 383, + "damage" : 47 + }, + { + "id" : 383, + "damage" : 110 + }, + { + "id" : 383, + "damage" : 17 + }, + { + "id" : 383, + "damage" : 40 + }, + { + "id" : 383, + "damage" : 45 + }, + { + "id" : 383, + "damage" : 49 + }, + { + "id" : 383, + "damage" : 50 + }, + { + "id" : 383, + "damage" : 55 + }, + { + "id" : 383, + "damage" : 42 + }, + { + "id" : 383, + "damage" : 41 + }, + { + "id" : 383, + "damage" : 43 + }, + { + "id" : 383, + "damage" : 54 + }, + { + "id" : 383, + "damage" : 57 + }, + { + "id" : 383, + "damage" : 104 + }, + { + "id" : 383, + "damage" : 105 + }, + { + "id" : 383, + "damage" : 115 + }, + { + "id" : 383, + "damage" : 118 + }, + { + "id" : 383, + "damage" : 116 + }, + { + "id" : 383, + "damage" : 58 + }, + { + "id" : 383, + "damage" : 114 + }, + { + "id" : 383, + "damage" : 59 + }, + { + "id" : 49 + }, + { + "id" : 7 + }, + { + "id" : 88 + }, + { + "id" : 87 + }, + { + "id" : 213 + }, + { + "id" : 372 + }, + { + "id" : 121 + }, + { + "id" : 200 + }, + { + "id" : 240 + }, + { + "id" : 432 + }, + { + "id" : 433 + }, + { + "id" : 19 + }, + { + "id" : 19, + "damage" : 1 + }, + { + "id" : -132 + }, + { + "id" : -132, + "damage" : 1 + }, + { + "id" : -132, + "damage" : 2 + }, + { + "id" : -132, + "damage" : 3 + }, + { + "id" : -132, + "damage" : 4 + }, + { + "id" : -132, + "damage" : 8 + }, + { + "id" : -132, + "damage" : 9 + }, + { + "id" : -132, + "damage" : 10 + }, + { + "id" : -132, + "damage" : 11 + }, + { + "id" : -132, + "damage" : 12 + }, + { + "id" : 298 + }, + { + "id" : 302 + }, + { + "id" : 306 + }, + { + "id" : 314 + }, + { + "id" : 310 + }, + { + "id" : 299 + }, + { + "id" : 303 + }, + { + "id" : 307 + }, + { + "id" : 315 + }, + { + "id" : 311 + }, + { + "id" : 300 + }, + { + "id" : 304 + }, + { + "id" : 308 + }, + { + "id" : 316 + }, + { + "id" : 312 + }, + { + "id" : 301 + }, + { + "id" : 305 + }, + { + "id" : 309 + }, + { + "id" : 317 + }, + { + "id" : 313 + }, + { + "id" : 268 + }, + { + "id" : 272 + }, + { + "id" : 267 + }, + { + "id" : 283 + }, + { + "id" : 276 + }, + { + "id" : 271 + }, + { + "id" : 275 + }, + { + "id" : 258 + }, + { + "id" : 286 + }, + { + "id" : 279 + }, + { + "id" : 270 + }, + { + "id" : 274 + }, + { + "id" : 257 + }, + { + "id" : 285 + }, + { + "id" : 278 + }, + { + "id" : 269 + }, + { + "id" : 273 + }, + { + "id" : 256 + }, + { + "id" : 284 + }, + { + "id" : 277 + }, + { + "id" : 290 + }, + { + "id" : 291 + }, + { + "id" : 292 + }, + { + "id" : 294 + }, + { + "id" : 293 + }, + { + "id" : 261 + }, + { + "id" : 471 + }, + { + "id" : 262 + }, + { + "id" : 262, + "damage" : 6 + }, + { + "id" : 262, + "damage" : 7 + }, + { + "id" : 262, + "damage" : 8 + }, + { + "id" : 262, + "damage" : 9 + }, + { + "id" : 262, + "damage" : 10 + }, + { + "id" : 262, + "damage" : 11 + }, + { + "id" : 262, + "damage" : 12 + }, + { + "id" : 262, + "damage" : 13 + }, + { + "id" : 262, + "damage" : 14 + }, + { + "id" : 262, + "damage" : 15 + }, + { + "id" : 262, + "damage" : 16 + }, + { + "id" : 262, + "damage" : 17 + }, + { + "id" : 262, + "damage" : 18 + }, + { + "id" : 262, + "damage" : 19 + }, + { + "id" : 262, + "damage" : 20 + }, + { + "id" : 262, + "damage" : 21 + }, + { + "id" : 262, + "damage" : 22 + }, + { + "id" : 262, + "damage" : 23 + }, + { + "id" : 262, + "damage" : 24 + }, + { + "id" : 262, + "damage" : 25 + }, + { + "id" : 262, + "damage" : 26 + }, + { + "id" : 262, + "damage" : 27 + }, + { + "id" : 262, + "damage" : 28 + }, + { + "id" : 262, + "damage" : 29 + }, + { + "id" : 262, + "damage" : 30 + }, + { + "id" : 262, + "damage" : 31 + }, + { + "id" : 262, + "damage" : 32 + }, + { + "id" : 262, + "damage" : 33 + }, + { + "id" : 262, + "damage" : 34 + }, + { + "id" : 262, + "damage" : 35 + }, + { + "id" : 262, + "damage" : 36 + }, + { + "id" : 262, + "damage" : 37 + }, + { + "id" : 262, + "damage" : 38 + }, + { + "id" : 262, + "damage" : 39 + }, + { + "id" : 262, + "damage" : 40 + }, + { + "id" : 262, + "damage" : 41 + }, + { + "id" : 262, + "damage" : 42 + }, + { + "id" : 513 + }, + { + "id" : 366 + }, + { + "id" : 320 + }, + { + "id" : 364 + }, + { + "id" : 424 + }, + { + "id" : 412 + }, + { + "id" : 350 + }, + { + "id" : 463 + }, + { + "id" : 297 + }, + { + "id" : 282 + }, + { + "id" : 459 + }, + { + "id" : 413 + }, + { + "id" : 393 + }, + { + "id" : 357 + }, + { + "id" : 400 + }, + { + "id" : 354 + }, + { + "id" : 464 + }, + { + "id" : 346 + }, + { + "id" : 398 + }, + { + "id" : 332 + }, + { + "id" : 359 + }, + { + "id" : 259 + }, + { + "id" : 420 + }, + { + "id" : 347 + }, + { + "id" : 345 + }, + { + "id" : 395 + }, + { + "id" : 395, + "damage" : 2 + }, + { + "id" : 329 + }, + { + "id" : 416 + }, + { + "id" : 417 + }, + { + "id" : 418 + }, + { + "id" : 419 + }, + { + "id" : 455 + }, + { + "id" : 469 + }, + { + "id" : 444 + }, + { + "id" : 450 + }, + { + "id" : 374 + }, + { + "id" : 384 + }, + { + "id" : 373 + }, + { + "id" : 373, + "damage" : 1 + }, + { + "id" : 373, + "damage" : 2 + }, + { + "id" : 373, + "damage" : 3 + }, + { + "id" : 373, + "damage" : 4 + }, + { + "id" : 373, + "damage" : 5 + }, + { + "id" : 373, + "damage" : 6 + }, + { + "id" : 373, + "damage" : 7 + }, + { + "id" : 373, + "damage" : 8 + }, + { + "id" : 373, + "damage" : 9 + }, + { + "id" : 373, + "damage" : 10 + }, + { + "id" : 373, + "damage" : 11 + }, + { + "id" : 373, + "damage" : 12 + }, + { + "id" : 373, + "damage" : 13 + }, + { + "id" : 373, + "damage" : 14 + }, + { + "id" : 373, + "damage" : 15 + }, + { + "id" : 373, + "damage" : 16 + }, + { + "id" : 373, + "damage" : 17 + }, + { + "id" : 373, + "damage" : 18 + }, + { + "id" : 373, + "damage" : 19 + }, + { + "id" : 373, + "damage" : 20 + }, + { + "id" : 373, + "damage" : 21 + }, + { + "id" : 373, + "damage" : 22 + }, + { + "id" : 373, + "damage" : 23 + }, + { + "id" : 373, + "damage" : 24 + }, + { + "id" : 373, + "damage" : 25 + }, + { + "id" : 373, + "damage" : 26 + }, + { + "id" : 373, + "damage" : 27 + }, + { + "id" : 373, + "damage" : 28 + }, + { + "id" : 373, + "damage" : 29 + }, + { + "id" : 373, + "damage" : 30 + }, + { + "id" : 373, + "damage" : 31 + }, + { + "id" : 373, + "damage" : 32 + }, + { + "id" : 373, + "damage" : 33 + }, + { + "id" : 373, + "damage" : 34 + }, + { + "id" : 373, + "damage" : 35 + }, + { + "id" : 373, + "damage" : 36 + }, + { + "id" : 373, + "damage" : 37 + }, + { + "id" : 373, + "damage" : 38 + }, + { + "id" : 373, + "damage" : 39 + }, + { + "id" : 373, + "damage" : 40 + }, + { + "id" : 373, + "damage" : 41 + }, + { + "id" : 438 + }, + { + "id" : 438, + "damage" : 1 + }, + { + "id" : 438, + "damage" : 2 + }, + { + "id" : 438, + "damage" : 3 + }, + { + "id" : 438, + "damage" : 4 + }, + { + "id" : 438, + "damage" : 5 + }, + { + "id" : 438, + "damage" : 6 + }, + { + "id" : 438, + "damage" : 7 + }, + { + "id" : 438, + "damage" : 8 + }, + { + "id" : 438, + "damage" : 9 + }, + { + "id" : 438, + "damage" : 10 + }, + { + "id" : 438, + "damage" : 11 + }, + { + "id" : 438, + "damage" : 12 + }, + { + "id" : 438, + "damage" : 13 + }, + { + "id" : 438, + "damage" : 14 + }, + { + "id" : 438, + "damage" : 15 + }, + { + "id" : 438, + "damage" : 16 + }, + { + "id" : 438, + "damage" : 17 + }, + { + "id" : 438, + "damage" : 18 + }, + { + "id" : 438, + "damage" : 19 + }, + { + "id" : 438, + "damage" : 20 + }, + { + "id" : 438, + "damage" : 21 + }, + { + "id" : 438, + "damage" : 22 + }, + { + "id" : 438, + "damage" : 23 + }, + { + "id" : 438, + "damage" : 24 + }, + { + "id" : 438, + "damage" : 25 + }, + { + "id" : 438, + "damage" : 26 + }, + { + "id" : 438, + "damage" : 27 + }, + { + "id" : 438, + "damage" : 28 + }, + { + "id" : 438, + "damage" : 29 + }, + { + "id" : 438, + "damage" : 30 + }, + { + "id" : 438, + "damage" : 31 + }, + { + "id" : 438, + "damage" : 32 + }, + { + "id" : 438, + "damage" : 33 + }, + { + "id" : 438, + "damage" : 34 + }, + { + "id" : 438, + "damage" : 35 + }, + { + "id" : 438, + "damage" : 36 + }, + { + "id" : 438, + "damage" : 37 + }, + { + "id" : 438, + "damage" : 38 + }, + { + "id" : 438, + "damage" : 39 + }, + { + "id" : 438, + "damage" : 40 + }, + { + "id" : 438, + "damage" : 41 + }, + { + "id" : 441 + }, + { + "id" : 441, + "damage" : 1 + }, + { + "id" : 441, + "damage" : 2 + }, + { + "id" : 441, + "damage" : 3 + }, + { + "id" : 441, + "damage" : 4 + }, + { + "id" : 441, + "damage" : 5 + }, + { + "id" : 441, + "damage" : 6 + }, + { + "id" : 441, + "damage" : 7 + }, + { + "id" : 441, + "damage" : 8 + }, + { + "id" : 441, + "damage" : 9 + }, + { + "id" : 441, + "damage" : 10 + }, + { + "id" : 441, + "damage" : 11 + }, + { + "id" : 441, + "damage" : 12 + }, + { + "id" : 441, + "damage" : 13 + }, + { + "id" : 441, + "damage" : 14 + }, + { + "id" : 441, + "damage" : 15 + }, + { + "id" : 441, + "damage" : 16 + }, + { + "id" : 441, + "damage" : 17 + }, + { + "id" : 441, + "damage" : 18 + }, + { + "id" : 441, + "damage" : 19 + }, + { + "id" : 441, + "damage" : 20 + }, + { + "id" : 441, + "damage" : 21 + }, + { + "id" : 441, + "damage" : 22 + }, + { + "id" : 441, + "damage" : 23 + }, + { + "id" : 441, + "damage" : 24 + }, + { + "id" : 441, + "damage" : 25 + }, + { + "id" : 441, + "damage" : 26 + }, + { + "id" : 441, + "damage" : 27 + }, + { + "id" : 441, + "damage" : 28 + }, + { + "id" : 441, + "damage" : 29 + }, + { + "id" : 441, + "damage" : 30 + }, + { + "id" : 441, + "damage" : 31 + }, + { + "id" : 441, + "damage" : 32 + }, + { + "id" : 441, + "damage" : 33 + }, + { + "id" : 441, + "damage" : 34 + }, + { + "id" : 441, + "damage" : 35 + }, + { + "id" : 441, + "damage" : 36 + }, + { + "id" : 441, + "damage" : 37 + }, + { + "id" : 441, + "damage" : 38 + }, + { + "id" : 441, + "damage" : 39 + }, + { + "id" : 441, + "damage" : 40 + }, + { + "id" : 441, + "damage" : 41 + }, + { + "id" : 280 + }, + { + "id" : 355 + }, + { + "id" : 355, + "damage" : 8 + }, + { + "id" : 355, + "damage" : 7 + }, + { + "id" : 355, + "damage" : 15 + }, + { + "id" : 355, + "damage" : 12 + }, + { + "id" : 355, + "damage" : 14 + }, + { + "id" : 355, + "damage" : 1 + }, + { + "id" : 355, + "damage" : 4 + }, + { + "id" : 355, + "damage" : 5 + }, + { + "id" : 355, + "damage" : 13 + }, + { + "id" : 355, + "damage" : 9 + }, + { + "id" : 355, + "damage" : 3 + }, + { + "id" : 355, + "damage" : 11 + }, + { + "id" : 355, + "damage" : 10 + }, + { + "id" : 355, + "damage" : 2 + }, + { + "id" : 355, + "damage" : 6 + }, + { + "id" : 50 + }, + { + "id" : -156 + }, + { + "id" : -208 + }, + { + "id" : 58 + }, + { + "id" : -200 + }, + { + "id" : -201 + }, + { + "id" : -202 + }, + { + "id" : -219 + }, + { + "id" : 720 + }, + { + "id" : 61 + }, + { + "id" : -196 + }, + { + "id" : -198 + }, + { + "id" : 379 + }, + { + "id" : 145 + }, + { + "id" : 145, + "damage" : 4 + }, + { + "id" : 145, + "damage" : 8 + }, + { + "id" : -195 + }, + { + "id" : 116 + }, + { + "id" : 47 + }, + { + "id" : -194 + }, + { + "id" : 380 + }, + { + "id" : -213 + }, + { + "id" : 54 + }, + { + "id" : 146 + }, + { + "id" : 130 + }, + { + "id" : -203 + }, + { + "id" : 205 + }, + { + "id" : 218 + }, + { + "id" : 218, + "damage" : 8 + }, + { + "id" : 218, + "damage" : 7 + }, + { + "id" : 218, + "damage" : 15 + }, + { + "id" : 218, + "damage" : 12 + }, + { + "id" : 218, + "damage" : 14 + }, + { + "id" : 218, + "damage" : 1 + }, + { + "id" : 218, + "damage" : 4 + }, + { + "id" : 218, + "damage" : 5 + }, + { + "id" : 218, + "damage" : 13 + }, + { + "id" : 218, + "damage" : 9 + }, + { + "id" : 218, + "damage" : 3 + }, + { + "id" : 218, + "damage" : 11 + }, + { + "id" : 218, + "damage" : 10 + }, + { + "id" : 218, + "damage" : 2 + }, + { + "id" : 218, + "damage" : 6 + }, + { + "id" : 425 + }, + { + "id" : 25 + }, + { + "id" : 84 + }, + { + "id" : 500 + }, + { + "id" : 501 + }, + { + "id" : 502 + }, + { + "id" : 503 + }, + { + "id" : 504 + }, + { + "id" : 505 + }, + { + "id" : 506 + }, + { + "id" : 507 + }, + { + "id" : 508 + }, + { + "id" : 509 + }, + { + "id" : 510 + }, + { + "id" : 511 + }, + { + "id" : 348 + }, + { + "id" : 89 + }, + { + "id" : 123 + }, + { + "id" : 169 + }, + { + "id" : 323 + }, + { + "id" : 472 + }, + { + "id" : 473 + }, + { + "id" : 474 + }, + { + "id" : 475 + }, + { + "id" : 476 + }, + { + "id" : 321 + }, + { + "id" : 389 + }, + { + "id" : 737 + }, + { + "id" : 390 + }, + { + "id" : 281 + }, + { + "id" : 325 + }, + { + "id" : 325, + "damage" : 1 + }, + { + "id" : 325, + "damage" : 8 + }, + { + "id" : 325, + "damage" : 10 + }, + { + "id" : 325, + "damage" : 2 + }, + { + "id" : 325, + "damage" : 3 + }, + { + "id" : 325, + "damage" : 4 + }, + { + "id" : 325, + "damage" : 5 + }, + { + "id" : 397, + "damage" : 3 + }, + { + "id" : 397, + "damage" : 2 + }, + { + "id" : 397, + "damage" : 4 + }, + { + "id" : 397, + "damage" : 5 + }, + { + "id" : 397 + }, + { + "id" : 397, + "damage" : 1 + }, + { + "id" : 138 + }, + { + "id" : -206 + }, + { + "id" : -157 + }, + { + "id" : -197 + }, + { + "id" : 120 + }, + { + "id" : 263 + }, + { + "id" : 263, + "damage" : 1 + }, + { + "id" : 264 + }, + { + "id" : 452 + }, + { + "id" : 265 + }, + { + "id" : 371 + }, + { + "id" : 266 + }, + { + "id" : 388 + }, + { + "id" : 406 + }, + { + "id" : 337 + }, + { + "id" : 336 + }, + { + "id" : 405 + }, + { + "id" : 409 + }, + { + "id" : 422 + }, + { + "id" : 465 + }, + { + "id" : 467 + }, + { + "id" : 468 + }, + { + "id" : 470 + }, + { + "id" : 287 + }, + { + "id" : 288 + }, + { + "id" : 318 + }, + { + "id" : 289 + }, + { + "id" : 334 + }, + { + "id" : 415 + }, + { + "id" : 414 + }, + { + "id" : 385 + }, + { + "id" : 369 + }, + { + "id" : 377 + }, + { + "id" : 378 + }, + { + "id" : 376 + }, + { + "id" : 437 + }, + { + "id" : 445 + }, + { + "id" : 370 + }, + { + "id" : 341 + }, + { + "id" : 368 + }, + { + "id" : 381 + }, + { + "id" : 399 + }, + { + "id" : 208 + }, + { + "id" : 426 + }, + { + "id" : 339 + }, + { + "id" : 340 + }, + { + "id" : 386 + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAUAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAUAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAUAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAYAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAYAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAYAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAgAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAsAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAsAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZAsAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZAsAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZAsAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZAwAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZAwAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZA4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZA8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZA8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZA8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZA8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZA8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZBMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZBMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBQAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBUAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBYAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBcAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBgAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBgAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZBgAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZBkAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZBoAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZB0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBQACAgBpZB0AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB4AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZB8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZB8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZB8AAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCAAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCEAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZCIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZCIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsBAACAgBpZCIAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAQACAgBpZCMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAgACAgBpZCMAAAA=" + }, + { + "id" : 403, + "nbt_b64" : "CgAACQQAZW5jaAoBAAAAAgMAbHZsAwACAgBpZCMAAAA=" + }, + { + "id" : 333 + }, + { + "id" : 333, + "damage" : 1 + }, + { + "id" : 333, + "damage" : 2 + }, + { + "id" : 333, + "damage" : 3 + }, + { + "id" : 333, + "damage" : 4 + }, + { + "id" : 333, + "damage" : 5 + }, + { + "id" : 66 + }, + { + "id" : 27 + }, + { + "id" : 28 + }, + { + "id" : 126 + }, + { + "id" : 328 + }, + { + "id" : 342 + }, + { + "id" : 408 + }, + { + "id" : 407 + }, + { + "id" : 331 + }, + { + "id" : 152 + }, + { + "id" : 76 + }, + { + "id" : 69 + }, + { + "id" : 143 + }, + { + "id" : -144 + }, + { + "id" : -141 + }, + { + "id" : -143 + }, + { + "id" : -140 + }, + { + "id" : -142 + }, + { + "id" : 77 + }, + { + "id" : 131 + }, + { + "id" : 72 + }, + { + "id" : -154 + }, + { + "id" : -151 + }, + { + "id" : -153 + }, + { + "id" : -150 + }, + { + "id" : -152 + }, + { + "id" : 70 + }, + { + "id" : 147 + }, + { + "id" : 148 + }, + { + "id" : 251 + }, + { + "id" : 151 + }, + { + "id" : 356 + }, + { + "id" : 404 + }, + { + "id" : 410 + }, + { + "id" : 125, + "damage" : 3 + }, + { + "id" : 23, + "damage" : 3 + }, + { + "id" : 33, + "damage" : 1 + }, + { + "id" : 29, + "damage" : 1 + }, + { + "id" : 46 + }, + { + "id" : 421 + }, + { + "id" : -204 + }, + { + "id" : 446 + }, + { + "id" : 446, + "damage" : 8 + }, + { + "id" : 446, + "damage" : 7 + }, + { + "id" : 446, + "damage" : 15 + }, + { + "id" : 446, + "damage" : 12 + }, + { + "id" : 446, + "damage" : 14 + }, + { + "id" : 446, + "damage" : 1 + }, + { + "id" : 446, + "damage" : 4 + }, + { + "id" : 446, + "damage" : 5 + }, + { + "id" : 446, + "damage" : 13 + }, + { + "id" : 446, + "damage" : 9 + }, + { + "id" : 446, + "damage" : 3 + }, + { + "id" : 446, + "damage" : 11 + }, + { + "id" : 446, + "damage" : 10 + }, + { + "id" : 446, + "damage" : 2 + }, + { + "id" : 446, + "damage" : 6 + }, + { + "id" : 446, + "damage" : 15, + "nbt_b64" : "CgAAAwQAVHlwZQEAAAAA" + }, + { + "id" : 434 + }, + { + "id" : 434, + "damage" : 1 + }, + { + "id" : 434, + "damage" : 2 + }, + { + "id" : 434, + "damage" : 3 + }, + { + "id" : 434, + "damage" : 4 + }, + { + "id" : 434, + "damage" : 5 + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMAAAAAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAADQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAACgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAAAgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 401, + "nbt_b64" : "CgAACgkARmlyZXdvcmtzAQYARmxpZ2h0AQkKAEV4cGxvc2lvbnMKAQAAAAcNAEZpcmV3b3JrQ29sb3IBAAAABgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAAA" + }, + { + "id" : 402, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IhHR3/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 8, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3JST0f/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 7, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KXnZ3/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 15, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Lw8PD/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 12, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Laszr/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 14, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IdgPn/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 1, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3ImLrD/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 4, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KqRDz/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABAEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 5, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3K4Mon/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 13, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3K9Tsf/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAADQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 9, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Kqi/P/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACQEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 3, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IyVIP/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 11, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3I92P7/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACwEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 10, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3Ifx4D/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAACgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 2, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3IWfF7/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAAAgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + }, + { + "id" : 402, + "damage" : 6, + "nbt_b64" : "CgAAAwsAY3VzdG9tQ29sb3KcnBb/Cg0ARmlyZXdvcmtzSXRlbQcNAEZpcmV3b3JrQ29sb3IBAAAABgEMAEZpcmV3b3JrVHlwZQAHDABGaXJld29ya0ZhZGUAAAAAAQ0ARmlyZXdvcmtUcmFpbAABDwBGaXJld29ya0ZsaWNrZXIAAAA=" + } + ] +}
\ No newline at end of file diff --git a/serverlist-server/src/main/resources/tables/entity_identifiers.dat b/serverlist-server/src/main/resources/tables/entity_identifiers.dat Binary files differindex c4f1524..c9477ba 100644 --- a/serverlist-server/src/main/resources/tables/entity_identifiers.dat +++ b/serverlist-server/src/main/resources/tables/entity_identifiers.dat diff --git a/serverlist-server/src/main/resources/tables/runtime_block_states.dat b/serverlist-server/src/main/resources/tables/runtime_block_states.dat Binary files differindex 0c79ab2..feeeda6 100644 --- a/serverlist-server/src/main/resources/tables/runtime_block_states.dat +++ b/serverlist-server/src/main/resources/tables/runtime_block_states.dat |
