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),
|
OptUUID(12, Type.OPTIONAL_UUID),
|
||||||
BlockID(13, Type.VAR_INT),
|
BlockID(13, Type.VAR_INT),
|
||||||
NBTTag(14, Type.NBT),
|
NBTTag(14, Type.NBT),
|
||||||
PARTICLE(15, Protocol1_13_2To1_13_1.PARTICLE_TYPE),
|
PARTICLE(15, Type.PARTICLE_1_14),
|
||||||
VillagerData(16, Type.VILLAGER_DATA),
|
VillagerData(16, Type.VILLAGER_DATA),
|
||||||
OptVarInt(17, Type.OPTIONAL_VAR_INT),
|
OptVarInt(17, Type.OPTIONAL_VAR_INT),
|
||||||
Pose(18, Type.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.minecraft.item.Item;
|
||||||
import us.myles.ViaVersion.api.type.types.*;
|
import us.myles.ViaVersion.api.type.types.*;
|
||||||
import us.myles.ViaVersion.api.type.types.minecraft.*;
|
import us.myles.ViaVersion.api.type.types.minecraft.*;
|
||||||
|
import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.Particle;
|
||||||
|
|
||||||
import java.util.UUID;
|
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<VillagerData> VILLAGER_DATA = new VillagerDataType();
|
||||||
|
|
||||||
|
public static final Type<Particle> PARTICLE_1_14 = new Particle1_14Type();
|
||||||
|
|
||||||
/* 1.13 Flat Item (no data) */
|
/* 1.13 Flat Item (no data) */
|
||||||
public static final Type<Item> FLAT_ITEM = new FlatItemType();
|
public static final Type<Item> FLAT_ITEM = new FlatItemType();
|
||||||
public static final Type<Item> FLAT_VAR_INT_ITEM = new FlatVarIntItemType();
|
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