mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 15:30:19 +01:00
SPIGOT-2864: Make Arrow / Item setTicksLived behave like FallingBlock
This commit is contained in:
parent
79ded7a8ca
commit
b54b9409e0
4 changed files with 31 additions and 2 deletions
|
@ -14,6 +14,15 @@
|
||||||
public abstract class EntityArrow extends Entity implements IProjectile {
|
public abstract class EntityArrow extends Entity implements IProjectile {
|
||||||
|
|
||||||
private static final Predicate<Entity> g = IEntitySelector.f.and(IEntitySelector.a.and(Entity::isInteractable));
|
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 @@
|
@@ -250,6 +257,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/net/minecraft/server/EntityItem.java
|
--- a/net/minecraft/server/EntityItem.java
|
||||||
+++ b/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.Iterator;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -11,7 +11,11 @@
|
||||||
|
|
||||||
public class EntityItem extends Entity {
|
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 f;
|
||||||
private UUID g;
|
private UUID g;
|
||||||
public float a;
|
public float a;
|
||||||
|
|
|
@ -84,6 +84,14 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||||
getHandle().fromPlayer = EntityArrow.PickupStatus.a(status.ordinal());
|
getHandle().fromPlayer = EntityArrow.PickupStatus.a(status.ordinal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setTicksLived(int value) {
|
||||||
|
super.setTicksLived(value);
|
||||||
|
|
||||||
|
// Second field for EntityArrow
|
||||||
|
getHandle().despawnCounter = value;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EntityArrow getHandle() {
|
public EntityArrow getHandle() {
|
||||||
return (EntityArrow) entity;
|
return (EntityArrow) entity;
|
||||||
|
|
|
@ -37,6 +37,14 @@ public class CraftItem extends CraftEntity implements Item {
|
||||||
item.pickupDelay = Math.min(delay, Short.MAX_VALUE);
|
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
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "CraftItem";
|
return "CraftItem";
|
||||||
|
|
Loading…
Reference in a new issue