This commit is contained in:
Ben Kerllenevich
2022-06-09 07:16:38 -04:00
parent 4b168c7792
commit 39fae5883d

View File

@@ -31,7 +31,7 @@ index 0bc963fc214da203a6e505fdd5edee3b1efc03df..d8cb1d7cdd2d0ab28eaf3c91a0316af1
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 7e927dec3e4e4fb65bf89a87cfa555045c58bb3a..22591789a33e0b08e9ee2529bc7d6b548310afa4 100644
index 7e927dec3e4e4fb65bf89a87cfa555045c58bb3a..fcdcdc54bf58ed159695990a3c05486b87a96a35 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -55,6 +55,12 @@ public class ItemEntity extends Entity {
@@ -47,20 +47,7 @@ index 7e927dec3e4e4fb65bf89a87cfa555045c58bb3a..22591789a33e0b08e9ee2529bc7d6b54
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
super(type, world);
@@ -81,6 +87,12 @@ public class ItemEntity extends Entity {
this.copyPosition(entity);
this.age = entity.age;
this.bobOffs = entity.bobOffs;
+ // Purpur start
+ if (level.purpurConfig.itemImmuneToCactus.contains(stack.getItem())) immuneToCactus = true;
+ if (level.purpurConfig.itemImmuneToExplosion.contains(stack.getItem())) immuneToExplosion = true;
+ if (level.purpurConfig.itemImmuneToFire.contains(stack.getItem())) immuneToFire = true;
+ if (level.purpurConfig.itemImmuneToLightning.contains(stack.getItem())) immuneToLightning = true;
+ // level end
}
@Override
@@ -332,6 +344,15 @@ public class ItemEntity extends Entity {
@@ -332,6 +338,15 @@ public class ItemEntity extends Entity {
return false;
} else if (!this.getItem().getItem().canBeHurtBy(source)) {
return false;
@@ -76,6 +63,19 @@ index 7e927dec3e4e4fb65bf89a87cfa555045c58bb3a..22591789a33e0b08e9ee2529bc7d6b54
} else if (this.level.isClientSide) {
return true;
} else {
@@ -517,6 +532,12 @@ public class ItemEntity extends Entity {
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
this.despawnRate = level.paperConfig().entities.spawning.altItemDespawnRate.enabled ? level.paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), level.spigotConfig.itemDespawnRate) : level.spigotConfig.itemDespawnRate; // Paper
+ // Purpur start
+ if (level.purpurConfig.itemImmuneToCactus.contains(stack.getItem())) immuneToCactus = true;
+ if (level.purpurConfig.itemImmuneToExplosion.contains(stack.getItem())) immuneToExplosion = true;
+ if (level.purpurConfig.itemImmuneToFire.contains(stack.getItem())) immuneToFire = true;
+ if (level.purpurConfig.itemImmuneToLightning.contains(stack.getItem())) immuneToLightning = true;
+ // level end
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index fea44ba6a6584b4a510af6a58cab07eecec6b68b..f3bf5199bc7ddf8a3d0dc67a184e7690efa659eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java