No Gravity #223
@ -52,7 +52,7 @@ public class RArmorStand extends REntity {
|
||||
private final Size size;
|
||||
|
||||
public RArmorStand(REntityServer server, Location location, Size size) {
|
||||
super(server, EntityType.ARMOR_STAND, location);
|
||||
super(server, EntityType.ARMOR_STAND, location,0);
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
|
@ -64,15 +64,17 @@ public class REntity {
|
||||
private boolean noGravity;
|
||||
private boolean isGlowing;
|
||||
private int fireTick;
|
||||
|
||||
private final int objectData;
|
||||
@Getter
|
||||
private String displayName;
|
||||
protected final Map<Object, ItemStack> itemSlots;
|
||||
|
||||
public REntity(REntityServer server, EntityType entityType, Location location) {
|
||||
this(server, entityType, new UUID(random.nextLong() & -61441L | 16384L, random.nextLong() & 4611686018427387903L | -9223372036854775808L), location);
|
||||
public REntity(REntityServer server, EntityType entityType, Location location,int objectData) {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
|
||||
this(server, entityType, new UUID(random.nextLong() & -61441L | 16384L, random.nextLong() & 4611686018427387903L | -9223372036854775808L), location,objectData);
|
||||
}
|
||||
|
||||
protected REntity(REntityServer server, EntityType entityType, UUID uuid, Location location) {
|
||||
protected REntity(REntityServer server, EntityType entityType, UUID uuid, Location location,int objectData) {
|
||||
this.server = server;
|
||||
this.entityType = entityType;
|
||||
this.entityId = entityIdCounter--;
|
||||
@ -89,6 +91,8 @@ public class REntity {
|
||||
this.noGravity = false;
|
||||
this.isGlowing = false;
|
||||
|
||||
this.objectData = objectData;
|
||||
|
||||
server.addEntity(this);
|
||||
}
|
||||
|
||||
@ -369,11 +373,13 @@ public class REntity {
|
||||
|
||||
protected static Function<REntity, Object> spawnPacketGenerator(Class<?> spawnPacket, int posOffset) {
|
||||
Reflection.FieldAccessor<Integer> entityId = Reflection.getField(spawnPacket, int.class, 0);
|
||||
Reflection.FieldAccessor<Integer> additionalData = Reflection.getField(spawnPacket, int.class, 9);
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Ich bezweifle stark, dass das in jeder Version von 1.8 bis 1.19 immer int Nr. 9 ist. Ich bezweifle stark, dass das in jeder Version von 1.8 bis 1.19 immer int Nr. 9 ist.
|
||||
BountifulWrapper.PositionSetter position = BountifulWrapper.impl.getPositionSetter(spawnPacket, posOffset);
|
||||
|
||||
return entity -> {
|
||||
Object packet = Reflection.newInstance(spawnPacket);
|
||||
entityId.set(packet, entity.entityId);
|
||||
additionalData.set(packet,entity.objectData);
|
||||
position.set(packet, entity.x, entity.y, entity.z);
|
||||
return packet;
|
||||
};
|
||||
|
@ -76,7 +76,7 @@ public class RPlayer extends REntity {
|
||||
private final String name;
|
||||
|
||||
public RPlayer(REntityServer server, UUID uuid, String name, Location location) {
|
||||
super(server, EntityType.PLAYER, uuid, location);
|
||||
super(server, EntityType.PLAYER, uuid, location,0);
|
||||
this.name = name;
|
||||
//team.addEntry(name);
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Äh nein, in diesem Konstruktor wird definitiv auf 0 gedefaultet. Weil dieser Konstruktor wird bereits in anderen Projekten verwendet (bei Merge gäbe es jede Menge Fehler) und die REntities sollen nicht direkt mit einem random int initialisiert werden. (Evtl. diesen Konstruktor in einen Protected Konstruktor umwandeln und den alten beibehalten)