|
|
|
|
@@ -31,7 +31,7 @@ index 4e5a261ccb7fb63b82ac7194598729fd60a20840..d24f94f2c27523af10184cae27157169
|
|
|
|
|
List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
|
|
|
|
|
Iterator iterator = list.iterator();
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
|
|
|
|
index 46a7cd845682d54e178e7e6573bfe855a54b78a9..9434d63cd80fec0aa4b6448c1ce462e2d9d56f0a 100644
|
|
|
|
|
index 66a568e6803b91040f3933d4598c52fa518badab..a1acc479c9d6a838e3180da3ac8a3a02d22db5c1 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
|
|
|
|
@@ -47,7 +47,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
|
|
|
|
@@ -44,7 +44,7 @@ index 46a7cd845682d54e178e7e6573bfe855a54b78a9..9434d63cd80fec0aa4b6448c1ce462e2
|
|
|
|
|
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER && !(world.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == VillagerProfession.CLERIC)) { // Purpur
|
|
|
|
|
return false;
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java
|
|
|
|
|
index 4253b3b1263a7ae5a2f5f3a34674dfea615a81ea..a987c94fd321f51241c405659d6a0b2327a612ae 100644
|
|
|
|
|
index 784a894688f98f9d0368a36d456c5c94e1ee3695..c6980e40b5e6093906f88509d5ed05691e478c46 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/BreakDoorGoal.java
|
|
|
|
|
@@ -32,7 +32,7 @@ public class BreakDoorGoal extends DoorInteractGoal {
|
|
|
|
|
@@ -57,19 +57,19 @@ index 4253b3b1263a7ae5a2f5f3a34674dfea615a81ea..a987c94fd321f51241c405659d6a0b23
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
|
|
|
|
index 77542bbdfdc2bf0ec1527ad8551493e1d89da40c..865c6d91b854e3afc2482dab3b041856bafbb1e6 100644
|
|
|
|
|
index b0caf52d00d8cd76550ab116291f8e11144a5e59..81d89f0a6fa9779eff5bc7059eae9b0d44db8e61 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
|
|
|
|
@@ -68,7 +68,7 @@ public class EatBlockGoal extends Goal {
|
|
|
|
|
BlockPos blockposition = this.mob.blockPosition();
|
|
|
|
|
@@ -69,7 +69,7 @@ public class EatBlockGoal extends Goal {
|
|
|
|
|
|
|
|
|
|
if (EatBlockGoal.IS_TALL_GRASS.test(this.level.getBlockState(blockposition))) {
|
|
|
|
|
- if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit
|
|
|
|
|
+ if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Purpur
|
|
|
|
|
final BlockState blockState = this.level.getBlockState(blockposition); // Paper - fix wrong block state
|
|
|
|
|
if (EatBlockGoal.IS_TALL_GRASS.test(blockState)) { // Paper - fix wrong block state
|
|
|
|
|
- if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, blockState.getFluidState().createLegacyBlock(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - fix wrong block state
|
|
|
|
|
+ if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, blockState.getFluidState().createLegacyBlock(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - fix wrong block state // Purpur
|
|
|
|
|
this.level.destroyBlock(blockposition, false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -77,7 +77,7 @@ public class EatBlockGoal extends Goal {
|
|
|
|
|
@@ -78,7 +78,7 @@ public class EatBlockGoal extends Goal {
|
|
|
|
|
BlockPos blockposition1 = blockposition.below();
|
|
|
|
|
|
|
|
|
|
if (this.level.getBlockState(blockposition1).is(Blocks.GRASS_BLOCK)) {
|
|
|
|
|
@@ -105,7 +105,7 @@ index 2cf00af66b73e1891fadcabcf83307873cbed710..2a6f6753ce9b7ab899256edc181a92c1
|
|
|
|
|
|
|
|
|
|
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
|
|
|
index 6b07750c2bd2aa828f3a0a1ccf30520723f5d62b..c08b854da55a7b06147b627955cd1f94ccc65325 100644
|
|
|
|
|
index 787391763cac2ae6ed9c178c44616b992849e819..0187af6c3380c1880ae1e3b8982b1543ae9da4a5 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
|
|
|
|
@@ -633,7 +633,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
|
|
|
|
@@ -144,7 +144,7 @@ index 81cf89bc57af0f43d05ba93256255155bf0c4d53..2b0aac1e4291549efa6391cb3b414921
|
|
|
|
|
// flag1 = this.level().removeBlock(blockposition, false) || flag1;
|
|
|
|
|
flag1 = true;
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
|
|
|
index 0b33ddf80381c312d02d93e31c9513e3c5214aed..9fb3fffd53f37b06811de6907a71e9fd9f4eb2b8 100644
|
|
|
|
|
index b395d5c85f26ca4252d3f8f886b2ee5a7892af5f..17432b434c899a4d075e4619b4a2bfe3d5761b49 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
|
|
|
@@ -485,7 +485,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
|
|
|
|
@@ -157,7 +157,7 @@ index 0b33ddf80381c312d02d93e31c9513e3c5214aed..9fb3fffd53f37b06811de6907a71e9fd
|
|
|
|
|
j = Mth.floor(this.getX());
|
|
|
|
|
int i1 = Mth.floor(this.getZ());
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
|
|
|
index 306ea8ef2c51f6815691865739696b3e78f7a987..488296bee4ae01ef139e02ab0d3580147e001715 100644
|
|
|
|
|
index f49cbb9fcd13afc10aa76ac80128162a902ae345..65a6073a976ce0924ce3a9c7a34253b7e5a9fcec 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
|
|
|
@@ -542,7 +542,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
|
|
|
@@ -208,7 +208,7 @@ index f71a70a72ba0bb01c26291ad9dbdd3b01bbf6ee7..ea2a2c56f94d03b73a5e3a06f91aee7f
|
|
|
|
|
} else {
|
|
|
|
|
List<Sheep> list = Evoker.this.level().getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
|
|
|
index 1a919c29d0c601296e5c6c0bf0ebd95de55eda0a..34d259ae3dbaefdb4a7e2fffd63d72b8b247f053 100644
|
|
|
|
|
index 92b14a6056dfbf07852fc0ee0e3eaf7b4c1657a4..ab13d20dda5a8af471fd459950e7c3e2215e59db 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
|
|
|
|
@@ -193,7 +193,7 @@ public class Ravager extends Raider {
|
|
|
|
|
@@ -221,10 +221,10 @@ index 1a919c29d0c601296e5c6c0bf0ebd95de55eda0a..34d259ae3dbaefdb4a7e2fffd63d72b8
|
|
|
|
|
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
|
|
|
|
|
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
|
|
|
index 5539cc692ea3ca89d7c1661a139ddf02c9076818..31a48501d59297c51eee9c7bd836ab2d119fe3b7 100644
|
|
|
|
|
index 43b330e263ebe20b76629c350bf7773220f6583e..8f813469ece9f57b19335a155e97d73ed8ce1478 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
|
|
|
|
@@ -210,7 +210,7 @@ public class Silverfish extends Monster {
|
|
|
|
|
@@ -208,7 +208,7 @@ public class Silverfish extends Monster {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
// CraftBukkit end
|
|
|
|
|
@@ -233,7 +233,7 @@ index 5539cc692ea3ca89d7c1661a139ddf02c9076818..31a48501d59297c51eee9c7bd836ab2d
|
|
|
|
|
world.destroyBlock(blockposition1, true, this.silverfish);
|
|
|
|
|
} else {
|
|
|
|
|
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
|
|
|
|
|
@@ -248,7 +248,7 @@ public class Silverfish extends Monster {
|
|
|
|
|
@@ -246,7 +246,7 @@ public class Silverfish extends Monster {
|
|
|
|
|
} else {
|
|
|
|
|
RandomSource randomsource = this.mob.getRandom();
|
|
|
|
|
|
|
|
|
|
|