SPIGOT-2864: Make Arrow / Item setTicksLived behave like FallingBlock
Dieser Commit ist enthalten in:
Ursprung
79ded7a8ca
Commit
b54b9409e0
@ -14,6 +14,15 @@
|
||||
public abstract class EntityArrow extends Entity implements IProjectile {
|
||||
|
||||
private static final Predicate<Entity> g = IEntitySelector.f.and(IEntitySelector.a.and(Entity::isInteractable));
|
||||
@@ -22,7 +29,7 @@
|
||||
public EntityArrow.PickupStatus fromPlayer;
|
||||
public int shake;
|
||||
public UUID shooter;
|
||||
- private int despawnCounter;
|
||||
+ public int despawnCounter; // PAIL
|
||||
private int aB;
|
||||
private double damage;
|
||||
public int knockbackStrength;
|
||||
@@ -250,6 +257,7 @@
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityItem.java
|
||||
+++ b/net/minecraft/server/EntityItem.java
|
||||
@@ -3,6 +3,10 @@
|
||||
@@ -3,16 +3,21 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.UUID;
|
||||
import javax.annotation.Nullable;
|
||||
@ -11,7 +11,11 @@
|
||||
|
||||
public class EntityItem extends Entity {
|
||||
|
||||
@@ -13,6 +17,7 @@
|
||||
private static final DataWatcherObject<ItemStack> b = DataWatcher.a(EntityItem.class, DataWatcherRegistry.g);
|
||||
- private int age;
|
||||
+ public int age; // PAIL
|
||||
public int pickupDelay;
|
||||
private int e;
|
||||
private UUID f;
|
||||
private UUID g;
|
||||
public float a;
|
||||
|
@ -84,6 +84,14 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||
getHandle().fromPlayer = EntityArrow.PickupStatus.a(status.ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTicksLived(int value) {
|
||||
super.setTicksLived(value);
|
||||
|
||||
// Second field for EntityArrow
|
||||
getHandle().despawnCounter = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityArrow getHandle() {
|
||||
return (EntityArrow) entity;
|
||||
|
@ -37,6 +37,14 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
item.pickupDelay = Math.min(delay, Short.MAX_VALUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTicksLived(int value) {
|
||||
super.setTicksLived(value);
|
||||
|
||||
// Second field for EntityItem
|
||||
item.age = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftItem";
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren