mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: 8ccb7fd67 Add and implement cancellable TargetHitEvent for when Target Blocks are hit by Projectiles 0507b5d7f [Auto] Updated Upstream (CraftBukkit) 1c2571224 [CI-SKIP] [Auto] Rebuild Patches 2b312dfbe Add OBSTRUCTED result to BedEnterResult enum a5201ac98 [CI-SKIP] [Auto] Rebuild Patches fb7503399 added PlayerTradeEvent
This commit is contained in:
2
Paper
2
Paper
Submodule Paper updated: e4633ca277...8ccb7fd679
@@ -9671,10 +9671,10 @@ index 957a351c3f6c4f66d7af6657ab0c3cbeed94662f..57166a543a9af9e10e38c983487fac7e
|
||||
this.setPersistent();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index dcc5b098bfe36ef7ee8536b3da65c4ce1748c9d8..7b32a1fb79dcae355a8d95f3a8aa4284ec5d10db 100644
|
||||
index 6d716214e756fe1326cd3d2becea969076f6fd5b..fb1d640d89258477dd1286fff929deecffb69d9e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -709,7 +709,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -710,7 +710,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
if (this.world.getDifficulty() == EnumDifficulty.PEACEFUL && this.L()) {
|
||||
this.die();
|
||||
} else if (!this.isPersistent() && !this.isSpecialPersistence()) {
|
||||
@@ -11947,7 +11947,7 @@ index 253377c6238594de1f76cafcbf8223592e4d3f6b..3ebe3d0dc4c2c6aee6ea349006a74cbe
|
||||
if (entityliving == entityliving1) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 11a67ca18f566bfc214659e7fb454ea2b4d8a7ad..35a569f61ba2d48f3f9692927a23777bafcf26d6 100644
|
||||
index 42b12ad5ba68bdf8f76704ddd970715770183de0..ac82f1791ce07e9a23cf97ca34974ab25e26be46 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -56,6 +56,12 @@ public class PlayerChunk {
|
||||
@@ -11971,7 +11971,7 @@ index 11a67ca18f566bfc214659e7fb454ea2b4d8a7ad..35a569f61ba2d48f3f9692927a23777b
|
||||
+ if (chunk != null && (blockposition.getY() >= 0 && blockposition.getY() <= 255)) { // Tuinity - updates cannot happen in sections that don't exist
|
||||
byte b0 = (byte) SectionPosition.a(blockposition.getY());
|
||||
|
||||
if (b0 >= this.dirtyBlocks.length) return; // CraftBukkit - SPIGOT-6086
|
||||
if (b0 < 0 || b0 >= this.dirtyBlocks.length) return; // CraftBukkit - SPIGOT-6086, SPIGOT-6296
|
||||
@@ -377,13 +383,14 @@ public class PlayerChunk {
|
||||
|
||||
public void a(EnumSkyBlock enumskyblock, int i) {
|
||||
|
||||
@@ -98,10 +98,10 @@ index 9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2..565c938d879940d8e12fe320ea8524d2
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 7b32a1fb79dcae355a8d95f3a8aa4284ec5d10db..fba53ad6792236f0282279283570ffbd6d666f19 100644
|
||||
index fb1d640d89258477dd1286fff929deecffb69d9e..dfedabaeb88b66420db39380fa824cee2d45687b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -948,6 +948,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -949,6 +949,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
return f;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ index 7b32a1fb79dcae355a8d95f3a8aa4284ec5d10db..fba53ad6792236f0282279283570ffbd
|
||||
protected void a(DifficultyDamageScaler difficultydamagescaler) {
|
||||
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
|
||||
int i = this.random.nextInt(2);
|
||||
@@ -1055,6 +1056,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1056,6 +1057,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index fba53ad6792236f0282279283570ffbd6d666f19..815dd2b5ab90fd95da72bf6a3b742e0ff9fd1670 100644
|
||||
index dfedabaeb88b66420db39380fa824cee2d45687b..7dc165f5150c9143c1b475002a3b79034309c5b9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -544,7 +544,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -545,7 +545,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
public void movementTick() {
|
||||
super.movementTick();
|
||||
this.world.getMethodProfiler().enter("looting");
|
||||
|
||||
@@ -23,10 +23,10 @@ index 171e8553a339eb3c995369f274de86b824183ca6..0ab7d3441bcafae9874134c7832a4b7c
|
||||
public BehaviorController<EntityVillager> getBehaviorController() {
|
||||
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
index 8971dd013498e70c4e7a6ac6a218f62e599c86b9..3e912ef9cce8ded55564dbfe61329192922b2f13 100644
|
||||
index b2a76db173ae12bff2e8a7de411cb489fdb2e9c7..2a5eda6a7e67d0b8682a96552248ea4e117c1196 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
@@ -14,6 +14,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
@@ -17,6 +17,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent;
|
||||
|
||||
public abstract class EntityVillagerAbstract extends EntityAgeable implements NPC, IMerchant {
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 815dd2b5ab90fd95da72bf6a3b742e0ff9fd1670..d818f46046f0580bd453f99bc7ddeb339f8f106e 100644
|
||||
index 7dc165f5150c9143c1b475002a3b79034309c5b9..604cd36cf50a87e7bd9a39be728f46ccd099b2fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -1145,6 +1145,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1146,6 +1146,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
if (!this.isAlive()) {
|
||||
return EnumInteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == entityhuman) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index d818f46046f0580bd453f99bc7ddeb339f8f106e..64ed97cdbddfb2b823e87392639f1d063016541a 100644
|
||||
index 604cd36cf50a87e7bd9a39be728f46ccd099b2fc..1edc13647e0897541e9009e02e1510307e5f3a8f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -994,6 +994,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -995,6 +995,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 64ed97cdbddfb2b823e87392639f1d063016541a..9c7d2d312549548003f2b6c534cc7a68e3946a84 100644
|
||||
index 1edc13647e0897541e9009e02e1510307e5f3a8f..60797203c0b2c8c3a7caaebe635d8f19d65ed104 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -25,7 +25,7 @@ index 64ed97cdbddfb2b823e87392639f1d063016541a..9c7d2d312549548003f2b6c534cc7a68
|
||||
this.goalTarget = entityliving;
|
||||
return true;
|
||||
// CraftBukkit end
|
||||
@@ -248,10 +249,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -249,10 +250,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.m();
|
||||
this.F();
|
||||
}
|
||||
@@ -62,7 +62,7 @@ index 64ed97cdbddfb2b823e87392639f1d063016541a..9c7d2d312549548003f2b6c534cc7a68
|
||||
@Override
|
||||
protected void c(DamageSource damagesource) {
|
||||
this.m();
|
||||
@@ -425,6 +451,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -426,6 +452,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
|
||||
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||
@@ -70,7 +70,7 @@ index 64ed97cdbddfb2b823e87392639f1d063016541a..9c7d2d312549548003f2b6c534cc7a68
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -495,6 +522,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -496,6 +523,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -82,7 +82,7 @@ index 64ed97cdbddfb2b823e87392639f1d063016541a..9c7d2d312549548003f2b6c534cc7a68
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1542,7 +1574,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1543,7 +1575,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.a((EntityLiving) this, entity);
|
||||
this.z(entity);
|
||||
}
|
||||
|
||||
@@ -2200,7 +2200,7 @@ index c57bf5091430709778dc21d70c8a32819c9d6639..b0a5c36d1132e2558a1fefbd9f8dd264
|
||||
this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300));
|
||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 9c7d2d312549548003f2b6c534cc7a68e3946a84..ace2bb69fcde9af2a1691a25ae945bfe44ce117b 100644
|
||||
index 60797203c0b2c8c3a7caaebe635d8f19d65ed104..4b524c2165e95a4d3d78b84b7b15416a4ea7d622 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -29,7 +29,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -2223,7 +2223,7 @@ index 9c7d2d312549548003f2b6c534cc7a68e3946a84..ace2bb69fcde9af2a1691a25ae945bfe
|
||||
this.bi = new ControllerJump(this);
|
||||
this.c = this.r();
|
||||
this.navigation = this.b(world);
|
||||
@@ -256,10 +256,10 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -257,10 +257,10 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
// Purpur start
|
||||
private void incrementTicksSinceLastInteraction() {
|
||||
++ticksSinceLastInteraction;
|
||||
@@ -2238,7 +2238,7 @@ index 9c7d2d312549548003f2b6c534cc7a68e3946a84..ace2bb69fcde9af2a1691a25ae945bfe
|
||||
if (world.purpurConfig.entityLifeSpan <= 0) {
|
||||
return; // feature disabled
|
||||
}
|
||||
@@ -554,14 +554,17 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -555,14 +555,17 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
return super.dp();
|
||||
}
|
||||
|
||||
@@ -2256,7 +2256,7 @@ index 9c7d2d312549548003f2b6c534cc7a68e3946a84..ace2bb69fcde9af2a1691a25ae945bfe
|
||||
public void v(float f) {
|
||||
this.aR = f;
|
||||
}
|
||||
@@ -1248,7 +1251,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1249,7 +1252,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
protected void a(EntityHuman entityhuman, EntityInsentient entityinsentient) {}
|
||||
|
||||
protected EnumInteractionResult b(EntityHuman entityhuman, EnumHand enumhand) {
|
||||
@@ -2265,7 +2265,7 @@ index 9c7d2d312549548003f2b6c534cc7a68e3946a84..ace2bb69fcde9af2a1691a25ae945bfe
|
||||
}
|
||||
|
||||
public boolean ev() {
|
||||
@@ -1620,4 +1623,54 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1621,4 +1624,54 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit
|
||||
this.unleash(true, false);
|
||||
}
|
||||
@@ -6383,10 +6383,10 @@ index a6d849facba1526ae2a2b7f3fb9a140d0b50289c..b56ca054b37f5887e13b481baad8132f
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 71306b6ee6456ae6d4120fda86eb934bdb494973..a17f449b543d2ab4191b6397835856e1a7d664e3 100644
|
||||
index 3f678fde45919061dfc75030b7ce355b4dda9e3a..182e3258cdce99139c229e99cfbc54f23b7dfa77 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -502,6 +502,18 @@ public class CraftEventFactory {
|
||||
@@ -506,6 +506,18 @@ public class CraftEventFactory {
|
||||
}
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -6405,7 +6405,7 @@ index 71306b6ee6456ae6d4120fda86eb934bdb494973..a17f449b543d2ab4191b6397835856e1
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -902,6 +914,7 @@ public class CraftEventFactory {
|
||||
@@ -906,6 +918,7 @@ public class CraftEventFactory {
|
||||
damageCause = DamageCause.ENTITY_EXPLOSION;
|
||||
}
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions);
|
||||
@@ -6413,7 +6413,7 @@ index 71306b6ee6456ae6d4120fda86eb934bdb494973..a17f449b543d2ab4191b6397835856e1
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -986,6 +999,7 @@ public class CraftEventFactory {
|
||||
@@ -990,6 +1003,7 @@ public class CraftEventFactory {
|
||||
if (!event.isCancelled()) {
|
||||
event.getEntity().setLastDamageCause(event);
|
||||
}
|
||||
@@ -6421,7 +6421,7 @@ index 71306b6ee6456ae6d4120fda86eb934bdb494973..a17f449b543d2ab4191b6397835856e1
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1035,6 +1049,7 @@ public class CraftEventFactory {
|
||||
@@ -1039,6 +1053,7 @@ public class CraftEventFactory {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
|
||||
|
||||
@@ -52,10 +52,10 @@ index d53bbe31694c2d88939332691cdf145c46099e22..bc558c54c9e74e2158a5835173e6068c
|
||||
switch (this.getType()) {
|
||||
case OAK:
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index ace2bb69fcde9af2a1691a25ae945bfe44ce117b..2169de3c4118fca7048f9939a9570939cd287a34 100644
|
||||
index 4b524c2165e95a4d3d78b84b7b15416a4ea7d622..d1ed9856d3362e1bed37d60c268b7e91c404d25d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -1366,7 +1366,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1367,7 +1367,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.by = null;
|
||||
if (!this.world.isClientSide && flag1) {
|
||||
this.forceDrops = true; // CraftBukkit
|
||||
@@ -70,7 +70,7 @@ index ace2bb69fcde9af2a1691a25ae945bfe44ce117b..2169de3c4118fca7048f9939a9570939
|
||||
this.forceDrops = false; // CraftBukkit
|
||||
}
|
||||
|
||||
@@ -1442,7 +1448,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1443,7 +1449,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
|
||||
if (this.ticksLived > 100) {
|
||||
|
||||
@@ -33,10 +33,10 @@ index 9963cef9298eb6d3e2ee6a24d9b1998e765123ac..a72ce4ea5a45fce35a47fd5f9c21b950
|
||||
if (flag5) {
|
||||
if (i > 0) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index a17f449b543d2ab4191b6397835856e1a7d664e3..110db570c8c917e6b9eeab534e47ce9135ad09c9 100644
|
||||
index 182e3258cdce99139c229e99cfbc54f23b7dfa77..eec1e49f615f8491b28b6a921c192ffae803b478 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1048,7 +1048,7 @@ public class CraftEventFactory {
|
||||
@@ -1052,7 +1052,7 @@ public class CraftEventFactory {
|
||||
private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 2169de3c4118fca7048f9939a9570939cd287a34..04b1c82da8c5a76c302a988a68fd9fbfd93310c2 100644
|
||||
index d1ed9856d3362e1bed37d60c268b7e91c404d25d..d7ceb4ff6aa424d620817ddcc9201fc09aaaad16 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -1135,7 +1135,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1136,7 +1136,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@Nullable
|
||||
public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
|
||||
this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).addModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE));
|
||||
|
||||
Reference in New Issue
Block a user