This commit is contained in:
Nassim Jahnke 2023-04-26 19:06:30 +02:00
parent 97f5ec322a
commit 73647ee4fb
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B
6 changed files with 112 additions and 4 deletions

View File

@ -5,7 +5,7 @@ plugins {
allprojects { allprojects {
group = "com.viaversion" group = "com.viaversion"
version = "4.7.0-23w16a-SNAPSHOT" version = "4.7.0-23w17a-SNAPSHOT"
description = "Allow older clients to join newer server versions." description = "Allow older clients to join newer server versions."
} }

View File

@ -56,6 +56,18 @@ public final class Protocol1_19_4To1_20 extends BackwardsProtocol<ClientboundPac
soundRewriter.registerSound(ClientboundPackets1_19_4.ENTITY_SOUND); soundRewriter.registerSound(ClientboundPackets1_19_4.ENTITY_SOUND);
new StatisticsRewriter<>(this).register(ClientboundPackets1_19_4.STATISTICS); new StatisticsRewriter<>(this).register(ClientboundPackets1_19_4.STATISTICS);
//TODO open window
translatableRewriter.registerComponentPacket(ClientboundPackets1_19_4.ACTIONBAR);
translatableRewriter.registerComponentPacket(ClientboundPackets1_19_4.TITLE_TEXT);
translatableRewriter.registerComponentPacket(ClientboundPackets1_19_4.TITLE_SUBTITLE);
translatableRewriter.registerBossBar(ClientboundPackets1_19_4.BOSSBAR);
translatableRewriter.registerDisconnect(ClientboundPackets1_19_4.DISCONNECT);
translatableRewriter.registerTabList(ClientboundPackets1_19_4.TAB_LIST);
translatableRewriter.registerCombatKill(ClientboundPackets1_19_4.COMBAT_KILL);
translatableRewriter.registerComponentPacket(ClientboundPackets1_19_4.SYSTEM_CHAT);
translatableRewriter.registerComponentPacket(ClientboundPackets1_19_4.DISGUISED_CHAT);
translatableRewriter.registerPing();
} }
@Override @Override

View File

@ -19,8 +19,10 @@ package com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.packets;
import com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.Protocol1_19_4To1_20; import com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.Protocol1_19_4To1_20;
import com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.storage.BackSignEditStorage; import com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.storage.BackSignEditStorage;
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
import com.viaversion.viaversion.api.minecraft.Position; import com.viaversion.viaversion.api.minecraft.Position;
import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity; import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity;
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag;
@ -43,11 +45,36 @@ public final class BlockItemPackets1_20 extends ItemRewriter<ClientboundPackets1
final BlockRewriter<ClientboundPackets1_19_4> blockRewriter = new BlockRewriter<>(protocol, Type.POSITION1_14); final BlockRewriter<ClientboundPackets1_19_4> blockRewriter = new BlockRewriter<>(protocol, Type.POSITION1_14);
blockRewriter.registerBlockAction(ClientboundPackets1_19_4.BLOCK_ACTION); blockRewriter.registerBlockAction(ClientboundPackets1_19_4.BLOCK_ACTION);
blockRewriter.registerBlockChange(ClientboundPackets1_19_4.BLOCK_CHANGE); blockRewriter.registerBlockChange(ClientboundPackets1_19_4.BLOCK_CHANGE);
blockRewriter.registerVarLongMultiBlockChange(ClientboundPackets1_19_4.MULTI_BLOCK_CHANGE);
blockRewriter.registerEffect(ClientboundPackets1_19_4.EFFECT, 1010, 2001); blockRewriter.registerEffect(ClientboundPackets1_19_4.EFFECT, 1010, 2001);
blockRewriter.registerChunkData1_19(ClientboundPackets1_19_4.CHUNK_DATA, Chunk1_18Type::new, this::handleBlockEntity);
blockRewriter.registerBlockEntityData(ClientboundPackets1_19_4.BLOCK_ENTITY_DATA, this::handleBlockEntity); blockRewriter.registerBlockEntityData(ClientboundPackets1_19_4.BLOCK_ENTITY_DATA, this::handleBlockEntity);
protocol.registerClientbound(ClientboundPackets1_19_4.CHUNK_DATA, new PacketHandlers() {
@Override
protected void register() {
handler(blockRewriter.chunkDataHandler1_19(Chunk1_18Type::new, BlockItemPackets1_20.this::handleBlockEntity));
create(Type.BOOLEAN, true); // Trust edges
}
});
protocol.registerClientbound(ClientboundPackets1_19_4.UPDATE_LIGHT, wrapper -> {
wrapper.passthrough(Type.VAR_INT); // X
wrapper.passthrough(Type.VAR_INT); // Y
wrapper.write(Type.BOOLEAN, true); // Trust edges
});
protocol.registerClientbound(ClientboundPackets1_19_4.MULTI_BLOCK_CHANGE, new PacketHandlers() {
@Override
public void register() {
map(Type.LONG); // Chunk position
create(Type.BOOLEAN, false); // Suppress light updates
handler(wrapper -> {
for (final BlockChangeRecord record : wrapper.passthrough(Type.VAR_LONG_BLOCK_CHANGE_RECORD_ARRAY)) {
record.setBlockId(protocol.getMappingData().getNewBlockStateId(record.getBlockId()));
}
});
}
});
registerOpenWindow(ClientboundPackets1_19_4.OPEN_WINDOW); registerOpenWindow(ClientboundPackets1_19_4.OPEN_WINDOW);
registerSetCooldown(ClientboundPackets1_19_4.COOLDOWN); registerSetCooldown(ClientboundPackets1_19_4.COOLDOWN);
registerWindowItems1_17_1(ClientboundPackets1_19_4.WINDOW_ITEMS); registerWindowItems1_17_1(ClientboundPackets1_19_4.WINDOW_ITEMS);

