Improve pickup delay check (#272)

This commit is contained in:
IzzelAliz 2021-06-15 15:05:57 +08:00
parent 0fcaba618f
commit aa274edaa8
2 changed files with 2 additions and 1 deletions

View File

@ -65,6 +65,7 @@ public abstract class ItemEntityMixin extends EntityMixin {
@Overwrite @Overwrite
public void onCollideWithPlayer(final PlayerEntity entity) { public void onCollideWithPlayer(final PlayerEntity entity) {
if (!this.world.isRemote) { if (!this.world.isRemote) {
if (this.pickupDelay > 0) return;
final ItemStack itemstack = this.getItem(); final ItemStack itemstack = this.getItem();
final net.minecraft.item.Item item = itemstack.getItem(); final net.minecraft.item.Item item = itemstack.getItem();
final int i = itemstack.getCount(); final int i = itemstack.getCount();

View File

@ -42,7 +42,7 @@ public abstract class ItemEntityMixin_ActivationRange extends EntityMixin_Activa
public void inactiveTick() { public void inactiveTick() {
super.inactiveTick(); super.inactiveTick();
int elapsedTicks = ArclightConstants.currentTick - this.lastTick; int elapsedTicks = ArclightConstants.currentTick - this.lastTick;
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks; if (this.pickupDelay > 0 && this.pickupDelay != 32767 && elapsedTicks > 0) this.pickupDelay -= elapsedTicks;
if (this.age != -32768) this.age += elapsedTicks; if (this.age != -32768) this.age += elapsedTicks;
this.lastTick = ArclightConstants.currentTick; this.lastTick = ArclightConstants.currentTick;