Merge pull request #10 from FlorianMichael/via-update-2

Updated Via* and API usage
This commit is contained in:
RK_01 2023-05-04 15:33:49 +02:00 committed by GitHub
commit 77726fda96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 72 additions and 96 deletions

View File

@ -20,8 +20,8 @@ repositories {
} }
dependencies { dependencies {
compileOnly "com.viaversion:viaversion:4.7.0-23w17a-SNAPSHOT" compileOnly "com.viaversion:viaversion:4.7.0-23w18a-SNAPSHOT"
compileOnly("com.viaversion:viabackwards-common:4.7.0-23w17a-SNAPSHOT") { compileOnly("com.viaversion:viabackwards-common:4.7.0-23w18a-SNAPSHOT") {
exclude group: "com.viaversion", module: "viaversion" exclude group: "com.viaversion", module: "viaversion"
} }
compileOnly "org.yaml:snakeyaml:2.0" compileOnly "org.yaml:snakeyaml:2.0"

View File

@ -57,14 +57,13 @@ public class Protocol1_14to3D_Shareware extends BackwardsProtocol<ClientboundPac
soundRewriter.registerNamedSound(ClientboundPackets3D_Shareware.NAMED_SOUND); soundRewriter.registerNamedSound(ClientboundPackets3D_Shareware.NAMED_SOUND);
soundRewriter.registerStopSound(ClientboundPackets3D_Shareware.STOP_SOUND); soundRewriter.registerStopSound(ClientboundPackets3D_Shareware.STOP_SOUND);
this.registerClientbound(ClientboundPackets3D_Shareware.CHUNK_DATA, new PacketHandlers() { this.registerClientbound(ClientboundPackets3D_Shareware.CHUNK_DATA, wrapper -> {
@Override final ChunkCenterTracker3D_Shareware entityTracker = wrapper.user().get(ChunkCenterTracker3D_Shareware.class);
public void register() {
handler(wrapper -> {
final Chunk chunk = wrapper.passthrough(new Chunk1_14Type()); final Chunk chunk = wrapper.passthrough(new Chunk1_14Type());
ChunkCenterTracker3D_Shareware entityTracker = wrapper.user().get(ChunkCenterTracker3D_Shareware.class);
final int diffX = Math.abs(entityTracker.getChunkCenterX() - chunk.getX()); final int diffX = Math.abs(entityTracker.getChunkCenterX() - chunk.getX());
final int diffZ = Math.abs(entityTracker.getChunkCenterZ() - chunk.getZ()); final int diffZ = Math.abs(entityTracker.getChunkCenterZ() - chunk.getZ());
if (entityTracker.isForceSendCenterChunk() || diffX >= SERVERSIDE_VIEW_DISTANCE || diffZ >= SERVERSIDE_VIEW_DISTANCE) { if (entityTracker.isForceSendCenterChunk() || diffX >= SERVERSIDE_VIEW_DISTANCE || diffZ >= SERVERSIDE_VIEW_DISTANCE) {
final PacketWrapper fakePosLook = wrapper.create(ClientboundPackets1_14.UPDATE_VIEW_POSITION); // Set center chunk final PacketWrapper fakePosLook = wrapper.create(ClientboundPackets1_14.UPDATE_VIEW_POSITION); // Set center chunk
fakePosLook.write(Type.VAR_INT, chunk.getX()); fakePosLook.write(Type.VAR_INT, chunk.getX());
@ -74,17 +73,9 @@ public class Protocol1_14to3D_Shareware extends BackwardsProtocol<ClientboundPac
entityTracker.setChunkCenterZ(chunk.getZ()); entityTracker.setChunkCenterZ(chunk.getZ());
} }
}); });
} this.registerClientbound(ClientboundPackets3D_Shareware.RESPAWN, wrapper -> {
});
this.registerClientbound(ClientboundPackets3D_Shareware.RESPAWN, new PacketHandlers() {
@Override
public void register() {
handler(wrapper -> {
ChunkCenterTracker3D_Shareware entityTracker = wrapper.user().get(ChunkCenterTracker3D_Shareware.class);
// The client may reset the center chunk if dimension is changed // The client may reset the center chunk if dimension is changed
entityTracker.setForceSendCenterChunk(true); wrapper.user().get(ChunkCenterTracker3D_Shareware.class).setForceSendCenterChunk(true);
});
}
}); });
} }

View File

@ -40,9 +40,7 @@ public class Protocol1_16_2toCombatTest8c extends AbstractProtocol<ClientboundPa
map(Type.BOOLEAN); //chatColors map(Type.BOOLEAN); //chatColors
map(Type.UNSIGNED_BYTE); //playerModelBitMask map(Type.UNSIGNED_BYTE); //playerModelBitMask
map(Type.VAR_INT); //mainArm map(Type.VAR_INT); //mainArm
handler(wrapper -> { handler(wrapper -> wrapper.write(Type.BOOLEAN, false)); //useShieldOnCrouch
wrapper.write(Type.BOOLEAN, false); //useShieldOnCrouch
});
} }
}); });
} }

View File