View File

@ -1,4 +1,73 @@
{ {
"1.20": {
"advancements.adventure.craft_decorated_pot_using_only_sherds.description": "Make a Decorated Pot out of 4 Pottery Sherds",
"advancements.adventure.craft_decorated_pot_using_only_sherds.title": "Careful restoration",
"advancements.adventure.trim_with_any_armor_pattern.description": "Craft a trimmed armor at a Smithing Table",
"advancements.adventure.trim_with_any_armor_pattern.title": "Crafting a new look",
"advancements.adventure.salvage_sherd.description": "Brush a Suspicious block to obtain a Pottery Sherd",
"advancements.adventure.salvage_sherd.title": "Respecting the remnants",
"advancements.adventure.trim_with_all_exclusive_armor_patterns.description": "Apply these smithing templates at least once: Spire, Snout, Rib, Ward, Silence, Vex, Tide, Wayfinder",
"advancements.adventure.trim_with_all_exclusive_armor_patterns.title": "Smithing with style",
"advancements.husbandry.feed_snifflet.description": "Feed a Snifflet",
"advancements.husbandry.feed_snifflet.title": "Little sniffs",
"advancements.husbandry.obtain_sniffer_egg.description": "Obtain a Sniffer Egg",
"advancements.husbandry.obtain_sniffer_egg.title": "Smells interesting",
"advancements.husbandry.plant_any_sniffer_seed.description": "Plant any Sniffer seed",
"advancements.husbandry.plant_any_sniffer_seed.title": "Planting the past",
"block.minecraft.calibrated_sculk_sensor": "Calibrated Sculk Sensor",
"block.minecraft.sniffer_egg": "Sniffer Egg",
"block.minecraft.suspicious_gravel": "Suspicious Gravel",
"block.minecraft.pitcher_plant": "Pitcher Plant",
"block.minecraft.pitcher_crop": "Pitcher Crop",
"commands.function.success.multiple.result": "Executed %s functions",
"commands.function.success.single.result": "Function '%2$s' returned %1$s",
"gui.toRealms": "Back to Realms List",
"gui.toWorld": "Back to World List",
"item.minecraft.music_disc_relic": "Music Disc",
"item.minecraft.music_disc_relic.desc": "Aaron Cherof - Relic",
"item.minecraft.angler_pottery_sherd": "Angler Pottery Sherd",
"item.minecraft.archer_pottery_sherd": "Archer Pottery Sherd",
"item.minecraft.arms_up_pottery_sherd": "Arms Up Pottery Sherd",
"item.minecraft.blade_pottery_sherd": "Blade Pottery Sherd",
"item.minecraft.brewer_pottery_sherd": "Brewer Pottery Sherd",
"item.minecraft.burn_pottery_sherd": "Burn Pottery Sherd",
"item.minecraft.danger_pottery_sherd": "Danger Pottery Sherd",
"item.minecraft.explorer_pottery_sherd": "Explorer Pottery Sherd",
"item.minecraft.friend_pottery_sherd": "Friend Pottery Sherd",
"item.minecraft.heart_pottery_sherd": "Heart Pottery Sherd",
"item.minecraft.heartbreak_pottery_sherd": "Heartbreak Pottery Sherd",
"item.minecraft.howl_pottery_sherd": "Howl Pottery Sherd",
"item.minecraft.miner_pottery_sherd": "Miner Pottery Sherd",
"item.minecraft.mourner_pottery_sherd": "Mourner Pottery Sherd",
"item.minecraft.plenty_pottery_sherd": "Plenty Pottery Sherd",
"item.minecraft.prize_pottery_sherd": "Prize Pottery Sherd",
"item.minecraft.sheaf_pottery_sherd": "Sheaf Pottery Sherd",
"item.minecraft.shelter_pottery_sherd": "Shelter Pottery Sherd",
"item.minecraft.skull_pottery_sherd": "Skull Pottery Sherd",
"item.minecraft.snort_pottery_sherd": "Snort Pottery Sherd",
"item.minecraft.pitcher_plant": "Pitcher Plant",
"item.minecraft.pitcher_pod": "Pitcher Pod",
"multiplayer.disconnect.invalid_public_key_signature.new": "Invalid signature for profile public key.\nTry restarting your game.",
"quickplay.error.title": "Failed to Quick Play",
"quickplay.error.invalid_identifier": "Could not find world with the provided identifier",
"quickplay.error.realm_connect": "Could not connect to Realm",
"quickplay.error.realm_permission": "Lacking permission to connect to this Realm",
"subtitles.block.amethyst_block.resonate": "Amethyst resonates",
"subtitles.block.sign.waxed_interact_fail": "Sign wobbles",
"subtitles.block.sniffer_egg.plop": "Sniffer plops",
"subtitles.block.sniffer_egg.crack": "Sniffer Egg cracks",
"subtitles.block.sniffer_egg.hatch": "Sniffer Egg hatches",
"subtitles.item.brush.brushing.generic": "Brushing",
"subtitles.item.brush.brushing.sand": "Brushing Sand",
"subtitles.item.brush.brushing.gravel": "Brushing Gravel",
"subtitles.item.brush.brushing.sand.complete": "Brushing Sand completed",
"subtitles.item.brush.brushing.gravel.complete": "Brushing Gravel completed",
"trim_pattern.minecraft.host": "Host Armor Trim",
"trim_pattern.minecraft.raiser": "Raiser Armor Trim",
"trim_pattern.minecraft.shaper": "Shaper Armor Trim",
"trim_pattern.minecraft.silence": "Silence Armor Trim",
"trim_pattern.minecraft.wayfinder": "Wayfinder Armor Trim"
},
"1.19.4": { "1.19.4": {
"accessibility.onboarding.screen.narrator": "Press enter to enable the narrator", "accessibility.onboarding.screen.narrator": "Press enter to enable the narrator",
"accessibility.onboarding.screen.title": "Welcome to Minecraft!\n\nWould you like to enable the Narrator or visit the Accessibility Settings?", "accessibility.onboarding.screen.title": "Welcome to Minecraft!\n\nWould you like to enable the Narrator or visit the Accessibility Settings?",

View File

@ -3,7 +3,7 @@ metadata.format.version = "1.1"
[versions] [versions]
# ViaVersion # ViaVersion
viaver = "4.7.0-23w12a-SNAPSHOT" viaver = "4.7.0-23w17a-SNAPSHOT"
# Common provided # Common provided
netty = "4.0.20.Final" netty = "4.0.20.Final"