mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-06-21 09:47:45 +02:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@59797420 26.2 PaperMC/Paper@389befc2 drop old ATs PaperMC/Paper@14bb579b fix bad exhaustion reasons for player movement PaperMC/Paper@0b4fed78 fix misc issues PaperMC/Paper@384ff989 fix contract of ItemContainerContents#contents PaperMC/Paper@af55c9de Fix Geyser particle options waterBlocks precondition (#13961) PaperMC/Paper@1daadd58 Prevent EnderDragon and Wither from receiving effect of vanilla sources (#13956) PaperMC/Paper@ca8eb49f Mention MOJIRA issue for correct stacktrace fix in FileFixerUpper [ci/skip] (#13962) PaperMC/Paper@80d10989 Expose Entity Source for EntityPotionEffectEvent (#13957) PaperMC/Paper@2c0341f9 Update adventure to 5.1.1 PaperMC/Paper@649002a4 fix IOOB for '..' namespace PaperMC/Paper@783b6f09 add preconditions to particles
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
# This file is auto generated, any changes may be overridden!
|
# This file is auto generated, any changes may be overridden!
|
||||||
# See CONTRIBUTING.md on how to add access transformers.
|
# See CONTRIBUTING.md on how to add access transformers.
|
||||||
protected net.minecraft.world.entity.Entity dimensions
|
protected net.minecraft.world.entity.Entity dimensions
|
||||||
|
public net.minecraft.server.MinecraftServer playerDataStorage
|
||||||
public net.minecraft.world.entity.LivingEntity canGlide()Z
|
public net.minecraft.world.entity.LivingEntity canGlide()Z
|
||||||
public net.minecraft.world.entity.monster.Shulker MAX_SCALE
|
public net.minecraft.world.entity.monster.Shulker MAX_SCALE
|
||||||
public net.minecraft.world.entity.player.Player canGlide()Z
|
public net.minecraft.world.entity.player.Player canGlide()Z
|
||||||
@@ -8,6 +9,7 @@ public net.minecraft.world.level.block.ShulkerBoxBlock canOpen(Lnet/minecraft/wo
|
|||||||
public net.minecraft.world.level.block.entity.BeehiveBlockEntity$BeeData
|
public net.minecraft.world.level.block.entity.BeehiveBlockEntity$BeeData
|
||||||
public net.minecraft.world.level.block.entity.BeehiveBlockEntity$BeeData occupant
|
public net.minecraft.world.level.block.entity.BeehiveBlockEntity$BeeData occupant
|
||||||
public net.minecraft.world.level.block.entity.FuelValues values
|
public net.minecraft.world.level.block.entity.FuelValues values
|
||||||
|
public net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity openCount
|
||||||
public net.minecraft.world.level.portal.PortalShape FRAME
|
public net.minecraft.world.level.portal.PortalShape FRAME
|
||||||
public-f net.minecraft.world.entity.EntityType dimensions
|
public-f net.minecraft.world.entity.EntityType dimensions
|
||||||
public-f net.minecraft.world.level.block.state.BlockBehaviour explosionResistance
|
public-f net.minecraft.world.level.block.state.BlockBehaviour explosionResistance
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
group = org.purpurmc.purpur
|
group = org.purpurmc.purpur
|
||||||
|
|
||||||
mcVersion = 26.2-rc-2
|
mcVersion = 26.2
|
||||||
apiVersion = 26.2
|
apiVersion = 26.2
|
||||||
channel=EXPERIMENTAL
|
channel=EXPERIMENTAL
|
||||||
paperCommit = 03b30e077aee14c7fb639583cab46a446ef69d73
|
paperCommit = 783b6f09726d339fd1578797a30ae8d9ab3ea1d9
|
||||||
|
|
||||||
org.gradle.configuration-cache = true
|
org.gradle.configuration-cache = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/paper-api/build.gradle.kts
|
--- a/paper-api/build.gradle.kts
|
||||||
+++ b/paper-api/build.gradle.kts
|
+++ b/paper-api/build.gradle.kts
|
||||||
@@ -91,7 +_,7 @@
|
@@ -94,7 +_,7 @@
|
||||||
testRuntimeOnly("org.junit.platform:junit-platform-launcher:6.0.3")
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher:6.0.3")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
idea {
|
idea {
|
||||||
module {
|
module {
|
||||||
generatedSourceDirs.add(generatedDir.toFile())
|
generatedSourceDirs.add(generatedDir.toFile())
|
||||||
@@ -101,6 +_,18 @@
|
@@ -104,6 +_,18 @@
|
||||||
main {
|
main {
|
||||||
java {
|
java {
|
||||||
srcDir(generatedDir)
|
srcDir(generatedDir)
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -182,8 +_,9 @@
|
@@ -185,8 +_,9 @@
|
||||||
val services = objects.newInstance<Services>()
|
val services = objects.newInstance<Services>()
|
||||||
|
|
||||||
tasks.withType<Javadoc>().configureEach {
|
tasks.withType<Javadoc>().configureEach {
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
options.use()
|
options.use()
|
||||||
options.isDocFilesSubDirs = true
|
options.isDocFilesSubDirs = true
|
||||||
options.links(
|
options.links(
|
||||||
@@ -217,11 +_,11 @@
|
@@ -214,11 +_,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// workaround for https://github.com/gradle/gradle/issues/4046
|
// workaround for https://github.com/gradle/gradle/issues/4046
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
|
--- a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
|
||||||
+++ b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
|
+++ b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
|
||||||
@@ -218,6 +_,12 @@
|
@@ -230,6 +_,12 @@
|
||||||
* When all effects are removed due to a bucket of milk.
|
* When all effects are removed due to a bucket of milk.
|
||||||
*/
|
*/
|
||||||
MILK,
|
MILK,
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ index ec6dd9de7b82841b1403b1bb851392132be5275b..146c404ac0471ed7df6d3740859663aa
|
|||||||
public boolean isClientAuthoritative() {
|
public boolean isClientAuthoritative() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||||
index a45518c47e178540d186c6ac530e7f26fae7edc9..8a5c7ac71613316951f0c9b32f8beab9300e63f6 100644
|
index 99f1c3d82e632e7328366dc8b02e8f26500f80ce..bc2be2db242d4cc5ad857ad97f32e42072f09f09 100644
|
||||||
--- a/net/minecraft/server/MinecraftServer.java
|
--- a/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/net/minecraft/server/MinecraftServer.java
|
+++ b/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1865,6 +1865,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1865,6 +1865,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -30,22 +30,22 @@ index a45518c47e178540d186c6ac530e7f26fae7edc9..8a5c7ac71613316951f0c9b32f8beab9
|
|||||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = level.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = level.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||||
profiler.push(() -> level + " " + level.dimension().identifier());
|
profiler.push(() -> level + " " + level.dimension().identifier());
|
||||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||||
index f7e3e4c84a4a9d37834ddbadc2df80eb0ee4c3fc..0bb1ea204c012fc6e65c50454f3387b92b551cc6 100644
|
index 72ce2b03561af86db2059dfa05f381278af56f64..ca39cddc5d7bccbea4ce8ed95354c7529dd93072 100644
|
||||||
--- a/net/minecraft/server/level/ServerLevel.java
|
--- a/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -237,6 +237,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
|
@@ -239,6 +239,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
|
||||||
public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent
|
private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry();
|
||||||
public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent
|
public final org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer persistentDataContainer = new org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer(DATA_TYPE_REGISTRY);
|
||||||
private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current)
|
private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current)
|
||||||
+ public boolean hasRidableMoveEvent = false; // Purpur - Ridables
|
+ public boolean hasRidableMoveEvent = false; // Purpur - Ridables
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable LevelChunk getChunkIfLoaded(int x, int z) {
|
public @Nullable LevelChunk getChunkIfLoaded(int x, int z) {
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||||
index d1a126b6a34c48a3218b14e7b6fc30c30bce8e8a..4a9297f43e33df1838ad75543ec0080c833fb078 100644
|
index 9529e56d83964589a1e55b64e666f66b4148c315..c7e81ed584a3da2521fad58049ee44c18947ca23 100644
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -784,6 +784,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
@@ -775,6 +775,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||||
this.trackEnteredOrExitedLavaOnVehicle();
|
this.trackEnteredOrExitedLavaOnVehicle();
|
||||||
this.updatePlayerAttributes();
|
this.updatePlayerAttributes();
|
||||||
this.advancements.flushDirty(this, true);
|
this.advancements.flushDirty(this, true);
|
||||||
@@ -62,10 +62,10 @@ index d1a126b6a34c48a3218b14e7b6fc30c30bce8e8a..4a9297f43e33df1838ad75543ec0080c
|
|||||||
|
|
||||||
private void updatePlayerAttributes() {
|
private void updatePlayerAttributes() {
|
||||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index e383c953df7569e2536a968c851b234e33b88813..45a509558d10825df46c521804611f809828958b 100644
|
index c975f82d59c19d1bc8d1bce776af59ea5271e019..df58df768c938def010d2d215c61c906eda77429 100644
|
||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -3013,6 +3013,8 @@ public class ServerGamePacketListenerImpl
|
@@ -2983,6 +2983,8 @@ public class ServerGamePacketListenerImpl
|
||||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||||
final boolean resendData = event.isCancelled() || !ServerGamePacketListenerImpl.this.player.getItemInHand(hand).is(itemType);
|
final boolean resendData = event.isCancelled() || !ServerGamePacketListenerImpl.this.player.getItemInHand(hand).is(itemType);
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ index e383c953df7569e2536a968c851b234e33b88813..45a509558d10825df46c521804611f80
|
|||||||
if (itemType == Items.WATER_BUCKET && target instanceof net.minecraft.world.entity.Bucketable && target instanceof LivingEntity && resendData) {
|
if (itemType == Items.WATER_BUCKET && target instanceof net.minecraft.world.entity.Bucketable && target instanceof LivingEntity && resendData) {
|
||||||
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||||
index d7bcaa9366c8b88d70778adb08b57046878af789..8ca29762d465ba8ebeaa450bd6e1c4f77db5464c 100644
|
index 4ae58d6d8b6bd9510b6caf1e6618da4e9bed28bf..a4b74837096b4653b8504dbf446ad42277975e7e 100644
|
||||||
--- a/net/minecraft/world/entity/Entity.java
|
--- a/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/net/minecraft/world/entity/Entity.java
|
+++ b/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3463,6 +3463,13 @@ public abstract class Entity
|
@@ -3463,6 +3463,13 @@ public abstract class Entity
|
||||||
@@ -153,13 +153,13 @@ index d7bcaa9366c8b88d70778adb08b57046878af789..8ca29762d465ba8ebeaa450bd6e1c4f7
|
|||||||
+ // Purpur end - Ridables
|
+ // Purpur end - Ridables
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index f80bf4e822b67e3fd655c72d7f1fa601e45c51a8..a714d12aa9f8b3b36d0cf334c744dd7751cb68b3 100644
|
index 8ec2032ed8e7586b14c3184ba03f9dfea9afc765..e9d53d0708cd1c49d1ed1257d10d22f7201873a0 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -258,9 +258,9 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -258,9 +258,9 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
protected int noActionTime;
|
protected int noActionTime;
|
||||||
public float lastHurt;
|
public float lastHurt;
|
||||||
public boolean jumping;
|
protected boolean jumping;
|
||||||
- public float xxa;
|
- public float xxa;
|
||||||
- public float yya;
|
- public float yya;
|
||||||
- public float zza;
|
- public float zza;
|
||||||
@@ -186,7 +186,7 @@ index f80bf4e822b67e3fd655c72d7f1fa601e45c51a8..a714d12aa9f8b3b36d0cf334c744dd77
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void checkFallDamage(final double ya, final boolean onGround, final BlockState onState, final BlockPos pos) {
|
protected void checkFallDamage(final double ya, final boolean onGround, final BlockState onState, final BlockPos pos) {
|
||||||
@@ -3159,6 +3160,20 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -3141,6 +3142,20 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||||
this.setDeltaMovement(this.getDeltaMovement().scale(0.5));
|
this.setDeltaMovement(this.getDeltaMovement().scale(0.5));
|
||||||
} else {
|
} else {
|
||||||
@@ -207,7 +207,7 @@ index f80bf4e822b67e3fd655c72d7f1fa601e45c51a8..a714d12aa9f8b3b36d0cf334c744dd77
|
|||||||
this.moveRelative(airSpeed, input);
|
this.moveRelative(airSpeed, input);
|
||||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||||
this.setDeltaMovement(this.getDeltaMovement().scale(0.91F));
|
this.setDeltaMovement(this.getDeltaMovement().scale(0.91F));
|
||||||
@@ -3887,8 +3902,10 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -3869,8 +3884,10 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
this.pushEntities();
|
this.pushEntities();
|
||||||
profiler.pop();
|
profiler.pop();
|
||||||
// Paper start - Add EntityMoveEvent
|
// Paper start - Add EntityMoveEvent
|
||||||
@@ -220,7 +220,7 @@ index f80bf4e822b67e3fd655c72d7f1fa601e45c51a8..a714d12aa9f8b3b36d0cf334c744dd77
|
|||||||
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
||||||
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||||
@@ -3898,6 +3915,21 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -3880,6 +3897,21 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
this.absSnapTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
this.absSnapTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -243,7 +243,7 @@ index f80bf4e822b67e3fd655c72d7f1fa601e45c51a8..a714d12aa9f8b3b36d0cf334c744dd77
|
|||||||
// Paper end - Add EntityMoveEvent
|
// Paper end - Add EntityMoveEvent
|
||||||
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) {
|
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) {
|
||||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||||
index 40480b578035af29f510ec5ef4611b1a33d1c394..a5885bc19fe469a0c810e241d570d9ab62295492 100644
|
index 481d882c8ba5ffd046b98709497f37d89f41e19e..4e1fadf8ea105d1d5ceaef5b5f9ce4f3f356608d 100644
|
||||||
--- a/net/minecraft/world/entity/Mob.java
|
--- a/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/net/minecraft/world/entity/Mob.java
|
+++ b/net/minecraft/world/entity/Mob.java
|
||||||
@@ -161,8 +161,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
@@ -161,8 +161,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
||||||
@@ -384,7 +384,7 @@ index 0dac24960ce1e04a1962def9dc49315998b79e25..b828332b3e5db2722ca2193721da996f
|
|||||||
.put(EntityTypes.PIGLIN, Piglin.createAttributes().build())
|
.put(EntityTypes.PIGLIN, Piglin.createAttributes().build())
|
||||||
.put(EntityTypes.PIGLIN_BRUTE, PiglinBrute.createAttributes().build())
|
.put(EntityTypes.PIGLIN_BRUTE, PiglinBrute.createAttributes().build())
|
||||||
diff --git a/net/minecraft/world/entity/ai/control/MoveControl.java b/net/minecraft/world/entity/ai/control/MoveControl.java
|
diff --git a/net/minecraft/world/entity/ai/control/MoveControl.java b/net/minecraft/world/entity/ai/control/MoveControl.java
|
||||||
index ca8932589bb59d8d12cc7838a026255fc2914715..f179455b90140a4663c46f19dcb39abfaf3bf4f4 100644
|
index 2c9b7ef8ed87b42807f5adc9545d692105c91c6b..d2faf838dbf8160afa83919db707fa2ff352a413 100644
|
||||||
--- a/net/minecraft/world/entity/ai/control/MoveControl.java
|
--- a/net/minecraft/world/entity/ai/control/MoveControl.java
|
||||||
+++ b/net/minecraft/world/entity/ai/control/MoveControl.java
|
+++ b/net/minecraft/world/entity/ai/control/MoveControl.java
|
||||||
@@ -29,6 +29,20 @@ public class MoveControl<T extends Mob> implements Control {
|
@@ -29,6 +29,20 @@ public class MoveControl<T extends Mob> implements Control {
|
||||||
@@ -517,7 +517,7 @@ index 5dd0c83e44eb68d90cda5743bc24d97044a02f6e..9861837c1d10e5ffe5dada9f4a75fb9a
|
|||||||
BlockPos pos = this.blockPosition();
|
BlockPos pos = this.blockPosition();
|
||||||
BlockPos above = pos.above();
|
BlockPos above = pos.above();
|
||||||
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
index 03627acb68d22232f6f6552ba4dfeeebe83152fd..408a0048686dd2f3b48dee53087504ffc4dfc42c 100644
|
index 69d8a10f524dd4db683a00f194e8d1a26c996f43..c6ed1f00fd931ecff13dfb3309470afab2f0852d 100644
|
||||||
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
@@ -101,10 +101,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
@@ -101,10 +101,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||||
@@ -678,7 +678,7 @@ index fa774ac8f3eea281c9b684c76dd12d4e66d3ee24..ed0d11c8048c3c6b25a003633684b893
|
|||||||
super.tick();
|
super.tick();
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
index cadd762e86868adcaafe1ad138b221495c906389..ec110b0dcef5ae0923cdda8aa43720f10b9f826e 100644
|
index c33e18d572463f5d457516bc4bd64826cf7c3acc..ee732f4462cc69070beffdbc7a3a310d3c369a10 100644
|
||||||
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
@@ -151,6 +151,7 @@ public class Bee extends Animal implements NeutralMob {
|
@@ -151,6 +151,7 @@ public class Bee extends Animal implements NeutralMob {
|
||||||
@@ -2319,7 +2319,7 @@ index 5de97090f68c5a371f0b196c211941d7a5e503b1..250401cef7c93375235ef275165f1e0d
|
|||||||
|
|
||||||
public float getStandingAnimationScale(final float a) {
|
public float getStandingAnimationScale(final float a) {
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index 3c43ae68e2510505773e36bf7b051835986e3df0..2d2078ca3adeb78b6ec2633c35d3c622184cc3b2 100644
|
index 353866566a00143f138a0a460613af381f507fcf..2d1fd11121d3e6293f35e4e7838cbe59a8b27dc4 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -109,6 +109,7 @@ public class Rabbit extends Animal {
|
@@ -109,6 +109,7 @@ public class Rabbit extends Animal {
|
||||||
@@ -2380,7 +2380,7 @@ index 3c43ae68e2510505773e36bf7b051835986e3df0..2d2078ca3adeb78b6ec2633c35d3c622
|
|||||||
+ // Purpur end - Ridables
|
+ // Purpur end - Ridables
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
+ this.goalSelector.addGoal(1, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
+ this.goalSelector.addGoal(1, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||||
this.goalSelector.addGoal(1, new ClimbOnTopOfPowderSnowGoal(this, this.level()));
|
this.goalSelector.addGoal(1, new ClimbOnTopOfPowderSnowGoal(this, this.level()));
|
||||||
@@ -2543,7 +2543,7 @@ index ecc3fb073a3e40c590527f0aec8b23a7aee04a71..bde43e42ba7eec863fd0e2cd9b8068e8
|
|||||||
protected ParticleOptions getInkParticle() {
|
protected ParticleOptions getInkParticle() {
|
||||||
return ParticleTypes.GLOW_SQUID_INK;
|
return ParticleTypes.GLOW_SQUID_INK;
|
||||||
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
index e0db02e7f2166e894137190252f28a3f02386207..e2273ce904e2c95491caec67d36d37b4b5e0fe67 100644
|
index e0db02e7f2166e894137190252f28a3f02386207..9166e9f3606c6a96cbf0ddddabb57e2d91d2aa18 100644
|
||||||
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
@@ -74,9 +74,32 @@ public class Squid extends AgeableWaterCreature {
|
@@ -74,9 +74,32 @@ public class Squid extends AgeableWaterCreature {
|
||||||
@@ -2586,7 +2586,7 @@ index e0db02e7f2166e894137190252f28a3f02386207..e2273ce904e2c95491caec67d36d37b4
|
|||||||
+ // Purpur start - Ridables
|
+ // Purpur start - Ridables
|
||||||
+ net.minecraft.world.entity.player.Player rider = squid.getRider();
|
+ net.minecraft.world.entity.player.Player rider = squid.getRider();
|
||||||
+ if (rider != null && squid.isControllable()) {
|
+ if (rider != null && squid.isControllable()) {
|
||||||
+ if (rider.jumping) {
|
+ if (rider.isJumping()) {
|
||||||
+ squid.onSpacebar();
|
+ squid.onSpacebar();
|
||||||
+ }
|
+ }
|
||||||
+ float forward = rider.getForwardMot();
|
+ float forward = rider.getForwardMot();
|
||||||
@@ -2618,7 +2618,7 @@ index e0db02e7f2166e894137190252f28a3f02386207..e2273ce904e2c95491caec67d36d37b4
|
|||||||
if (noActionTime > 100) {
|
if (noActionTime > 100) {
|
||||||
this.squid.movementVector = Vec3.ZERO;
|
this.squid.movementVector = Vec3.ZERO;
|
||||||
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
index 05ec359df5bc0803adcd954721e7cefaf8b867d8..23d566b39a1484b54e2b893da5a2d2cbaeb822fd 100644
|
index 7ee9d2f25178ac97b74d0f2c3619ddfaf2004bea..d08d2d275b1268abe2548352e15890b04536a3ed 100644
|
||||||
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
@@ -88,6 +88,23 @@ public class Turtle extends Animal {
|
@@ -88,6 +88,23 @@ public class Turtle extends Animal {
|
||||||
@@ -2730,7 +2730,7 @@ index 5d1e0d44163b9f29dc824b46b7b983456a273419..f54a14a1e434cbfedf709d3b1495f2ae
|
|||||||
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
|
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
|
||||||
this.targetSelector.addGoal(3, new HurtByTargetGoal(this).setAlertOthers());
|
this.targetSelector.addGoal(3, new HurtByTargetGoal(this).setAlertOthers());
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
index b3e19812063596d600ae50555d0ff92deae3e890..ccb28f6f5e02972c32ac5f3390a72b78f17b28dd 100644
|
index dc332c72a6684cf65441343395d99fea129ce2ab..60c02127a504a5130a202a3b532b63bef4c47a31 100644
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -92,6 +92,7 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -92,6 +92,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
@@ -2904,7 +2904,7 @@ index a8e3df21c27b9c86f9f03ea436ef4099a0805b71..a677aed54e16f3150ea1eabe22935a3d
|
|||||||
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index 6669dd5ea935cce9d0df89986237aa068b1899ff..1f32d0d87727009a8ca671415159566c10f79f7e 100644
|
index 73d1a839c541d089e51e547c29bbb239a1a5ef9b..ab1c7889e7742c27589c72d1f73960eda9091078 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -73,6 +73,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -73,6 +73,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
@@ -3076,7 +3076,7 @@ index 6669dd5ea935cce9d0df89986237aa068b1899ff..1f32d0d87727009a8ca671415159566c
|
|||||||
if (this.getInvulnerableTicks() > 0) {
|
if (this.getInvulnerableTicks() > 0) {
|
||||||
int newCount = this.getInvulnerableTicks() - 1;
|
int newCount = this.getInvulnerableTicks() - 1;
|
||||||
this.bossEvent.setProgress(1.0F - newCount / 220.0F);
|
this.bossEvent.setProgress(1.0F - newCount / 220.0F);
|
||||||
@@ -581,11 +705,11 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -586,11 +710,11 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAlternativeTarget(final int headIndex) {
|
public int getAlternativeTarget(final int headIndex) {
|
||||||
@@ -3174,11 +3174,11 @@ index d48e066e8c43494aa74158452da369e5617d6a7e..c1acc0a648493ec33ef4fc4a48b52fe0
|
|||||||
if (this.nextHeightOffsetChangeTick <= 0) {
|
if (this.nextHeightOffsetChangeTick <= 0) {
|
||||||
this.nextHeightOffsetChangeTick = 100;
|
this.nextHeightOffsetChangeTick = 100;
|
||||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
index 8e32e9a24f98d962a7c90ec400526d1711d8e97e..ac98cd1702fb9ef2b82226d2ee459cb18ebce017 100644
|
index 5b56fa1f7dadc63e7edbf54576327bbcb7f5f2a2..81031650d914c5d973d5bd89547ce58e92b1acc6 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -57,21 +57,98 @@ public class Creeper extends Monster {
|
@@ -57,21 +57,98 @@ public class Creeper extends Monster {
|
||||||
public boolean droppedSkulls;
|
private boolean droppedSkulls;
|
||||||
public @Nullable Entity entityIgniter; // CraftBukkit
|
public @Nullable Entity entityIgniter; // CraftBukkit
|
||||||
private boolean exploding = false; // Purpur - Config to make Creepers explode on death
|
private boolean exploding = false; // Purpur - Config to make Creepers explode on death
|
||||||
+ // Purpur start - Ridables
|
+ // Purpur start - Ridables
|
||||||
@@ -3276,7 +3276,7 @@ index 8e32e9a24f98d962a7c90ec400526d1711d8e97e..ac98cd1702fb9ef2b82226d2ee459cb1
|
|||||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this));
|
this.targetSelector.addGoal(2, new HurtByTargetGoal(this));
|
||||||
}
|
}
|
||||||
@@ -314,6 +391,7 @@ public class Creeper extends Monster {
|
@@ -313,6 +390,7 @@ public class Creeper extends Monster {
|
||||||
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
||||||
if (event.callEvent()) {
|
if (event.callEvent()) {
|
||||||
this.entityData.set(DATA_IS_IGNITED, event.isIgnited());
|
this.entityData.set(DATA_IS_IGNITED, event.isIgnited());
|
||||||
@@ -3511,7 +3511,7 @@ index 5f8074c93d2ad3d163bb416b16711d82edd7dacc..1b7a75a2be45928093382fa2f2da079f
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 100.0)
|
.add(Attributes.MAX_HEALTH, 100.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
index a22a5b20b4ceb666e09aea74882362cc9c5af758..af865e3a6549f008826ed7469b2ecb4c92598863 100644
|
index d4d295b0fe663a7747a7c7b44a08ab1e192f26b1..e6b3bc45f36b438a7164c4be2e97ffa22f39979d 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
@@ -65,14 +65,35 @@ public class Guardian extends Monster {
|
@@ -65,14 +65,35 @@ public class Guardian extends Monster {
|
||||||
@@ -3924,7 +3924,7 @@ index ea4a025b6054fc43d9b5272cac6055c475875d3e..cd35797eff1ec2881e72b0fc44bd9a09
|
|||||||
|
|
||||||
if (hasFood && !this.isSilent()) {
|
if (hasFood && !this.isSilent()) {
|
||||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||||
index a03067833e27fb5b97b8c77a1ed4386338c16a53..3ddf4ba1d809e62e4a1f7cc54f44738b1c129145 100644
|
index 3c3cef88f503db93b2c097096c505577b945fa76..a5fe9509e3e3ee56ef0cd222e8fe92ce8316769f 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -60,6 +60,50 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
@@ -60,6 +60,50 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
||||||
@@ -4507,7 +4507,7 @@ index f4b93c3dd12d762f280c7b52af5d3b5f58cb9cef..9ea4745eb0d72c25ac5b89a6bfa5ba28
|
|||||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true).setUnseenMemoryTicks(300));
|
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true).setUnseenMemoryTicks(300));
|
||||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false).setUnseenMemoryTicks(300));
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false).setUnseenMemoryTicks(300));
|
||||||
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
index 26e179d146a3b363d0c96a6d113c613bbaf263b2..a0e926bedb5000a8e3d8e37207916cc06ad01090 100644
|
index 2fb3b7f3928a459d089bd8680673aa589118f464..bc1b7ffce2de2b0835e69c93aad3f00fef025c89 100644
|
||||||
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
@@ -65,16 +65,35 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
@@ -65,16 +65,35 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||||
@@ -4586,7 +4586,7 @@ index 061d08fd2451a7bbd020edbd4035b1e793f552ba..7caebb032e03ce54463c1e1050dc2bfe
|
|||||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true));
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true));
|
||||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index 0c27543e9d48e0d0cf067ccb9ab5d5ca49223d10..a688c7ab300753f373af1de3471dce2a2249456e 100644
|
index dbfe791f45ddb77be7487d16325f56eb3a5d094d..dc8e8379ab43e2f1ef26a8a0cea9a17f796434d4 100644
|
||||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -109,6 +109,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -109,6 +109,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -4705,7 +4705,7 @@ index faff25abf54e00f38b10bdb47e37ab2d100f32fb..6bb58edc4317e33da1d6053b1c66a9ac
|
|||||||
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
||||||
super.defineSynchedData(entityData);
|
super.defineSynchedData(entityData);
|
||||||
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
index e260ed1bf0238e9cb32f84e30ca642d433ae239c..a0bc5a61bfada6cc391078cf29456db64e90b35d 100644
|
index d9cb4a5b989ce684bbaf4eee3f642d29d6bf9d45..d92db02786ce6989ca5d8a2d7647e4f60a66ce82 100644
|
||||||
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
@@ -27,6 +27,23 @@ public class Skeleton extends AbstractSkeleton {
|
@@ -27,6 +27,23 @@ public class Skeleton extends AbstractSkeleton {
|
||||||
@@ -4999,7 +4999,7 @@ index b3ba75be06325db01b97a35b0e91bbcb61faa41c..2dc09198f7bc86f5837c30e7e85eeb4c
|
|||||||
public boolean isSunSensitive() {
|
public boolean isSunSensitive() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
index 2b58954cabda006adc0023831af520f4d5eb7275..d231dbf446c4e28df3512918ae50c1fc5e4db402 100644
|
index 4a74692e1dc3f6e94f046e0c5941a59893174c32..cbea2f30f20859f03f3b4667c22b380c8d45e7ab 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
@@ -113,11 +113,30 @@ public class Zombie extends Monster {
|
@@ -113,11 +113,30 @@ public class Zombie extends Monster {
|
||||||
@@ -5034,7 +5034,7 @@ index 2b58954cabda006adc0023831af520f4d5eb7275..d231dbf446c4e28df3512918ae50c1fc
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
index 32cf40d4254bc7be406b3cfea728b01259dbd83f..67031d93d9f59cf616c7ed1a3fcb18182148c6e6 100644
|
index 2942cf895a145c8d0bd962f765fc8e21079d0cc6..f62603ef4b76d2966d8e70a7ab9bdc2592cf41fb 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
@@ -87,6 +87,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -87,6 +87,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
@@ -5193,7 +5193,7 @@ index 0b668baf3fca348d9e3755c114bd109fe7736a80..45279d3473f42dd0f75315961bd178c1
|
|||||||
if (this.level().purpurConfig.wanderingTraderAllowTrading) { // Purpur - Add config for villager trading
|
if (this.level().purpurConfig.wanderingTraderAllowTrading) { // Purpur - Add config for villager trading
|
||||||
this.setTradingPlayer(player);
|
this.setTradingPlayer(player);
|
||||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||||
index 1cb7700824d608380301e5ff524d17fd7420ec16..def90b5105edb0303eecc4424ff7d6e2cb050791 100644
|
index 49709c2cb9c8804f13bf992e771254e0d7d83cf5..c12d88851552a5ac0b4c2e9c19d049e0a52dc578 100644
|
||||||
--- a/net/minecraft/world/entity/player/Player.java
|
--- a/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/net/minecraft/world/entity/player/Player.java
|
+++ b/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -194,6 +194,19 @@ public abstract class Player extends Avatar implements ContainerUser {
|
@@ -194,6 +194,19 @@ public abstract class Player extends Avatar implements ContainerUser {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index a714d12aa9f8b3b36d0cf334c744dd7751cb68b3..45ab2a35a27b35b682cf90a14c587a50ad2f6ce5 100644
|
index e9d53d0708cd1c49d1ed1257d10d22f7201873a0..abb90115fc17722bebf5b7c50301ba570f7949e0 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -310,6 +310,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -310,6 +310,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
@@ -52,7 +52,7 @@ index 9861837c1d10e5ffe5dada9f4a75fb9adaccc161..cb242c69be97e0927dd62714f1a9b112
|
|||||||
public boolean isFlapping() {
|
public boolean isFlapping() {
|
||||||
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
return !this.isResting() && this.tickCount % 10.0F == 0.0F;
|
||||||
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
index 408a0048686dd2f3b48dee53087504ffc4dfc42c..80c86131486c7392481def252fa74d18ce76beb0 100644
|
index c6ed1f00fd931ecff13dfb3309470afab2f0852d..cdca0b9d8765b760b132d65f4141779fd0278324 100644
|
||||||
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||||
@@ -155,6 +155,14 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
@@ -155,6 +155,14 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||||
@@ -109,7 +109,7 @@ index ed0d11c8048c3c6b25a003633684b89376b76be9..2752e906f2a98540d6fd33cd5f080f37
|
|||||||
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
||||||
return 0.0F;
|
return 0.0F;
|
||||||
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
index ec110b0dcef5ae0923cdda8aa43720f10b9f826e..6022df0a91e46b0a7a0102b959a1eb2b18c1de63 100644
|
index ee732f4462cc69070beffdbc7a3a310d3c369a10..d49a95e4fa51d3bae3c4949936eb358d7bb2346b 100644
|
||||||
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
@@ -477,6 +477,14 @@ public class Bee extends Animal implements NeutralMob {
|
@@ -477,6 +477,14 @@ public class Bee extends Animal implements NeutralMob {
|
||||||
@@ -842,7 +842,7 @@ index 250401cef7c93375235ef275165f1e0d9684d42a..85c6b17bbf490315b76612c4a8ab50b0
|
|||||||
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
||||||
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index 2d2078ca3adeb78b6ec2633c35d3c622184cc3b2..38fa1c0b79e3dc11e830af95be4bed1e74910108 100644
|
index 2d1fd11121d3e6293f35e4e7838cbe59a8b27dc4..b313fb9383b927a2c0254d784d3124ae64ada0dd 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -163,6 +163,14 @@ public class Rabbit extends Animal {
|
@@ -163,6 +163,14 @@ public class Rabbit extends Animal {
|
||||||
@@ -858,7 +858,7 @@ index 2d2078ca3adeb78b6ec2633c35d3c622184cc3b2..38fa1c0b79e3dc11e830af95be4bed1e
|
|||||||
+ // Purpur end - Configurable entity base attributes
|
+ // Purpur end - Configurable entity base attributes
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
index cf20e9a64fee6512c14f1b757f435fd4fc3394fc..d3d5168fdafa7afe5813e1c0ea99ab17c8eddcc3 100644
|
index cf20e9a64fee6512c14f1b757f435fd4fc3394fc..d3d5168fdafa7afe5813e1c0ea99ab17c8eddcc3 100644
|
||||||
@@ -917,7 +917,7 @@ index bde43e42ba7eec863fd0e2cd9b8068e8cefaaa1c..86b8f30bc9c98423e2e5bbb2a7548ea3
|
|||||||
protected ParticleOptions getInkParticle() {
|
protected ParticleOptions getInkParticle() {
|
||||||
return ParticleTypes.GLOW_SQUID_INK;
|
return ParticleTypes.GLOW_SQUID_INK;
|
||||||
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
index e2273ce904e2c95491caec67d36d37b4b5e0fe67..66477755d3ee8293a8bd79baa01214954b792898 100644
|
index 9166e9f3606c6a96cbf0ddddabb57e2d91d2aa18..d5da8cb94df80d5190da10070e7733871c101687 100644
|
||||||
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
@@ -96,6 +96,14 @@ public class Squid extends AgeableWaterCreature {
|
@@ -96,6 +96,14 @@ public class Squid extends AgeableWaterCreature {
|
||||||
@@ -936,7 +936,7 @@ index e2273ce904e2c95491caec67d36d37b4b5e0fe67..66477755d3ee8293a8bd79baa0121495
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
index 23d566b39a1484b54e2b893da5a2d2cbaeb822fd..aea12003ef838f8f4d1e1c6b83a527e6c812a3c8 100644
|
index d08d2d275b1268abe2548352e15890b04536a3ed..99f665f44ccd23563b0824e4c149443081767a16 100644
|
||||||
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
@@ -105,6 +105,14 @@ public class Turtle extends Animal {
|
@@ -105,6 +105,14 @@ public class Turtle extends Animal {
|
||||||
@@ -974,7 +974,7 @@ index f54a14a1e434cbfedf709d3b1495f2ae9ae4f11f..acf623ba0ab1f1d6c98af1a83cddd634
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
index ccb28f6f5e02972c32ac5f3390a72b78f17b28dd..163afb24f856b75528a362e899548a1515a47aca 100644
|
index 60c02127a504a5130a202a3b532b63bef4c47a31..33005c82880f7e765e9a16d7630edaf4657b4bb8 100644
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -165,6 +165,13 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -165,6 +165,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
@@ -991,7 +991,7 @@ index ccb28f6f5e02972c32ac5f3390a72b78f17b28dd..163afb24f856b75528a362e899548a15
|
|||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
|
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
|
||||||
}
|
}
|
||||||
@@ -1061,7 +1068,7 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -1066,7 +1073,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected float sanitizeScale(final float scale) {
|
protected float sanitizeScale(final float scale) {
|
||||||
@@ -1001,7 +1001,7 @@ index ccb28f6f5e02972c32ac5f3390a72b78f17b28dd..163afb24f856b75528a362e899548a15
|
|||||||
|
|
||||||
// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
|
// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index 1f32d0d87727009a8ca671415159566c10f79f7e..7a80afbe7d1c5ff2ea0e26eb1c59123705dc1aef 100644
|
index ab1c7889e7742c27589c72d1f73960eda9091078..a6327fbd4eb57421abbff3b7a155c05483208834 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -213,6 +213,14 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -213,6 +213,14 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
@@ -1048,7 +1048,7 @@ index c1acc0a648493ec33ef4fc4a48b52fe0b3dc04b2..b553c6dd60bd23fba7ee3df9886561fc
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
index ac98cd1702fb9ef2b82226d2ee459cb18ebce017..ada74699fcc5a50694cf4b651f42011dd3ade2d4 100644
|
index 81031650d914c5d973d5bd89547ce58e92b1acc6..893adb6acdb292c618753d12f6f891e0cce0f207 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -137,6 +137,14 @@ public class Creeper extends Monster {
|
@@ -137,6 +137,14 @@ public class Creeper extends Monster {
|
||||||
@@ -1164,7 +1164,7 @@ index 1b7a75a2be45928093382fa2f2da079ffc5d190d..7b6952f13e18548d0e71035d6cd6cfb2
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 100.0)
|
.add(Attributes.MAX_HEALTH, 100.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
index af865e3a6549f008826ed7469b2ecb4c92598863..a803e9b43758b7bad9bb1f9b577a2c9c7bc040d2 100644
|
index e6b3bc45f36b438a7164c4be2e97ffa22f39979d..fdba60041c4a41191e397d1dddea625348f243e1 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
@@ -89,6 +89,14 @@ public class Guardian extends Monster {
|
@@ -89,6 +89,14 @@ public class Guardian extends Monster {
|
||||||
@@ -1310,7 +1310,7 @@ index cd35797eff1ec2881e72b0fc44bd9a098d795a74..4f4f01941e66880113dd80626030a635
|
|||||||
final EntityType<Strider> ignoredType,
|
final EntityType<Strider> ignoredType,
|
||||||
final LevelAccessor level,
|
final LevelAccessor level,
|
||||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||||
index 3ddf4ba1d809e62e4a1f7cc54f44738b1c129145..854c78d567a446479a704fbf459885f2b164e54d 100644
|
index a5fe9509e3e3ee56ef0cd222e8fe92ce8316769f..c8fd079f0b6726f4136b7c645a6d720fd1c97265 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -104,6 +104,14 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
@@ -104,6 +104,14 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
||||||
@@ -1585,7 +1585,7 @@ index 9ea4745eb0d72c25ac5b89a6bfa5ba2846740f07..0150ebdcbb681bcf8128eec34fd6e3fb
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
index a0e926bedb5000a8e3d8e37207916cc06ad01090..81d956085667b7564588b54b54c1150b8a082c97 100644
|
index bc1b7ffce2de2b0835e69c93aad3f00fef025c89..59a6dac61c5b2ff57c53d2f79779d6432f9f2396 100644
|
||||||
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
@@ -82,6 +82,14 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
@@ -82,6 +82,14 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||||
@@ -1623,7 +1623,7 @@ index 7caebb032e03ce54463c1e1050dc2bfe14cb16ee..d06f6bf930277f08756752f7f259a57f
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index a688c7ab300753f373af1de3471dce2a2249456e..702f9d6512357a79834f6e8a882e5fbb680bad4e 100644
|
index dc8e8379ab43e2f1ef26a8a0cea9a17f796434d4..5f2e20367e932566a268765707d91d58be42b90f 100644
|
||||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -126,6 +126,14 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -126,6 +126,14 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -1680,7 +1680,7 @@ index 6bb58edc4317e33da1d6053b1c66a9ac10fb6ad9..dd55f35c828beb57ae1f995ecbbacb95
|
|||||||
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
||||||
super.defineSynchedData(entityData);
|
super.defineSynchedData(entityData);
|
||||||
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
index a0bc5a61bfada6cc391078cf29456db64e90b35d..f9551eeb0190c5dafc550d657115173a265f1c5e 100644
|
index d92db02786ce6989ca5d8a2d7647e4f60a66ce82..c48e758fe08b753bbc5fd1e9fe2568a220f7368e 100644
|
||||||
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
@@ -44,6 +44,13 @@ public class Skeleton extends AbstractSkeleton {
|
@@ -44,6 +44,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||||
@@ -1820,7 +1820,7 @@ index 2dc09198f7bc86f5837c30e7e85eeb4c85b8d114..7a3747d67f1ce93e0703965144e32d13
|
|||||||
public boolean isSunSensitive() {
|
public boolean isSunSensitive() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
index d231dbf446c4e28df3512918ae50c1fc5e4db402..51e9175cf7f0c487d063247dca4e700012283431 100644
|
index cbea2f30f20859f03f3b4667c22b380c8d45e7ab..3a6fb7734b725afd932c5d066ff512a72bc2d854 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
@@ -130,6 +130,14 @@ public class Zombie extends Monster {
|
@@ -130,6 +130,14 @@ public class Zombie extends Monster {
|
||||||
@@ -1848,7 +1848,7 @@ index d231dbf446c4e28df3512918ae50c1fc5e4db402..51e9175cf7f0c487d063247dca4e7000
|
|||||||
|
|
||||||
private class ZombieAttackTurtleEggGoal extends RemoveBlockGoal {
|
private class ZombieAttackTurtleEggGoal extends RemoveBlockGoal {
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
index 67031d93d9f59cf616c7ed1a3fcb18182148c6e6..2323ef6faec7bc62b28240e6dcc9f350de427c8e 100644
|
index f62603ef4b76d2966d8e70a7ab9bdc2592cf41fb..da190239c12da5150b1bcd48ad6649e8d5fe0fbe 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
@@ -104,6 +104,18 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -104,6 +104,18 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 4a9297f43e33df1838ad75543ec0080c833fb078..ce07d6a8d49e5f538f61955394c20f880863885d 100644
|
index c7e81ed584a3da2521fad58049ee44c18947ca23..77e8d62979b421d1fddc0c4d2b224ceec14a297f 100644
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -1324,6 +1324,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
@@ -1315,6 +1315,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||||
|
|
||||||
// Purpur start - Add boat fall damage config
|
// Purpur start - Add boat fall damage config
|
||||||
if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 45ab2a35a27b35b682cf90a14c587a50ad2f6ce5..7ec097b3be4fa2ad99de2891fa5507af92ebbeab 100644
|
index abb90115fc17722bebf5b7c50301ba570f7949e0..dd38ed1e2a94aa86e8b564a109b3b132eaa65381 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -3968,7 +3968,16 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -3950,7 +3950,16 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
if (freeFallInterval % 2 == 0) {
|
if (freeFallInterval % 2 == 0) {
|
||||||
List<EquipmentSlot> slotsWithGliders = EquipmentSlot.VALUES.stream().filter(slot -> canGlideUsing(this.getItemBySlot(slot), slot)).toList();
|
List<EquipmentSlot> slotsWithGliders = EquipmentSlot.VALUES.stream().filter(slot -> canGlideUsing(this.getItemBySlot(slot), slot)).toList();
|
||||||
EquipmentSlot slotToDamage = Util.getRandom(slotsWithGliders, this.random);
|
EquipmentSlot slotToDamage = Util.getRandom(slotsWithGliders, this.random);
|
||||||
@@ -49,7 +49,7 @@ index b3443ff2d06af328493046e723efc11d299a2824..3c001b3810097d5cb60ad64e0727d8d9
|
|||||||
itemStack.shrink(1); // Moved up from below
|
itemStack.shrink(1); // Moved up from below
|
||||||
} else {
|
} else {
|
||||||
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||||
index 92d4a8ea07e96f84df655c63e21716549f52d8b9..abaa39135d3025a4ef066428d46af814a4854de4 100644
|
index 56ace1be8e29ff1c06a550b15769c3cfcad41466..c0fce943b33ebe63798a35ea17ec3ceb9cf6209a 100644
|
||||||
--- a/net/minecraft/world/item/ItemStack.java
|
--- a/net/minecraft/world/item/ItemStack.java
|
||||||
+++ b/net/minecraft/world/item/ItemStack.java
|
+++ b/net/minecraft/world/item/ItemStack.java
|
||||||
@@ -666,6 +666,14 @@ public final class ItemStack implements DataComponentHolder, ItemInstance {
|
@@ -666,6 +666,14 @@ public final class ItemStack implements DataComponentHolder, ItemInstance {
|
||||||
@@ -68,7 +68,7 @@ index 92d4a8ea07e96f84df655c63e21716549f52d8b9..abaa39135d3025a4ef066428d46af814
|
|||||||
onBreak.accept(item);
|
onBreak.accept(item);
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java
|
diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java
|
||||||
index 0321dffbbea8bf35640680eedd21cd9f9daa6c04..91f81dbf4e1fbf029c8f70ad3a80a489e1188a54 100644
|
index 9f833f16d02e778b0361744ba409a3096248836c..7ebf88560e431a07cf4c1417dfd5a71fdd73e557 100644
|
||||||
--- a/net/minecraft/world/item/TridentItem.java
|
--- a/net/minecraft/world/item/TridentItem.java
|
||||||
+++ b/net/minecraft/world/item/TridentItem.java
|
+++ b/net/minecraft/world/item/TridentItem.java
|
||||||
@@ -127,6 +127,16 @@ public class TridentItem extends Item implements ProjectileItem {
|
@@ -127,6 +127,16 @@ public class TridentItem extends Item implements ProjectileItem {
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ index 979b537bb459898a501af86280fa313ac58510b2..9aefa11fcc336c5c98c63301b7f9a51b
|
|||||||
// CraftBukkit end - call EntityBreedEvent
|
// CraftBukkit end - call EntityBreedEvent
|
||||||
level.broadcastEntityEvent(child, EntityEvent.LOVE_HEARTS);
|
level.broadcastEntityEvent(child, EntityEvent.LOVE_HEARTS);
|
||||||
diff --git a/net/minecraft/world/entity/animal/Animal.java b/net/minecraft/world/entity/animal/Animal.java
|
diff --git a/net/minecraft/world/entity/animal/Animal.java b/net/minecraft/world/entity/animal/Animal.java
|
||||||
index 44f34214b53a8ea754e3c62f5db652ea944a95f6..79de24884cb5862a4af6dd9a9067434d72a91fa8 100644
|
index e18462f9e3353957eb3079112fe7e81986b36491..066bec0f5ed154dea08287ff6d4653a4623f956a 100644
|
||||||
--- a/net/minecraft/world/entity/animal/Animal.java
|
--- a/net/minecraft/world/entity/animal/Animal.java
|
||||||
+++ b/net/minecraft/world/entity/animal/Animal.java
|
+++ b/net/minecraft/world/entity/animal/Animal.java
|
||||||
@@ -46,6 +46,7 @@ public abstract class Animal extends AgeableMob {
|
@@ -46,6 +46,7 @@ public abstract class Animal extends AgeableMob {
|
||||||
public int inLove = 0;
|
private int inLove = 0;
|
||||||
public @Nullable EntityReference<ServerPlayer> loveCause;
|
public @Nullable EntityReference<ServerPlayer> loveCause;
|
||||||
public @Nullable ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
public @Nullable ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
||||||
+ public abstract int getPurpurBreedTime(); // Purpur - Make entity breeding times configurable
|
+ public abstract int getPurpurBreedTime(); // Purpur - Make entity breeding times configurable
|
||||||
@@ -83,7 +83,7 @@ index 2752e906f2a98540d6fd33cd5f080f376e6e3f86..11b3d0706a89b21251b5a045fbb34b1c
|
|||||||
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
||||||
return 0.0F;
|
return 0.0F;
|
||||||
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
index 6022df0a91e46b0a7a0102b959a1eb2b18c1de63..c871d6e0140fae4e15bf07ba86ed7c67615e9ce6 100644
|
index d49a95e4fa51d3bae3c4949936eb358d7bb2346b..fb47fcd4aef388821f6189d65ccdc7a62dd936aa 100644
|
||||||
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
@@ -485,6 +485,13 @@ public class Bee extends Animal implements NeutralMob {
|
@@ -485,6 +485,13 @@ public class Bee extends Animal implements NeutralMob {
|
||||||
@@ -528,7 +528,7 @@ index 85c6b17bbf490315b76612c4a8ab50b03e9d14a3..8041beeb5bb039f0aec0b59ba45806cf
|
|||||||
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
||||||
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index 38fa1c0b79e3dc11e830af95be4bed1e74910108..f0c4ad3715322bf1a5a60edd870b34a15949a77f 100644
|
index b313fb9383b927a2c0254d784d3124ae64ada0dd..54b53fea95f9ce98e8e204b36de2c3a8318697b7 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -171,6 +171,13 @@ public class Rabbit extends Animal {
|
@@ -171,6 +171,13 @@ public class Rabbit extends Animal {
|
||||||
@@ -543,7 +543,7 @@ index 38fa1c0b79e3dc11e830af95be4bed1e74910108..f0c4ad3715322bf1a5a60edd870b34a1
|
|||||||
+ // Purpur end - Make entity breeding times configurable
|
+ // Purpur end - Make entity breeding times configurable
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
index d3d5168fdafa7afe5813e1c0ea99ab17c8eddcc3..01220c13a3f5cd920bcbbd23f66d73e597fee97f 100644
|
index d3d5168fdafa7afe5813e1c0ea99ab17c8eddcc3..01220c13a3f5cd920bcbbd23f66d73e597fee97f 100644
|
||||||
@@ -582,7 +582,7 @@ index 9246c76131c02832d96eeb6d3899e0050abce938..33eb3e6b312ef32c6ae94a7ef5333ab6
|
|||||||
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
||||||
super.defineSynchedData(entityData);
|
super.defineSynchedData(entityData);
|
||||||
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
index aea12003ef838f8f4d1e1c6b83a527e6c812a3c8..4104787b7cc9e746f88969cad3a5b6d86b9f184b 100644
|
index 99f665f44ccd23563b0824e4c149443081767a16..dd04eab7357c35f8a240994e42b2dc2330d40c77 100644
|
||||||
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
@@ -113,6 +113,13 @@ public class Turtle extends Animal {
|
@@ -113,6 +113,13 @@ public class Turtle extends Animal {
|
||||||
|
|||||||
@@ -5,20 +5,20 @@ Subject: [PATCH] Add mobGriefing override to everything affected
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 7ec097b3be4fa2ad99de2891fa5507af92ebbeab..166c8d92937d534646d7a7521529d30afaa6f618 100644
|
index dd38ed1e2a94aa86e8b564a109b3b132eaa65381..afad3bdd336280ab7d90f6447b486a059a4966e9 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -1961,7 +1961,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -1943,7 +1943,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
if (this.level() instanceof ServerLevel serverLevel) {
|
if (this.level() instanceof ServerLevel serverLevel) {
|
||||||
boolean var6 = false;
|
boolean var6 = false;
|
||||||
if (this.dead && killer instanceof WitherBoss) { // Paper
|
if (killer instanceof WitherBoss) {
|
||||||
- if (serverLevel.getGameRules().get(GameRules.MOB_GRIEFING)) {
|
- if (serverLevel.getGameRules().get(GameRules.MOB_GRIEFING)) {
|
||||||
+ if (serverLevel.getGameRules().get(GameRules.MOB_GRIEFING, serverLevel.purpurConfig.witherMobGriefingOverride)) { // Purpur - Add mobGriefing override to everything affected
|
+ if (serverLevel.getGameRules().get(GameRules.MOB_GRIEFING, serverLevel.purpurConfig.witherMobGriefingOverride)) { // Purpur - Add mobGriefing override to everything affected
|
||||||
BlockPos pos = this.blockPosition();
|
BlockPos pos = this.blockPosition();
|
||||||
BlockState state = Blocks.WITHER_ROSE.defaultBlockState();
|
BlockState state = Blocks.WITHER_ROSE.defaultBlockState();
|
||||||
if (this.level().getBlockState(pos).isAir() && state.canSurvive(this.level(), pos)) {
|
if (this.level().getBlockState(pos).isAir() && state.canSurvive(this.level(), pos)) {
|
||||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||||
index a5885bc19fe469a0c810e241d570d9ab62295492..460ba9d3a192c5f17a1b5c4682bbbba3d2f8ebe2 100644
|
index 4e1fadf8ea105d1d5ceaef5b5f9ce4f3f356608d..3902dddb25c8d96390caf7bcda19db85f07f67ba 100644
|
||||||
--- a/net/minecraft/world/entity/Mob.java
|
--- a/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/net/minecraft/world/entity/Mob.java
|
+++ b/net/minecraft/world/entity/Mob.java
|
||||||
@@ -571,7 +571,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
@@ -571,7 +571,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
||||||
@@ -118,7 +118,7 @@ index c614c61424199cb2105e84b85fe67f66dd6aa248..da0e4f830b708a5f1046aff48de525c7
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index f0c4ad3715322bf1a5a60edd870b34a15949a77f..80a65dba81ab82cdb9bd43d1878e74550e61d634 100644
|
index 54b53fea95f9ce98e8e204b36de2c3a8318697b7..4dec5d3aaadd8045b5c66fd09b66ad612e928d59 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -695,7 +695,7 @@ public class Rabbit extends Animal {
|
@@ -695,7 +695,7 @@ public class Rabbit extends Animal {
|
||||||
@@ -131,7 +131,7 @@ index f0c4ad3715322bf1a5a60edd870b34a15949a77f..80a65dba81ab82cdb9bd43d1878e7455
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
index 163afb24f856b75528a362e899548a1515a47aca..56f3c0b9d1f34f9dff5db46d441d1d4f86f4668e 100644
|
index 33005c82880f7e765e9a16d7630edaf4657b4bb8..404b894a80c2400a1ca6d495049157637c0418f4 100644
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -537,7 +537,7 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -537,7 +537,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
@@ -144,7 +144,7 @@ index 163afb24f856b75528a362e899548a1515a47aca..56f3c0b9d1f34f9dff5db46d441d1d4f
|
|||||||
//flag1 = level.removeBlock(blockPos, false) || flag1;
|
//flag1 = level.removeBlock(blockPos, false) || flag1;
|
||||||
destroyedBlock = true;
|
destroyedBlock = true;
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index 7a80afbe7d1c5ff2ea0e26eb1c59123705dc1aef..543ea15e63316564aa6c699863d952570d7e0df7 100644
|
index a6327fbd4eb57421abbff3b7a155c05483208834..22f075e040f80e8cb0764056c456625b614855cb 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -492,7 +492,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -492,7 +492,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
@@ -227,7 +227,7 @@ index 73ebf1ac5d814399887e4e8e717ee8fb41404969..4b077693e8749b6d2440b12f0aa1d7d6
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index 702f9d6512357a79834f6e8a882e5fbb680bad4e..96fd5f5139a12c59277cf0a86d571551b1113f35 100644
|
index 5f2e20367e932566a268765707d91d58be42b90f..919cdb5087d484642deb871f7536f9fcc5f11dd0 100644
|
||||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -415,7 +415,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -415,7 +415,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -294,7 +294,7 @@ index a2aab8db9826e0b4607f54914af43918a7e35512..e5cf3ec08e134e24fbcc31d903219130
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
|
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
|
||||||
index 7eb20e1ea16136116e1979eb3a17b31f4cc3cc75..457acdb4f5893303a4eea3d5e97404f1dcec8195 100644
|
index 9d242f24c37fec196f06b8ef6fa29a66b2781c68..fb25bceaf1535a1a07eef6188b4c3656512415bb 100644
|
||||||
--- a/net/minecraft/world/entity/raid/Raider.java
|
--- a/net/minecraft/world/entity/raid/Raider.java
|
||||||
+++ b/net/minecraft/world/entity/raid/Raider.java
|
+++ b/net/minecraft/world/entity/raid/Raider.java
|
||||||
@@ -396,7 +396,7 @@ public abstract class Raider extends PatrollingMonster {
|
@@ -396,7 +396,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ index 11b3d0706a89b21251b5a045fbb34b1c3e3d77b8..523358fb9bfb393dde41fb90fed40ab8
|
|||||||
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
||||||
return 0.0F;
|
return 0.0F;
|
||||||
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
index c871d6e0140fae4e15bf07ba86ed7c67615e9ce6..f4e063e0fe64e26f926523765eba83a8a61d6404 100644
|
index fb47fcd4aef388821f6189d65ccdc7a62dd936aa..b3a47763c4dcb84cd5fc1003268582184fd595c2 100644
|
||||||
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
@@ -183,7 +183,7 @@ public class Bee extends Animal implements NeutralMob {
|
@@ -183,7 +183,7 @@ public class Bee extends Animal implements NeutralMob {
|
||||||
@@ -68,7 +68,7 @@ index c871d6e0140fae4e15bf07ba86ed7c67615e9ce6..f4e063e0fe64e26f926523765eba83a8
|
|||||||
public long getPersistentAngerEndTime() {
|
public long getPersistentAngerEndTime() {
|
||||||
return this.entityData.get(DATA_ANGER_END_TIME);
|
return this.entityData.get(DATA_ANGER_END_TIME);
|
||||||
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
index b27e52819fa244d93f70177b19898ab6399e2d3f..fed0cce13f0b75395ba4398e2cc79b142c289e68 100644
|
index 0393438650f54689fe031b3bccfaea90db816969..71db913c66ae1efa9d335d45ab70c63ddfae3a91 100644
|
||||||
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
@@ -118,6 +118,13 @@ public class Chicken extends Animal {
|
@@ -118,6 +118,13 @@ public class Chicken extends Animal {
|
||||||
@@ -374,7 +374,7 @@ index e9692aacca5f32c4280b16b4eabecf87c2ed5aeb..dc2800dd2f4c9f71c79d9f012be17398
|
|||||||
return "entity.minecraft.tropical_fish.predefined." + index;
|
return "entity.minecraft.tropical_fish.predefined." + index;
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
index bf9ff90916733110a249912d7aeabc2e45f63b01..4553c0d7528f3aea8434e353e4daf78b53ac831d 100644
|
index 9e113deaf6aa50380e20271b66daad566d40b08e..f5ee70d674fea7975aa1bfd206fb303907362c59 100644
|
||||||
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
@@ -214,6 +214,13 @@ public class Fox extends Animal {
|
@@ -214,6 +214,13 @@ public class Fox extends Animal {
|
||||||
@@ -410,7 +410,7 @@ index 49cfa8f360aac209106052e15ae0a6d88b3cc3ff..9744d757ae7dcc31291db469539ebd58
|
|||||||
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
||||||
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
||||||
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
index 5337c65d317299df2ac0dfd9b7ea12fc7debcdb6..53e17b3ebb5f66f00870c45fb0389ace08a2c144 100644
|
index e26a2fb1f59540d853806dfdece97d574f0eebc0..31053ae3e64c3cbcfafd8d33a692022b8f2f821e 100644
|
||||||
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
@@ -144,6 +144,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
@@ -144,6 +144,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
||||||
@@ -446,7 +446,7 @@ index 9fd7366157c7e6d3d75469c33599560c5045abf7..0d47b1d7ffb09a883edde3c5c0a8e6ea
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
||||||
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
index ad300631146959f158cbabddac12fda4deb33360..efd9770fb2401650e4459fab8066cb0da9870e58 100644
|
index da0e4f830b708a5f1046aff48de525c7ecd4f05b..4aa522299a3194c569e8f7660fb44606931026da 100644
|
||||||
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
@@ -124,7 +124,7 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
@@ -124,7 +124,7 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
||||||
@@ -477,7 +477,7 @@ index a70806026e1c664bd45f9992a2c28dc7bbfb01eb..f37773ac8ec943744a8989b443e91371
|
|||||||
protected void ageBoundaryReached() {
|
protected void ageBoundaryReached() {
|
||||||
if (this.isBaby()) {
|
if (this.isBaby()) {
|
||||||
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
index 9328cb71c88efc13afc203da1c0bff7cd305fb3c..af66c192d57d4f5b49b7a0e4c00cfbce6616eb9b 100644
|
index 4166894bee228546f6e4e991a3cf2a1380abe367..70d1e64f50c86c6ece9ecb8f3237a925068e76c5 100644
|
||||||
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
@@ -154,6 +154,13 @@ public class Panda extends Animal {
|
@@ -154,6 +154,13 @@ public class Panda extends Animal {
|
||||||
@@ -495,7 +495,7 @@ index 9328cb71c88efc13afc203da1c0bff7cd305fb3c..af66c192d57d4f5b49b7a0e4c00cfbce
|
|||||||
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
||||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||||
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
index 22962f57daf5c274fa0ec46170f36dcaa1c8bed3..e43fe2c45e79526ba954dba2260c49075ae1c556 100644
|
index d3bb7e7162fc9e3be1a5d84e95fe78c7a9ed423a..d6ea604c3cc557d42afeb4fef7bcc7b06a60b475 100644
|
||||||
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
@@ -214,6 +214,13 @@ public class Parrot extends ShoulderRidingEntity {
|
@@ -214,6 +214,13 @@ public class Parrot extends ShoulderRidingEntity {
|
||||||
@@ -549,7 +549,7 @@ index 8041beeb5bb039f0aec0b59ba45806cf6eb57582..c47640ebcf2db48bb27b671c907f3270
|
|||||||
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
||||||
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index 80a65dba81ab82cdb9bd43d1878e74550e61d634..d7b287459fb0633470efffd70dda67ad8177615a 100644
|
index 4dec5d3aaadd8045b5c66fd09b66ad612e928d59..4d5870acc631e18a070cfb12f8b2d4b5b06619ee 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -178,6 +178,13 @@ public class Rabbit extends Animal {
|
@@ -178,6 +178,13 @@ public class Rabbit extends Animal {
|
||||||
@@ -564,10 +564,10 @@ index 80a65dba81ab82cdb9bd43d1878e74550e61d634..d7b287459fb0633470efffd70dda67ad
|
|||||||
+ // Purpur end - Toggle for water sensitive mob damage
|
+ // Purpur end - Toggle for water sensitive mob damage
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
index cd53e9540856c53b9aae961ee0303b592a513684..0116de3318e769076481d3e5d479a810e235f0c0 100644
|
index 01220c13a3f5cd920bcbbd23f66d73e597fee97f..d9f17420cc8e291896d51484d0f12473735a5f43 100644
|
||||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
@@ -103,6 +103,13 @@ public class Sheep extends Animal implements Shearable {
|
@@ -103,6 +103,13 @@ public class Sheep extends Animal implements Shearable {
|
||||||
@@ -603,7 +603,7 @@ index 86b8f30bc9c98423e2e5bbb2a7548ea36c0854b6..e11e4e9134db7e59bd7f3112605206ad
|
|||||||
protected ParticleOptions getInkParticle() {
|
protected ParticleOptions getInkParticle() {
|
||||||
return ParticleTypes.GLOW_SQUID_INK;
|
return ParticleTypes.GLOW_SQUID_INK;
|
||||||
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
index 66477755d3ee8293a8bd79baa01214954b792898..6d6981635b4029a09ccc6115f0d17451089e09d4 100644
|
index d5da8cb94df80d5190da10070e7733871c101687..cd8ef74ec5662b01b295f41a33834b65d51b7fd5 100644
|
||||||
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
@@ -104,6 +104,13 @@ public class Squid extends AgeableWaterCreature {
|
@@ -104,6 +104,13 @@ public class Squid extends AgeableWaterCreature {
|
||||||
@@ -621,7 +621,7 @@ index 66477755d3ee8293a8bd79baa01214954b792898..6d6981635b4029a09ccc6115f0d17451
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
index bbee5d60204cf7c6e77cf337044e608d79d8462e..1080f96351535e4caa29120c65727280e361a042 100644
|
index dd04eab7357c35f8a240994e42b2dc2330d40c77..5cf4449f48c9f46cc277ce080992c8acaead4173 100644
|
||||||
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
@@ -120,6 +120,13 @@ public class Turtle extends Animal {
|
@@ -120,6 +120,13 @@ public class Turtle extends Animal {
|
||||||
@@ -657,7 +657,7 @@ index 66e58482f8422e5478b29f82271489d0449ceddb..cdc12cabee85c7090ff317068a98b0ac
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
index 2597ee3ca93653af04b5e620f3909c3791369bf0..f445c81d1054b897f8489cdb9cc9bb04096e3835 100644
|
index 404b894a80c2400a1ca6d495049157637c0418f4..773351cd6c40e57a9c81d3d1b25161f282ad09c2 100644
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -172,6 +172,13 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -172,6 +172,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
@@ -675,7 +675,7 @@ index 2597ee3ca93653af04b5e620f3909c3791369bf0..f445c81d1054b897f8489cdb9cc9bb04
|
|||||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
|
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index 543ea15e63316564aa6c699863d952570d7e0df7..7032f6b01ee36422952ce564a388c4e1ffeb05c5 100644
|
index 22f075e040f80e8cb0764056c456625b614855cb..874d347797b1aea439dc5cde2d5da679479cc352 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -221,6 +221,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -221,6 +221,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
@@ -715,10 +715,10 @@ index b553c6dd60bd23fba7ee3df9886561fc7640f104..7f0e76437798f1bab7956722382e1517
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
index 01c722932aaed2221badaa6231d8a20d005b087b..2d60c5e6426097302464e04bcfdd60abd08b96b9 100644
|
index 893adb6acdb292c618753d12f6f891e0cce0f207..5b188b7121c62dc5c6ded6128e8f3b6a4d930fb0 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -266,6 +266,13 @@ public class Creeper extends Monster {
|
@@ -265,6 +265,13 @@ public class Creeper extends Monster {
|
||||||
}
|
}
|
||||||
// Purpur end - Config to make Creepers explode on death
|
// Purpur end - Config to make Creepers explode on death
|
||||||
|
|
||||||
@@ -827,7 +827,7 @@ index c39031e8fdfb0dff7867d9525dbddde110242647..43ebfe06ce2a8c15787d72a8ef54cd6c
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 100.0)
|
.add(Attributes.MAX_HEALTH, 100.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
index a803e9b43758b7bad9bb1f9b577a2c9c7bc040d2..04d092ad64f58b898f210266a2aba758ccc0577b 100644
|
index fdba60041c4a41191e397d1dddea625348f243e1..6487f78d08d33dbbe325c148470850401b01d662 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
@@ -97,6 +97,13 @@ public class Guardian extends Monster {
|
@@ -97,6 +97,13 @@ public class Guardian extends Monster {
|
||||||
@@ -939,7 +939,7 @@ index 6017c3865c685c55ecf304af34b07e64563c5969..584aee58a1319da937eeb78d3015bc48
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||||
index 854c78d567a446479a704fbf459885f2b164e54d..e361d1ecf9e9a27491bb8195fee6272dc903615c 100644
|
index c8fd079f0b6726f4136b7c645a6d720fd1c97265..59c643c01c83a082710fc418768f3812a19c0fdb 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -112,6 +112,13 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
@@ -112,6 +112,13 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
||||||
@@ -1029,7 +1029,7 @@ index 22c20e4360473cdbe9cda8bb7b3b30be85f16fe6..3c09f472ba54f8929782ac6a080ceabf
|
|||||||
public SoundEvent getHurtSound(final DamageSource source) {
|
public SoundEvent getHurtSound(final DamageSource source) {
|
||||||
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
|
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
|
||||||
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
index a966d253af27d5a8cc89a2454cf60377bdf7ce62..f43d33605e8d0d4ade0a5c6269bccb4d10668543 100644
|
index a74793c70daa6c4f1bbdd41044026033bf86c860..076a0ab563dd3b7e41eb6c7d229634a3b3016a15 100644
|
||||||
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
@@ -165,6 +165,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
|
@@ -165,6 +165,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
|
||||||
@@ -1101,7 +1101,7 @@ index 0150ebdcbb681bcf8128eec34fd6e3fbfb85a79f..bfd1a61d43fcc1293592a6199d7bab03
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
index 81d956085667b7564588b54b54c1150b8a082c97..18c177bd17873d87769dbcdd4ee3794fb828905c 100644
|
index 59a6dac61c5b2ff57c53d2f79779d6432f9f2396..20881d924a4e69a2419b76e902f6e708bd2ac235 100644
|
||||||
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
@@ -90,6 +90,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
@@ -90,6 +90,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||||
@@ -1137,7 +1137,7 @@ index d06f6bf930277f08756752f7f259a57f456e7c38..db2ca5e6f5c5a0968e1fb76369ad2efd
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index 013550c72a194977b1874f30aeda60d27b682853..f7e8b26f3acaff88aeb3e2cde93ec7922859e1ae 100644
|
index 919cdb5087d484642deb871f7536f9fcc5f11dd0..c9bbbaaaf21f5e08b5cf3f6befb03cbf79595ad3 100644
|
||||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -134,6 +134,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -134,6 +134,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -1173,7 +1173,7 @@ index 3cbb6f2ee343e6d3851e84e53cb1aafa55418b0f..5f25162930b7d18385d84715f4f72962
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 50.0)
|
.add(Attributes.MAX_HEALTH, 50.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
index 12f87667ddeda1f57fe89f137b2df6cebef35c74..0890eb175438eb1dd39ca511c9ac332ef2a32e02 100644
|
index c48e758fe08b753bbc5fd1e9fe2568a220f7368e..cd9bbc34fa32629065170154eee303a7db8e8ab8 100644
|
||||||
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
@@ -51,6 +51,13 @@ public class Skeleton extends AbstractSkeleton {
|
@@ -51,6 +51,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||||
@@ -1299,7 +1299,7 @@ index 91800961ba5b724aac905ccd4fd1d0f915c93803..83c2d21587fc490eb7eb60c43a21da73
|
|||||||
public boolean isSunSensitive() {
|
public boolean isSunSensitive() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
index f47f4a3f8e0f4f5a40f520a25e87e0068a564b4c..26f0ac03eaa3d33fa593ce65bc944872864a66a9 100644
|
index d15c29736ddc0ceb27eb91c8d2e10016d8e9084c..9dac1e1bc0250122ac8d3a5c7fd0933660f2783c 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
@@ -152,6 +152,13 @@ public class Zombie extends Monster {
|
@@ -152,6 +152,13 @@ public class Zombie extends Monster {
|
||||||
@@ -1317,7 +1317,7 @@ index f47f4a3f8e0f4f5a40f520a25e87e0068a564b4c..26f0ac03eaa3d33fa593ce65bc944872
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
index 155ba4d03e7864b21e7a3dab854315b62d3b9e5b..b704a24142f79f40e72a2dd76d1448501d9f7f59 100644
|
index d5abbe6c4d33a327e4f34a33c5e50a01ee72739e..72b8fd534aa4b3d62e5f063bf51692a97a91156e 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
@@ -133,6 +133,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -133,6 +133,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
Co-authored by: Encode42 <me@encode42.dev>
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||||
index 8ca29762d465ba8ebeaa450bd6e1c4f77db5464c..0f5961a9fb49dbd77b682cf922cc14be48fe3397 100644
|
index a4b74837096b4653b8504dbf446ad42277975e7e..ccb470d85b3f78939a27d8ed87a3745bf338db6d 100644
|
||||||
--- a/net/minecraft/world/entity/Entity.java
|
--- a/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/net/minecraft/world/entity/Entity.java
|
+++ b/net/minecraft/world/entity/Entity.java
|
||||||
@@ -558,6 +558,21 @@ public abstract class Entity
|
@@ -558,6 +558,21 @@ public abstract class Entity
|
||||||
@@ -32,7 +32,7 @@ index 8ca29762d465ba8ebeaa450bd6e1c4f77db5464c..0f5961a9fb49dbd77b682cf922cc14be
|
|||||||
this.type = type;
|
this.type = type;
|
||||||
this.level = level;
|
this.level = level;
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 166c8d92937d534646d7a7521529d30afaa6f618..82705d97a520ffd6b4b4a1e5c7bf5439d93bf269 100644
|
index afad3bdd336280ab7d90f6447b486a059a4966e9..17c7619409249024bf436ac0b9d6fb569e6a76da 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -305,6 +305,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -305,6 +305,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
@@ -59,7 +59,7 @@ index 166c8d92937d534646d7a7521529d30afaa6f618..82705d97a520ffd6b4b4a1e5c7bf5439
|
|||||||
this.lastHurtByPlayer = EntityReference.read(input, "last_hurt_by_player");
|
this.lastHurtByPlayer = EntityReference.read(input, "last_hurt_by_player");
|
||||||
this.lastHurtByPlayerMemoryTime = input.getIntOr("last_hurt_by_player_memory_time", 0);
|
this.lastHurtByPlayerMemoryTime = input.getIntOr("last_hurt_by_player_memory_time", 0);
|
||||||
this.lastHurtByMob = EntityReference.read(input, "last_hurt_by_mob");
|
this.lastHurtByMob = EntityReference.read(input, "last_hurt_by_mob");
|
||||||
@@ -3938,6 +3941,37 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -3920,6 +3923,37 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) {
|
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) {
|
||||||
this.hurtServer(serverLevel, this.damageSources().drown(), 1.0F);
|
this.hurtServer(serverLevel, this.damageSources().drown(), 1.0F);
|
||||||
}
|
}
|
||||||
@@ -98,7 +98,7 @@ index 166c8d92937d534646d7a7521529d30afaa6f618..82705d97a520ffd6b4b4a1e5c7bf5439
|
|||||||
|
|
||||||
protected void applyInput() {
|
protected void applyInput() {
|
||||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||||
index 460ba9d3a192c5f17a1b5c4682bbbba3d2f8ebe2..00353f1668e4fb3d97c57175a5f141d6a39d70f7 100644
|
index 3902dddb25c8d96390caf7bcda19db85f07f67ba..3402444417535121cc9da4924ef9c4dbfb134b0e 100644
|
||||||
--- a/net/minecraft/world/entity/Mob.java
|
--- a/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/net/minecraft/world/entity/Mob.java
|
+++ b/net/minecraft/world/entity/Mob.java
|
||||||
@@ -561,9 +561,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
@@ -561,9 +561,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
||||||
@@ -265,7 +265,7 @@ index 83c2d21587fc490eb7eb60c43a21da73f144140c..afca08cfa58a25a7fa257eebf66dd888
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
index 26f0ac03eaa3d33fa593ce65bc944872864a66a9..f104394d49989fe80462602cb06b2f58c4282fbb 100644
|
index 9dac1e1bc0250122ac8d3a5c7fd0933660f2783c..947cfa465063246dfea805b0bdee1bed582b38aa 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
@@ -102,11 +102,12 @@ public class Zombie extends Monster {
|
@@ -102,11 +102,12 @@ public class Zombie extends Monster {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ index 523358fb9bfb393dde41fb90fed40ab8a54ba107..57b34d61c972123a2871da5abba851fb
|
|||||||
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
public float getWalkTargetValue(final BlockPos pos, final LevelReader level) {
|
||||||
return 0.0F;
|
return 0.0F;
|
||||||
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
diff --git a/net/minecraft/world/entity/animal/bee/Bee.java b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
index f4e063e0fe64e26f926523765eba83a8a61d6404..2a623511d609cfd3b4a9e056e12f18d19c2d8a96 100644
|
index b3a47763c4dcb84cd5fc1003268582184fd595c2..f4483f893c301e338595cc2e79e9fe9915b7bedd 100644
|
||||||
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
--- a/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
+++ b/net/minecraft/world/entity/animal/bee/Bee.java
|
||||||
@@ -499,6 +499,13 @@ public class Bee extends Animal implements NeutralMob {
|
@@ -499,6 +499,13 @@ public class Bee extends Animal implements NeutralMob {
|
||||||
@@ -59,7 +59,7 @@ index f4e063e0fe64e26f926523765eba83a8a61d6404..2a623511d609cfd3b4a9e056e12f18d1
|
|||||||
public long getPersistentAngerEndTime() {
|
public long getPersistentAngerEndTime() {
|
||||||
return this.entityData.get(DATA_ANGER_END_TIME);
|
return this.entityData.get(DATA_ANGER_END_TIME);
|
||||||
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
index fed0cce13f0b75395ba4398e2cc79b142c289e68..4c1ee5c54b882c85b122fcb0909b92204798d0ce 100644
|
index 71db913c66ae1efa9d335d45ab70c63ddfae3a91..31dda8f31967e1e02c2a9e32cc0586afa9c416e1 100644
|
||||||
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
|
||||||
@@ -125,6 +125,13 @@ public class Chicken extends Animal {
|
@@ -125,6 +125,13 @@ public class Chicken extends Animal {
|
||||||
@@ -365,7 +365,7 @@ index dc2800dd2f4c9f71c79d9f012be17398263d033d..adb530b59ce6080e281aad21e2165fd1
|
|||||||
return "entity.minecraft.tropical_fish.predefined." + index;
|
return "entity.minecraft.tropical_fish.predefined." + index;
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
index 4553c0d7528f3aea8434e353e4daf78b53ac831d..ca5b0b8081c4943bfbfba4f0f9284f0fdda3cf9f 100644
|
index f5ee70d674fea7975aa1bfd206fb303907362c59..a5c8c4cd7fb80ee0fb87eba85b6a3095223b849c 100644
|
||||||
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
||||||
@@ -221,6 +221,13 @@ public class Fox extends Animal {
|
@@ -221,6 +221,13 @@ public class Fox extends Animal {
|
||||||
@@ -401,7 +401,7 @@ index 9744d757ae7dcc31291db469539ebd58db7b08a2..363a6f9e8d13312f93562cf3a2b1668b
|
|||||||
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
protected Brain<Goat> makeBrain(final Brain.Packed packedBrain) {
|
||||||
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
||||||
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
diff --git a/net/minecraft/world/entity/animal/golem/CopperGolem.java b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
index 53e17b3ebb5f66f00870c45fb0389ace08a2c144..646f5ce1df4b125427f2020788369549befb2694 100644
|
index 31053ae3e64c3cbcfafd8d33a692022b8f2f821e..55bf908402a01f0f93538f2707d60dd1f59013bd 100644
|
||||||
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
--- a/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
+++ b/net/minecraft/world/entity/animal/golem/CopperGolem.java
|
||||||
@@ -151,6 +151,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
@@ -151,6 +151,13 @@ public class CopperGolem extends AbstractGolem implements ContainerUser, Shearab
|
||||||
@@ -437,7 +437,7 @@ index 0d47b1d7ffb09a883edde3c5c0a8e6eadec08642..e7114a76761bc89c76871868c8ed9d6d
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
||||||
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
diff --git a/net/minecraft/world/entity/animal/golem/SnowGolem.java b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
index efd9770fb2401650e4459fab8066cb0da9870e58..db2e018781f941a38c93b0aae27570ba1cf2048d 100644
|
index 4aa522299a3194c569e8f7660fb44606931026da..11a89fe92567c9c7074ee53ecbd58e66530401f8 100644
|
||||||
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
--- a/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
+++ b/net/minecraft/world/entity/animal/golem/SnowGolem.java
|
||||||
@@ -87,6 +87,13 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
@@ -87,6 +87,13 @@ public class SnowGolem extends AbstractGolem implements RangedAttackMob, Shearab
|
||||||
@@ -509,7 +509,7 @@ index da60906faaca79efbfd29ed05b01a0c07978bab2..9aed9eb7a7c3b3fb653d6fed5f8d79f7
|
|||||||
return AbstractNautilus.createAttributes().add(Attributes.MOVEMENT_SPEED, 1.1F);
|
return AbstractNautilus.createAttributes().add(Attributes.MOVEMENT_SPEED, 1.1F);
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
diff --git a/net/minecraft/world/entity/animal/panda/Panda.java b/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
index af66c192d57d4f5b49b7a0e4c00cfbce6616eb9b..29569ad09390775aaa47b1da89aff061786137d6 100644
|
index 70d1e64f50c86c6ece9ecb8f3237a925068e76c5..b1f680ffb815d57e717c59b0c44a2e0b27f5a94e 100644
|
||||||
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
--- a/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
+++ b/net/minecraft/world/entity/animal/panda/Panda.java
|
||||||
@@ -161,6 +161,13 @@ public class Panda extends Animal {
|
@@ -161,6 +161,13 @@ public class Panda extends Animal {
|
||||||
@@ -527,7 +527,7 @@ index af66c192d57d4f5b49b7a0e4c00cfbce6616eb9b..29569ad09390775aaa47b1da89aff061
|
|||||||
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
protected boolean canDispenserEquipIntoSlot(final EquipmentSlot slot) {
|
||||||
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
|
||||||
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
diff --git a/net/minecraft/world/entity/animal/parrot/Parrot.java b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
index e43fe2c45e79526ba954dba2260c49075ae1c556..0204a35ab612a6f59543d29efc6443fa9ecbffca 100644
|
index d6ea604c3cc557d42afeb4fef7bcc7b06a60b475..3d80a83e7cfba3403cc1007734035e07d63e9de1 100644
|
||||||
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
--- a/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
+++ b/net/minecraft/world/entity/animal/parrot/Parrot.java
|
||||||
@@ -221,6 +221,13 @@ public class Parrot extends ShoulderRidingEntity {
|
@@ -221,6 +221,13 @@ public class Parrot extends ShoulderRidingEntity {
|
||||||
@@ -581,7 +581,7 @@ index c47640ebcf2db48bb27b671c907f3270eac3c126..46276e32dcc7884758e333c45f65ce03
|
|||||||
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
public @Nullable AgeableMob getBreedOffspring(final ServerLevel level, final AgeableMob partner) {
|
||||||
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
return EntityTypes.POLAR_BEAR.create(level, EntitySpawnReason.BREEDING);
|
||||||
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
diff --git a/net/minecraft/world/entity/animal/rabbit/Rabbit.java b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
index d7b287459fb0633470efffd70dda67ad8177615a..c83df47628d63cafa5d47f76948b80e303a9ef0b 100644
|
index 4d5870acc631e18a070cfb12f8b2d4b5b06619ee..e48446be1ba64a46232966efcd9e5d1e90d7938a 100644
|
||||||
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
--- a/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
+++ b/net/minecraft/world/entity/animal/rabbit/Rabbit.java
|
||||||
@@ -185,6 +185,13 @@ public class Rabbit extends Animal {
|
@@ -185,6 +185,13 @@ public class Rabbit extends Animal {
|
||||||
@@ -596,10 +596,10 @@ index d7b287459fb0633470efffd70dda67ad8177615a..c83df47628d63cafa5d47f76948b80e3
|
|||||||
+ // Purpur end - Mobs always drop experience
|
+ // Purpur end - Mobs always drop experience
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
diff --git a/net/minecraft/world/entity/animal/sheep/Sheep.java b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
index 0116de3318e769076481d3e5d479a810e235f0c0..341b88eae6d56911a3e3da71609fab4c15714de9 100644
|
index d9f17420cc8e291896d51484d0f12473735a5f43..146003f7429be6668366e85955fff259b06781b3 100644
|
||||||
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
--- a/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
+++ b/net/minecraft/world/entity/animal/sheep/Sheep.java
|
||||||
@@ -110,6 +110,13 @@ public class Sheep extends Animal implements Shearable {
|
@@ -110,6 +110,13 @@ public class Sheep extends Animal implements Shearable {
|
||||||
@@ -635,7 +635,7 @@ index e11e4e9134db7e59bd7f3112605206ad1f36cab6..079d7dfd726670a5e3ed2811813190ba
|
|||||||
protected ParticleOptions getInkParticle() {
|
protected ParticleOptions getInkParticle() {
|
||||||
return ParticleTypes.GLOW_SQUID_INK;
|
return ParticleTypes.GLOW_SQUID_INK;
|
||||||
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
diff --git a/net/minecraft/world/entity/animal/squid/Squid.java b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
index 6d6981635b4029a09ccc6115f0d17451089e09d4..cd1f9133775633eeeb12bbab0d4bb48f42b7efb0 100644
|
index cd8ef74ec5662b01b295f41a33834b65d51b7fd5..dcb597337bc69be21f0924dda89a5299aa8d0f21 100644
|
||||||
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
--- a/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
+++ b/net/minecraft/world/entity/animal/squid/Squid.java
|
||||||
@@ -111,6 +111,13 @@ public class Squid extends AgeableWaterCreature {
|
@@ -111,6 +111,13 @@ public class Squid extends AgeableWaterCreature {
|
||||||
@@ -653,7 +653,7 @@ index 6d6981635b4029a09ccc6115f0d17451089e09d4..cd1f9133775633eeeb12bbab0d4bb48f
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
diff --git a/net/minecraft/world/entity/animal/turtle/Turtle.java b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
index 1080f96351535e4caa29120c65727280e361a042..0481a0deeb6053ddc9be9bc835d2b95fba712982 100644
|
index 5cf4449f48c9f46cc277ce080992c8acaead4173..779ae828cee17430bfa5f469d88c69a8f121eb4e 100644
|
||||||
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
--- a/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
+++ b/net/minecraft/world/entity/animal/turtle/Turtle.java
|
||||||
@@ -127,6 +127,13 @@ public class Turtle extends Animal {
|
@@ -127,6 +127,13 @@ public class Turtle extends Animal {
|
||||||
@@ -689,7 +689,7 @@ index cdc12cabee85c7090ff317068a98b0acc973fdbe..af82e593ac58eaa0e7e8b4abd0d152cf
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index 7032f6b01ee36422952ce564a388c4e1ffeb05c5..44a9f5a1af987f4541a6848a92732df46dd1b2f5 100644
|
index 874d347797b1aea439dc5cde2d5da679479cc352..cc17c8d1615e6f5a0cf164e05abad566722444bd 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -228,6 +228,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -228,6 +228,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
@@ -725,10 +725,10 @@ index 7f0e76437798f1bab7956722382e1517f8f71121..257563b578762837cbea855fa42831f3
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
index 2d60c5e6426097302464e04bcfdd60abd08b96b9..56cfc2b7cf9bd7edc966f59de091d2793c6adfb3 100644
|
index 5b188b7121c62dc5c6ded6128e8f3b6a4d930fb0..9d8b9e3e21ee721f5ea9339143839eeaebd341ae 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -273,6 +273,13 @@ public class Creeper extends Monster {
|
@@ -272,6 +272,13 @@ public class Creeper extends Monster {
|
||||||
}
|
}
|
||||||
// Purpur end - Toggle for water sensitive mob damage
|
// Purpur end - Toggle for water sensitive mob damage
|
||||||
|
|
||||||
@@ -833,7 +833,7 @@ index 43ebfe06ce2a8c15787d72a8ef54cd6c7cac2bfc..07dfe0e6fd431b8417fc7f823962e4d4
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 100.0)
|
.add(Attributes.MAX_HEALTH, 100.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
diff --git a/net/minecraft/world/entity/monster/Guardian.java b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
index 04d092ad64f58b898f210266a2aba758ccc0577b..f7c67e129d70012705e8d649995b8f82bf7b0796 100644
|
index 6487f78d08d33dbbe325c148470850401b01d662..4e09d4f219a47de116e10821e79afaae66d01b4a 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Guardian.java
|
--- a/net/minecraft/world/entity/monster/Guardian.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
+++ b/net/minecraft/world/entity/monster/Guardian.java
|
||||||
@@ -104,6 +104,13 @@ public class Guardian extends Monster {
|
@@ -104,6 +104,13 @@ public class Guardian extends Monster {
|
||||||
@@ -941,7 +941,7 @@ index 584aee58a1319da937eeb78d3015bc48e705bd64..929bd327f01ed28462c4ce4e7d2f3e18
|
|||||||
final EntityType<Strider> ignoredType,
|
final EntityType<Strider> ignoredType,
|
||||||
final LevelAccessor level,
|
final LevelAccessor level,
|
||||||
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/net/minecraft/world/entity/monster/Vex.java b/net/minecraft/world/entity/monster/Vex.java
|
||||||
index e361d1ecf9e9a27491bb8195fee6272dc903615c..b93cc363a2d411f4ea2d70984fecc549417f098c 100644
|
index 59c643c01c83a082710fc418768f3812a19c0fdb..942adc01489e9f6864c77ed57cd8eeafb731c856 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Vex.java
|
--- a/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/net/minecraft/world/entity/monster/Vex.java
|
+++ b/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -119,6 +119,13 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
@@ -119,6 +119,13 @@ public class Vex extends Monster implements TraceableEntity, OwnableEntity {
|
||||||
@@ -1031,7 +1031,7 @@ index 3c09f472ba54f8929782ac6a080ceabf10f09699..1faab89a0c6febdbbb15c8f1345fbd8e
|
|||||||
public SoundEvent getHurtSound(final DamageSource source) {
|
public SoundEvent getHurtSound(final DamageSource source) {
|
||||||
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
|
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
|
||||||
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
index f777ed1de1ec159fed3019bd5bfb711b9aad6146..611501ed6a141bf656e69f9248794b499393cc43 100644
|
index 076a0ab563dd3b7e41eb6c7d229634a3b3016a15..ac302c326ea5dfa5826ff85197f147123b8a83bf 100644
|
||||||
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
|
||||||
@@ -172,6 +172,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
|
@@ -172,6 +172,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
|
||||||
@@ -1103,7 +1103,7 @@ index bfd1a61d43fcc1293592a6199d7bab0346f40c7f..05c0a84a2eb41ab9c19fd95e6745037d
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
index 18c177bd17873d87769dbcdd4ee3794fb828905c..9d6629c29dc471ef1db672cce4260a983d452cbd 100644
|
index 20881d924a4e69a2419b76e902f6e708bd2ac235..b0a79d1c96362e2a50d4b3215f7449a7a5fb6e04 100644
|
||||||
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
||||||
@@ -97,6 +97,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
@@ -97,6 +97,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||||
@@ -1139,7 +1139,7 @@ index db2ca5e6f5c5a0968e1fb76369ad2efdee57e480..d42afe275f7a917d5784da2838972dff
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
super.registerGoals();
|
super.registerGoals();
|
||||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index f7e8b26f3acaff88aeb3e2cde93ec7922859e1ae..9246caa06976c258c15c95b52a156aebf63d89d7 100644
|
index c9bbbaaaf21f5e08b5cf3f6befb03cbf79595ad3..e3ceb6f928fa428f80c6b2680564c8124b8e888d 100644
|
||||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -141,6 +141,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -141,6 +141,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -1175,7 +1175,7 @@ index 5f25162930b7d18385d84715f4f72962c1efa93d..ee1a87f7811d22b5b33b3ae6b22fc533
|
|||||||
return Monster.createMonsterAttributes()
|
return Monster.createMonsterAttributes()
|
||||||
.add(Attributes.MAX_HEALTH, 50.0)
|
.add(Attributes.MAX_HEALTH, 50.0)
|
||||||
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
index 0890eb175438eb1dd39ca511c9ac332ef2a32e02..675faf3f02447fd73f48acc08c4b224114a0dc2e 100644
|
index cd9bbc34fa32629065170154eee303a7db8e8ab8..f7fe246c39f8588037171f16b6cd80be87b21547 100644
|
||||||
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
||||||
@@ -58,6 +58,13 @@ public class Skeleton extends AbstractSkeleton {
|
@@ -58,6 +58,13 @@ public class Skeleton extends AbstractSkeleton {
|
||||||
@@ -1301,7 +1301,7 @@ index afca08cfa58a25a7fa257eebf66dd888ccc1c734..75b57de8caf55d795ce10e115d657998
|
|||||||
public boolean isSunSensitive() {
|
public boolean isSunSensitive() {
|
||||||
return this.shouldBurnInDay; // Purpur - moved to LivingEntity; keep methods for ABI compatibility - API for any mob to burn daylight
|
return this.shouldBurnInDay; // Purpur - moved to LivingEntity; keep methods for ABI compatibility - API for any mob to burn daylight
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
index f104394d49989fe80462602cb06b2f58c4282fbb..0671b7c2a77d1173d58812abcfcad2461a42d240 100644
|
index 947cfa465063246dfea805b0bdee1bed582b38aa..d4b92e44f9c211378f332398e2fc4233b55acf2d 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
||||||
@@ -160,6 +160,13 @@ public class Zombie extends Monster {
|
@@ -160,6 +160,13 @@ public class Zombie extends Monster {
|
||||||
@@ -1319,7 +1319,7 @@ index f104394d49989fe80462602cb06b2f58c4282fbb..0671b7c2a77d1173d58812abcfcad246
|
|||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||||
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
index b704a24142f79f40e72a2dd76d1448501d9f7f59..e4be264d71c7980047194a86c5681020e822a67a 100644
|
index 72b8fd534aa4b3d62e5f063bf51692a97a91156e..e797ac2444e7ec5c880db0a747ad301be5d3a94e 100644
|
||||||
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
||||||
@@ -140,6 +140,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -140,6 +140,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
private final LevelDebugSynchronizers debugSynchronizers = new LevelDebugSynchronizers(this);
|
private final LevelDebugSynchronizers debugSynchronizers = new LevelDebugSynchronizers(this);
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
@@ -644,8 +_,25 @@
|
@@ -646,8 +_,25 @@
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
this.tickTime = tickTime;
|
this.tickTime = tickTime;
|
||||||
this.server = server;
|
this.server = server;
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
ChunkGenerator generator = levelStem.generator();
|
ChunkGenerator generator = levelStem.generator();
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
// Paper start - per-world time
|
// Paper start - per-world time
|
||||||
@@ -739,6 +_,7 @@
|
@@ -741,6 +_,7 @@
|
||||||
this.chunkDataController = new ca.spottedleaf.moonrise.patches.chunk_system.io.datacontroller.ChunkDataController((ServerLevel)(Object)this, this.chunkTaskScheduler);
|
this.chunkDataController = new ca.spottedleaf.moonrise.patches.chunk_system.io.datacontroller.ChunkDataController((ServerLevel)(Object)this, this.chunkTaskScheduler);
|
||||||
// Paper end - rewrite chunk system
|
// Paper end - rewrite chunk system
|
||||||
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
|
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
@@ -807,7 +_,7 @@
|
@@ -809,7 +_,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
|
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
Optional<Holder<WorldClock>> defaultClock = this.dimensionType().defaultClock();
|
Optional<Holder<WorldClock>> defaultClock = this.dimensionType().defaultClock();
|
||||||
org.bukkit.event.world.ClockTimeSkipEvent event = null; // Paper - per-world time
|
org.bukkit.event.world.ClockTimeSkipEvent event = null; // Paper - per-world time
|
||||||
if (this.getGameRules().get(GameRules.ADVANCE_TIME) && defaultClock.isPresent()) {
|
if (this.getGameRules().get(GameRules.ADVANCE_TIME) && defaultClock.isPresent()) {
|
||||||
@@ -1048,9 +_,18 @@
|
@@ -1050,9 +_,18 @@
|
||||||
&& this.random.nextDouble() < difficulty.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01) // Paper - Configurable spawn chances for skeleton horses
|
&& this.random.nextDouble() < difficulty.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01) // Paper - Configurable spawn chances for skeleton horses
|
||||||
&& !this.getBlockState(pos.below()).is(BlockTags.LIGHTNING_RODS);
|
&& !this.getBlockState(pos.below()).is(BlockTags.LIGHTNING_RODS);
|
||||||
if (isTrap) {
|
if (isTrap) {
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
horse.setAge(0);
|
horse.setAge(0);
|
||||||
horse.setPos(pos.getX(), pos.getY(), pos.getZ());
|
horse.setPos(pos.getX(), pos.getY(), pos.getZ());
|
||||||
this.addFreshEntity(horse, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
this.addFreshEntity(horse, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
||||||
@@ -1085,9 +_,35 @@
|
@@ -1087,9 +_,35 @@
|
||||||
if (state.is(Blocks.SNOW)) {
|
if (state.is(Blocks.SNOW)) {
|
||||||
int currentLayers = state.getValue(SnowLayerBlock.LAYERS);
|
int currentLayers = state.getValue(SnowLayerBlock.LAYERS);
|
||||||
if (currentLayers < Math.min(maxHeight, 8)) {
|
if (currentLayers < Math.min(maxHeight, 8)) {
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(this, topPos, Blocks.SNOW.defaultBlockState(), Block.UPDATE_ALL, null); // CraftBukkit
|
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(this, topPos, Blocks.SNOW.defaultBlockState(), Block.UPDATE_ALL, null); // CraftBukkit
|
||||||
@@ -1108,7 +_,7 @@
|
@@ -1110,7 +_,7 @@
|
||||||
p -> p.is(PoiTypes.LIGHTNING_ROD),
|
p -> p.is(PoiTypes.LIGHTNING_ROD),
|
||||||
lightningRodPos -> lightningRodPos.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, lightningRodPos.getX(), lightningRodPos.getZ()) - 1,
|
lightningRodPos -> lightningRodPos.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, lightningRodPos.getX(), lightningRodPos.getZ()) - 1,
|
||||||
center,
|
center,
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
PoiManager.Occupancy.ANY
|
PoiManager.Occupancy.ANY
|
||||||
);
|
);
|
||||||
return nearbyLightningRod.map(blockPos -> blockPos.above(1));
|
return nearbyLightningRod.map(blockPos -> blockPos.above(1));
|
||||||
@@ -1156,8 +_,26 @@
|
@@ -1158,8 +_,26 @@
|
||||||
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
|
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
|
||||||
Component message;
|
Component message;
|
||||||
if (this.sleepStatus.areEnoughSleeping(percentage)) {
|
if (this.sleepStatus.areEnoughSleeping(percentage)) {
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
message = Component.translatable("sleep.players_sleeping", this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(percentage));
|
message = Component.translatable("sleep.players_sleeping", this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(percentage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1323,6 +_,7 @@
|
@@ -1325,6 +_,7 @@
|
||||||
public void resetWeatherCycle() {
|
public void resetWeatherCycle() {
|
||||||
WeatherData weatherData = this.getWeatherData();
|
WeatherData weatherData = this.getWeatherData();
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
weatherData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
|
weatherData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
|
||||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||||
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
||||||
@@ -1330,6 +_,7 @@
|
@@ -1332,6 +_,7 @@
|
||||||
weatherData.setRainTime(0);
|
weatherData.setRainTime(0);
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
weatherData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
|
weatherData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||||
@@ -2001,7 +_,7 @@
|
@@ -2003,7 +_,7 @@
|
||||||
Explosion.BlockInteraction blockInteraction = switch (interactionType) {
|
Explosion.BlockInteraction blockInteraction = switch (interactionType) {
|
||||||
case NONE -> Explosion.BlockInteraction.KEEP;
|
case NONE -> Explosion.BlockInteraction.KEEP;
|
||||||
case BLOCK -> this.getDestroyType(GameRules.BLOCK_EXPLOSION_DROP_DECAY);
|
case BLOCK -> this.getDestroyType(GameRules.BLOCK_EXPLOSION_DROP_DECAY);
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
? this.getDestroyType(GameRules.MOB_EXPLOSION_DROP_DECAY)
|
? this.getDestroyType(GameRules.MOB_EXPLOSION_DROP_DECAY)
|
||||||
: Explosion.BlockInteraction.KEEP;
|
: Explosion.BlockInteraction.KEEP;
|
||||||
case TNT -> this.getDestroyType(GameRules.TNT_EXPLOSION_DROP_DECAY);
|
case TNT -> this.getDestroyType(GameRules.TNT_EXPLOSION_DROP_DECAY);
|
||||||
@@ -2920,7 +_,7 @@
|
@@ -2922,7 +_,7 @@
|
||||||
// Spigot start
|
// Spigot start
|
||||||
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
||||||
// Paper start - Fix merchant inventory not closing on entity removal
|
// Paper start - Fix merchant inventory not closing on entity removal
|
||||||
|
|||||||
@@ -17,10 +17,10 @@
|
|||||||
+ this.tpsBar = input.getBooleanOr("Purpur.TPSBar", false); // Purpur - Implement TPSBar
|
+ this.tpsBar = input.getBooleanOr("Purpur.TPSBar", false); // Purpur - Implement TPSBar
|
||||||
+ this.compassBar = input.getBooleanOr("Purpur.CompassBar", false); // Purpur - Add compass command
|
+ this.compassBar = input.getBooleanOr("Purpur.CompassBar", false); // Purpur - Add compass command
|
||||||
+ this.ramBar = input.getBooleanOr("Purpur.RamBar", false); // Purpur - Implement rambar command
|
+ this.ramBar = input.getBooleanOr("Purpur.RamBar", false); // Purpur - Implement rambar command
|
||||||
// Paper start - Expand PlayerGameModeChangeEvent
|
this.loadGameTypes(input); // Paper - Expand PlayerGameModeChangeEvent
|
||||||
this.loadGameTypes(input);
|
this.setShoulderEntityLeft(input.read("ShoulderEntityLeft", CompoundTag.CODEC).orElseGet(CompoundTag::new));
|
||||||
}
|
this.setShoulderEntityRight(input.read("ShoulderEntityRight", CompoundTag.CODEC).orElseGet(CompoundTag::new));
|
||||||
@@ -557,6 +_,9 @@
|
@@ -558,6 +_,9 @@
|
||||||
output.store("ShoulderEntityRight", CompoundTag.CODEC, this.getShoulderEntityRight());
|
output.store("ShoulderEntityRight", CompoundTag.CODEC, this.getShoulderEntityRight());
|
||||||
}
|
}
|
||||||
this.getBukkitEntity().setExtraData(output); // CraftBukkit
|
this.getBukkitEntity().setExtraData(output); // CraftBukkit
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void saveParentVehicle(final ValueOutput playerOutput) {
|
private void saveParentVehicle(final ValueOutput playerOutput) {
|
||||||
@@ -1194,6 +_,7 @@
|
@@ -1185,6 +_,7 @@
|
||||||
// Paper - moved up to sendClientboundPlayerCombatKillPacket()
|
// Paper - moved up to sendClientboundPlayerCombatKillPacket()
|
||||||
this.sendClientboundPlayerCombatKillPacket(event.getShowDeathMessages(), deathScreenMessage); // Paper - Expand PlayerDeathEvent
|
this.sendClientboundPlayerCombatKillPacket(event.getShowDeathMessages(), deathScreenMessage); // Paper - Expand PlayerDeathEvent
|
||||||
Team team = this.getTeam();
|
Team team = this.getTeam();
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
if (team == null || team.getDeathMessageVisibility() == Team.Visibility.ALWAYS) {
|
if (team == null || team.getDeathMessageVisibility() == Team.Visibility.ALWAYS) {
|
||||||
this.server.getPlayerList().broadcastSystemMessage(deathMessage, false);
|
this.server.getPlayerList().broadcastSystemMessage(deathMessage, false);
|
||||||
} else if (team.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
} else if (team.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
||||||
@@ -1303,6 +_,13 @@
|
@@ -1294,6 +_,13 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
Entity entity = source.getEntity();
|
Entity entity = source.getEntity();
|
||||||
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
|
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
|
||||||
!(entity instanceof Player player && !this.canHarmPlayer(player))
|
!(entity instanceof Player player && !this.canHarmPlayer(player))
|
||||||
@@ -1544,7 +_,7 @@
|
@@ -1535,7 +_,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newLevel.dimension() == lastDimension) {
|
if (newLevel.dimension() == lastDimension) {
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
this.connection.resetPosition();
|
this.connection.resetPosition();
|
||||||
transition.postTeleportTransition().onTransition(this);
|
transition.postTeleportTransition().onTransition(this);
|
||||||
return this;
|
return this;
|
||||||
@@ -1567,6 +_,7 @@
|
@@ -1558,6 +_,7 @@
|
||||||
|
|
||||||
profiler.pop();
|
profiler.pop();
|
||||||
profiler.push("placing");
|
profiler.push("placing");
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
this.setServerLevel(newLevel);
|
this.setServerLevel(newLevel);
|
||||||
this.connection.internalTeleport(PositionMoveRotation.of(transition), transition.relatives()); // CraftBukkit - use internal teleport without event
|
this.connection.internalTeleport(PositionMoveRotation.of(transition), transition.relatives()); // CraftBukkit - use internal teleport without event
|
||||||
this.connection.resetPosition();
|
this.connection.resetPosition();
|
||||||
@@ -1679,7 +_,7 @@
|
@@ -1670,7 +_,7 @@
|
||||||
new AABB(bedCenter.x() - 8.0, bedCenter.y() - 5.0, bedCenter.z() - 8.0, bedCenter.x() + 8.0, bedCenter.y() + 5.0, bedCenter.z() + 8.0),
|
new AABB(bedCenter.x() - 8.0, bedCenter.y() - 5.0, bedCenter.z() - 8.0, bedCenter.x() + 8.0, bedCenter.y() + 5.0, bedCenter.z() + 8.0),
|
||||||
monster -> monster.isPreventingPlayerRest(this.level(), this)
|
monster -> monster.isPreventingPlayerRest(this.level(), this)
|
||||||
);
|
);
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
return Either.left(Player.BedSleepingProblem.NOT_SAFE);
|
return Either.left(Player.BedSleepingProblem.NOT_SAFE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1715,7 +_,17 @@
|
@@ -1706,7 +_,17 @@
|
||||||
CriteriaTriggers.SLEPT_IN_BED.trigger(this);
|
CriteriaTriggers.SLEPT_IN_BED.trigger(this);
|
||||||
});
|
});
|
||||||
if (!this.level().canSleepThroughNights()) {
|
if (!this.level().canSleepThroughNights()) {
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.level().updateSleepingPlayerList();
|
this.level().updateSleepingPlayerList();
|
||||||
@@ -1810,6 +_,7 @@
|
@@ -1801,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openTextEdit(final SignBlockEntity sign, final boolean isFrontText) {
|
public void openTextEdit(final SignBlockEntity sign, final boolean isFrontText) {
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level(), sign.getBlockPos()));
|
this.connection.send(new ClientboundBlockUpdatePacket(this.level(), sign.getBlockPos()));
|
||||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos(), isFrontText));
|
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos(), isFrontText));
|
||||||
}
|
}
|
||||||
@@ -2154,6 +_,26 @@
|
@@ -2145,6 +_,26 @@
|
||||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public void completeUsingItem() {
|
public void completeUsingItem() {
|
||||||
if (!this.useItem.isEmpty() && this.isUsingItem()) {
|
if (!this.useItem.isEmpty() && this.isUsingItem()) {
|
||||||
@@ -2391,6 +_,20 @@
|
@@ -2382,6 +_,20 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public void sendSystemMessage(final Component message) {
|
public void sendSystemMessage(final Component message) {
|
||||||
this.sendSystemMessage(message, false);
|
this.sendSystemMessage(message, false);
|
||||||
@@ -2542,7 +_,67 @@
|
@@ -2533,7 +_,67 @@
|
||||||
|
|
||||||
public void resetLastActionTime() {
|
public void resetLastActionTime() {
|
||||||
this.lastActionTime = Util.getMillis();
|
this.lastActionTime = Util.getMillis();
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
|
|
||||||
public ServerStatsCounter getStats() {
|
public ServerStatsCounter getStats() {
|
||||||
return this.stats;
|
return this.stats;
|
||||||
@@ -3167,4 +_,65 @@
|
@@ -3158,4 +_,65 @@
|
||||||
return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity();
|
return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity();
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -357,6 +_,20 @@
|
@@ -356,6 +_,20 @@
|
||||||
}
|
}
|
||||||
// Paper end - configuration phase API
|
// Paper end - configuration phase API
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public void tick() {
|
public void tick() {
|
||||||
if (this.ackBlockChangesUpTo > -1) {
|
if (this.ackBlockChangesUpTo > -1) {
|
||||||
@@ -375,6 +_,12 @@
|
@@ -374,6 +_,12 @@
|
||||||
&& this.server.playerIdleTimeout() > 0
|
&& this.server.playerIdleTimeout() > 0
|
||||||
&& Util.getMillis() - this.player.getLastActionTime() > TimeUnit.MINUTES.toMillis(this.server.playerIdleTimeout())
|
&& Util.getMillis() - this.player.getLastActionTime() > TimeUnit.MINUTES.toMillis(this.server.playerIdleTimeout())
|
||||||
&& !this.player.wonGame) {
|
&& !this.player.wonGame) {
|
||||||
@@ -34,16 +34,16 @@
|
|||||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -696,6 +_,8 @@
|
@@ -695,6 +_,8 @@
|
||||||
this.lastYaw = to.getYaw();
|
this.lastYRot = to.getYaw();
|
||||||
this.lastPitch = to.getPitch();
|
this.lastXRot = to.getPitch();
|
||||||
|
|
||||||
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetLastActionTime(); // Purpur - AFK API
|
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetLastActionTime(); // Purpur - AFK API
|
||||||
+
|
+
|
||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||||
this.cserver.getPluginManager().callEvent(event);
|
this.cserver.getPluginManager().callEvent(event);
|
||||||
@@ -775,6 +_,7 @@
|
@@ -774,6 +_,7 @@
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
if (packet.getId() == this.awaitingTeleport) {
|
if (packet.getId() == this.awaitingTeleport) {
|
||||||
if (this.awaitingPositionFromClient == null) {
|
if (this.awaitingPositionFromClient == null) {
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1346,6 +_,10 @@
|
@@ -1345,6 +_,10 @@
|
||||||
final int maxBookPageSize = pageMax.intValue();
|
final int maxBookPageSize = pageMax.intValue();
|
||||||
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
||||||
long byteAllowed = maxBookPageSize;
|
long byteAllowed = maxBookPageSize;
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
for (final String page : pageList) {
|
for (final String page : pageList) {
|
||||||
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||||
byteTotal += byteLength;
|
byteTotal += byteLength;
|
||||||
@@ -1370,7 +_,8 @@
|
@@ -1369,7 +_,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (byteTotal > byteAllowed) {
|
if (byteTotal > byteAllowed) {
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1389,31 +_,45 @@
|
@@ -1388,31 +_,45 @@
|
||||||
Optional<String> title = packet.title();
|
Optional<String> title = packet.title();
|
||||||
title.ifPresent(contents::add);
|
title.ifPresent(contents::add);
|
||||||
contents.addAll(packet.pages());
|
contents.addAll(packet.pages());
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
writtenBook.set(
|
writtenBook.set(
|
||||||
DataComponents.WRITTEN_BOOK_CONTENT, new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getPlainTextName(), 0, pages, true)
|
DataComponents.WRITTEN_BOOK_CONTENT, new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getPlainTextName(), 0, pages, true)
|
||||||
);
|
);
|
||||||
@@ -1426,6 +_,16 @@
|
@@ -1425,6 +_,16 @@
|
||||||
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(text.filteredOrEmpty()) : Filterable.from(text);
|
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(text.filteredOrEmpty()) : Filterable.from(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public void handleEntityTagQuery(final ServerboundEntityTagQueryPacket packet) {
|
public void handleEntityTagQuery(final ServerboundEntityTagQueryPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
@@ -1465,7 +_,15 @@
|
@@ -1464,7 +_,15 @@
|
||||||
@Override
|
@Override
|
||||||
public void handleMovePlayer(final ServerboundMovePlayerPacket packet) {
|
public void handleMovePlayer(final ServerboundMovePlayerPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
} else {
|
} else {
|
||||||
ServerLevel level = this.player.level();
|
ServerLevel level = this.player.level();
|
||||||
@@ -1650,7 +_,7 @@
|
@@ -1633,7 +_,7 @@
|
||||||
movedWrongly = true;
|
movedWrongly = true;
|
||||||
if (event.getLogWarning())
|
if (event.getLogWarning())
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -165,16 +165,16 @@
|
|||||||
} // Paper
|
} // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1715,6 +_,8 @@
|
@@ -1685,6 +_,8 @@
|
||||||
this.lastYaw = to.getYaw();
|
this.lastYRot = to.getYaw();
|
||||||
this.lastPitch = to.getPitch();
|
this.lastXRot = to.getPitch();
|
||||||
|
|
||||||
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetLastActionTime(); // Purpur - AFK API
|
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetLastActionTime(); // Purpur - AFK API
|
||||||
+
|
+
|
||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||||
this.cserver.getPluginManager().callEvent(event);
|
this.cserver.getPluginManager().callEvent(event);
|
||||||
@@ -1770,6 +_,13 @@
|
@@ -1740,6 +_,13 @@
|
||||||
this.player.tryResetCurrentImpulseContext();
|
this.player.tryResetCurrentImpulseContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
this.player.checkMovementStatistics(this.player.getX() - startX, this.player.getY() - startY, this.player.getZ() - startZ);
|
this.player.checkMovementStatistics(this.player.getX() - startX, this.player.getY() - startY, this.player.getZ() - startZ);
|
||||||
this.lastGoodX = this.player.getX();
|
this.lastGoodX = this.player.getX();
|
||||||
this.lastGoodY = this.player.getY();
|
this.lastGoodY = this.player.getY();
|
||||||
@@ -1790,6 +_,17 @@
|
@@ -1760,6 +_,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
private boolean shouldCheckPlayerMovement(final boolean isFallFlying) {
|
private boolean shouldCheckPlayerMovement(final boolean isFallFlying) {
|
||||||
if (this.isSingleplayerOwner()) {
|
if (this.isSingleplayerOwner()) {
|
||||||
return false;
|
return false;
|
||||||
@@ -2231,6 +_,7 @@
|
@@ -2201,6 +_,7 @@
|
||||||
|
|
||||||
boolean cancelled;
|
boolean cancelled;
|
||||||
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
|
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemStack, hand);
|
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemStack, hand);
|
||||||
cancelled = event.useItemInHand() == Event.Result.DENY;
|
cancelled = event.useItemInHand() == Event.Result.DENY;
|
||||||
} else {
|
} else {
|
||||||
@@ -2874,6 +_,7 @@
|
@@ -2844,6 +_,7 @@
|
||||||
ItemStack mainHandItem = this.player.getMainHandItem();
|
ItemStack mainHandItem = this.player.getMainHandItem();
|
||||||
if (this.player.isWithinAttackRange(mainHandItem, targetBounds, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience
|
if (this.player.isWithinAttackRange(mainHandItem, targetBounds, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience
|
||||||
if (!mainHandItem.has(DataComponents.PIERCING_WEAPON)) {
|
if (!mainHandItem.has(DataComponents.PIERCING_WEAPON)) {
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
if (target instanceof ItemEntity
|
if (target instanceof ItemEntity
|
||||||
|| target instanceof ExperienceOrb
|
|| target instanceof ExperienceOrb
|
||||||
|| target == this.player
|
|| target == this.player
|
||||||
@@ -3656,7 +_,7 @@
|
@@ -3626,7 +_,7 @@
|
||||||
@Override
|
@Override
|
||||||
public void handleChangeGameMode(final ServerboundChangeGameModePacket packet) {
|
public void handleChangeGameMode(final ServerboundChangeGameModePacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
--- a/net/minecraft/world/effect/SaturationMobEffect.java
|
--- a/net/minecraft/world/effect/SaturationMobEffect.java
|
||||||
+++ b/net/minecraft/world/effect/SaturationMobEffect.java
|
+++ b/net/minecraft/world/effect/SaturationMobEffect.java
|
||||||
@@ -16,7 +_,8 @@
|
@@ -16,7 +_,8 @@
|
||||||
int oldFoodLevel = player.getFoodData().foodLevel;
|
int oldFoodLevel = player.getFoodData().getFoodLevel();
|
||||||
org.bukkit.event.entity.FoodLevelChangeEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callFoodLevelChangeEvent(player, amplification + 1 + oldFoodLevel);
|
org.bukkit.event.entity.FoodLevelChangeEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callFoodLevelChangeEvent(player, amplification + 1 + oldFoodLevel);
|
||||||
if (!event.isCancelled()) {
|
if (!event.isCancelled()) {
|
||||||
- player.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F);
|
- player.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F);
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
public double zOld;
|
public double zOld;
|
||||||
+ public float maxUpStep; // Purpur - Add option to set armorstand step height
|
+ public float maxUpStep; // Purpur - Add option to set armorstand step height
|
||||||
public boolean noPhysics;
|
public boolean noPhysics;
|
||||||
- public final RandomSource random = SHARED_RANDOM; // Paper - Share random for entities to make them more random
|
- protected final RandomSource random = SHARED_RANDOM; // Paper - Share random for entities to make them more random
|
||||||
+ public final RandomSource random; // Paper - Share random for entities to make them more random // Purpur - Add toggle for RNG manipulation
|
+ public final RandomSource random; // Paper - Share random for entities to make them more random // Purpur - Add toggle for RNG manipulation
|
||||||
public int tickCount;
|
public int tickCount;
|
||||||
private int remainingFireTicks;
|
private int remainingFireTicks;
|
||||||
private final EntityFluidInteraction fluidInteraction = new EntityFluidInteraction(Set.of(FluidTags.WATER, FluidTags.LAVA));
|
private final EntityFluidInteraction fluidInteraction = new EntityFluidInteraction(Set.of(FluidTags.WATER, FluidTags.LAVA));
|
||||||
@@ -331,8 +_,8 @@
|
@@ -331,8 +_,8 @@
|
||||||
public @Nullable PortalProcessor portalProcess;
|
public @Nullable PortalProcessor portalProcess;
|
||||||
public int portalCooldown;
|
private int portalCooldown;
|
||||||
private boolean invulnerable;
|
private boolean invulnerable;
|
||||||
- protected UUID uuid = Mth.createInsecureUUID(this.random);
|
- protected UUID uuid = Mth.createInsecureUUID(this.random);
|
||||||
- protected String stringUUID = this.uuid.toString();
|
- protected String stringUUID = this.uuid.toString();
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||||
// Paper end - Configurable nether ceiling damage
|
// Paper end - Configurable nether ceiling damage
|
||||||
+ if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(this.level.levelData.getRespawnData().pos(), this.level)); else // Purpur - Add option to teleport to spawn on nether ceiling damage
|
+ if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(this.level.getLevelData().getRespawnData().pos(), this.level)); else // Purpur - Add option to teleport to spawn on nether ceiling damage
|
||||||
this.onBelowWorld();
|
this.onBelowWorld();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
if (damagePerBlock > 0.0) {
|
if (damagePerBlock > 0.0) {
|
||||||
+ // Purpur start - Add option to teleport to spawn if outside world border
|
+ // Purpur start - Add option to teleport to spawn if outside world border
|
||||||
+ if (this.level().purpurConfig.teleportIfOutsideBorder && this instanceof ServerPlayer serverPlayer) {
|
+ if (this.level().purpurConfig.teleportIfOutsideBorder && this instanceof ServerPlayer serverPlayer) {
|
||||||
+ serverPlayer.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(this.level().levelData.getRespawnData().pos(), this.level()));
|
+ serverPlayer.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(this.level().getLevelData().getRespawnData().pos(), this.level()));
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Add option to teleport to spawn if outside world border
|
+ // Purpur end - Add option to teleport to spawn if outside world border
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1070,14 +_,32 @@
|
@@ -1046,14 +_,32 @@
|
||||||
|
|
||||||
if (targetingEntity != null) {
|
if (targetingEntity != null) {
|
||||||
ItemStack itemStack = this.getItemBySlot(EquipmentSlot.HEAD);
|
ItemStack itemStack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
|
|
||||||
return visibilityPercent;
|
return visibilityPercent;
|
||||||
}
|
}
|
||||||
@@ -1127,6 +_,7 @@
|
@@ -1103,6 +_,7 @@
|
||||||
Iterator<MobEffectInstance> iterator = this.activeEffects.values().iterator();
|
Iterator<MobEffectInstance> iterator = this.activeEffects.values().iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
MobEffectInstance effect = iterator.next();
|
MobEffectInstance effect = iterator.next();
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
EntityPotionEffectEvent event = CraftEventFactory.callEntityPotionEffectChangeEvent(this, effect, null, cause, EntityPotionEffectEvent.Action.CLEARED);
|
EntityPotionEffectEvent event = CraftEventFactory.callEntityPotionEffectChangeEvent(this, effect, null, cause, EntityPotionEffectEvent.Action.CLEARED);
|
||||||
if (event.isCancelled()) {
|
if (event.isCancelled()) {
|
||||||
continue;
|
continue;
|
||||||
@@ -1459,7 +_,23 @@
|
@@ -1441,7 +_,23 @@
|
||||||
this.stopSleeping();
|
this.stopSleeping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
if (damage < 0.0F) {
|
if (damage < 0.0F) {
|
||||||
damage = 0.0F;
|
damage = 0.0F;
|
||||||
}
|
}
|
||||||
@@ -1722,10 +_,10 @@
|
@@ -1704,10 +_,10 @@
|
||||||
protected @Nullable Player resolvePlayerResponsibleForDamage(final DamageSource source) {
|
protected @Nullable Player resolvePlayerResponsibleForDamage(final DamageSource source) {
|
||||||
Entity sourceEntity = source.getEntity();
|
Entity sourceEntity = source.getEntity();
|
||||||
if (sourceEntity instanceof Player playerSource) {
|
if (sourceEntity instanceof Player playerSource) {
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
} else {
|
} else {
|
||||||
this.lastHurtByPlayer = null;
|
this.lastHurtByPlayer = null;
|
||||||
this.lastHurtByPlayerMemoryTime = 0;
|
this.lastHurtByPlayerMemoryTime = 0;
|
||||||
@@ -1777,6 +_,17 @@
|
@@ -1759,6 +_,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
final org.bukkit.inventory.EquipmentSlot handSlot = (usedHand != null) ? org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(usedHand) : null;
|
final org.bukkit.inventory.EquipmentSlot handSlot = (usedHand != null) ? org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(usedHand) : null;
|
||||||
final EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
final EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
||||||
event.setCancelled(protectionItem == null);
|
event.setCancelled(protectionItem == null);
|
||||||
@@ -1930,8 +_,10 @@
|
@@ -1912,8 +_,10 @@
|
||||||
protected void dropAllDeathLoot(final ServerLevel level, final DamageSource source) {
|
protected void dropAllDeathLoot(final ServerLevel level, final DamageSource source) {
|
||||||
boolean playerKilled = this.lastHurtByPlayerMemoryTime > 0;
|
boolean playerKilled = this.lastHurtByPlayerMemoryTime > 0;
|
||||||
if (this.shouldDropLoot(level)) {
|
if (this.shouldDropLoot(level)) {
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.dropEquipment(level);
|
this.dropEquipment(level);
|
||||||
@@ -3280,6 +_,7 @@
|
@@ -3262,6 +_,7 @@
|
||||||
float dmg = (float)(diff * 10.0 - 3.0);
|
float dmg = (float)(diff * 10.0 - 3.0);
|
||||||
if (dmg > 0.0F) {
|
if (dmg > 0.0F) {
|
||||||
this.playSound(this.getFallDamageSound((int)dmg), 1.0F, 1.0F);
|
this.playSound(this.getFallDamageSound((int)dmg), 1.0F, 1.0F);
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
this.hurt(this.damageSources().flyIntoWall(), dmg);
|
this.hurt(this.damageSources().flyIntoWall(), dmg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4773,6 +_,12 @@
|
@@ -4755,6 +_,12 @@
|
||||||
? slot == EquipmentSlot.MAINHAND && this.canUseSlot(EquipmentSlot.MAINHAND)
|
? slot == EquipmentSlot.MAINHAND && this.canUseSlot(EquipmentSlot.MAINHAND)
|
||||||
: slot == equippable.slot() && this.canUseSlot(equippable.slot()) && equippable.canBeEquippedBy(this.typeHolder());
|
: slot == equippable.slot() && this.canUseSlot(equippable.slot()) && equippable.canBeEquippedBy(this.typeHolder());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
xpCount = 12000;
|
xpCount = 12000;
|
||||||
}
|
}
|
||||||
xpCount = this.expToDrop; // CraftBukkit - SPIGOT-2420: Moved up to #getExpReward method
|
xpCount = this.expToDrop; // CraftBukkit - SPIGOT-2420: Moved up to #getExpReward method
|
||||||
@@ -960,6 +_,7 @@
|
@@ -965,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean canRide(final Entity vehicle) {
|
protected boolean canRide(final Entity vehicle) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
|
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
|
||||||
@@ -579,6 +_,7 @@
|
@@ -584,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean canRide(final Entity vehicle) {
|
protected boolean canRide(final Entity vehicle) {
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -56,6 +_,7 @@
|
@@ -56,6 +_,7 @@
|
||||||
public int explosionRadius = 3;
|
public int explosionRadius = 3;
|
||||||
public boolean droppedSkulls;
|
private boolean droppedSkulls;
|
||||||
public @Nullable Entity entityIgniter; // CraftBukkit
|
public @Nullable Entity entityIgniter; // CraftBukkit
|
||||||
+ private boolean exploding = false; // Purpur - Config to make Creepers explode on death
|
+ private boolean exploding = false; // Purpur - Config to make Creepers explode on death
|
||||||
|
|
||||||
public Creeper(final EntityType<? extends Creeper> type, final Level level) {
|
public Creeper(final EntityType<? extends Creeper> type, final Level level) {
|
||||||
super(type, level);
|
super(type, level);
|
||||||
@@ -159,6 +_,27 @@
|
@@ -159,6 +_,26 @@
|
||||||
return false; // CraftBukkit
|
return false; // CraftBukkit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,11 +25,10 @@
|
|||||||
+
|
+
|
||||||
+ // Purpur start - Config to make Creepers explode on death
|
+ // Purpur start - Config to make Creepers explode on death
|
||||||
+ @Override
|
+ @Override
|
||||||
+ protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(ServerLevel world, DamageSource damageSource) {
|
+ protected void dropAllDeathLoot(final ServerLevel level, final DamageSource source) {
|
||||||
+ if (!this.exploding && this.level().purpurConfig.creeperExplodeWhenKilled && damageSource.getEntity() instanceof net.minecraft.server.level.ServerPlayer) {
|
+ if (!this.exploding && this.level().purpurConfig.creeperExplodeWhenKilled && source.getEntity() instanceof net.minecraft.server.level.ServerPlayer) {
|
||||||
+ this.explodeCreeper();
|
+ this.explodeCreeper();
|
||||||
+ }
|
+ }
|
||||||
+ return super.dropAllDeathLoot(world, damageSource);
|
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Config to make Creepers explode on death
|
+ // Purpur end - Config to make Creepers explode on death
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
+++ b/net/minecraft/world/entity/projectile/arrow/AbstractArrow.java
|
+++ b/net/minecraft/world/entity/projectile/arrow/AbstractArrow.java
|
||||||
@@ -79,6 +_,7 @@
|
@@ -79,6 +_,7 @@
|
||||||
private @Nullable List<Entity> piercedAndKilledEntities;
|
private @Nullable List<Entity> piercedAndKilledEntities;
|
||||||
public ItemStack pickupItemStack = this.getDefaultPickupItem();
|
private ItemStack pickupItemStack = this.getDefaultPickupItem();
|
||||||
public @Nullable ItemStack firedFromWeapon = null;
|
public @Nullable ItemStack firedFromWeapon = null;
|
||||||
+ public net.minecraft.world.item.enchantment.ItemEnchantments actualEnchantments = net.minecraft.world.item.enchantment.ItemEnchantments.EMPTY; // Purpur - Add an option to fix MC-3304 projectile looting
|
+ public net.minecraft.world.item.enchantment.ItemEnchantments actualEnchantments = net.minecraft.world.item.enchantment.ItemEnchantments.EMPTY; // Purpur - Add an option to fix MC-3304 projectile looting
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
@@ -348,6 +_,7 @@
|
@@ -348,6 +_,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isBlockedChestByBlock(final BlockGetter level, final BlockPos pos) {
|
private static boolean isBlockedChestByBlock(final BlockGetter level, final BlockPos pos) {
|
||||||
+ if (level instanceof Level level1 && level1.purpurConfig.chestOpenWithBlockOnTop) return false; // Purpur - Option for chests to open even with a solid block on top
|
+ if (level instanceof Level level1 && level1.purpurConfig.chestOpenWithBlockOnTop) return false; // Purpur - Option for chests to open even with a solid block on top
|
||||||
BlockPos above = pos.above();
|
BlockPos above = pos.above();
|
||||||
return level.getBlockState(above).isRedstoneConductor(level, above);
|
return level.getBlockState(above).isRedstoneConductor(level, above);
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Ridables
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
index de6fe0b783a145f6571bf73665e7107430f22592..612e3457d537d6129437443753cad3e48590d542 100644
|
index 58f49ecba21b2cc06dfe5c0aa931bfef6aece46f..de9bdce25392d8df4cdf2037d4fad07b469a7d9e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
@@ -1344,4 +1344,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
@@ -1341,4 +1341,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
|
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ index de6fe0b783a145f6571bf73665e7107430f22592..612e3457d537d6129437443753cad3e4
|
|||||||
+ // Purpur end - Ridables
|
+ // Purpur end - Ridables
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
index 72bc687efb64e0b3b3802775b2d1b8b133b092fb..dfe878e2bcbf10c8b148b755db3e3ba05b575d8f 100644
|
index a5ea91906abebf44cfbfa120c535b8c391ab1acd..f3fd610c520dfe4b854a0cca7df0f4e3e1ef0da2 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
@@ -656,6 +656,15 @@ public class CraftEventFactory {
|
@@ -656,6 +656,15 @@ public class CraftEventFactory {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
Co-authored by: Encode42 <me@encode42.dev>
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
index 612e3457d537d6129437443753cad3e48590d542..a188eb750d6371f7e550a8971135a81de5823032 100644
|
index de9bdce25392d8df4cdf2037d4fad07b469a7d9e..71d14d016e97e3fb93d2c10862afd0c314b9a367 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
@@ -127,6 +127,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
@@ -127,6 +127,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
@@ -24,10 +24,10 @@ index 612e3457d537d6129437443753cad3e48590d542..a188eb750d6371f7e550a8971135a81d
|
|||||||
Preconditions.checkArgument(entity != null, "Unknown entity");
|
Preconditions.checkArgument(entity != null, "Unknown entity");
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
index 033f0bc33c7a1fb5d16f354953242f9eeb30d309..46b1ee090e483206846fddc1cd273b389753b042 100644
|
index eb8d43f86726bc3c4d917f9244a71effd6203337..a7fd65554e269615fd3502b9232a91c542307c88 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -1138,4 +1138,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
@@ -1137,4 +1137,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
manager.untrackWaypoint(getHandle());
|
manager.untrackWaypoint(getHandle());
|
||||||
manager.trackWaypoint(getHandle());
|
manager.trackWaypoint(getHandle());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -1951,6 +_,52 @@
|
@@ -1944,6 +_,52 @@
|
||||||
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
|
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
@@ -88,7 +_,7 @@
|
@@ -88,7 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) {
|
public void sendMessage(final net.kyori.adventure.text.Component message) {
|
||||||
- this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));
|
- this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));
|
||||||
+ this.sendMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message)); // Purpur - Rebrand
|
+ this.sendMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message)); // Purpur - Rebrand
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
- this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name);
|
- this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name);
|
||||||
+ this.getHandle().listName = name.equals(this.getName()) ? null : useMM ? io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(name)) : CraftChatMessage.fromStringOrNull(name); // Purpur - AFK API
|
+ this.getHandle().listName = name.equals(this.getName()) ? null : useMM ? io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(name)) : CraftChatMessage.fromStringOrNull(name); // Purpur - AFK API
|
||||||
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
||||||
for (ServerPlayer player : this.server.getHandle().players) {
|
for (ServerPlayer player : this.server.getHandle().getPlayers()) {
|
||||||
if (player.getBukkitEntity().canSee(this)) {
|
if (player.getBukkitEntity().canSee(this)) {
|
||||||
@@ -987,6 +_,80 @@
|
@@ -987,6 +_,80 @@
|
||||||
}
|
}
|
||||||
@@ -98,9 +98,9 @@
|
|||||||
@Override
|
@Override
|
||||||
public void sendBlockDamage(Location loc, float progress, org.bukkit.entity.Entity source) {
|
public void sendBlockDamage(Location loc, float progress, org.bukkit.entity.Entity source) {
|
||||||
Preconditions.checkArgument(source != null, "source must not be null");
|
Preconditions.checkArgument(source != null, "source must not be null");
|
||||||
@@ -2491,6 +_,28 @@
|
@@ -2490,6 +_,28 @@
|
||||||
public float getWalkSpeed() {
|
public float getWalkSpeed() {
|
||||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
return this.getHandle().getAbilities().getWalkingSpeed() * 2.0F;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ // Purpur start - OfflinePlayer API
|
+ // Purpur start - OfflinePlayer API
|
||||||
@@ -126,4 +126,4 @@
|
|||||||
+ // Purpur end - OfflinePlayer API
|
+ // Purpur end - OfflinePlayer API
|
||||||
|
|
||||||
private void validateSpeed(float value) {
|
private void validateSpeed(float value) {
|
||||||
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
Preconditions.checkArgument(value <= 1.0F && value >= -1.0F, "Speed value (%s) need to be between -1 and 1", value);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||||
@@ -92,4 +_,18 @@
|
@@ -89,4 +_,18 @@
|
||||||
public void enterInvulnerabilityPhase() {
|
public void enterInvulnerabilityPhase() {
|
||||||
this.getHandle().makeInvulnerable();
|
this.getHandle().makeInvulnerable();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
- logger.log(Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):"); // Paper
|
- logger.log(Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):"); // Paper
|
||||||
+ logger.log(Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):"); // Paper // Purpur - Rebrand
|
+ logger.log(Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):"); // Paper // Purpur - Rebrand
|
||||||
FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information
|
FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information
|
||||||
WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.threadId(), Integer.MAX_VALUE), logger);
|
WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().getRunningThread().threadId(), Integer.MAX_VALUE), logger);
|
||||||
logger.log(Level.SEVERE, "------------------------------");
|
logger.log(Level.SEVERE, "------------------------------");
|
||||||
@@ -120,7 +_,7 @@
|
@@ -120,7 +_,7 @@
|
||||||
WatchdogThread.dumpThread(thread, logger);
|
WatchdogThread.dumpThread(thread, logger);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class WaterMoveControllerWASD<T extends Mob> extends MoveControllerWASD<T
|
|||||||
vertical = 0.0F;
|
vertical = 0.0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rider.jumping && spacebarEvent(entity)) {
|
if (rider.isJumping() && spacebarEvent(entity)) {
|
||||||
entity.onSpacebar();
|
entity.onSpacebar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user