@ -116,8 +116,8 @@ public class Protocol1_16to20w14infinite extends BackwardsProtocol<ClientboundPa
map(Type.BYTE); // Flags map(Type.BYTE); // Flags
handler(wrapper -> { handler(wrapper -> {
final PlayerAbilitiesProvider playerAbilities = Via.getManager().getProviders().get(PlayerAbilitiesProvider.class); final PlayerAbilitiesProvider playerAbilities = Via.getManager().getProviders().get(PlayerAbilitiesProvider.class);
wrapper.write(Type.FLOAT, playerAbilities.getFlyingSpeed()); wrapper.write(Type.FLOAT, playerAbilities.getFlyingSpeed(wrapper.user()));
wrapper.write(Type.FLOAT, playerAbilities.getWalkingSpeed()); wrapper.write(Type.FLOAT, playerAbilities.getWalkingSpeed(wrapper.user()));
}); });
} }
}); });

View File

@ -69,32 +69,24 @@ public class EntityPackets20w14infinite {
metadataRewriter.registerRemoveEntities(ClientboundPackets20w14infinite.DESTROY_ENTITIES); metadataRewriter.registerRemoveEntities(ClientboundPackets20w14infinite.DESTROY_ENTITIES);
// Spawn lightning -> Spawn entity // Spawn lightning -> Spawn entity
protocol.registerClientbound(ClientboundPackets20w14infinite.SPAWN_GLOBAL_ENTITY, ClientboundPackets1_16.SPAWN_ENTITY, new PacketHandlers() { protocol.registerClientbound(ClientboundPackets20w14infinite.SPAWN_GLOBAL_ENTITY, ClientboundPackets1_16.SPAWN_ENTITY, wrapper -> {
@Override final int entityId = wrapper.passthrough(Type.VAR_INT); // entity id
public void register() { wrapper.user().getEntityTracker(Protocol1_16to20w14infinite.class).addEntity(entityId, Entity1_16Types.LIGHTNING_BOLT);
handler(new PacketHandler() {
@Override
public void handle(PacketWrapper packetWrapper) throws Exception {
int entityId = packetWrapper.passthrough(Type.VAR_INT); // entity id
packetWrapper.user().getEntityTracker(Protocol1_16to20w14infinite.class).addEntity(entityId, Entity1_16Types.LIGHTNING_BOLT);
packetWrapper.write(Type.UUID, UUID.randomUUID()); // uuid wrapper.write(Type.UUID, UUID.randomUUID()); // uuid
packetWrapper.write(Type.VAR_INT, Entity1_16Types.LIGHTNING_BOLT.getId()); // entity type wrapper.write(Type.VAR_INT, Entity1_16Types.LIGHTNING_BOLT.getId()); // entity type
packetWrapper.read(Type.BYTE); // remove type wrapper.read(Type.BYTE); // remove type
packetWrapper.passthrough(Type.DOUBLE); // x wrapper.passthrough(Type.DOUBLE); // x
packetWrapper.passthrough(Type.DOUBLE); // y wrapper.passthrough(Type.DOUBLE); // y
packetWrapper.passthrough(Type.DOUBLE); // z wrapper.passthrough(Type.DOUBLE); // z
packetWrapper.write(Type.BYTE, (byte) 0); // yaw wrapper.write(Type.BYTE, (byte) 0); // yaw
packetWrapper.write(Type.BYTE, (byte) 0); // pitch wrapper.write(Type.BYTE, (byte) 0); // pitch
packetWrapper.write(Type.INT, 0); // data wrapper.write(Type.INT, 0); // data
packetWrapper.write(Type.SHORT, (short) 0); // velocity wrapper.write(Type.SHORT, (short) 0); // velocity
packetWrapper.write(Type.SHORT, (short) 0); // velocity wrapper.write(Type.SHORT, (short) 0); // velocity
packetWrapper.write(Type.SHORT, (short) 0); // velocity wrapper.write(Type.SHORT, (short) 0); // velocity
}
});
}
}); });
protocol.registerClientbound(ClientboundPackets20w14infinite.RESPAWN, new PacketHandlers() { protocol.registerClientbound(ClientboundPackets20w14infinite.RESPAWN, new PacketHandlers() {
@Override @Override
@ -105,7 +97,7 @@ public class EntityPackets20w14infinite {
handler(wrapper -> { handler(wrapper -> {
wrapper.write(Type.BYTE, (byte) -1); // Previous gamemode, set to none wrapper.write(Type.BYTE, (byte) -1); // Previous gamemode, set to none
String levelType = wrapper.read(Type.STRING); final String levelType = wrapper.read(Type.STRING);
wrapper.write(Type.BOOLEAN, false); // debug wrapper.write(Type.BOOLEAN, false); // debug
wrapper.write(Type.BOOLEAN, levelType.equals("flat")); wrapper.write(Type.BOOLEAN, levelType.equals("flat"));
wrapper.write(Type.BOOLEAN, true); // keep all playerdata wrapper.write(Type.BOOLEAN, true); // keep all playerdata
@ -138,10 +130,7 @@ public class EntityPackets20w14infinite {
}); });
} }
}); });
protocol.registerClientbound(ClientboundPackets20w14infinite.ENTITY_PROPERTIES, new PacketHandlers() { protocol.registerClientbound(ClientboundPackets20w14infinite.ENTITY_PROPERTIES, wrapper -> {
@Override
public void register() {
handler(wrapper -> {
wrapper.passthrough(Type.VAR_INT); wrapper.passthrough(Type.VAR_INT);
int size = wrapper.passthrough(Type.INT); int size = wrapper.passthrough(Type.INT);
int actualSize = size; int actualSize = size;
@ -182,6 +171,4 @@ public class EntityPackets20w14infinite {
} }
}); });
} }
});
}
} }