mirror of
https://github.com/ViaVersion/ViaBackwards.git
synced 2026-11-04 17:00:16 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f4acbbc60 | ||
|
|
eff547019c | ||
|
|
bbb52f575a | ||
|
|
74ad2d15fb | ||
|
|
024fe774f4 | ||
|
|
0df9c50251 | ||
|
|
e8637e5753 | ||
|
|
64b454de6f | ||
|
|
433f46e34e | ||
|
|
fbe6a67750 | ||
|
|
454e97c844 | ||
|
|
fccea9b55d |
No files matched your search
@@ -14,7 +14,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Set up Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
uses: gradle/actions/setup-gradle@v5
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v5
|
||||
with:
|
||||
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Set up Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
uses: gradle/actions/setup-gradle@v5
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v5
|
||||
with:
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
java-version: 17
|
||||
check-latest: true
|
||||
- name: Build
|
||||
run: ./gradlew build
|
||||
run: ./gradlew build --refresh-dependencies
|
||||
- name: Publish to Hangar
|
||||
env:
|
||||
HANGAR_TOKEN: ${{ secrets.HANGAR_TOKEN }}
|
||||
|
||||
@@ -77,7 +77,7 @@ import java.util.logging.Logger;
|
||||
|
||||
public interface ViaBackwardsPlatform {
|
||||
|
||||
String MINIMUM_VV_VERSION = "5.5.0";
|
||||
String MINIMUM_VV_VERSION = "5.5.1";
|
||||
|
||||
/**
|
||||
* Initialize ViaBackwards.
|
||||
|
||||
+1
-11
@@ -34,7 +34,6 @@ import com.viaversion.viaversion.api.protocol.Protocol;
|
||||
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectArrayMap;
|
||||
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
|
||||
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import com.viaversion.viaversion.util.Key;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
@@ -45,7 +44,6 @@ public class BackwardsMappingData extends MappingDataBase {
|
||||
|
||||
private final Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass;
|
||||
protected Int2ObjectMap<MappedItem> backwardsItemMappings;
|
||||
private Map<String, String> backwardsSoundMappings;
|
||||
private Map<String, String> entityNames;
|
||||
private Int2ObjectMap<String> enchantmentNames;
|
||||
|
||||
@@ -83,7 +81,6 @@ public class BackwardsMappingData extends MappingDataBase {
|
||||
|
||||
this.entityNames = loadNameByStringMappings(data, "entitynames");
|
||||
this.enchantmentNames = loadNameByIdMappings(data, "enchantmentnames");
|
||||
this.backwardsSoundMappings = loadNameByStringMappings(data, "soundnames");
|
||||
}
|
||||
|
||||
private @Nullable Map<String, String> loadNameByStringMappings(final CompoundTag data, final String key) {
|
||||
@@ -161,10 +158,7 @@ public class BackwardsMappingData extends MappingDataBase {
|
||||
}
|
||||
|
||||
public @Nullable String getMappedNamedSound(final String id) {
|
||||
if (backwardsSoundMappings == null) {
|
||||
return null;
|
||||
}
|
||||
return backwardsSoundMappings.get(Key.stripMinecraftNamespace(id));
|
||||
return getFullSoundMappings().mappedIdentifier(id);
|
||||
}
|
||||
|
||||
public @Nullable String mappedEntityName(final String entityName) {
|
||||
@@ -187,10 +181,6 @@ public class BackwardsMappingData extends MappingDataBase {
|
||||
return backwardsItemMappings;
|
||||
}
|
||||
|
||||
public @Nullable Map<String, String> getBackwardsSoundMappings() {
|
||||
return backwardsSoundMappings;
|
||||
}
|
||||
|
||||
public @Nullable Class<? extends Protocol<?, ?, ?, ?>> getViaVersionProtocolClass() {
|
||||
return vvProtocolClass;
|
||||
}
|
||||
|
||||
+5
-4
@@ -19,10 +19,10 @@ package com.viaversion.viabackwards.protocol.v1_19_3to1_19_1;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.viaversion.viabackwards.api.BackwardsProtocol;
|
||||
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
|
||||
import com.viaversion.viabackwards.api.rewriters.SoundRewriter;
|
||||
import com.viaversion.viabackwards.api.rewriters.text.JsonNBTComponentRewriter;
|
||||
import com.viaversion.viabackwards.protocol.v1_19_1to1_19.Protocol1_19_1To1_19;
|
||||
import com.viaversion.viabackwards.protocol.v1_19_3to1_19_1.data.BackwardsMappingData1_19_3;
|
||||
import com.viaversion.viabackwards.protocol.v1_19_3to1_19_1.rewriter.BlockItemPacketRewriter1_19_3;
|
||||
import com.viaversion.viabackwards.protocol.v1_19_3to1_19_1.rewriter.EntityPacketRewriter1_19_3;
|
||||
import com.viaversion.viabackwards.protocol.v1_19_3to1_19_1.storage.ChatSessionStorage;
|
||||
@@ -49,6 +49,7 @@ import com.viaversion.viaversion.data.entity.EntityTrackerBase;
|
||||
import com.viaversion.viaversion.libs.gson.JsonElement;
|
||||
import com.viaversion.viaversion.protocols.base.ClientboundLoginPackets;
|
||||
import com.viaversion.viaversion.protocols.base.ServerboundLoginPackets;
|
||||
import com.viaversion.viaversion.protocols.v1_19_1to1_19_3.Protocol1_19_1To1_19_3;
|
||||
import com.viaversion.viaversion.protocols.v1_19_1to1_19_3.packet.ClientboundPackets1_19_3;
|
||||
import com.viaversion.viaversion.protocols.v1_19_1to1_19_3.packet.ServerboundPackets1_19_3;
|
||||
import com.viaversion.viaversion.protocols.v1_19to1_19_1.packet.ClientboundPackets1_19_1;
|
||||
@@ -68,7 +69,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public final class Protocol1_19_3To1_19_1 extends BackwardsProtocol<ClientboundPackets1_19_3, ClientboundPackets1_19_1, ServerboundPackets1_19_3, ServerboundPackets1_19_1> {
|
||||
|
||||
public static final BackwardsMappingData1_19_3 MAPPINGS = new BackwardsMappingData1_19_3();
|
||||
public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.19.3", "1.19", Protocol1_19_1To1_19_3.class);
|
||||
public static final ByteArrayType.OptionalByteArrayType OPTIONAL_SIGNATURE_BYTES_TYPE = new ByteArrayType.OptionalByteArrayType(256);
|
||||
public static final ByteArrayType SIGNATURE_BYTES_TYPE = new ByteArrayType(256);
|
||||
private final EntityPacketRewriter1_19_3 entityRewriter = new EntityPacketRewriter1_19_3(this);
|
||||
@@ -113,7 +114,7 @@ public final class Protocol1_19_3To1_19_1 extends BackwardsProtocol<ClientboundP
|
||||
return;
|
||||
}
|
||||
|
||||
final int mappedId = MAPPINGS.mappedSound(mappedIdentifier);
|
||||
final int mappedId = MAPPINGS.getFullSoundMappings().mappedId(mappedIdentifier);
|
||||
if (mappedId == -1) {
|
||||
wrapper.cancel();
|
||||
return;
|
||||
@@ -401,7 +402,7 @@ public final class Protocol1_19_3To1_19_1 extends BackwardsProtocol<ClientboundP
|
||||
}
|
||||
|
||||
@Override
|
||||
public BackwardsMappingData1_19_3 getMappingData() {
|
||||
public BackwardsMappingData getMappingData() {
|
||||
return MAPPINGS;
|
||||
}
|
||||
|
||||
|
||||
-53
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* This file is part of ViaBackwards - https://github.com/ViaVersion/ViaBackwards
|
||||
* Copyright (C) 2016-2025 ViaVersion and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.viaversion.viabackwards.protocol.v1_19_3to1_19_1.data;
|
||||
|
||||
import com.viaversion.nbt.tag.CompoundTag;
|
||||
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
|
||||
import com.viaversion.viabackwards.api.data.BackwardsMappingDataLoader;
|
||||
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
|
||||
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
|
||||
import com.viaversion.viaversion.libs.gson.JsonArray;
|
||||
import com.viaversion.viaversion.libs.gson.JsonElement;
|
||||
import com.viaversion.viaversion.protocols.v1_19_1to1_19_3.Protocol1_19_1To1_19_3;
|
||||
import com.viaversion.viaversion.util.Key;
|
||||
|
||||
public final class BackwardsMappingData1_19_3 extends BackwardsMappingData {
|
||||
|
||||
private final Object2IntMap<String> mappedSounds = new Object2IntOpenHashMap<>();
|
||||
|
||||
public BackwardsMappingData1_19_3() {
|
||||
super("1.19.3", "1.19", Protocol1_19_1To1_19_3.class);
|
||||
mappedSounds.defaultReturnValue(-1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
super.loadExtras(data);
|
||||
|
||||
final JsonArray sounds = BackwardsMappingDataLoader.INSTANCE.loadData("sounds-1.19.json").getAsJsonArray("sounds");
|
||||
int i = 0;
|
||||
for (final JsonElement sound : sounds) {
|
||||
mappedSounds.put(sound.getAsString(), i++);
|
||||
}
|
||||
}
|
||||
|
||||
public int mappedSound(final String sound) {
|
||||
return mappedSounds.getInt(Key.stripMinecraftNamespace(sound));
|
||||
}
|
||||
}
|
||||
+4
-3
@@ -45,6 +45,7 @@ import com.viaversion.viaversion.api.minecraft.item.data.Instrument1_21_2;
|
||||
import com.viaversion.viaversion.api.minecraft.item.data.ItemModel;
|
||||
import com.viaversion.viaversion.api.minecraft.item.data.PotionEffect;
|
||||
import com.viaversion.viaversion.api.minecraft.item.data.PotionEffectData;
|
||||
import com.viaversion.viaversion.api.minecraft.item.data.Repairable;
|
||||
import com.viaversion.viaversion.api.minecraft.item.data.UseCooldown;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
@@ -348,9 +349,9 @@ public final class BlockItemPacketRewriter1_21_2 extends BackwardsStructuredItem
|
||||
backupTag.put("instrument_description", instrument.value().description());
|
||||
}
|
||||
|
||||
final HolderSet repairable = data.get(StructuredDataKey.REPAIRABLE);
|
||||
final Repairable repairable = data.get(StructuredDataKey.REPAIRABLE);
|
||||
if (repairable != null) {
|
||||
backupTag.put("repairable", holderSetToTag(repairable));
|
||||
backupTag.put("repairable", holderSetToTag(repairable.items()));
|
||||
}
|
||||
|
||||
final Enchantable enchantable = data.get(StructuredDataKey.ENCHANTABLE);
|
||||
@@ -523,7 +524,7 @@ public final class BlockItemPacketRewriter1_21_2 extends BackwardsStructuredItem
|
||||
}
|
||||
|
||||
if (backupTag.contains("repairable")) {
|
||||
data.set(StructuredDataKey.REPAIRABLE, restoreHolderSet(backupTag, "repairable"));
|
||||
data.set(StructuredDataKey.REPAIRABLE, new Repairable(restoreHolderSet(backupTag, "repairable")));
|
||||
}
|
||||
|
||||
final IntTag enchantable = backupTag.getIntTag("enchantable");
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ public final class ComponentRewriter1_21_2 extends JsonNBTComponentRewriter<Clie
|
||||
}
|
||||
|
||||
removeDataComponents(componentsTag, BlockItemPacketRewriter1_21_2.NEW_DATA_TO_REMOVE);
|
||||
removeDataComponents(componentsTag, StructuredDataKey.DAMAGE_RESISTANT, StructuredDataKey.LOCK); // No point in updating these
|
||||
removeDataComponents(componentsTag, StructuredDataKey.DAMAGE_RESISTANT, StructuredDataKey.LOCK1_21_2); // No point in updating these
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-3
@@ -172,12 +172,14 @@ public final class ComponentRewriter1_21_5 extends NBTComponentRewriter<Clientbo
|
||||
handleAdventureModePredicate(componentsTag, "can_break", hiddenComponents);
|
||||
handleEnchantments(componentsTag, "enchantments", hiddenComponents);
|
||||
handleEnchantments(componentsTag, "stored_enchantments", hiddenComponents);
|
||||
|
||||
removeDataComponents(componentsTag, StructuredDataKey.INSTRUMENT1_21_5, StructuredDataKey.JUKEBOX_PLAYABLE1_21_5);
|
||||
}
|
||||
|
||||
private void updateShowInTooltip(final CompoundTag tag, final String key, final Set<String> hiddenComponents) {
|
||||
final CompoundTag data = getNamespacedCompoundTag(tag, key);
|
||||
if (data != null) {
|
||||
data.putBoolean("show_in_tooltip", hiddenComponents.contains(key));
|
||||
data.putBoolean("show_in_tooltip", !hiddenComponents.contains(key));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,7 +192,7 @@ public final class ComponentRewriter1_21_5 extends NBTComponentRewriter<Clientbo
|
||||
removeDataComponents(componentsTag, key);
|
||||
final CompoundTag predicate = new CompoundTag();
|
||||
predicate.put("predicates", blockPredicates);
|
||||
predicate.putBoolean("show_in_tooltip", hiddenComponents.contains(key));
|
||||
predicate.putBoolean("show_in_tooltip", !hiddenComponents.contains(key));
|
||||
componentsTag.put(key, predicate);
|
||||
}
|
||||
|
||||
@@ -200,7 +202,7 @@ public final class ComponentRewriter1_21_5 extends NBTComponentRewriter<Clientbo
|
||||
removeNamespaced(componentsTag, key);
|
||||
final CompoundTag enchantments = new CompoundTag();
|
||||
enchantments.put("levels", levels);
|
||||
enchantments.putBoolean("show_in_tooltip", hiddenComponents.contains(key));
|
||||
enchantments.putBoolean("show_in_tooltip", !hiddenComponents.contains(key));
|
||||
componentsTag.put(key, enchantments);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-1
@@ -26,6 +26,7 @@ import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.rewriter.BlockItemPa
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.rewriter.ComponentRewriter1_21_9;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.rewriter.EntityPacketRewriter1_21_9;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.rewriter.ParticleRewriter1_21_9;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.DimensionScaleStorage;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.PlayerRotationStorage;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.tracker.EntityTracker1_21_9;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
@@ -185,12 +186,19 @@ public final class Protocol1_21_9To1_21_7 extends BackwardsProtocol<ClientboundP
|
||||
}
|
||||
});
|
||||
|
||||
registerServerbound(ServerboundPackets1_21_6.DEBUG_SAMPLE_SUBSCRIPTION, wrapper -> {
|
||||
final int sampleType = wrapper.read(Types.VAR_INT);
|
||||
if (sampleType == 0) { // TICK_TIME
|
||||
wrapper.write(Types.VAR_INT, 1); // Subscription count
|
||||
wrapper.write(Types.VAR_INT, 0); // Subscription registry id (DEDICATED_SERVER_TICK_TIME)
|
||||
}
|
||||
});
|
||||
|
||||
cancelClientbound(ClientboundPackets1_21_9.DEBUG_BLOCK_VALUE);
|
||||
cancelClientbound(ClientboundPackets1_21_9.DEBUG_CHUNK_VALUE);
|
||||
cancelClientbound(ClientboundPackets1_21_9.DEBUG_ENTITY_VALUE);
|
||||
cancelClientbound(ClientboundPackets1_21_9.DEBUG_EVENT);
|
||||
cancelClientbound(ClientboundPackets1_21_9.GAME_EVENT_TEST_HIGHLIGHT_POS);
|
||||
cancelServerbound(ServerboundPackets1_21_6.DEBUG_SAMPLE_SUBSCRIPTION);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -198,6 +206,7 @@ public final class Protocol1_21_9To1_21_7 extends BackwardsProtocol<ClientboundP
|
||||
addEntityTracker(connection, new EntityTracker1_21_9(connection, EntityTypes1_21_9.PLAYER));
|
||||
addItemHasher(connection, new ItemHasherBase(this, connection));
|
||||
connection.put(new PlayerRotationStorage());
|
||||
connection.put(new DimensionScaleStorage());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+22
@@ -20,11 +20,15 @@ package com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.rewriter;
|
||||
import com.viaversion.nbt.tag.CompoundTag;
|
||||
import com.viaversion.viabackwards.api.rewriters.BackwardsStructuredItemRewriter;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.Protocol1_21_9To1_21_7;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.DimensionScaleStorage;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.data.entity.EntityTracker;
|
||||
import com.viaversion.viaversion.api.minecraft.ResolvableProfile;
|
||||
import com.viaversion.viaversion.api.minecraft.data.StructuredDataContainer;
|
||||
import com.viaversion.viaversion.api.minecraft.data.StructuredDataKey;
|
||||
import com.viaversion.viaversion.api.minecraft.item.Item;
|
||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||
import com.viaversion.viaversion.api.type.Types;
|
||||
import com.viaversion.viaversion.api.type.types.chunk.ChunkType1_21_5;
|
||||
import com.viaversion.viaversion.protocols.v1_21_4to1_21_5.rewriter.RecipeDisplayRewriter1_21_5;
|
||||
import com.viaversion.viaversion.protocols.v1_21_5to1_21_6.packet.ServerboundPacket1_21_6;
|
||||
@@ -68,6 +72,9 @@ public final class BlockItemPacketRewriter1_21_9 extends BackwardsStructuredItem
|
||||
recipeRewriter.registerUpdateRecipes(ClientboundPackets1_21_9.UPDATE_RECIPES);
|
||||
recipeRewriter.registerRecipeBookAdd(ClientboundPackets1_21_9.RECIPE_BOOK_ADD);
|
||||
recipeRewriter.registerPlaceGhostRecipe(ClientboundPackets1_21_9.PLACE_GHOST_RECIPE);
|
||||
|
||||
protocol.registerClientbound(ClientboundPackets1_21_9.INITIALIZE_BORDER, this::updateBorderCenter);
|
||||
protocol.registerClientbound(ClientboundPackets1_21_9.SET_BORDER_CENTER, this::updateBorderCenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,4 +130,19 @@ public final class BlockItemPacketRewriter1_21_9 extends BackwardsStructuredItem
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
private void updateBorderCenter(final PacketWrapper wrapper) {
|
||||
double centerX = wrapper.read(Types.DOUBLE);
|
||||
double centerZ = wrapper.read(Types.DOUBLE);
|
||||
|
||||
final EntityTracker tracker = protocol.getEntityRewriter().tracker(wrapper.user());
|
||||
if (tracker.currentDimensionId() != -1) {
|
||||
final double scale = wrapper.user().get(DimensionScaleStorage.class).getScale(tracker.currentDimensionId());
|
||||
centerX *= scale;
|
||||
centerZ *= scale;
|
||||
}
|
||||
|
||||
wrapper.write(Types.DOUBLE, centerX);
|
||||
wrapper.write(Types.DOUBLE, centerZ);
|
||||
}
|
||||
}
|
||||
+19
@@ -30,6 +30,25 @@ public final class ComponentRewriter1_21_9 extends NBTComponentRewriter<Clientbo
|
||||
super(protocol);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processCompoundTag(final UserConnection connection, final CompoundTag tag) {
|
||||
super.processCompoundTag(connection, tag);
|
||||
|
||||
// Throw out the new object type and its properties
|
||||
final String type = tag.getString("type");
|
||||
if ("object".equals(type)) {
|
||||
tag.putString("text", "");
|
||||
tag.remove("type");
|
||||
}
|
||||
if (tag.remove("sprite") != null) {
|
||||
tag.putString("text", "");
|
||||
}
|
||||
if (tag.remove("player") != null) {
|
||||
tag.putString("text", "");
|
||||
}
|
||||
tag.remove("atlas");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleShowItem(final UserConnection connection, final CompoundTag itemTag, final CompoundTag componentsTag) {
|
||||
super.handleShowItem(connection, itemTag, componentsTag);
|
||||
|
||||
+23
-1
@@ -23,12 +23,14 @@ import com.viaversion.nbt.tag.Tag;
|
||||
import com.viaversion.viabackwards.api.rewriters.BackwardsRegistryRewriter;
|
||||
import com.viaversion.viabackwards.api.rewriters.EntityRewriter;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.Protocol1_21_9To1_21_7;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.DimensionScaleStorage;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.MannequinData;
|
||||
import com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage.PlayerRotationStorage;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||
import com.viaversion.viaversion.api.minecraft.GameProfile;
|
||||
import com.viaversion.viaversion.api.minecraft.GlobalBlockPosition;
|
||||
import com.viaversion.viaversion.api.minecraft.RegistryEntry;
|
||||
import com.viaversion.viaversion.api.minecraft.ResolvableProfile;
|
||||
import com.viaversion.viaversion.api.minecraft.Vector3d;
|
||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||
@@ -127,7 +129,27 @@ public final class EntityPacketRewriter1_21_9 extends EntityRewriter<Clientbound
|
||||
wrapper.read(Types.FLOAT); // Pitch
|
||||
});
|
||||
|
||||
final RegistryDataRewriter registryDataRewriter = new BackwardsRegistryRewriter(protocol);
|
||||
final RegistryDataRewriter registryDataRewriter = new BackwardsRegistryRewriter(protocol) {
|
||||
@Override
|
||||
public void trackDimensionAndBiomes(final UserConnection connection, final String registryKey, final RegistryEntry[] entries) {
|
||||
super.trackDimensionAndBiomes(connection, registryKey, entries);
|
||||
if (!registryKey.equals("dimension_type")) {
|
||||
return;
|
||||
}
|
||||
|
||||
final DimensionScaleStorage dimensionScaleStorage = connection.get(DimensionScaleStorage.class);
|
||||
for (int i = 0; i < entries.length; i++) {
|
||||
final RegistryEntry entry = entries[i];
|
||||
final CompoundTag dimension = (CompoundTag) entry.tag();
|
||||
if (dimension == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
final double coordinateScale = dimension.getDouble("coordinate_scale", 1);
|
||||
dimensionScaleStorage.setScale(i, coordinateScale);
|
||||
}
|
||||
}
|
||||
};
|
||||
protocol.registerClientbound(ClientboundConfigurationPackets1_21_9.REGISTRY_DATA, registryDataRewriter::handle);
|
||||
|
||||
protocol.registerServerbound(ServerboundPackets1_21_6.MOVE_PLAYER_POS_ROT, wrapper -> {
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||
* Copyright (C) 2016-2025 ViaVersion and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.viaversion.viabackwards.protocol.v1_21_9to1_21_7.storage;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public final class DimensionScaleStorage implements StorableObject {
|
||||
|
||||
private final Map<Integer, Double> dimensionScales = new HashMap<>(4);
|
||||
|
||||
public double getScale(final int dimensionId) {
|
||||
return dimensionScales.getOrDefault(dimensionId, 1D);
|
||||
}
|
||||
|
||||
public void setScale(final int dimensionId, final double scale) {
|
||||
dimensionScales.put(dimensionId, scale);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -1,8 +1,8 @@
|
||||
projectVersion=5.5.0
|
||||
projectVersion=5.5.1
|
||||
|
||||
# Smile emoji (note that modrinth may not have added the version on release yet)
|
||||
mcVersions=1.21.9, 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13, 1.12.2, 1.12.1, 1.12, 1.11.2, 1.11.1, 1.11, 1.10.2, 1.10.1, 1.10
|
||||
mcVersionRange=1.10-1.21.9
|
||||
mcVersions=1.21.10, 1.21.9, 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13, 1.12.2, 1.12.1, 1.12, 1.11.2, 1.11.1, 1.11, 1.10.2, 1.10.1, 1.10
|
||||
mcVersionRange=1.10-1.21.10
|
||||
velocityVersion=3.4
|
||||
|
||||
org.gradle.configureondemand=true
|
||||
|
||||
@@ -3,7 +3,7 @@ metadata.format.version = "1.1"
|
||||
[versions]
|
||||
|
||||
# ViaVersion
|
||||
viaver = "5.5.0"
|
||||
viaver = "5.5.1-SNAPSHOT"
|
||||
|
||||
# Common provided
|
||||
netty = "4.0.20.Final"
|
||||
@@ -16,7 +16,7 @@ checkerQual = "3.51.0"
|
||||
paper = "1.16.5-R0.1-SNAPSHOT"
|
||||
velocity = "3.1.1"
|
||||
fabricLoader = "0.11.6"
|
||||
viaProxy = "3.4.5-SNAPSHOT"
|
||||
viaProxy = "3.4.6-SNAPSHOT"
|
||||
|
||||
[libraries]
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
{
|
||||
"id": "viaversion",
|
||||
"version": "[5.5.0-SNAPSHOT,)"
|
||||
"version": "[5.5.1-SNAPSHOT,)"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user