[1.20.5] Entity effect amplifier field change from byte to int

Signed-off-by: Irmo van den Berge <irmo.vandenberge@ziggo.nl>
This commit is contained in:
Irmo van den Berge committed 2024-04-26 20:31:14 +02:00
1 parent d5d8229bc6
commit b1cec4176c
3 files changed
+44 -6

No files matched your search

@@ -27,6 +27,8 @@ public abstract class PacketPlayOutEntityEffectHandle extends PacketHandle {
return T.createNew.invoke(entityId, effect, blend);
}
public abstract int getEffectAmplifier();
public abstract void setEffectAmplifier(int amplifier);
public abstract Holder<MobEffectListHandle> getEffect();
public abstract void setEffect(Holder<MobEffectListHandle> effect);
@@ -48,8 +50,6 @@ public abstract class PacketPlayOutEntityEffectHandle extends PacketHandle {
}
public abstract int getEntityId();
public abstract void setEntityId(int value);
public abstract byte getEffectAmplifier();
public abstract void setEffectAmplifier(byte value);
public abstract int getEffectDurationTicks();
public abstract void setEffectDurationTicks(int value);
public abstract byte getFlags();
@@ -60,12 +60,13 @@ public abstract class PacketPlayOutEntityEffectHandle extends PacketHandle {
*/
public static final class PacketPlayOutEntityEffectClass extends Template.Class<PacketPlayOutEntityEffectHandle> {
public final Template.Field.Integer entityId = new Template.Field.Integer();
public final Template.Field.Byte effectAmplifier = new Template.Field.Byte();
public final Template.Field.Integer effectDurationTicks = new Template.Field.Integer();
public final Template.Field.Byte flags = new Template.Field.Byte();
public final Template.StaticMethod.Converted<PacketPlayOutEntityEffectHandle> createNew = new Template.StaticMethod.Converted<PacketPlayOutEntityEffectHandle>();
public final Template.Method<Integer> getEffectAmplifier = new Template.Method<Integer>();
public final Template.Method<Void> setEffectAmplifier = new Template.Method<Void>();
public final Template.Method.Converted<Holder<MobEffectListHandle>> getEffect = new Template.Method.Converted<Holder<MobEffectListHandle>>();
public final Template.Method.Converted<Void> setEffect = new Template.Method.Converted<Void>();
@@ -1038,7 +1038,18 @@ public class NMSPacketClasses {
return true;
}
};
public final FieldAccessor<Byte> effectAmplifier = PacketPlayOutEntityEffectHandle.T.effectAmplifier.toFieldAccessor();
public final FieldAccessor<Integer> effectAmplifier = new SafeDirectField<Integer>() {
@Override
public Integer get(Object instance) {
return PacketPlayOutEntityEffectHandle.createHandle(instance).getEffectAmplifier();
}
@Override
public boolean set(Object instance, Integer value) {
PacketPlayOutEntityEffectHandle.createHandle(instance).setEffectAmplifier(value);
return true;
}
};
public final FieldAccessor<Integer> effectDuration = PacketPlayOutEntityEffectHandle.T.effectDurationTicks.toFieldAccessor();
public final FieldAccessor<Byte> effectFlags = PacketPlayOutEntityEffectHandle.T.flags.toFieldAccessor();
@@ -957,16 +957,42 @@ class PacketPlayOutEntityEffect extends Packet {
#if version >= 1.17
private final int entityId;
private final byte effectAmplifier;
private final int effectDurationTicks;
private final byte flags;
#else
private int entityId:a;
private byte effectAmplifier:c;
private int effectDurationTicks:d;
private byte flags:e;
#endif
#if version >= 1.20.5
#require net.minecraft.network.protocol.game.PacketPlayOutEntityEffect private final int effectAmplifier;
public int getEffectAmplifier() {
return instance#effectAmplifier;
}
public void setEffectAmplifier(int amplifier) {
instance#effectAmplifier = amplifier;
}
#else
#if version >= 1.17
#require net.minecraft.network.protocol.game.PacketPlayOutEntityEffect private final byte effectAmplifier;
#else
#require net.minecraft.network.protocol.game.PacketPlayOutEntityEffect private byte effectAmplifier:c;
#endif
public int getEffectAmplifier() {
byte b = instance#effectAmplifier;
return (int) (b & 0xFF);
}
public void setEffectAmplifier(int amplifier) {
byte b = (byte) amplifier;
instance#effectAmplifier = b;
}
#endif
#if version >= 1.20.5
public (Holder<MobEffectListHandle>) net.minecraft.core.Holder<MobEffectList> getEffect();
public void setEffect((Holder<MobEffectListHandle>) net.minecraft.core.Holder<MobEffectList> effect) {