Mirror von
https://github.com/ViaVersion/ViaBackwards.git
synchronisiert 2024-12-27 16:40:12 +01:00
Cleanup some block rewriting
Dieser Commit ist enthalten in:
Ursprung
07cc5fd7ed
Commit
26fab9f1ea
@ -13,7 +13,6 @@ import us.myles.ViaVersion.api.PacketWrapper;
|
|||||||
import us.myles.ViaVersion.api.Via;
|
import us.myles.ViaVersion.api.Via;
|
||||||
import us.myles.ViaVersion.api.entities.Entity1_14Types;
|
import us.myles.ViaVersion.api.entities.Entity1_14Types;
|
||||||
import us.myles.ViaVersion.api.entities.EntityType;
|
import us.myles.ViaVersion.api.entities.EntityType;
|
||||||
import us.myles.ViaVersion.api.minecraft.BlockChangeRecord;
|
|
||||||
import us.myles.ViaVersion.api.minecraft.Environment;
|
import us.myles.ViaVersion.api.minecraft.Environment;
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
||||||
@ -22,6 +21,7 @@ import us.myles.ViaVersion.api.minecraft.metadata.Metadata;
|
|||||||
import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_13_2;
|
import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_13_2;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
||||||
|
import us.myles.ViaVersion.api.rewriters.BlockRewriter;
|
||||||
import us.myles.ViaVersion.api.rewriters.ItemRewriter;
|
import us.myles.ViaVersion.api.rewriters.ItemRewriter;
|
||||||
import us.myles.ViaVersion.api.type.Type;
|
import us.myles.ViaVersion.api.type.Type;
|
||||||
import us.myles.ViaVersion.api.type.types.version.Types1_13;
|
import us.myles.ViaVersion.api.type.types.version.Types1_13;
|
||||||
@ -160,6 +160,7 @@ public class BlockItemPackets1_14 extends BlockItemRewriter<Protocol1_13_2To1_14
|
|||||||
});
|
});
|
||||||
|
|
||||||
ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer);
|
ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer);
|
||||||
|
BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION, Protocol1_13_2To1_14::getNewBlockStateId, Protocol1_13_2To1_14::getNewBlockId);
|
||||||
|
|
||||||
// Set cooldown
|
// Set cooldown
|
||||||
itemRewriter.registerSetCooldown(0x17, 0x18, BlockItemPackets1_14::getOldItemId);
|
itemRewriter.registerSetCooldown(0x17, 0x18, BlockItemPackets1_14::getOldItemId);
|
||||||
@ -382,24 +383,7 @@ public class BlockItemPackets1_14 extends BlockItemRewriter<Protocol1_13_2To1_14
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Multi Block Change
|
// Multi Block Change
|
||||||
protocol.registerOutgoing(State.PLAY, 0xF, 0xF, new PacketRemapper() {
|
blockRewriter.registerMultiBlockChange(0xF, 0xF);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // 0 - Chunk X
|
|
||||||
map(Type.INT); // 1 - Chunk Z
|
|
||||||
map(Type.BLOCK_CHANGE_RECORD_ARRAY); // 2 - Records
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
// Convert ids
|
|
||||||
for (BlockChangeRecord record : wrapper.get(Type.BLOCK_CHANGE_RECORD_ARRAY, 0)) {
|
|
||||||
int id = record.getBlockId();
|
|
||||||
record.setBlockId(Protocol1_13_2To1_14.getNewBlockStateId(id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//Explosion
|
//Explosion
|
||||||
protocol.registerOutgoing(State.PLAY, 0x1C, 0x1E, new PacketRemapper() {
|
protocol.registerOutgoing(State.PLAY, 0x1C, 0x1E, new PacketRemapper() {
|
||||||
@ -516,38 +500,9 @@ public class BlockItemPackets1_14 extends BlockItemRewriter<Protocol1_13_2To1_14
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//spawn particle
|
// Spawn particle
|
||||||
protocol.registerOutgoing(State.PLAY, 0x23, 0x24, new PacketRemapper() {
|
blockRewriter.registerSpawnParticle(Type.FLOAT, 0x23, 0x24, 3, 20, 27,
|
||||||
@Override
|
EntityPackets1_14::getOldParticleId, this::handleItemToClient, Type.FLAT_VAR_INT_ITEM);
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // 0 - Particle ID
|
|
||||||
map(Type.BOOLEAN); // 1 - Long Distance
|
|
||||||
map(Type.FLOAT); // 2 - X
|
|
||||||
map(Type.FLOAT); // 3 - Y
|
|
||||||
map(Type.FLOAT); // 4 - Z
|
|
||||||
map(Type.FLOAT); // 5 - Offset X
|
|
||||||
map(Type.FLOAT); // 6 - Offset Y
|
|
||||||
map(Type.FLOAT); // 7 - Offset Z
|
|
||||||
map(Type.FLOAT); // 8 - Particle Data
|
|
||||||
map(Type.INT); // 9 - Particle Count
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.INT, 0);
|
|
||||||
id = EntityPackets1_14.getOldParticleId(id);
|
|
||||||
if (id == 3 || id == 20) {
|
|
||||||
int data = wrapper.passthrough(Type.VAR_INT);
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_13_2To1_14.getNewBlockStateId(data));
|
|
||||||
} else if (id == 27) {
|
|
||||||
Item item = handleItemToClient(wrapper.read(Type.FLAT_VAR_INT_ITEM));
|
|
||||||
wrapper.write(Type.FLAT_VAR_INT_ITEM, item);
|
|
||||||
}
|
|
||||||
wrapper.set(Type.INT, 0, id);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
//Map Data
|
//Map Data
|
||||||
protocol.registerOutgoing(State.PLAY, 0x26, 0x26, new PacketRemapper() {
|
protocol.registerOutgoing(State.PLAY, 0x26, 0x26, new PacketRemapper() {
|
||||||
|
@ -2,12 +2,12 @@ package nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.packets;
|
|||||||
|
|
||||||
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.Protocol1_13To1_13_1;
|
import nl.matsv.viabackwards.protocol.protocol1_13to1_13_1.Protocol1_13To1_13_1;
|
||||||
import us.myles.ViaVersion.api.PacketWrapper;
|
import us.myles.ViaVersion.api.PacketWrapper;
|
||||||
import us.myles.ViaVersion.api.minecraft.BlockChangeRecord;
|
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
||||||
import us.myles.ViaVersion.api.protocol.Protocol;
|
import us.myles.ViaVersion.api.protocol.Protocol;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
||||||
|
import us.myles.ViaVersion.api.rewriters.BlockRewriter;
|
||||||
import us.myles.ViaVersion.api.type.Type;
|
import us.myles.ViaVersion.api.type.Type;
|
||||||
import us.myles.ViaVersion.packets.State;
|
import us.myles.ViaVersion.packets.State;
|
||||||
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.types.Chunk1_13Type;
|
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.types.Chunk1_13Type;
|
||||||
@ -16,6 +16,8 @@ import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld;
|
|||||||
public class WorldPackets1_13_1 {
|
public class WorldPackets1_13_1 {
|
||||||
|
|
||||||
public static void register(Protocol protocol) {
|
public static void register(Protocol protocol) {
|
||||||
|
BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION, Protocol1_13To1_13_1::getNewBlockStateId, Protocol1_13To1_13_1::getNewBlockId);
|
||||||
|
|
||||||
// Chunk
|
// Chunk
|
||||||
protocol.registerOutgoing(State.PLAY, 0x22, 0x22, new PacketRemapper() {
|
protocol.registerOutgoing(State.PLAY, 0x22, 0x22, new PacketRemapper() {
|
||||||
@Override
|
@Override
|
||||||
@ -29,123 +31,28 @@ public class WorldPackets1_13_1 {
|
|||||||
for (ChunkSection section : chunk.getSections()) {
|
for (ChunkSection section : chunk.getSections()) {
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (int i = 0; i < section.getPaletteSize(); i++) {
|
for (int i = 0; i < section.getPaletteSize(); i++) {
|
||||||
section.setPaletteEntry(
|
section.setPaletteEntry(i, Protocol1_13To1_13_1.getNewBlockStateId(section.getPaletteEntry(i)));
|
||||||
i,
|
|
||||||
Protocol1_13To1_13_1.getNewBlockStateId(section.getPaletteEntry(i))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Block Action
|
// Block Action
|
||||||
protocol.registerOutgoing(State.PLAY, 0x0A, 0x0A, new PacketRemapper() {
|
blockRewriter.registerBlockAction(0x0A, 0x0A);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.POSITION); // Location
|
|
||||||
map(Type.UNSIGNED_BYTE); // Action id
|
|
||||||
map(Type.UNSIGNED_BYTE); // Action param
|
|
||||||
map(Type.VAR_INT); // Block id - /!\ NOT BLOCK STATE
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_13To1_13_1.getNewBlockId(wrapper.get(Type.VAR_INT, 0)));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Block Change
|
// Block Change
|
||||||
protocol.registerOutgoing(State.PLAY, 0xB, 0xB, new PacketRemapper() {
|
blockRewriter.registerBlockChange(0xB, 0xB);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.POSITION);
|
|
||||||
map(Type.VAR_INT);
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.VAR_INT, 0);
|
|
||||||
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_13To1_13_1.getNewBlockStateId(id));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Multi Block Change
|
// Multi Block Change
|
||||||
protocol.registerOutgoing(State.PLAY, 0xF, 0xF, new PacketRemapper() {
|
blockRewriter.registerMultiBlockChange(0xF, 0xF);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // 0 - Chunk X
|
|
||||||
map(Type.INT); // 1 - Chunk Z
|
|
||||||
map(Type.BLOCK_CHANGE_RECORD_ARRAY); // 2 - Records
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
// Convert ids
|
|
||||||
for (BlockChangeRecord record : wrapper.get(Type.BLOCK_CHANGE_RECORD_ARRAY, 0)) {
|
|
||||||
int id = record.getBlockId();
|
|
||||||
record.setBlockId(Protocol1_13To1_13_1.getNewBlockStateId(id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Effect packet
|
// Effect packet
|
||||||
protocol.registerOutgoing(State.PLAY, 0x23, 0x23, new PacketRemapper() {
|
blockRewriter.registerEffect(0x23, 0x23, 1010, 2001, InventoryPackets1_13_1::getOldItemId);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // Effect Id
|
|
||||||
map(Type.POSITION); // Location
|
|
||||||
map(Type.INT); // Data
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.INT, 0);
|
|
||||||
int data = wrapper.get(Type.INT, 1);
|
|
||||||
if (id == 1010) { // Play record
|
|
||||||
wrapper.set(Type.INT, 1, data = InventoryPackets1_13_1.getOldItemId(data));
|
|
||||||
} else if (id == 2001) { // Block break + block break sound
|
|
||||||
wrapper.set(Type.INT, 1, data = Protocol1_13To1_13_1.getNewBlockStateId(data));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//spawn particle
|
// Spawn particle
|
||||||
protocol.registerOutgoing(State.PLAY, 0x24, 0x24, new PacketRemapper() {
|
blockRewriter.registerSpawnParticle(Type.FLOAT, 0x24, 0x24, 3, 20, 27, InventoryPackets1_13_1::toClient, Type.FLAT_ITEM);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // 0 - Particle ID
|
|
||||||
map(Type.BOOLEAN); // 1 - Long Distance
|
|
||||||
map(Type.FLOAT); // 2 - X
|
|
||||||
map(Type.FLOAT); // 3 - Y
|
|
||||||
map(Type.FLOAT); // 4 - Z
|
|
||||||
map(Type.FLOAT); // 5 - Offset X
|
|
||||||
map(Type.FLOAT); // 6 - Offset Y
|
|
||||||
map(Type.FLOAT); // 7 - Offset Z
|
|
||||||
map(Type.FLOAT); // 8 - Particle Data
|
|
||||||
map(Type.INT); // 9 - Particle Count
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.INT, 0);
|
|
||||||
if(id == 3 || id == 20){
|
|
||||||
int data = wrapper.passthrough(Type.VAR_INT);
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_13To1_13_1.getNewBlockStateId(data));
|
|
||||||
} else if (id == 27) {
|
|
||||||
InventoryPackets1_13_1.toClient(wrapper.passthrough(Type.FLAT_ITEM));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
@ -6,12 +6,12 @@ import nl.matsv.viabackwards.api.rewriters.RecipeRewriter;
|
|||||||
import nl.matsv.viabackwards.protocol.protocol1_14_4to1_15.Protocol1_14_4To1_15;
|
import nl.matsv.viabackwards.protocol.protocol1_14_4to1_15.Protocol1_14_4To1_15;
|
||||||
import nl.matsv.viabackwards.protocol.protocol1_14_4to1_15.data.RecipeRewriter1_15;
|
import nl.matsv.viabackwards.protocol.protocol1_14_4to1_15.data.RecipeRewriter1_15;
|
||||||
import us.myles.ViaVersion.api.PacketWrapper;
|
import us.myles.ViaVersion.api.PacketWrapper;
|
||||||
import us.myles.ViaVersion.api.minecraft.BlockChangeRecord;
|
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
import us.myles.ViaVersion.api.minecraft.chunks.Chunk;
|
||||||
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
import us.myles.ViaVersion.api.minecraft.chunks.ChunkSection;
|
||||||
import us.myles.ViaVersion.api.minecraft.item.Item;
|
import us.myles.ViaVersion.api.minecraft.item.Item;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
import us.myles.ViaVersion.api.remapper.PacketHandler;
|
||||||
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
import us.myles.ViaVersion.api.remapper.PacketRemapper;
|
||||||
|
import us.myles.ViaVersion.api.rewriters.BlockRewriter;
|
||||||
import us.myles.ViaVersion.api.rewriters.ItemRewriter;
|
import us.myles.ViaVersion.api.rewriters.ItemRewriter;
|
||||||
import us.myles.ViaVersion.api.type.Type;
|
import us.myles.ViaVersion.api.type.Type;
|
||||||
import us.myles.ViaVersion.packets.State;
|
import us.myles.ViaVersion.packets.State;
|
||||||
@ -25,6 +25,7 @@ public class BlockItemPackets1_15 extends BlockItemRewriter<Protocol1_14_4To1_15
|
|||||||
@Override
|
@Override
|
||||||
protected void registerPackets(Protocol1_14_4To1_15 protocol) {
|
protected void registerPackets(Protocol1_14_4To1_15 protocol) {
|
||||||
ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer);
|
ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer);
|
||||||
|
BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION1_14, Protocol1_14_4To1_15::getNewBlockStateId, Protocol1_14_4To1_15::getNewBlockId);
|
||||||
|
|
||||||
// Set cooldown
|
// Set cooldown
|
||||||
itemRewriter.registerSetCooldown(0x18, 0x17, BlockItemPackets1_15::getOldItemId);
|
itemRewriter.registerSetCooldown(0x18, 0x17, BlockItemPackets1_15::getOldItemId);
|
||||||
@ -107,71 +108,16 @@ public class BlockItemPackets1_15 extends BlockItemRewriter<Protocol1_14_4To1_15
|
|||||||
itemRewriter.registerCreativeInvAction(Type.FLAT_VAR_INT_ITEM, 0x26, 0x26);
|
itemRewriter.registerCreativeInvAction(Type.FLAT_VAR_INT_ITEM, 0x26, 0x26);
|
||||||
|
|
||||||
// Acknowledge player digging
|
// Acknowledge player digging
|
||||||
protocol.registerOutgoing(State.PLAY, 0x08, 0x5C, new PacketRemapper() {
|
blockRewriter.registerAcknowledgePlayerDigging(0x08, 0x5C);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.POSITION1_14);
|
|
||||||
map(Type.VAR_INT);
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_14_4To1_15.getNewBlockStateId(wrapper.get(Type.VAR_INT, 0)));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Block Action
|
// Block Action
|
||||||
protocol.registerOutgoing(State.PLAY, 0x0B, 0x0A, new PacketRemapper() {
|
blockRewriter.registerBlockAction(0x0B, 0x0A);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.POSITION1_14); // Location
|
|
||||||
map(Type.UNSIGNED_BYTE); // Action id
|
|
||||||
map(Type.UNSIGNED_BYTE); // Action param
|
|
||||||
map(Type.VAR_INT); // Block id - /!\ NOT BLOCK STATE
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_14_4To1_15.getNewBlockId(wrapper.get(Type.VAR_INT, 0)));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Block Change
|
// Block Change
|
||||||
protocol.registerOutgoing(State.PLAY, 0x0C, 0x0B, new PacketRemapper() {
|
blockRewriter.registerBlockChange(0x0C, 0x0B);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.POSITION1_14);
|
|
||||||
map(Type.VAR_INT);
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.VAR_INT, 0);
|
|
||||||
wrapper.set(Type.VAR_INT, 0, Protocol1_14_4To1_15.getNewBlockStateId(id));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Multi Block Change
|
// Multi Block Change
|
||||||
protocol.registerOutgoing(State.PLAY, 0x10, 0x0F, new PacketRemapper() {
|
blockRewriter.registerMultiBlockChange(0x10, 0x0F);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // 0 - Chunk X
|
|
||||||
map(Type.INT); // 1 - Chunk Z
|
|
||||||
map(Type.BLOCK_CHANGE_RECORD_ARRAY); // 2 - Records
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
for (BlockChangeRecord record : wrapper.get(Type.BLOCK_CHANGE_RECORD_ARRAY, 0)) {
|
|
||||||
int id = record.getBlockId();
|
|
||||||
record.setBlockId(Protocol1_14_4To1_15.getNewBlockStateId(id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Chunk
|
// Chunk
|
||||||
protocol.registerOutgoing(State.PLAY, 0x22, 0x21, new PacketRemapper() {
|
protocol.registerOutgoing(State.PLAY, 0x22, 0x21, new PacketRemapper() {
|
||||||
@ -222,26 +168,7 @@ public class BlockItemPackets1_15 extends BlockItemRewriter<Protocol1_14_4To1_15
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Effect packet
|
// Effect packet
|
||||||
protocol.registerOutgoing(State.PLAY, 0x23, 0x22, new PacketRemapper() {
|
blockRewriter.registerEffect(0x23, 0x22, 1010, 2001, BlockItemPackets1_15::getOldItemId);
|
||||||
@Override
|
|
||||||
public void registerMap() {
|
|
||||||
map(Type.INT); // Effect Id
|
|
||||||
map(Type.POSITION1_14); // Location
|
|
||||||
map(Type.INT); // Data
|
|
||||||
handler(new PacketHandler() {
|
|
||||||
@Override
|
|
||||||
public void handle(PacketWrapper wrapper) throws Exception {
|
|
||||||
int id = wrapper.get(Type.INT, 0);
|
|
||||||
int data = wrapper.get(Type.INT, 1);
|
|
||||||
if (id == 1010) { // Play record
|
|
||||||
wrapper.set(Type.INT, 1, BlockItemPackets1_15.getOldItemId(data));
|
|
||||||
} else if (id == 2001) { // Block break + block break sound
|
|
||||||
wrapper.set(Type.INT, 1, Protocol1_14_4To1_15.getNewBlockStateId(data));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Spawn particle
|
// Spawn particle
|
||||||
protocol.registerOutgoing(State.PLAY, 0x24, 0x23, new PacketRemapper() {
|
protocol.registerOutgoing(State.PLAY, 0x24, 0x23, new PacketRemapper() {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren