From ace420a0179293634e93ce7bd74df458b38a853c Mon Sep 17 00:00:00 2001 From: LOOHP Date: Thu, 28 Jul 2022 18:07:31 +0800 Subject: [PATCH] Minecraft 1.19.1 --- pom.xml | 4 +- src/main/java/com/loohp/limbo/Limbo.java | 4 +- .../loohp/limbo/network/ClientConnection.java | 2 +- .../packets/ClientboundPlayerChatPacket.java | 99 - .../packets/ClientboundSystemChatPacket.java | 14 +- .../protocol/packets/PacketPlayInChat.java | 31 +- .../packets/ServerboundChatCommandPacket.java | 32 +- .../java/com/loohp/limbo/player/Player.java | 14 +- .../loohp/limbo/utils/ArgumentSignatures.java | 112 + .../loohp/limbo/utils/LastSeenMessages.java | 140 ++ .../loohp/limbo/utils/MessageSignature.java | 92 + .../limbo/utils/NetworkEncryptionUtils.java | 84 - src/main/resources/dimension_registry.json | 2128 ++++++++--------- src/main/resources/mapping.json | 65 +- src/main/resources/registries.json | 34 +- 15 files changed, 1512 insertions(+), 1343 deletions(-) delete mode 100644 src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundPlayerChatPacket.java create mode 100644 src/main/java/com/loohp/limbo/utils/ArgumentSignatures.java create mode 100644 src/main/java/com/loohp/limbo/utils/LastSeenMessages.java create mode 100644 src/main/java/com/loohp/limbo/utils/MessageSignature.java delete mode 100644 src/main/java/com/loohp/limbo/utils/NetworkEncryptionUtils.java diff --git a/pom.xml b/pom.xml index 49bc3ea..a14603c 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ com.loohp Limbo Limbo - 0.6.16-ALPHA + 0.6.17-ALPHA Standalone Limbo Minecraft Server. https://github.com/LOOHP/Limbo @@ -136,7 +136,7 @@ - ${project.artifactId}-${project.version}-1.19 + ${project.artifactId}-${project.version}-1.19.1 diff --git a/src/main/java/com/loohp/limbo/Limbo.java b/src/main/java/com/loohp/limbo/Limbo.java index d06e7bb..c77ec88 100644 --- a/src/main/java/com/loohp/limbo/Limbo.java +++ b/src/main/java/com/loohp/limbo/Limbo.java @@ -131,8 +131,8 @@ public static Limbo getInstance() { //=========================== - public final String SERVER_IMPLEMENTATION_VERSION = "1.19"; - public final int SERVER_IMPLEMENTATION_PROTOCOL = 759; + public final String SERVER_IMPLEMENTATION_VERSION = "1.19.1"; + public final int SERVER_IMPLEMENTATION_PROTOCOL = 760; public final String LIMBO_IMPLEMENTATION_VERSION; private AtomicBoolean isRunning; diff --git a/src/main/java/com/loohp/limbo/network/ClientConnection.java b/src/main/java/com/loohp/limbo/network/ClientConnection.java index 081eef1..3134e40 100644 --- a/src/main/java/com/loohp/limbo/network/ClientConnection.java +++ b/src/main/java/com/loohp/limbo/network/ClientConnection.java @@ -618,7 +618,7 @@ public void run() { PacketPlayInTabComplete request = (PacketPlayInTabComplete) packetIn; String[] command = CustomStringUtils.splitStringToArgs(request.getText().substring(1)); - List matches = new ArrayList(Limbo.getInstance().getPluginManager().getTabOptions(player, command).stream().map(each -> new TabCompleteMatches(each)).collect(Collectors.toList())); + List matches = new ArrayList<>(Limbo.getInstance().getPluginManager().getTabOptions(player, command).stream().map(each -> new TabCompleteMatches(each)).collect(Collectors.toList())); int start = CustomStringUtils.getIndexOfArg(request.getText(), command.length - 1) + 1; int length = command[command.length - 1].length(); diff --git a/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundPlayerChatPacket.java b/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundPlayerChatPacket.java deleted file mode 100644 index 87dff7c..0000000 --- a/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundPlayerChatPacket.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * This file is part of Limbo. - * - * Copyright (C) 2022. LoohpJames - * Copyright (C) 2022. Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.loohp.limbo.network.protocol.packets; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.time.Instant; -import java.util.Optional; -import java.util.UUID; - -import com.loohp.limbo.utils.DataTypeIO; - -import com.loohp.limbo.utils.NetworkEncryptionUtils; -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; - -public class ClientboundPlayerChatPacket extends PacketOut { - - private Component signedContent; - private Optional unsignedContent; - private int position; - private UUID sender; - private Instant time; - private NetworkEncryptionUtils.SignatureData saltSignature; - - public ClientboundPlayerChatPacket(Component signedContent, Optional unsignedContent, int position, UUID sender, Instant time, NetworkEncryptionUtils.SignatureData saltSignature) { - this.signedContent = signedContent; - this.unsignedContent = unsignedContent; - this.position = position; - this.sender = sender; - this.time = time; - this.saltSignature = saltSignature; - } - - public Component getSignedContent() { - return signedContent; - } - - public Optional getUnsignedContent() { - return unsignedContent; - } - - public int getPosition() { - return position; - } - - public UUID getSender() { - return sender; - } - - public Instant getTime() { - return time; - } - - public NetworkEncryptionUtils.SignatureData getSaltSignature() { - return saltSignature; - } - - @Override - public byte[] serializePacket() throws IOException { - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - - DataOutputStream output = new DataOutputStream(buffer); - output.writeByte(Packet.getPlayOut().get(getClass())); - DataTypeIO.writeString(output, GsonComponentSerializer.gson().serialize(signedContent), StandardCharsets.UTF_8); - if (unsignedContent.isPresent()) { - output.writeBoolean(true); - DataTypeIO.writeString(output, GsonComponentSerializer.gson().serialize(unsignedContent.get()), StandardCharsets.UTF_8); - } else { - output.writeBoolean(false); - } - DataTypeIO.writeVarInt(output, position); - DataTypeIO.writeUUID(output, sender); - output.writeLong(time.toEpochMilli()); - NetworkEncryptionUtils.SignatureData.write(output, saltSignature); - - return buffer.toByteArray(); - } - -} diff --git a/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundSystemChatPacket.java b/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundSystemChatPacket.java index 4bdec77..6953351 100644 --- a/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundSystemChatPacket.java +++ b/src/main/java/com/loohp/limbo/network/protocol/packets/ClientboundSystemChatPacket.java @@ -31,21 +31,21 @@ public class ClientboundSystemChatPacket extends PacketOut { private Component message; - private int position; + private boolean overlay; - public ClientboundSystemChatPacket(Component message, int position) { + public ClientboundSystemChatPacket(Component message, boolean overlay) { this.message = message; - this.position = position; + this.overlay = overlay; } public Component getMessage() { return message; } - public int getPosition() { - return position; + public boolean isOverlay() { + return overlay; } - + @Override public byte[] serializePacket() throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); @@ -53,7 +53,7 @@ public byte[] serializePacket() throws IOException { DataOutputStream output = new DataOutputStream(buffer); output.writeByte(Packet.getPlayOut().get(getClass())); DataTypeIO.writeString(output, GsonComponentSerializer.gson().serialize(message), StandardCharsets.UTF_8); - DataTypeIO.writeVarInt(output, position); + output.writeBoolean(overlay); return buffer.toByteArray(); } diff --git a/src/main/java/com/loohp/limbo/network/protocol/packets/PacketPlayInChat.java b/src/main/java/com/loohp/limbo/network/protocol/packets/PacketPlayInChat.java index bd9b71d..52083f8 100644 --- a/src/main/java/com/loohp/limbo/network/protocol/packets/PacketPlayInChat.java +++ b/src/main/java/com/loohp/limbo/network/protocol/packets/PacketPlayInChat.java @@ -25,25 +25,29 @@ import java.time.Instant; import com.loohp.limbo.utils.DataTypeIO; -import com.loohp.limbo.utils.NetworkEncryptionUtils; -import com.loohp.limbo.utils.NetworkEncryptionUtils.SignatureData; +import com.loohp.limbo.utils.LastSeenMessages; +import com.loohp.limbo.utils.MessageSignature; public class PacketPlayInChat extends PacketIn { private String message; private Instant time; - private NetworkEncryptionUtils.SignatureData signature; - private boolean previewed; + private long salt; + private MessageSignature signature; + private boolean signedPreview; + private LastSeenMessages.b lastSeenMessages; - public PacketPlayInChat(String message, Instant time, SignatureData signature, boolean previewed) { + public PacketPlayInChat(String message, Instant time, long salt, MessageSignature signature, boolean signedPreview, LastSeenMessages.b lastSeenMessages) { this.message = message; this.time = time; + this.salt = salt; this.signature = signature; - this.previewed = previewed; + this.signedPreview = signedPreview; + this.lastSeenMessages = lastSeenMessages; } public PacketPlayInChat(DataInputStream in) throws IOException { - this(DataTypeIO.readString(in, StandardCharsets.UTF_8), Instant.ofEpochMilli(in.readLong()), new NetworkEncryptionUtils.SignatureData(in), in.readBoolean()); + this(DataTypeIO.readString(in, StandardCharsets.UTF_8), Instant.ofEpochMilli(in.readLong()), in.readLong(), new MessageSignature(in), in.readBoolean(), new LastSeenMessages.b(in)); } public String getMessage() { @@ -54,12 +58,19 @@ public Instant getTime() { return time; } - public SignatureData getSignature() { + public MessageSignature getSignature() { return signature; } - public boolean isPreviewed() { - return previewed; + public boolean isSignedPreview() { + return signedPreview; } + public long getSalt() { + return salt; + } + + public LastSeenMessages.b getLastSeenMessages() { + return lastSeenMessages; + } } diff --git a/src/main/java/com/loohp/limbo/network/protocol/packets/ServerboundChatCommandPacket.java b/src/main/java/com/loohp/limbo/network/protocol/packets/ServerboundChatCommandPacket.java index bb6e679..7349983 100644 --- a/src/main/java/com/loohp/limbo/network/protocol/packets/ServerboundChatCommandPacket.java +++ b/src/main/java/com/loohp/limbo/network/protocol/packets/ServerboundChatCommandPacket.java @@ -19,45 +19,40 @@ package com.loohp.limbo.network.protocol.packets; +import com.loohp.limbo.utils.ArgumentSignatures; import com.loohp.limbo.utils.DataTypeIO; -import com.loohp.limbo.utils.NetworkEncryptionUtils.ArgumentSignatures; +import com.loohp.limbo.utils.LastSeenMessages; import java.io.DataInputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.Instant; -import java.util.HashMap; -import java.util.Map; public class ServerboundChatCommandPacket extends PacketIn { private String command; private Instant time; + private long salt; private ArgumentSignatures argumentSignatures; private boolean commandPreview; + private LastSeenMessages.b lastSeenMessages; - public ServerboundChatCommandPacket(String command, Instant time, ArgumentSignatures argumentSignatures, boolean commandPreview) { + public ServerboundChatCommandPacket(String command, Instant time, long salt, ArgumentSignatures argumentSignatures, boolean commandPreview, LastSeenMessages.b lastSeenMessages) { this.command = command; this.time = time; + this.salt = salt; this.argumentSignatures = argumentSignatures; this.commandPreview = commandPreview; + this.lastSeenMessages = lastSeenMessages; } public ServerboundChatCommandPacket(DataInputStream in) throws IOException { this.command = DataTypeIO.readString(in, StandardCharsets.UTF_8); this.time = Instant.ofEpochMilli(in.readLong()); - long salt = in.readLong(); - int size = DataTypeIO.readVarInt(in); - Map signatures = new HashMap<>(size); - for (int i = 0; i < size; i++) { - String key = DataTypeIO.readString(in, StandardCharsets.UTF_8); - int arraySize = DataTypeIO.readVarInt(in); - byte[] value = new byte[arraySize]; - in.readFully(value); - signatures.put(key, value); - } - this.argumentSignatures = new ArgumentSignatures(salt, signatures); + this.salt = in.readLong(); + this.argumentSignatures = new ArgumentSignatures(in); this.commandPreview = in.readBoolean(); + this.lastSeenMessages = new LastSeenMessages.b(in); } public String getCommand() { @@ -68,6 +63,10 @@ public Instant getTime() { return time; } + public long getSalt() { + return salt; + } + public ArgumentSignatures getArgumentSignatures() { return argumentSignatures; } @@ -76,4 +75,7 @@ public boolean isCommandPreview() { return commandPreview; } + public LastSeenMessages.b getLastSeenMessages() { + return lastSeenMessages; + } } diff --git a/src/main/java/com/loohp/limbo/player/Player.java b/src/main/java/com/loohp/limbo/player/Player.java index dc76974..dac915e 100644 --- a/src/main/java/com/loohp/limbo/player/Player.java +++ b/src/main/java/com/loohp/limbo/player/Player.java @@ -44,8 +44,8 @@ import com.loohp.limbo.network.protocol.packets.PacketPlayOutRespawn; import com.loohp.limbo.utils.BungeecordAdventureConversionUtils; import com.loohp.limbo.utils.GameMode; +import com.loohp.limbo.utils.MessageSignature; import com.loohp.limbo.utils.NamespacedKey; -import com.loohp.limbo.utils.NetworkEncryptionUtils; import net.kyori.adventure.audience.MessageType; import net.kyori.adventure.bossbar.BossBar; import net.kyori.adventure.identity.Identity; @@ -304,7 +304,7 @@ public void chat(String message, boolean verbose) { chat(message, verbose, null, Instant.now()); } - public void chat(String message, boolean verbose, NetworkEncryptionUtils.SignatureData saltSignature, Instant time) { + public void chat(String message, boolean verbose, MessageSignature saltSignature, Instant time) { if (Limbo.getInstance().getServerProperties().isAllowChat()) { PlayerChatEvent event = Limbo.getInstance().getEventsManager().callEvent(new PlayerChatEvent(this, CHAT_DEFAULT_FORMAT, message, false)); if (!event.isCancelled()) { @@ -393,7 +393,7 @@ public void setSubTitle(String subTitle) { } public void setTitleTimer(int fadeIn, int stay, int fadeOut) { - sendTitlePart(TitlePart.TIMES, Title.Times.of(Duration.ofMillis(fadeIn * 50), Duration.ofMillis(stay * 50), Duration.ofMillis(fadeOut * 50))); + sendTitlePart(TitlePart.TIMES, Title.Times.times(Duration.ofMillis(fadeIn * 50), Duration.ofMillis(stay * 50), Duration.ofMillis(fadeOut * 50))); } @Deprecated @@ -409,7 +409,7 @@ public void setTitleSubTitle(BaseComponent title, BaseComponent subTitle, int fa } public void setTitleSubTitle(String title, String subTitle, int fadeIn, int stay, int fadeOut) { - sendTitlePart(TitlePart.TIMES, Title.Times.of(Duration.ofMillis(fadeIn * 50), Duration.ofMillis(stay * 50), Duration.ofMillis(fadeOut * 50))); + sendTitlePart(TitlePart.TIMES, Title.Times.times(Duration.ofMillis(fadeIn * 50), Duration.ofMillis(stay * 50), Duration.ofMillis(fadeOut * 50))); sendTitlePart(TitlePart.SUBTITLE, LegacyComponentSerializer.legacySection().deserialize(subTitle)); sendTitlePart(TitlePart.TITLE, LegacyComponentSerializer.legacySection().deserialize(title)); } @@ -419,7 +419,7 @@ public void sendMessage(Identity source, Component message, MessageType type) { sendMessage(source, message, type, null, Instant.now()); } - public void sendMessage(Identity source, Component message, MessageType type, NetworkEncryptionUtils.SignatureData signature, Instant time) { + public void sendMessage(Identity source, Component message, MessageType type, MessageSignature signature, Instant time) { try { PacketOut chat; switch (type) { @@ -434,7 +434,7 @@ public void sendMessage(Identity source, Component message, MessageType type, Ne */ case SYSTEM: default: - chat = new ClientboundSystemChatPacket(message, 1); + chat = new ClientboundSystemChatPacket(message, false); break; } clientConnection.sendPacket(chat); @@ -469,7 +469,7 @@ public void playSound(Sound sound) { @Override public void sendActionBar(Component message) { try { - ClientboundSystemChatPacket chat = new ClientboundSystemChatPacket(message, 2); + ClientboundSystemChatPacket chat = new ClientboundSystemChatPacket(message, true); clientConnection.sendPacket(chat); } catch (IOException ignored) {} } diff --git a/src/main/java/com/loohp/limbo/utils/ArgumentSignatures.java b/src/main/java/com/loohp/limbo/utils/ArgumentSignatures.java new file mode 100644 index 0000000..0d1121a --- /dev/null +++ b/src/main/java/com/loohp/limbo/utils/ArgumentSignatures.java @@ -0,0 +1,112 @@ +/* + * This file is part of Limbo. + * + * Copyright (C) 2022. LoohpJames + * Copyright (C) 2022. Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.loohp.limbo.utils; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +public class ArgumentSignatures { + + public static final ArgumentSignatures EMPTY = new ArgumentSignatures(Collections.emptyList()); + private static final int MAX_ARGUMENT_COUNT = 8; + private static final int MAX_ARGUMENT_NAME_LENGTH = 16; + + private List entries; + + public ArgumentSignatures(List entries) { + this.entries = entries; + } + + public ArgumentSignatures(DataInputStream in) throws IOException { + int size = DataTypeIO.readVarInt(in); + entries = new ArrayList<>(8); + for (int i = 0; i < size; i++) { + entries.add(new ArgumentSignatures.a(in)); + } + } + + public List getEntries() { + return entries; + } + + public MessageSignature get(String s) { + Iterator iterator = this.entries.iterator(); + + ArgumentSignatures.a argumentsignatures_a; + + do { + if (!iterator.hasNext()) { + return MessageSignature.EMPTY; + } + + argumentsignatures_a = iterator.next(); + } while (!argumentsignatures_a.name.equals(s)); + + return argumentsignatures_a.signature; + } + + public void write(DataOutputStream out) throws IOException { + DataTypeIO.writeVarInt(out, entries.size()); + for (ArgumentSignatures.a argumentsignatures_a : entries) { + argumentsignatures_a.write(out); + } + } + + public static class a { + + private String name; + private MessageSignature signature; + + public a(String name, MessageSignature signature) { + this.name = name; + this.signature = signature; + } + + public String getName() { + return name; + } + + public MessageSignature getSignature() { + return signature; + } + + public a(DataInputStream in) throws IOException { + this(DataTypeIO.readString(in, StandardCharsets.UTF_8), new MessageSignature(in)); + } + + public void write(DataOutputStream out) throws IOException { + DataTypeIO.writeString(out, name, StandardCharsets.UTF_8); + this.signature.write(out); + } + } + + @FunctionalInterface + public interface b { + + MessageSignature sign(String s, String s1); + } + +} diff --git a/src/main/java/com/loohp/limbo/utils/LastSeenMessages.java b/src/main/java/com/loohp/limbo/utils/LastSeenMessages.java new file mode 100644 index 0000000..0221705 --- /dev/null +++ b/src/main/java/com/loohp/limbo/utils/LastSeenMessages.java @@ -0,0 +1,140 @@ +/* + * This file is part of Limbo. + * + * Copyright (C) 2022. LoohpJames + * Copyright (C) 2022. Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.loohp.limbo.utils; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class LastSeenMessages { + + public static LastSeenMessages EMPTY = new LastSeenMessages(Collections.emptyList()); + public static final int LAST_SEEN_MESSAGES_MAX_LENGTH = 5; + + private List entries; + + public LastSeenMessages(List entries) { + this.entries = entries; + } + + public LastSeenMessages(DataInputStream in) throws IOException { + int size = DataTypeIO.readVarInt(in); + entries = new ArrayList<>(size); + for (int i = 0; i < size; i++) { + entries.add(new LastSeenMessages.a(in)); + } + } + + public void write(DataOutputStream out) throws IOException { + DataTypeIO.writeVarInt(out, entries.size()); + for (LastSeenMessages.a lastseenmessages_a : entries) { + lastseenmessages_a.write(out); + } + } + + public void updateHash(DataOutputStream dataoutput) throws IOException { + Iterator iterator = this.entries.iterator(); + + while (iterator.hasNext()) { + LastSeenMessages.a lastseenmessages_a = iterator.next(); + UUID uuid = lastseenmessages_a.getProfileId(); + MessageSignature messagesignature = lastseenmessages_a.getLastSignature(); + + dataoutput.writeByte(70); + dataoutput.writeLong(uuid.getMostSignificantBits()); + dataoutput.writeLong(uuid.getLeastSignificantBits()); + dataoutput.write(messagesignature.getBytes()); + } + + } + + public static class a { + + private UUID profileId; + private MessageSignature lastSignature; + + public UUID getProfileId() { + return profileId; + } + + public MessageSignature getLastSignature() { + return lastSignature; + } + + public a(UUID profileId, MessageSignature lastSignature) { + this.profileId = profileId; + this.lastSignature = lastSignature; + } + + public a(DataInputStream in) throws IOException { + this(DataTypeIO.readUUID(in), new MessageSignature(in)); + } + + public void write(DataOutputStream out) throws IOException { + DataTypeIO.writeUUID(out, this.profileId); + this.lastSignature.write(out); + } + } + + public static class b { + + private LastSeenMessages lastSeen; + private Optional lastReceived; + + public b(LastSeenMessages lastSeen, Optional lastReceived) { + this.lastSeen = lastSeen; + this.lastReceived = lastReceived; + } + + public b(DataInputStream in) throws IOException { + this.lastSeen = new LastSeenMessages(in); + if (in.readBoolean()) { + this.lastReceived = Optional.of(new LastSeenMessages.a(in)); + } else { + this.lastReceived = Optional.empty(); + } + } + + public void write(DataOutputStream out) throws IOException { + this.lastSeen.write(out); + if (lastReceived.isPresent()) { + out.writeBoolean(true); + lastReceived.get().write(out); + } else { + out.writeBoolean(false); + } + } + + public LastSeenMessages getLastSeen() { + return lastSeen; + } + + public Optional getLastReceived() { + return lastReceived; + } + } + +} diff --git a/src/main/java/com/loohp/limbo/utils/MessageSignature.java b/src/main/java/com/loohp/limbo/utils/MessageSignature.java new file mode 100644 index 0000000..522cd81 --- /dev/null +++ b/src/main/java/com/loohp/limbo/utils/MessageSignature.java @@ -0,0 +1,92 @@ +/* + * This file is part of Limbo. + * + * Copyright (C) 2022. LoohpJames + * Copyright (C) 2022. Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.loohp.limbo.utils; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.Base64; + +public class MessageSignature { + + public static final MessageSignature EMPTY = new MessageSignature(new byte[0]); + + private byte[] bytes; + + public MessageSignature(byte[] bytes) { + this.bytes = bytes; + } + + public byte[] getBytes() { + return bytes; + } + + public MessageSignature(DataInputStream in) throws IOException { + this.bytes = new byte[DataTypeIO.readVarInt(in)]; + in.readFully(bytes); + } + + public void write(DataOutputStream out) throws IOException { + out.write(this.bytes.length); + out.write(this.bytes); + } + + public boolean isEmpty() { + return this.bytes.length == 0; + } + + public ByteBuffer asByteBuffer() { + return !this.isEmpty() ? ByteBuffer.wrap(this.bytes) : null; + } + + public boolean equals(Object object) { + boolean flag; + + if (this != object) { + label22: + { + if (object instanceof MessageSignature) { + MessageSignature messagesignature = (MessageSignature) object; + + if (Arrays.equals(this.bytes, messagesignature.bytes)) { + break label22; + } + } + + flag = false; + return flag; + } + } + + flag = true; + return flag; + } + + public int hashCode() { + return Arrays.hashCode(this.bytes); + } + + public String toString() { + return !this.isEmpty() ? Base64.getEncoder().encodeToString(this.bytes) : "empty"; + } + +} diff --git a/src/main/java/com/loohp/limbo/utils/NetworkEncryptionUtils.java b/src/main/java/com/loohp/limbo/utils/NetworkEncryptionUtils.java deleted file mode 100644 index eb49d78..0000000 --- a/src/main/java/com/loohp/limbo/utils/NetworkEncryptionUtils.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of Limbo. - * - * Copyright (C) 2022. LoohpJames - * Copyright (C) 2022. Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.loohp.limbo.utils; - -import com.google.common.primitives.Longs; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.Map; - -public class NetworkEncryptionUtils { - - public static class SignatureData { - - public static final SignatureData NONE = new SignatureData(0L, new byte[0]); - private long salt; - private byte[] signature; - - public SignatureData(long salt, byte[] signature) { - this.salt = salt; - this.signature = signature; - } - - public SignatureData(DataInputStream in) throws IOException { - this.salt = in.readLong(); - int length = DataTypeIO.readVarInt(in); - this.signature = new byte[length]; - in.readFully(this.signature); - } - - public boolean isSignaturePresent() { - return this.signature.length > 0; - } - - public static void write(DataOutputStream out, SignatureData signatureData) throws IOException { - out.writeLong(signatureData.salt); - DataTypeIO.writeVarInt(out, signatureData.signature.length); - out.write(signatureData.signature); - } - - public byte[] getSalt() { - return Longs.toByteArray(this.salt); - } - } - - public static class ArgumentSignatures { - - private long salt; - private Map signatures; - - public ArgumentSignatures(long salt, Map signatures) { - this.salt = salt; - this.signatures = signatures; - } - - public long getSalt() { - return salt; - } - - public Map getSignatures() { - return signatures; - } - - } - -} diff --git a/src/main/resources/dimension_registry.json b/src/main/resources/dimension_registry.json index 0818dbf..0204852 100644 --- a/src/main/resources/dimension_registry.json +++ b/src/main/resources/dimension_registry.json @@ -28,27 +28,18 @@ "chat": { "type": "CompoundTag", "value": { - "decoration": { - "type": "CompoundTag", + "translation_key": { + "type": "StringTag", + "value": "chat.type.text" + }, + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.text" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -56,31 +47,18 @@ "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "chat.type.text.narrate" }, - "decoration": { - "type": "CompoundTag", + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.text.narrate" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -91,7 +69,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:system" + "value": "minecraft:say_command" }, "id": { "type": "IntTag", @@ -102,14 +80,39 @@ "value": { "chat": { "type": "CompoundTag", - "value": {} + "value": { + "translation_key": { + "type": "StringTag", + "value": "chat.type.announcement" + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "sender", + "content" + ] + } + } + } }, "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "system" + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "sender", + "content" + ] + } } } } @@ -119,7 +122,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:game_info" + "value": "minecraft:msg_command_incoming" }, "id": { "type": "IntTag", @@ -128,9 +131,56 @@ "element": { "type": "CompoundTag", "value": { - "overlay": { + "chat": { + "type": "CompoundTag", + "value": { + "translation_key": { + "type": "StringTag", + "value": "commands.message.display.incoming" + }, + "style": { + "type": "CompoundTag", + "value": { + "color": { + "type": "StringTag", + "value": "gray" + }, + "italic": { + "type": "ByteTag", + "value": 1 + } + } + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "sender", + "content" + ] + } + } + } + }, + "narration": { "type": "CompoundTag", - "value": {} + "value": { + "translation_key": { + "type": "StringTag", + "value": "chat.type.text.narrate" + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "sender", + "content" + ] + } + } + } } } } @@ -138,7 +188,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:say_command" + "value": "minecraft:msg_command_outgoing" }, "id": { "type": "IntTag", @@ -150,59 +200,50 @@ "chat": { "type": "CompoundTag", "value": { - "decoration": { + "translation_key": { + "type": "StringTag", + "value": "commands.message.display.outgoing" + }, + "style": { "type": "CompoundTag", "value": { - "translation_key": { + "color": { "type": "StringTag", - "value": "chat.type.announcement" - }, - "style": { - "type": "CompoundTag", - "value": {} + "value": "gray" }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } + "italic": { + "type": "ByteTag", + "value": 1 } } + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "target", + "content" + ] + } } } }, "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "chat.type.text.narrate" }, - "decoration": { - "type": "CompoundTag", + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.text.narrate" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -213,7 +254,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:msg_command" + "value": "minecraft:team_msg_command_incoming" }, "id": { "type": "IntTag", @@ -225,36 +266,19 @@ "chat": { "type": "CompoundTag", "value": { - "decoration": { - "type": "CompoundTag", + "translation_key": { + "type": "StringTag", + "value": "chat.type.team.text" + }, + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "commands.message.display.incoming" - }, - "style": { - "type": "CompoundTag", - "value": { - "color": { - "type": "StringTag", - "value": "gray" - }, - "italic": { - "type": "ByteTag", - "value": 1 - } - } - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "target", + "sender", + "content" + ] } } } @@ -262,31 +286,18 @@ "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "chat.type.text.narrate" }, - "decoration": { - "type": "CompoundTag", + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.text.narrate" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -297,7 +308,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:team_msg_command" + "value": "minecraft:team_msg_command_outgoing" }, "id": { "type": "IntTag", @@ -309,28 +320,19 @@ "chat": { "type": "CompoundTag", "value": { - "decoration": { - "type": "CompoundTag", + "translation_key": { + "type": "StringTag", + "value": "chat.type.team.sent" + }, + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.team.text" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "team_name", - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "target", + "sender", + "content" + ] } } } @@ -338,31 +340,18 @@ "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "chat.type.text.narrate" }, - "decoration": { - "type": "CompoundTag", + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.text.narrate" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -385,27 +374,18 @@ "chat": { "type": "CompoundTag", "value": { - "decoration": { - "type": "CompoundTag", + "translation_key": { + "type": "StringTag", + "value": "chat.type.emote" + }, + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.emote" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -413,31 +393,18 @@ "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "chat.type.emote" }, - "decoration": { - "type": "CompoundTag", + "parameters": { + "type": "ListTag", "value": { - "translation_key": { - "type": "StringTag", - "value": "chat.type.emote" - }, - "style": { - "type": "CompoundTag", - "value": {} - }, - "parameters": { - "type": "ListTag", - "value": { - "type": "StringTag", - "list": [ - "sender", - "content" - ] - } - } + "type": "StringTag", + "list": [ + "sender", + "content" + ] } } } @@ -448,7 +415,7 @@ { "name": { "type": "StringTag", - "value": "minecraft:tellraw_command" + "value": "minecraft:raw" }, "id": { "type": "IntTag", @@ -459,14 +426,37 @@ "value": { "chat": { "type": "CompoundTag", - "value": {} + "value": { + "translation_key": { + "type": "StringTag", + "value": "%s" + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "content" + ] + } + } + } }, "narration": { "type": "CompoundTag", "value": { - "priority": { + "translation_key": { "type": "StringTag", - "value": "chat" + "value": "%s" + }, + "parameters": { + "type": "ListTag", + "value": { + "type": "StringTag", + "list": [ + "content" + ] + } } } } @@ -921,6 +911,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -932,25 +926,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -962,10 +956,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -990,6 +980,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { @@ -1001,25 +995,25 @@ "type": "IntTag", "value": 7907327 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1031,10 +1025,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -1059,6 +1049,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { @@ -1070,25 +1064,25 @@ "type": "IntTag", "value": 7907327 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1100,10 +1094,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -1128,6 +1118,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -1139,25 +1133,25 @@ "type": "IntTag", "value": 8364543 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1169,10 +1163,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -1197,6 +1187,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -1208,26 +1202,26 @@ "type": "IntTag", "value": 8364543 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, - "block_search_extent": { + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, + "block_search_extent": { "type": "IntTag", "value": 8 }, @@ -1238,10 +1232,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -1266,6 +1256,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -1277,25 +1271,25 @@ "type": "IntTag", "value": 7254527 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1307,10 +1301,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -1335,6 +1325,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { @@ -1367,33 +1361,33 @@ "type": "IntTag", "value": 7907327 }, - "foliage_color": { - "type": "IntTag", - "value": 6975545 - }, "water_fog_color": { "type": "IntTag", "value": 2302743 }, - "fog_color": { + "foliage_color": { "type": "IntTag", - "value": 12638463 + "value": 6975545 }, "water_color": { "type": "IntTag", "value": 6388580 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1405,10 +1399,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -1433,6 +1423,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { @@ -1465,33 +1459,33 @@ "type": "IntTag", "value": 7907327 }, - "foliage_color": { - "type": "IntTag", - "value": 9285927 - }, "water_fog_color": { "type": "IntTag", "value": 5077600 }, - "fog_color": { + "foliage_color": { "type": "IntTag", - "value": 12638463 + "value": 9285927 }, "water_color": { "type": "IntTag", "value": 3832426 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1503,10 +1497,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -1531,9 +1521,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -1555,33 +1553,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7972607 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1593,10 +1587,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -1621,9 +1611,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -1645,33 +1643,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7972607 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1683,10 +1677,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -1711,9 +1701,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.6 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -1735,33 +1733,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8037887 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1773,10 +1767,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.6 } } } @@ -1801,6 +1791,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { @@ -1837,25 +1831,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1867,10 +1861,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -1895,9 +1885,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.6 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -1919,33 +1917,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8037887 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -1957,10 +1951,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.6 } } } @@ -1985,9 +1975,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -2009,33 +2007,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8168447 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2047,10 +2041,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -2075,9 +2065,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -2099,33 +2097,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8233983 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2137,10 +2131,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -2165,6 +2155,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { @@ -2176,25 +2170,25 @@ "type": "IntTag", "value": 8233983 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2206,10 +2200,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -2234,6 +2224,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { @@ -2245,25 +2239,25 @@ "type": "IntTag", "value": 8625919 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4020182 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2275,10 +2269,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -2303,6 +2293,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -2314,25 +2308,25 @@ "type": "IntTag", "value": 7254527 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2344,10 +2338,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -2372,6 +2362,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -2383,25 +2377,25 @@ "type": "IntTag", "value": 7254527 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2413,10 +2407,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -2441,6 +2431,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { @@ -2452,25 +2446,25 @@ "type": "IntTag", "value": 8233727 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2482,10 +2476,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -2510,6 +2500,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { @@ -2521,25 +2515,25 @@ "type": "IntTag", "value": 8233727 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2551,10 +2545,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -2579,6 +2569,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { @@ -2590,25 +2584,25 @@ "type": "IntTag", "value": 8233727 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2620,10 +2614,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -2648,6 +2638,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -2659,25 +2653,25 @@ "type": "IntTag", "value": 7254527 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2689,10 +2683,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -2717,9 +2707,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -2741,33 +2739,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7842047 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2779,10 +2773,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -2807,9 +2797,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -2831,33 +2829,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7842047 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2869,10 +2863,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -2897,9 +2887,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -2921,33 +2919,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7842047 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -2959,10 +2953,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -2987,6 +2977,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -2998,33 +2992,33 @@ "type": "IntTag", "value": 9470285 }, - "foliage_color": { - "type": "IntTag", - "value": 10387789 - }, "water_fog_color": { "type": "IntTag", "value": 329011 }, - "fog_color": { + "foliage_color": { "type": "IntTag", - "value": 12638463 + "value": 10387789 }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3036,10 +3030,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -3064,6 +3054,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -3075,33 +3069,33 @@ "type": "IntTag", "value": 9470285 }, - "foliage_color": { - "type": "IntTag", - "value": 10387789 - }, "water_fog_color": { "type": "IntTag", "value": 329011 }, - "fog_color": { + "foliage_color": { "type": "IntTag", - "value": 12638463 + "value": 10387789 }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3113,10 +3107,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -3141,6 +3131,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -3152,33 +3146,33 @@ "type": "IntTag", "value": 9470285 }, - "foliage_color": { - "type": "IntTag", - "value": 10387789 - }, "water_fog_color": { "type": "IntTag", "value": 329011 }, - "fog_color": { + "foliage_color": { "type": "IntTag", - "value": 12638463 + "value": 10387789 }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3190,10 +3184,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -3218,9 +3208,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3242,33 +3240,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 937679 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3280,10 +3274,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -3308,9 +3298,17 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.8 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3332,33 +3330,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8495359 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3370,10 +3364,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.8 } } } @@ -3398,9 +3388,17 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3422,33 +3420,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8560639 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3460,10 +3454,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -3488,9 +3478,17 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3512,33 +3510,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8756735 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3550,10 +3544,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -3578,9 +3568,17 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.9 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3602,33 +3600,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8756735 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3640,10 +3634,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.9 } } } @@ -3668,9 +3658,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -3692,33 +3690,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7776511 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3730,10 +3724,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -3758,6 +3748,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -3769,25 +3763,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3799,10 +3793,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -3827,6 +3817,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -3838,25 +3832,25 @@ "type": "IntTag", "value": 8364543 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 3750089 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3868,10 +3862,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -3896,6 +3886,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { @@ -3907,25 +3901,25 @@ "type": "IntTag", "value": 7907327 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -3937,10 +3931,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -3965,6 +3955,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { @@ -3976,25 +3970,25 @@ "type": "IntTag", "value": 8364543 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4020182 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4006,10 +4000,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -4034,6 +4024,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.3 + }, "effects": { "type": "CompoundTag", "value": { @@ -4045,25 +4039,25 @@ "type": "IntTag", "value": 8233727 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4075,10 +4069,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.3 } } } @@ -4103,6 +4093,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4114,25 +4108,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4445678 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4144,10 +4138,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4172,6 +4162,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4183,25 +4177,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4566514 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4213,10 +4207,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4241,6 +4231,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4252,25 +4246,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4566514 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4282,10 +4276,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4310,6 +4300,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4321,25 +4315,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4351,10 +4345,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4379,6 +4369,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4390,25 +4384,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4420,10 +4414,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4448,6 +4438,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4459,25 +4453,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4020182 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4489,10 +4483,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4517,6 +4507,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4528,25 +4522,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4020182 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4558,10 +4552,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4586,6 +4576,10 @@ "type": "StringTag", "value": "snow" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4597,25 +4591,25 @@ "type": "IntTag", "value": 8364543 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 3750089 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4628,10 +4622,6 @@ } } }, - "downfall": { - "type": "FloatTag", - "value": 0.5 - }, "temperature_modifier": { "type": "StringTag", "value": "frozen" @@ -4659,6 +4649,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -4670,25 +4664,25 @@ "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 3750089 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4701,10 +4695,6 @@ } } }, - "downfall": { - "type": "FloatTag", - "value": 0.5 - }, "temperature_modifier": { "type": "StringTag", "value": "frozen" @@ -4732,6 +4722,10 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 1 + }, "effects": { "type": "CompoundTag", "value": { @@ -4743,25 +4737,25 @@ "type": "IntTag", "value": 7842047 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4773,10 +4767,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 1 } } } @@ -4801,9 +4791,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -4825,33 +4823,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7907327 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4863,10 +4857,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -4891,9 +4881,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -4915,33 +4913,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 8103167 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -4953,10 +4947,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -4981,9 +4971,17 @@ "type": "StringTag", "value": "rain" }, + "downfall": { + "type": "FloatTag", + "value": 0.4 + }, "effects": { "type": "CompoundTag", "value": { + "water_fog_color": { + "type": "IntTag", + "value": 329011 + }, "music": { "type": "CompoundTag", "value": { @@ -5005,33 +5003,29 @@ } } }, - "water_fog_color": { - "type": "IntTag", - "value": 329011 - }, "sky_color": { "type": "IntTag", "value": 7907327 }, - "fog_color": { - "type": "IntTag", - "value": 12638463 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 12638463 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5043,10 +5037,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.4 } } } @@ -5071,6 +5061,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -5120,25 +5114,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 3344392 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 3344392 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5150,10 +5144,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -5178,6 +5168,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -5245,25 +5239,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 1705242 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 1705242 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5275,10 +5269,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -5303,6 +5293,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -5370,25 +5364,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 3343107 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 3343107 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5400,10 +5394,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -5428,6 +5418,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -5495,25 +5489,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 1787717 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 1787717 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5525,10 +5519,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -5553,6 +5543,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0 + }, "effects": { "type": "CompoundTag", "value": { @@ -5620,25 +5614,25 @@ "type": "IntTag", "value": 329011 }, - "fog_color": { - "type": "IntTag", - "value": 6840176 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 6840176 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5650,10 +5644,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0 } } } @@ -5678,6 +5668,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -5689,25 +5683,25 @@ "type": "IntTag", "value": 0 }, - "fog_color": { - "type": "IntTag", - "value": 10518688 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 10518688 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5719,10 +5713,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -5747,6 +5737,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -5758,25 +5752,25 @@ "type": "IntTag", "value": 0 }, - "fog_color": { - "type": "IntTag", - "value": 10518688 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 10518688 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5788,10 +5782,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -5816,6 +5806,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -5827,25 +5821,25 @@ "type": "IntTag", "value": 0 }, - "fog_color": { - "type": "IntTag", - "value": 10518688 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 10518688 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5857,10 +5851,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -5885,6 +5875,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -5896,25 +5890,25 @@ "type": "IntTag", "value": 0 }, - "fog_color": { - "type": "IntTag", - "value": 10518688 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 10518688 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5926,10 +5920,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } @@ -5954,6 +5944,10 @@ "type": "StringTag", "value": "none" }, + "downfall": { + "type": "FloatTag", + "value": 0.5 + }, "effects": { "type": "CompoundTag", "value": { @@ -5965,25 +5959,25 @@ "type": "IntTag", "value": 0 }, - "fog_color": { - "type": "IntTag", - "value": 10518688 - }, "water_color": { "type": "IntTag", "value": 4159204 }, + "fog_color": { + "type": "IntTag", + "value": 10518688 + }, "mood_sound": { "type": "CompoundTag", "value": { - "tick_delay": { - "type": "IntTag", - "value": 6000 - }, "offset": { "type": "DoubleTag", "value": 2 }, + "tick_delay": { + "type": "IntTag", + "value": 6000 + }, "block_search_extent": { "type": "IntTag", "value": 8 @@ -5995,10 +5989,6 @@ } } } - }, - "downfall": { - "type": "FloatTag", - "value": 0.5 } } } diff --git a/src/main/resources/mapping.json b/src/main/resources/mapping.json index 9bb9f24..ff603c4 100644 --- a/src/main/resources/mapping.json +++ b/src/main/resources/mapping.json @@ -12,44 +12,43 @@ "PacketLoginOutPluginMessaging": "0x04" }, "PlayIn": { - "0x11": "PacketPlayInKeepAlive", - "0x03": "ServerboundChatCommandPacket", - "0x04": "PacketPlayInChat", - "0x14": "PacketPlayInPositionAndLook", - "0x13": "PacketPlayInPosition", - "0x15": "PacketPlayInRotation", - "0x0C": "PacketPlayInPluginMessaging", - "0x08": "PacketPlayInTabComplete", - "0x27": "PacketPlayInHeldItemChange", - "0x23": "PacketPlayInResourcePackStatus" + "0x12": "PacketPlayInKeepAlive", + "0x04": "ServerboundChatCommandPacket", + "0x05": "PacketPlayInChat", + "0x15": "PacketPlayInPositionAndLook", + "0x14": "PacketPlayInPosition", + "0x16": "PacketPlayInRotation", + "0x0D": "PacketPlayInPluginMessaging", + "0x09": "PacketPlayInTabComplete", + "0x28": "PacketPlayInHeldItemChange", + "0x24": "PacketPlayInResourcePackStatus" }, "PlayOut": { - "PacketPlayOutLogin": "0x23", - "PacketPlayOutPositionAndLook": "0x36", - "PacketPlayOutSpawnPosition": "0x4A", - "ClientboundPlayerChatPacket": "0x30", - "ClientboundSystemChatPacket": "0x5F", - "PacketPlayOutPlayerAbilities": "0x2F", - "ClientboundLevelChunkWithLightPacket": "0x1F", - "PacketPlayOutUnloadChunk": "0x1A", - "PacketPlayOutKeepAlive": "0x1E", - "PacketPlayOutPlayerInfo": "0x34", - "PacketPlayOutUpdateViewPosition": "0x48", - "PacketPlayOutDisconnect": "0x17", - "PacketPlayOutPluginMessaging": "0x15", + "PacketPlayOutLogin": "0x25", + "PacketPlayOutPositionAndLook": "0x39", + "PacketPlayOutSpawnPosition": "0x4D", + "ClientboundSystemChatPacket": "0x62", + "PacketPlayOutPlayerAbilities": "0x31", + "ClientboundLevelChunkWithLightPacket": "0x21", + "PacketPlayOutUnloadChunk": "0x1C", + "PacketPlayOutKeepAlive": "0x20", + "PacketPlayOutPlayerInfo": "0x37", + "PacketPlayOutUpdateViewPosition": "0x4B", + "PacketPlayOutDisconnect": "0x19", + "PacketPlayOutPluginMessaging": "0x16", "PacketPlayOutTabComplete": "0x0E", "PacketPlayOutDeclareCommands": "0x0F", - "PacketPlayOutRespawn": "0x3B", - "PacketPlayOutGameState": "0x1B", - "PacketPlayOutEntityDestroy": "0x38", - "PacketPlayOutEntityMetadata": "0x4D", + "PacketPlayOutRespawn": "0x3E", + "PacketPlayOutGameState": "0x1D", + "PacketPlayOutEntityDestroy": "0x3B", + "PacketPlayOutEntityMetadata": "0x50", "PacketPlayOutSpawnEntity": "0x00", - "PacketPlayOutHeldItemChange": "0x47", - "PacketPlayOutPlayerListHeaderFooter": "0x60", - "PacketPlayOutResourcePackSend": "0x3A", - "ClientboundSetTitlesAnimationPacket": "0x5B", - "ClientboundSetTitleTextPacket": "0x5A", - "ClientboundSetSubtitleTextPacket": "0x58", + "PacketPlayOutHeldItemChange": "0x4A", + "PacketPlayOutPlayerListHeaderFooter": "0x63", + "PacketPlayOutResourcePackSend": "0x3D", + "ClientboundSetTitlesAnimationPacket": "0x5E", + "ClientboundSetTitleTextPacket": "0x5D", + "ClientboundSetSubtitleTextPacket": "0x5B", "ClientboundClearTitlesPacket": "0x0D" }, "StatusIn": { diff --git a/src/main/resources/registries.json b/src/main/resources/registries.json index 426b897..97ab1c3 100644 --- a/src/main/resources/registries.json +++ b/src/main/resources/registries.json @@ -4302,47 +4302,53 @@ "minecraft:item_interact_start": { "protocol_id": 29 }, - "minecraft:lightning_strike": { + "minecraft:jukebox_play": { "protocol_id": 30 }, - "minecraft:note_block_play": { + "minecraft:jukebox_stop_play": { "protocol_id": 31 }, - "minecraft:piston_contract": { + "minecraft:lightning_strike": { "protocol_id": 32 }, - "minecraft:piston_extend": { + "minecraft:note_block_play": { "protocol_id": 33 }, - "minecraft:prime_fuse": { + "minecraft:piston_contract": { "protocol_id": 34 }, - "minecraft:projectile_land": { + "minecraft:piston_extend": { "protocol_id": 35 }, - "minecraft:projectile_shoot": { + "minecraft:prime_fuse": { "protocol_id": 36 }, - "minecraft:sculk_sensor_tendrils_clicking": { + "minecraft:projectile_land": { "protocol_id": 37 }, - "minecraft:shear": { + "minecraft:projectile_shoot": { "protocol_id": 38 }, - "minecraft:shriek": { + "minecraft:sculk_sensor_tendrils_clicking": { "protocol_id": 39 }, - "minecraft:splash": { + "minecraft:shear": { "protocol_id": 40 }, - "minecraft:step": { + "minecraft:shriek": { "protocol_id": 41 }, - "minecraft:swim": { + "minecraft:splash": { "protocol_id": 42 }, - "minecraft:teleport": { + "minecraft:step": { "protocol_id": 43 + }, + "minecraft:swim": { + "protocol_id": 44 + }, + "minecraft:teleport": { + "protocol_id": 45 } }, "protocol_id": 0