diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/EntityPackets1_16.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/EntityPackets1_16.java index 9eac8b7d..6b1f7993 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/EntityPackets1_16.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/EntityPackets1_16.java @@ -16,6 +16,7 @@ import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.Particle; import us.myles.ViaVersion.api.type.types.version.Types1_14; import us.myles.ViaVersion.packets.State; +import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class EntityPackets1_16 extends EntityRewriter { @@ -32,7 +33,20 @@ public class EntityPackets1_16 extends EntityRewriter { registerSpawnTracker(0x03, 0x03); // Respawn - registerRespawn(0x3B, 0x3B); + protocol.registerOutgoing(State.PLAY, 0x3B, 0x3B, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.INT); + map(Type.LONG); + map(Type.BYTE); + map(Type.STRING); + map(Type.BOOLEAN, Type.NOTHING); // save all playerdata + handler(wrapper -> { + ClientWorld clientWorld = wrapper.user().get(ClientWorld.class); + clientWorld.setEnvironment(wrapper.get(Type.INT, 0)); + }); + } + }); // Join Game registerJoinGame(0x26, 0x26, Entity1_16Types.EntityType.PLAYER); diff --git a/core/src/main/resources/assets/viabackwards/data/mapping-1.15to1.16.json b/core/src/main/resources/assets/viabackwards/data/mapping-1.15to1.16.json index 9b3875c5..d27b2727 100644 --- a/core/src/main/resources/assets/viabackwards/data/mapping-1.15to1.16.json +++ b/core/src/main/resources/assets/viabackwards/data/mapping-1.15to1.16.json @@ -5675,7 +5675,8 @@ "minecraft:chiseled_nether_bricks": "minecraft:nether_bricks", "minecraft:cracked_nether_bricks": "minecraft:nether_bricks", "minecraft:quartz_bricks": "minecraft:quartz_block", - "minecraft:chain": "minecraft:iron_bars[east=false,north=false,south=false,waterlogged=false,west=false]" + "minecraft:chain[waterlogged=false]": "minecraft:iron_bars[east=false,north=false,south=false,waterlogged=false,west=false]", + "minecraft:chain[waterlogged=true]": "minecraft:iron_bars[east=false,north=false,south=false,waterlogged=true,west=false]" }, "items": { "minecraft:crimson_nylium": { diff --git a/core/src/main/resources/assets/viabackwards/data/translation-mappings.json b/core/src/main/resources/assets/viabackwards/data/translation-mappings.json index c6c0b1d0..7b7d1295 100644 --- a/core/src/main/resources/assets/viabackwards/data/translation-mappings.json +++ b/core/src/main/resources/assets/viabackwards/data/translation-mappings.json @@ -1,11 +1,11 @@ { "1.16": { "selectWorld.locked": "Locked by another running instance of Minecraft", - "selectWorld.access_failure": "Failed to access level", - "selectWorld.delete_failure": "Failed to delete level", + "selectWorld.access_failure": "Failed to access world", + "selectWorld.delete_failure": "Failed to delete world", "editGamerule.title": "Edit game rules", "editGamerule.default": "Default: %s", - "selectWorld.gameRules": "Game rules", + "selectWorld.gameRules": "Game Rules", "multiplayer.status.ping": "%s ms", "chat.queue": "[+%s pending lines]", "options.entityDistanceScaling": "Entity Distance", @@ -17,7 +17,7 @@ "block.minecraft.soul_torch": "Soul Torch", "block.minecraft.soul_wall_torch": "Soul Wall Torch", "block.minecraft.respawn_anchor": "Respawn Anchor", - "block.minecraft.spawn.not_valid": "You have no home bed or respawn anchor, or it was obstructed", + "block.minecraft.spawn.not_valid": "You have no home bed or charged respawn anchor, or it was obstructed", "block.minecraft.set_spawn": "Respawn point set", "block.minecraft.warped_wart_block": "Warped Wart Block", "block.minecraft.warped_stem": "Warped Stem", @@ -53,7 +53,7 @@ "block.minecraft.warped_button": "Warped Button", "block.minecraft.warped_door": "Warped Door", "block.minecraft.warped_sign": "Warped Sign", - "block.minecraft.warped_wall_sign": "Warped Sign", + "block.minecraft.warped_wall_sign": "Warped Wall Sign", "block.minecraft.crimson_planks": "Crimson Planks", "block.minecraft.crimson_slab": "Crimson Slab", "block.minecraft.crimson_pressure_plate": "Crimson Pressure Plate", @@ -64,7 +64,7 @@ "block.minecraft.crimson_button": "Crimson Button", "block.minecraft.crimson_door": "Crimson Door", "block.minecraft.crimson_sign": "Crimson Sign", - "block.minecraft.crimson_wall_sign": "Crimson Sign", + "block.minecraft.crimson_wall_sign": "Crimson Wall Sign", "block.minecraft.soul_fire": "Soul Fire", "block.minecraft.potted_crimson_fungus": "Potted Crimson Fungus", "block.minecraft.potted_warped_fungus": "Potted Warped Fungus", @@ -106,7 +106,7 @@ "item.minecraft.zoglin_spawn_egg": "Zoglin Spawn Egg", "item.minecraft.zombified_piglin_spawn_egg": "Zombified Piglin Spawn Egg", "item.minecraft.piglin_banner_pattern": "Banner Pattern", - "item.minecraft.piglin_banner_pattern.desc": "Piglin", + "item.minecraft.piglin_banner_pattern.desc": "Snout", "item.minecraft.lodestone_compass": "Lodestone Compass", "item.minecraft.netherite_scrap": "Netherite Scrap", "item.minecraft.netherite_ingot": "Netherite Ingot", @@ -120,7 +120,7 @@ "item.minecraft.netherite_shovel": "Netherite Shovel", "item.minecraft.netherite_sword": "Netherite Sword", "item.minecraft.warped_fungus_on_a_stick": "Warped Fungus on a Stick", - "container.upgrade": "Upgrade gear", + "container.upgrade": "Upgrade Gear", "jigsaw_block.pool": "Target pool:", "jigsaw_block.name": "Name:", "jigsaw_block.target": "Target name:", @@ -136,9 +136,10 @@ "entity.minecraft.zombified_piglin": "Zombified Piglin", "death.fell.accident.weeping_vines": "%1$s fell off some weeping vines", "death.fell.accident.twisting_vines": "%1$s fell off some twisting vines", - "death.fell.accident.scaffolding": "%1$s fell off a scaffolding", + "death.fell.accident.scaffolding": "%1$s fell off scaffolding", "death.fell.accident.other_climbable": "%1$s fell while climbing", "death.attack.magic.player": "%1$s was killed by magic whilst trying to escape %2$s", + "death.attack.fireworks.item": "%1$s went off with a bang due to a firework fired from %3$s by %2$s", "death.attack.badRespawnPoint.message": "%1$s was killed by %2$s", "death.attack.badRespawnPoint.link": "Intentional Game Design", "enchantment.minecraft.soul_speed": "Soul Speed", @@ -157,6 +158,22 @@ "attribute.name.generic.attack_knockback": "Attack Knockback", "attribute.name.generic.attack_speed": "Attack Speed", "attribute.name.generic.armor_toughness": "Armor Toughness", + "block.minecraft.banner.piglin.black": "Black Snout", + "block.minecraft.banner.piglin.red": "Red Snout", + "block.minecraft.banner.piglin.green": "Green Snout", + "block.minecraft.banner.piglin.brown": "Brown Snout", + "block.minecraft.banner.piglin.blue": "Blue Snout", + "block.minecraft.banner.piglin.purple": "Purple Snout", + "block.minecraft.banner.piglin.cyan": "Cyan Snout", + "block.minecraft.banner.piglin.light_gray": "Light Gray Snout", + "block.minecraft.banner.piglin.gray": "Gray Snout", + "block.minecraft.banner.piglin.pink": "Pink Snout", + "block.minecraft.banner.piglin.lime": "Lime Snout", + "block.minecraft.banner.piglin.yellow": "Yellow Snout", + "block.minecraft.banner.piglin.light_blue": "Light Blue Snout", + "block.minecraft.banner.piglin.magenta": "Magenta Snout", + "block.minecraft.banner.piglin.orange": "Orange Snout", + "block.minecraft.banner.piglin.white": "White Snout", "subtitles.block.beacon.activate": "Beacon activates", "subtitles.block.beacon.ambient": "Beacon hums", "subtitles.block.beacon.deactivate": "Beacon deactivates", @@ -169,7 +186,7 @@ "subtitles.block.conduit.attack.target": "Conduit attacks", "subtitles.block.conduit.deactivate": "Conduit deactivates", "subtitles.block.enchantment_table.use": "Enchanting table used", - "subtitles.block.end_portal.spawn": "End Portal opens!", + "subtitles.block.end_portal.spawn": "End Portal opens", "subtitles.block.end_portal_frame.fill": "Eye of Ender attaches", "subtitles.block.pumpkin.carve": "Shears carve", "subtitles.block.respawn_anchor.ambient": "Portal whooshes", @@ -256,7 +273,7 @@ "commands.attribute.modifier.value.get.success": "Value of modifier %s on attribute %s for entity %s is %s", "commands.locatebiome.success": "The nearest %s is at %s (%s blocks away)", "commands.teleport.invalidPosition": "Invalid position for teleport", - "commands.locatebiome.notFound": "Could not find a %s within reasonable distance", + "commands.locatebiome.notFound": "Could not find a biome of type %s within reasonable distance", "commands.locatebiome.invalid": "There is no biome named %s", "commands.summon.invalidPosition": "Invalid position for summon", "biome.minecraft.nether_wastes": "Nether Wastes", @@ -266,7 +283,7 @@ "biome.minecraft.basalt_deltas": "Basalt Deltas", "gamerule.announceAdvancements": "Announce advancements", "gamerule.commandBlockOutput": "Broadcast command block output", - "gamerule.disableElytraMovementCheck": "Disable Elytra movement check", + "gamerule.disableElytraMovementCheck": "Disable elytra movement check", "gamerule.disableRaids": "Disable raids", "gamerule.doDaylightCycle": "Advance in-game time", "gamerule.doEntityDrops": "Drop entity equipment",