mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Entities pick up loot bypass mob-griefing gamerule
This commit is contained in:
@@ -0,0 +1,46 @@
|
|||||||
|
From 9364b8f841ab37a40be7f8102b2f7d2ee728f8da Mon Sep 17 00:00:00 2001
|
||||||
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Fri, 24 Apr 2020 09:33:11 -0500
|
||||||
|
Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
||||||
|
|
||||||
|
---
|
||||||
|
src/main/java/net/minecraft/server/EntityInsentient.java | 6 +-----
|
||||||
|
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++
|
||||||
|
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
index 15a5fb71..8edbe341 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
@@ -525,7 +521,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
public void movementTick() {
|
||||||
|
super.movementTick();
|
||||||
|
this.world.getMethodProfiler().enter("looting");
|
||||||
|
- if (!this.world.isClientSide && this.canPickupLoot() && this.isAlive() && !this.killed && this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING)) {
|
||||||
|
+ if (!this.world.isClientSide && this.canPickupLoot() && this.isAlive() && !this.killed && (this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) || world.purpurConfig.entitiesPickUpLootBypassMobGriefing)) {
|
||||||
|
List<EntityItem> list = this.world.a(EntityItem.class, this.getBoundingBox().grow(1.0D, 0.0D, 1.0D));
|
||||||
|
Iterator iterator = list.iterator();
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
index ef34a348..6a61094f 100644
|
||||||
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
@@ -209,6 +209,7 @@ public class PurpurWorldConfig {
|
||||||
|
public double controllableMinecartsBaseSpeed = 0.1D;
|
||||||
|
public Map<Block, Double> controllableMinecartsBlockSpeeds = new HashMap<>();
|
||||||
|
public boolean disableDropsOnCrammingDeath = false;
|
||||||
|
+ public boolean entitiesPickUpLootBypassMobGriefing = false;
|
||||||
|
public boolean fixClimbingBypassingCrammingRule = false;
|
||||||
|
public boolean itemFloatInLava = false;
|
||||||
|
public List<Item> itemImmuneToExplosion = new ArrayList<>();
|
||||||
|
@@ -244,6 +245,7 @@ public class PurpurWorldConfig {
|
||||||
|
set("gameplay-mechanics.controllable-minecarts.block-speed.stone", 0.5D);
|
||||||
|
}
|
||||||
|
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||||
|
+ entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||||
|
fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule);
|
||||||
|
itemFloatInLava = getBoolean("gameplay-mechanics.item.float-in-lava", itemFloatInLava);
|
||||||
|
getList("gameplay-mechanics.item.immune.explosion", itemImmuneToExplosion).forEach(key -> {
|
||||||
|
--
|
||||||
|
2.24.0
|
||||||
|
|
||||||
Reference in New Issue
Block a user