Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-25 15:50:10 +01:00
fix area effect cloud
add 1.14 particle type
Dieser Commit ist enthalten in:
Ursprung
3c57127a6c
Commit
dc54551d0c
@ -24,7 +24,7 @@ public enum MetaType1_14 implements MetaType {
|
||||
OptUUID(12, Type.OPTIONAL_UUID),
|
||||
BlockID(13, Type.VAR_INT),
|
||||
NBTTag(14, Type.NBT),
|
||||
PARTICLE(15, Protocol1_13_2To1_13_1.PARTICLE_TYPE),
|
||||
PARTICLE(15, Type.PARTICLE_1_14),
|
||||
VillagerData(16, Type.VILLAGER_DATA),
|
||||
OptVarInt(17, Type.OPTIONAL_VAR_INT),
|
||||
Pose(18, Type.VAR_INT),
|
||||
|
@ -7,6 +7,7 @@ import us.myles.ViaVersion.api.minecraft.*;
|
||||
import us.myles.ViaVersion.api.minecraft.item.Item;
|
||||
import us.myles.ViaVersion.api.type.types.*;
|
||||
import us.myles.ViaVersion.api.type.types.minecraft.*;
|
||||
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.Particle;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -76,6 +77,8 @@ public abstract class Type<T> implements ByteBufReader<T>, ByteBufWriter<T> {
|
||||
|
||||
public static final Type<VillagerData> VILLAGER_DATA = new VillagerDataType();
|
||||
|
||||
public static final Type<Particle> PARTICLE_1_14 = new Particle1_14Type();
|
||||
|
||||
/* 1.13 Flat Item (no data) */
|
||||
public static final Type<Item> FLAT_ITEM = new FlatItemType();
|
||||
public static final Type<Item> FLAT_VAR_INT_ITEM = new FlatVarIntItemType();
|
||||
|
@ -0,0 +1,46 @@
|
||||
package us.myles.ViaVersion.api.type.types.minecraft;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import us.myles.ViaVersion.api.type.Type;
|
||||
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.Particle;
|
||||
|
||||
public class Particle1_14Type extends Type<Particle> {
|
||||
|
||||
public Particle1_14Type() {
|
||||
super("Particle", Particle.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(ByteBuf buffer, Particle object) throws Exception {
|
||||
Type.VAR_INT.write(buffer, object.getId());
|
||||
for (Particle.ParticleData data : object.getArguments())
|
||||
data.getType().write(buffer, data.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Particle read(ByteBuf buffer) throws Exception {
|
||||
int type = Type.VAR_INT.read(buffer);
|
||||
Particle particle = new Particle(type);
|
||||
|
||||
switch (type) {
|
||||
// Block / Falling Dust /
|
||||
case 3:
|
||||
case 23:
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.VAR_INT, Type.VAR_INT.read(buffer))); // Flat Block
|
||||
break;
|
||||
// Dust
|
||||
case 14:
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.FLOAT, Type.FLOAT.read(buffer))); // Red 0 - 1
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.FLOAT, Type.FLOAT.read(buffer))); // Green 0 - 1
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.FLOAT, Type.FLOAT.read(buffer))); // Blue 0 - 1
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.FLOAT, Type.FLOAT.read(buffer)));// Scale 0.01 - 4
|
||||
break;
|
||||
// Item
|
||||
case 32:
|
||||
particle.getArguments().add(new Particle.ParticleData(Type.FLAT_VAR_INT_ITEM, Type.FLAT_VAR_INT_ITEM.read(buffer))); // Flat item
|
||||
break;
|
||||
}
|
||||
return particle;
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren