mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@71c84c8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277) PaperMC/Paper@e3bc4c4 Make debug mode print current configuration phase PaperMC/Paper@d0ebfbb Fix corrupted plugin.yml breaking plugin loading (#10279) PaperMC/Paper@681bbff Fix spawnreason saving
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
||||
version = 1.20.4-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion = 1.20.4
|
||||
paperCommit = 3ea95efdebba7254e842dec66214f71de4721993
|
||||
paperCommit = 681bbff110d9a56152ae898c4dfe1c0356b40e69
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c9ea26d2c 100644
|
||||
index 241808d8619e17c0681f79acbbc98af5bf52dd89..12b774464e8de3a07993be23e233d31e11ede7b1 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
@@ -52,7 +52,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
@@ -58,6 +69,14 @@ dependencies {
|
||||
@@ -59,6 +70,14 @@ dependencies {
|
||||
}
|
||||
|
||||
val craftbukkitPackageVersion = "1_20_R3" // Paper
|
||||
@@ -67,7 +67,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
|
||||
tasks.jar {
|
||||
archiveClassifier.set("dev")
|
||||
|
||||
@@ -70,7 +89,7 @@ tasks.jar {
|
||||
@@ -71,7 +90,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -76,7 +76,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -210,7 +229,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
|
||||
@@ -211,7 +230,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
|
||||
}
|
||||
tasks.registerRunTask("runDev") {
|
||||
description = "Spin up a non-relocated Mojang-mapped test server"
|
||||
@@ -1560,7 +1560,7 @@ index 68d268b6fff126e8645b6deec3fb549ea2286b77..435b129c433704c24828d8fb57e14333
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 5a7278b093e37b95fb005ad5cc3cac90ac36f8fb..28d05b46952397bb664a1c8dae71816cafee89ce 100644
|
||||
index 12109446fc76a39faee6cda042ca48b3fd3809f4..1081e9df44bb24b2c51ebd9364c21c7b2a3a205a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1738,7 +1738,7 @@ index 529ab44baaf573b97cf7e89560c548642733188f..db55ad9aaabfa1ea998754f3ac352d16
|
||||
this.wasOnGround = this.entity.onGround();
|
||||
this.teleportDelay = 0;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b89b090c0 100644
|
||||
index 6907d1be36fbdf0856c0e11983218d2fd1f9cb46..531c9ef0d6504fc1632b83bd93b9cf76e91377e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -894,6 +894,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1794,7 +1794,7 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b
|
||||
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ab5b259d8f72022c875cae73be25fe2da346c6b3..90910646031a73e1254fb844efdb9c8e32ec4233 100644
|
||||
index 87e5ee042ab2c052d25ab4c2521a68cf2e2d67b6..601ac8738a775eafde2c9e237feb596a9a47ba89 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1135,6 +1135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1918,10 +1918,10 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
|
||||
int LARGE_MAX_STACK_SIZE = 64;
|
||||
int DEFAULT_DISTANCE_LIMIT = 8;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999 100644
|
||||
index 45439b0cc4ea69e409fd41d4684403c0e0feab12..098c410f0285948d7ac48835c352f9c97742c5c7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public double yo;
|
||||
public double zo;
|
||||
private Vec3 position;
|
||||
@@ -1930,7 +1930,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
|
||||
private ChunkPos chunkPosition;
|
||||
private Vec3 deltaMovement;
|
||||
private float yRot;
|
||||
@@ -423,6 +423,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -424,6 +424,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
private UUID originWorld;
|
||||
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||
public boolean fixedPose = false; // Paper - Expand Pose API
|
||||
@@ -1940,7 +1940,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -807,6 +810,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -820,6 +823,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public void tick() {
|
||||
@@ -1953,7 +1953,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
|
||||
this.baseTick();
|
||||
}
|
||||
|
||||
@@ -4405,16 +4414,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -4421,16 +4430,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
@@ -1979,7 +1979,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
|
||||
double d1 = 0.0D;
|
||||
boolean flag = this.isPushedByFluid();
|
||||
boolean flag1 = false;
|
||||
@@ -4422,14 +4433,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -4438,14 +4449,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
int k1 = 0;
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -2047,7 +2047,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
|
||||
|
||||
if (d2 >= axisalignedbb.minY) {
|
||||
flag1 = true;
|
||||
@@ -4451,9 +4509,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -4467,9 +4525,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
@@ -2074,10 +2074,10 @@ index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..dc11683ee4d8a6b7a1c42bcae36dc6e8
|
||||
private String descriptionId;
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e6c92cc99 100644
|
||||
index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..25e30408c964b5257f1cf945892bd668df38252b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -2085,7 +2085,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
|
||||
|
||||
public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@@ -413,7 +412,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -414,7 +413,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = this instanceof net.minecraft.world.entity.player.Player;
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -2094,7 +2094,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
|
||||
this.hurt(this.damageSources().inWall(), 1.0F);
|
||||
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
|
||||
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
|
||||
@@ -1410,6 +1409,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1418,6 +1417,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.getHealth() <= 0.0F;
|
||||
}
|
||||
|
||||
@@ -2114,7 +2114,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -2016,6 +2028,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2024,6 +2036,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.lastClimbablePos;
|
||||
}
|
||||
|
||||
@@ -2136,10 +2136,10 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
|
||||
if (this.isSpectator()) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index fa0b78139fecc0245e168ebeb4172ea2531a3fec..4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe 100644
|
||||
index 2439f8d48daca7329049436414f06a36b4b79029..4cf2963fdbe9003fd18ac8c2035ccded57c02abd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -222,14 +222,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
return this.lookControl;
|
||||
}
|
||||
|
||||
@@ -2158,7 +2158,7 @@ index fa0b78139fecc0245e168ebeb4172ea2531a3fec..4be5ae6bfc7bbb8c928e13208dfcd7f4
|
||||
this.targetSelector.tick();
|
||||
}
|
||||
}
|
||||
@@ -912,16 +914,20 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -913,16 +915,20 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
if (i % 2 != 0 && this.tickCount > 1) {
|
||||
this.level().getProfiler().push("targetSelector");
|
||||
@@ -2359,10 +2359,10 @@ index 295769d039f2a1e4f48912a60f9dbe267d8992c1..e88b058c0734e436ef24bab6364b206c
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("frogActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5 100644
|
||||
index 958816ce2166248b542c96c10c398a52d769b4db..415afe3473d9f8a50b1edab8cfda6158e59836e6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -77,9 +77,11 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -80,9 +80,11 @@ public class Tadpole extends AbstractFish {
|
||||
return SoundEvents.TADPOLE_FLOP;
|
||||
}
|
||||
|
||||
@@ -2391,10 +2391,10 @@ index 5d247ac38fe8a61603b3d934f3000bcda773142b..2e4177cfb02616ef6fa689f6d378976e
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("goatActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index ac9eaeaf7df1e84ee588f371628c0a10784d50bc..ea8883b0661e894a466eca24bfc247ac37f40a81 100644
|
||||
index 12440ee2dccc0a697fb403765f2e1b987ccc0283..de2471cfa96a23944f229f33ffdff88b6b7756e4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -150,6 +150,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -151,6 +151,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
this.bossEvent.setName(this.getDisplayName());
|
||||
}
|
||||
|
||||
@@ -2483,10 +2483,10 @@ index 937f81a859953498abe73bea560c86e6560e1c33..0a151c679b0dc943598180942d6d4b38
|
||||
this.level().getProfiler().pop();
|
||||
super.customServerAiStep();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d 100644
|
||||
index 24044795d8e0f1fb15a4f2f5401f44897092f2a3..96ca567af2d8fb2ba39f995be80b935344550124 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -143,6 +143,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return holder.is(PoiTypes.MEETING);
|
||||
});
|
||||
|
||||
@@ -2495,7 +2495,7 @@ index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649
|
||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||
this(entityType, world, VillagerType.PLAINS);
|
||||
}
|
||||
@@ -245,6 +247,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -246,6 +248,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Spigot End
|
||||
|
||||
@@ -2503,7 +2503,7 @@ index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649
|
||||
@Override
|
||||
@Deprecated // Paper
|
||||
protected void customServerAiStep() {
|
||||
@@ -254,7 +257,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -255,7 +258,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void customServerAiStep(final boolean inactive) {
|
||||
// Paper end
|
||||
this.level().getProfiler().push("villagerBrain");
|
||||
@@ -2590,10 +2590,10 @@ index 156809090f1f83ad68e7e2477a3cfddac5757a8e..837f68825f601971f374be47952b2310
|
||||
if (entity != null) {
|
||||
this.ownerUUID = entity.getUUID();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea6914388dc24639 100644
|
||||
index 756d0434472921992c9d84597d7c9c824e93614c..38c573d440946ca7ee6016ef92e9c1605031e611 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
@@ -27,7 +27,10 @@ import org.bukkit.inventory.InventoryHolder;
|
||||
@@ -28,7 +28,10 @@ import org.bukkit.inventory.InventoryHolder;
|
||||
|
||||
public abstract class AbstractMinecartContainer extends AbstractMinecart implements ContainerEntity {
|
||||
|
||||
@@ -2604,7 +2604,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438
|
||||
@Nullable
|
||||
public ResourceLocation lootTable;
|
||||
public long lootTableSeed;
|
||||
@@ -89,12 +92,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
@@ -90,12 +93,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
|
||||
protected AbstractMinecartContainer(EntityType<?> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -2625,7 +2625,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -156,6 +165,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
@@ -164,6 +173,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
protected void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
this.lootableData.loadNbt(nbt); // Paper
|
||||
@@ -2697,7 +2697,7 @@ index 27b0a79f7a7c47047216aae42944bac2a2151181..a097cfc528f709c80575f35483b68783
|
||||
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
||||
int i = 0;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..9c02040543825e99f576c6f8995133ec6a329940 100644
|
||||
index f476ba6c97944bdffae5aacae2e285d17541f46e..506100b02e7e9a3eabfde6b1f93858c4cc048524 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -207,6 +207,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -2720,9 +2720,9 @@ index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..9c02040543825e99f576c6f8995133ec
|
||||
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
||||
MinecraftServer.LOGGER.error(msg, throwable);
|
||||
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
||||
- entity.discard();
|
||||
- entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
- // Paper end - Prevent block entity and entity crashes
|
||||
+ entity.discard(); // Pufferfish - diff on change ServerLevel.tick
|
||||
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Pufferfish - diff on change ServerLevel.tick
|
||||
+ // Paper end
|
||||
}
|
||||
}
|
||||
@@ -2884,10 +2884,10 @@ index 9b1243d96e0694c62fc9e82e9be540bce0d2b3ad..3514022d898a24052c917ebf55dcef3e
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
|
||||
index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f0478af4679f 100644
|
||||
index 757edf74751dc7183454656fda9cecc4eb601e4c..9e577408d8e794c40bf34bc800cd0920856a5d2b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
|
||||
@@ -47,7 +47,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -48,7 +48,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
|
||||
public static final int MOVE_ITEM_SPEED = 8;
|
||||
public static final int HOPPER_CONTAINER_SIZE = 5;
|
||||
@@ -2898,7 +2898,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
|
||||
private int cooldownTime;
|
||||
private long tickedGameTime;
|
||||
|
||||
@@ -83,14 +86,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -84,14 +87,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
|
||||
public HopperBlockEntity(BlockPos pos, BlockState state) {
|
||||
super(BlockEntityType.HOPPER, pos, state);
|
||||
@@ -2938,7 +2938,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
|
||||
if (!this.tryLoadLootTable(nbt)) {
|
||||
ContainerHelper.loadAllItems(nbt, this.items);
|
||||
}
|
||||
@@ -491,6 +517,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -492,6 +518,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
}
|
||||
|
||||
private static boolean isFullContainer(Container inventory, Direction direction) {
|
||||
@@ -2946,7 +2946,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
|
||||
// Paper start - Perf: Optimize Hoppers
|
||||
if (inventory instanceof WorldlyContainer worldlyContainer) {
|
||||
for (final int slot : worldlyContainer.getSlotsForFace(direction)) {
|
||||
@@ -513,7 +540,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -514,7 +541,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
}
|
||||
|
||||
private static boolean isEmptyContainer(Container inv, Direction facing) {
|
||||
@@ -2958,7 +2958,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
|
||||
}
|
||||
|
||||
public static boolean suckInItems(Level world, Hopper hopper) {
|
||||
@@ -713,7 +743,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -714,7 +744,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
|
||||
if (HopperBlockEntity.canPlaceItemInContainer(to, stack, slot, side)) {
|
||||
boolean flag = false;
|
||||
@@ -2967,7 +2967,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
|
||||
|
||||
if (itemstack1.isEmpty()) {
|
||||
// Spigot start - SPIGOT-6693, InventorySubcontainer#setItem
|
||||
@@ -908,7 +938,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
@@ -909,7 +939,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
|
||||
|
||||
@Override
|
||||
protected void setItems(NonNullList<ItemStack> list) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c3437923f6aa4a 100644
|
||||
index 12b774464e8de3a07993be23e233d31e11ede7b1..7e82d2c6a6085a5ea335ba9ef2a5ec3f5a37e787 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
@@ -36,7 +36,7 @@ index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c34379
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
@@ -89,7 +93,7 @@ tasks.jar {
|
||||
@@ -90,7 +94,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -45,7 +45,7 @@ index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c34379
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -173,7 +177,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -174,7 +178,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -239,7 +239,7 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index f1e4dfd203d455ec089cd2b5679c4083400dbc7f..6f9cb8f328f47d6f3eb3142d701d80ceb51af926 100644
|
||||
index 3f952d1409118535f325f614f1a6507c40efa4d6..98df582ca3425f621396ce93cf7a0617ce3fb11f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -953,7 +953,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix pufferfish issues
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 3caad009206da9c8161f549af0c3437923f6aa4a..6bceca84bd073e25fc9aa19b8b713a2873713696 100644
|
||||
index 7e82d2c6a6085a5ea335ba9ef2a5ec3f5a37e787..32366253c04c493135f2b22d1940f83669104723 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -233,5 +233,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
|
||||
@@ -234,5 +234,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
|
||||
}
|
||||
tasks.registerRunTask("runDev") {
|
||||
description = "Spin up a non-relocated Mojang-mapped test server"
|
||||
@@ -40,9 +40,18 @@ index f6a3364175476c57a7763a087ff55e1689474800..5e01bfdad663656168604fc878a993dd
|
||||
"This can improve performance by a few percent, but has minor gameplay implications.");
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index dbe612427b894df9da1335b94163ba9b89b090c0..0982d44b9dd30c13d9d879095cc9a839bbda8bdc 100644
|
||||
index 531c9ef0d6504fc1632b83bd93b9cf76e91377e8..09594f96cf79aa38142a859bef2e3b6b8d00f7db 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -924,7 +924,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
||||
MinecraftServer.LOGGER.error(msg, throwable);
|
||||
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable)));
|
||||
- entity.discard();
|
||||
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
|
||||
// Paper end
|
||||
}
|
||||
// Pufferfish end
|
||||
@@ -992,7 +992,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper start - optimise random block ticking
|
||||
@@ -52,8 +61,34 @@ index dbe612427b894df9da1335b94163ba9b89b090c0..0982d44b9dd30c13d9d879095cc9a839
|
||||
// Paper end
|
||||
|
||||
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 098c410f0285948d7ac48835c352f9c97742c5c7..3773b05d0e2875db8817835e623272292855925f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -825,7 +825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public void tick() {
|
||||
// Pufferfish start - entity TTL
|
||||
if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
|
||||
- discard();
|
||||
+ discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
|
||||
return;
|
||||
}
|
||||
// Pufferfish end - entity TTL
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 837f68825f601971f374be47952b23108bf66ba6..2a8a8030feefae84e394460612405887e63f2ac7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -64,7 +64,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
if (!isLoaded) {
|
||||
if (Projectile.loadedThisTick > gg.pufferfish.pufferfish.PufferfishConfig.maxProjectileLoadsPerTick) {
|
||||
if (++this.loadedLifetime > gg.pufferfish.pufferfish.PufferfishConfig.maxProjectileLoadsPerProjectile) {
|
||||
- this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
|
||||
}
|
||||
return;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 9c02040543825e99f576c6f8995133ec6a329940..d6a08f06812bc15813559eb8ff66eddf7cf22888 100644
|
||||
index 506100b02e7e9a3eabfde6b1f93858c4cc048524..27447e4acb7db91b7595a7c25b682a4a4ce8c151 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -207,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
@@ -36,10 +36,10 @@ index 1d91ce01e7ce806a5b2e937ff855ebf159534f29..d39a3359249e2a312da0645d5abb625d
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 91feb12732564c90656da487664dbc12e55397fc..a2e76fb8431cd4dc0cbf94245086c939625fb0da 100644
|
||||
index 1e5f709115007ff19901c0a6c3cf884d9e4d3a6c..6886f5808ffaaed06dcae122f7cba6a12ad563af 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1063,6 +1063,20 @@ public abstract class PlayerList {
|
||||
@@ -1064,6 +1064,20 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -81,10 +81,10 @@ index 1561b85a45f52a8162f43553f8485bfe084b8f1f..938524dc5b495ad160b9b14219db573e
|
||||
return this.type().msgId();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999..169d5e539b1474a3e400b53e21f867e5fb175182 100644
|
||||
index 3773b05d0e2875db8817835e623272292855925f..b96535eb07da6535bbb287c9478b81e7022247b1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4136,6 +4136,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -4152,6 +4152,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ index a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0..0831d305a3b9d8d27cef946f46c0b03f
|
||||
this.profiler.push(() -> {
|
||||
return worldserver + " " + worldserver.dimension().location();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 0982d44b9dd30c13d9d879095cc9a839bbda8bdc..cdc17904cdf3d6669503e09debfbb156a80f0020 100644
|
||||
index 09594f96cf79aa38142a859bef2e3b6b8d00f7db..8ef87310566772024193aeade42faf0bca1c0ecb 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -224,6 +224,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -79,10 +79,10 @@ index 601ac8738a775eafde2c9e237feb596a9a47ba89..7f73d724af2c468a06dcfd760a70b8d6
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a178bea15 100644
|
||||
index b96535eb07da6535bbb287c9478b81e7022247b1..add00d6f63ed57d95abba3666095b64c3d47791a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -378,7 +378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -379,7 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -91,7 +91,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -3011,6 +3011,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3027,6 +3027,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
||||
}
|
||||
}
|
||||
@@ -3050,6 +3057,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3066,6 +3073,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return false;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -120,7 +120,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4987,4 +5002,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -5011,4 +5026,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end - Expose entity id counter
|
||||
@@ -190,10 +190,10 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353ae1717ede 100644
|
||||
index 25e30408c964b5257f1cf945892bd668df38252b..4621dd94e9346bdd2eeca1d17869ff99aede0077 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -218,9 +218,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -206,7 +206,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -286,7 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.effectsDirty = true;
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
@@ -215,7 +215,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -337,6 +337,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public static AttributeSupplier.Builder createLivingAttributes() {
|
||||
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION);
|
||||
}
|
||||
@@ -223,7 +223,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -2742,7 +2743,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2750,7 +2751,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits
|
||||
@@ -232,7 +232,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start - Prevent excessive velocity through repeated crits
|
||||
long time = System.nanoTime();
|
||||
@@ -3520,8 +3521,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3528,8 +3529,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
this.level().getProfiler().pop();
|
||||
// Paper start - Add EntityMoveEvent
|
||||
@@ -245,7 +245,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
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());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3531,6 +3534,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3539,6 +3542,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -268,10 +268,10 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
|
||||
// Paper end - Add EntityMoveEvent
|
||||
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c9130a77015 100644
|
||||
index 4cf2963fdbe9003fd18ac8c2035ccded57c02abd..8b39ea90558dbd5356c038b74fa4037fb69546ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -149,8 +149,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.restrictRadius = -1.0F;
|
||||
this.goalSelector = new GoalSelector(world.getProfilerSupplier());
|
||||
this.targetSelector = new GoalSelector(world.getProfilerSupplier());
|
||||
@@ -282,7 +282,7 @@ index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c91
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1397,7 +1397,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1398,7 +1398,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -291,7 +291,7 @@ index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c91
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1786,4 +1786,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1787,4 +1787,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -965,10 +965,10 @@ index 3cdd9f379c7e2d46ea47c9ef55b121c93ec0bb4a..b0cff23aa6f841ad291437964ea5bebb
|
||||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f 100644
|
||||
index 45646c69ea73936a8916756fde37dd3f39db0d04..18380c1ee458507de98a8aeb53c8b0c863d1eb89 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -82,14 +82,82 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -83,14 +83,82 @@ public class Dolphin extends WaterAnimal {
|
||||
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
|
||||
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
|
||||
};
|
||||
@@ -1052,7 +1052,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
|
||||
@Nullable
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
@@ -159,6 +227,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -160,6 +228,7 @@ public class Dolphin extends WaterAnimal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new BreathAirGoal(this));
|
||||
this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
|
||||
@@ -1060,7 +1060,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
|
||||
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
|
||||
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
|
||||
this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10));
|
||||
@@ -169,6 +238,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -170,6 +239,7 @@ public class Dolphin extends WaterAnimal {
|
||||
this.goalSelector.addGoal(8, new Dolphin.PlayWithItemsGoal());
|
||||
this.goalSelector.addGoal(8, new FollowBoatGoal(this));
|
||||
this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D));
|
||||
@@ -1068,7 +1068,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers());
|
||||
}
|
||||
|
||||
@@ -220,7 +290,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -221,7 +291,7 @@ public class Dolphin extends WaterAnimal {
|
||||
|
||||
@Override
|
||||
protected boolean canRide(Entity entity) {
|
||||
@@ -1077,7 +1077,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -255,6 +325,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -256,6 +326,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@Override
|
||||
public void tick() {
|
||||
super.tick();
|
||||
@@ -1090,10 +1090,10 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
|
||||
this.setAirSupply(this.getMaxAirSupply());
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe104505fa7dab 100644
|
||||
index f7a7810fdc2f74b79fa14470493485e4b74539ab..c63634825ffffed2eccc560af9e9fcef1a9dc2e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -144,6 +144,44 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -148,6 +148,44 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
this.setCanPickUpLoot(true);
|
||||
}
|
||||
|
||||
@@ -1138,7 +1138,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
@@ -163,6 +201,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -167,6 +205,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return entityliving instanceof AbstractSchoolingFish;
|
||||
});
|
||||
this.goalSelector.addGoal(0, new Fox.FoxFloatGoal());
|
||||
@@ -1146,7 +1146,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
|
||||
this.goalSelector.addGoal(0, new ClimbOnTopOfPowderSnowGoal(this, this.level()));
|
||||
this.goalSelector.addGoal(1, new Fox.FaceplantGoal());
|
||||
this.goalSelector.addGoal(2, new Fox.FoxPanicGoal(2.2D));
|
||||
@@ -189,6 +228,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -193,6 +232,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
this.goalSelector.addGoal(11, new Fox.FoxSearchForItemsGoal());
|
||||
this.goalSelector.addGoal(12, new Fox.FoxLookAtPlayerGoal(this, Player.class, 24.0F));
|
||||
this.goalSelector.addGoal(13, new Fox.PerchAndSearchGoal());
|
||||
@@ -1154,7 +1154,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
|
||||
this.targetSelector.addGoal(3, new Fox.DefendTrustedTargetGoal(LivingEntity.class, false, false, (entityliving) -> {
|
||||
return Fox.TRUSTED_TARGET_SELECTOR.test(entityliving) && !this.trusts(entityliving.getUUID());
|
||||
}));
|
||||
@@ -781,16 +821,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -785,16 +825,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return new Vec3(0.0D, (double) (0.55F * this.getEyeHeight()), (double) (this.getBbWidth() * 0.4F));
|
||||
}
|
||||
|
||||
@@ -1174,7 +1174,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
|
||||
}
|
||||
|
||||
}
|
||||
@@ -801,16 +841,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -805,16 +845,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1251,10 +1251,10 @@ index 6cfe0d6c46caa122db107c607d27a2bdcd82f7a8..cb05267fb287b9de9d1829e90d9bb9c9
|
||||
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9f0206c23 100644
|
||||
index 161c128d27f50f145f88142191f1a5c93649ea65..b59d6a3f799f100702efb1fd10bbc48da4f4bd8f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -63,6 +63,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -64,6 +64,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -1278,7 +1278,7 @@ index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9
|
||||
@Override
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
@@ -127,7 +144,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -128,7 +145,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
|
||||
if (event != null) {
|
||||
if (event.isCancelled()) {
|
||||
@@ -1287,7 +1287,7 @@ index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9
|
||||
}
|
||||
drops = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops());
|
||||
}
|
||||
@@ -151,7 +168,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -152,7 +169,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
Optional<List<SuspiciousEffectHolder.EffectEntry>> optional = this.getEffectsFromItemStack(itemstack);
|
||||
|
||||
if (optional.isEmpty()) {
|
||||
@@ -1340,10 +1340,10 @@ index 4300fab61765dd224fab084d118aae7294fc9de6..66f80ec010909648278c4e74c80d3766
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, false, false, Turtle.BABY_ON_LAND_SELECTOR));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67a802fa1b 100644
|
||||
index d683c49fdf2d1e5b0f2620641f9c241e82f96825..c900776b626b2f038b92dedc86bb9f431e0e0b89 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -114,6 +114,32 @@ public class Panda extends Animal {
|
||||
@@ -115,6 +115,32 @@ public class Panda extends Animal {
|
||||
|
||||
}
|
||||
|
||||
@@ -1376,7 +1376,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
@Override
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
@@ -275,6 +301,7 @@ public class Panda extends Animal {
|
||||
@@ -276,6 +302,7 @@ public class Panda extends Animal {
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -1384,7 +1384,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
this.goalSelector.addGoal(2, new Panda.PandaPanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new Panda.PandaBreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new Panda.PandaAttackGoal(this, 1.2000000476837158D, true));
|
||||
@@ -290,6 +317,7 @@ public class Panda extends Animal {
|
||||
@@ -291,6 +318,7 @@ public class Panda extends Animal {
|
||||
this.goalSelector.addGoal(12, new Panda.PandaRollGoal(this));
|
||||
this.goalSelector.addGoal(13, new FollowParentGoal(this, 1.25D));
|
||||
this.goalSelector.addGoal(14, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
@@ -1392,7 +1392,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
this.targetSelector.addGoal(1, (new Panda.PandaHurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0]));
|
||||
}
|
||||
|
||||
@@ -636,7 +664,7 @@ public class Panda extends Animal {
|
||||
@@ -637,7 +665,7 @@ public class Panda extends Animal {
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (this.isScared()) {
|
||||
@@ -1401,7 +1401,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
} else if (this.isOnBack()) {
|
||||
this.setOnBack(false);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -654,7 +682,7 @@ public class Panda extends Animal {
|
||||
@@ -655,7 +683,7 @@ public class Panda extends Animal {
|
||||
this.setInLove(player, breedCopy); // Paper - Fix EntityBreedEvent copying
|
||||
} else {
|
||||
if (this.level().isClientSide || this.isSitting() || this.isInWater()) {
|
||||
@@ -1410,7 +1410,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
}
|
||||
|
||||
this.tryToSit();
|
||||
@@ -673,7 +701,7 @@ public class Panda extends Animal {
|
||||
@@ -674,7 +702,7 @@ public class Panda extends Animal {
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
} else {
|
||||
@@ -1419,7 +1419,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
}
|
||||
}
|
||||
|
||||
@@ -718,7 +746,7 @@ public class Panda extends Animal {
|
||||
@@ -719,7 +747,7 @@ public class Panda extends Animal {
|
||||
return new Vector3f(0.0F, dimensions.height - (this.isBaby() ? 0.4375F : 0.0F) * scaleFactor, 0.0F);
|
||||
}
|
||||
|
||||
@@ -1428,7 +1428,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
|
||||
|
||||
private final Panda panda;
|
||||
|
||||
@@ -728,9 +756,9 @@ public class Panda extends Animal {
|
||||
@@ -729,9 +757,9 @@ public class Panda extends Animal {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1527,10 +1527,10 @@ index f3f48225c2a1e4bd3d0091d1b4b7e4e150850ed2..06568c109d806a4e98b092016d0efd5b
|
||||
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
|
||||
this.goalSelector.addGoal(2, new FollowOwnerGoal(this, 1.0D, 5.0F, 1.0F, true));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index a43479c92775d618794f8f1fbeb31f42d303e167..28f68a7383fe6e53541eb1b36ba73eb15723f0f7 100644
|
||||
index 24770540c51fe4831040d6b46b27636d25ebac40..ebfa162f172bdad7b17ce153fdee508748620fc0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -67,9 +67,27 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -68,9 +68,27 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
this.steering = new ItemBasedSteering(this.entityData, Pig.DATA_BOOST_TIME, Pig.DATA_SADDLE_ID);
|
||||
}
|
||||
|
||||
@@ -2372,10 +2372,10 @@ index e88b058c0734e436ef24bab6364b206c13e5a9c2..156fd7b01853f4ad50235646a15893bb
|
||||
super(entity);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..3103df74b7ae5a5ed841bf97794284cd43ad59de 100644
|
||||
index 415afe3473d9f8a50b1edab8cfda6158e59836e6..c19513b3b35bbb05c3159606caacee0559366610 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -45,13 +45,50 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -48,13 +48,50 @@ public class Tadpole extends AbstractFish {
|
||||
protected static final ImmutableList<SensorType<? extends Sensor<? super Tadpole>>> SENSOR_TYPES = ImmutableList.of(SensorType.NEAREST_LIVING_ENTITIES, SensorType.NEAREST_PLAYERS, SensorType.HURT_BY, SensorType.FROG_TEMPTATIONS);
|
||||
protected static final ImmutableList<MemoryModuleType<?>> MEMORY_TYPES = ImmutableList.of(MemoryModuleType.LOOK_TARGET, MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES, MemoryModuleType.WALK_TARGET, MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, MemoryModuleType.PATH, MemoryModuleType.NEAREST_VISIBLE_ADULT, MemoryModuleType.TEMPTATION_COOLDOWN_TICKS, MemoryModuleType.IS_TEMPTED, MemoryModuleType.TEMPTING_PLAYER, MemoryModuleType.BREED_TARGET, MemoryModuleType.IS_PANICKING);
|
||||
public boolean ageLocked; // Paper
|
||||
@@ -2427,7 +2427,7 @@ index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..3103df74b7ae5a5ed841bf97794284cd
|
||||
@Override
|
||||
protected PathNavigation createNavigation(Level world) {
|
||||
return new WaterBoundPathNavigation(this, world);
|
||||
@@ -81,8 +118,7 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -84,8 +121,7 @@ public class Tadpole extends AbstractFish {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level().getProfiler().push("tadpoleBrain");
|
||||
@@ -2636,10 +2636,10 @@ index a6601f70890f90691923c0e6a9f10ea597ccabc2..ae7bcfa608d8bdd2a2320618225294de
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 41596d9c2e8e6c91f77b1bbe3ccf828708b6b970..6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac 100644
|
||||
index 184f508d19aad46267302a0e17f7cb9bdafce079..19d463cf5f57b2943431f1c5306fb51c19c7dc3a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -35,6 +35,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -42,6 +42,13 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -2651,21 +2651,24 @@ index 41596d9c2e8e6c91f77b1bbe3ccf828708b6b970..6e7b7d2e9ccf67f9df458dc30cfea724
|
||||
+ // Purpur end
|
||||
+
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
|
||||
}
|
||||
@@ -59,7 +66,9 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
@@ -54,6 +61,7 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
|
||||
@Override
|
||||
protected void addBehaviourGoals() {
|
||||
- protected void addBehaviourGoals() {}
|
||||
+ protected void addBehaviourGoals() {
|
||||
+ if (level().purpurConfig.skeletonHorseCanSwim) goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this));
|
||||
}
|
||||
+ }
|
||||
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index b016f53c6644c6411b3a91e09049892131187179..5fc37e2322188e0db12f7679e40b1a3d40268ca7 100644
|
||||
index 038de19633002e8f7c4b1ead7438cef0163456ce..c1d1321c75330231777adb4ff6e0ca604f3fab80 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -27,6 +27,28 @@ public class TraderLlama extends Llama {
|
||||
@@ -30,6 +30,28 @@ public class TraderLlama extends Llama {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -2781,10 +2784,10 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e
|
||||
protected void defineSynchedData() {
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6ead32b0a 100644
|
||||
index 1df13af62af7d0bbd92c84d424a07da66bb8583f..3d4ecd05af1794b37102996305a2346b7c0a72e2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -107,6 +107,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -108,6 +108,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@Nullable
|
||||
private BlockPos podium;
|
||||
// Paper end - Allow changing the EnderDragon podium
|
||||
@@ -2792,7 +2795,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
|
||||
public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) {
|
||||
super(EntityType.ENDER_DRAGON, world);
|
||||
@@ -129,6 +130,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -130,6 +131,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.noCulling = true;
|
||||
this.phaseManager = new EnderDragonPhaseManager(this);
|
||||
this.explosionSource = new Explosion(world, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY, ParticleTypes.EXPLOSION, ParticleTypes.EXPLOSION_EMITTER, SoundEvents.GENERIC_EXPLODE); // CraftBukkit
|
||||
@@ -2830,7 +2833,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
}
|
||||
|
||||
public void setDragonFight(EndDragonFight fight) {
|
||||
@@ -143,6 +175,17 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -144,6 +176,17 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
return this.fightOrigin;
|
||||
}
|
||||
|
||||
@@ -2848,7 +2851,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
@@ -204,6 +247,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -205,6 +248,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -2886,7 +2889,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
this.processFlappingMovement();
|
||||
if (this.level().isClientSide) {
|
||||
this.setHealth(this.getHealth());
|
||||
@@ -230,6 +304,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -231,6 +305,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
float f;
|
||||
|
||||
if (this.isDeadOrDying()) {
|
||||
@@ -2895,7 +2898,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
float f1 = (this.random.nextFloat() - 0.5F) * 8.0F;
|
||||
|
||||
f = (this.random.nextFloat() - 0.5F) * 4.0F;
|
||||
@@ -242,9 +318,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -243,9 +319,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
f = 0.2F / ((float) vec3d.horizontalDistance() * 10.0F + 1.0F);
|
||||
f *= (float) Math.pow(2.0D, vec3d.y);
|
||||
@@ -2907,7 +2910,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
this.flapTime += f * 0.5F;
|
||||
} else {
|
||||
this.flapTime += f;
|
||||
@@ -278,7 +354,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -279,7 +355,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
this.phaseManager.getCurrentPhase().doClientTick();
|
||||
@@ -2916,7 +2919,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
DragonPhaseInstance idragoncontroller = this.phaseManager.getCurrentPhase();
|
||||
|
||||
idragoncontroller.doServerTick();
|
||||
@@ -347,7 +423,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -348,7 +424,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.tickPart(this.body, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F));
|
||||
this.tickPart(this.wing1, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F));
|
||||
this.tickPart(this.wing2, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F));
|
||||
@@ -2925,7 +2928,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
this.knockBack(this.level().getEntities((Entity) this, this.wing1.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.knockBack(this.level().getEntities((Entity) this, this.wing2.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.hurt(this.level().getEntities((Entity) this, this.head.getBoundingBox().inflate(1.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
@@ -391,7 +467,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -392,7 +468,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -2935,10 +2938,10 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
|
||||
this.dragonFight.updateDragon(this);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5bab6f795 100644
|
||||
index de2471cfa96a23944f229f33ffdff88b6b7756e4..8fbfd134005c0813406fecbce8a918cd0376d03e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -85,16 +85,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
|
||||
};
|
||||
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
|
||||
@@ -2970,7 +2973,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
|
||||
this.setHealth(this.getMaxHealth());
|
||||
this.xpReward = 50;
|
||||
}
|
||||
@@ -108,13 +122,113 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -109,13 +123,113 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
return navigationflying;
|
||||
}
|
||||
|
||||
@@ -3084,7 +3087,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
|
||||
this.targetSelector.addGoal(1, new HurtByTargetGoal(this, new Class[0]));
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, LivingEntity.class, 0, false, false, WitherBoss.LIVING_ENTITY_SELECTOR));
|
||||
}
|
||||
@@ -263,6 +377,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -264,6 +378,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
@@ -3101,7 +3104,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
|
||||
int i;
|
||||
|
||||
if (this.getInvulnerableTicks() > 0) {
|
||||
@@ -584,11 +708,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -585,11 +709,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
}
|
||||
|
||||
public int getAlternativeTarget(int headIndex) {
|
||||
@@ -3247,10 +3250,10 @@ index 70d25bb45ad603095a1f5812cc396dfc5f16a1e1..562faf0257388d9c22146a418f25716c
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 6a91960f93e624a4b975c1cf76698eb45ceda838..577a829595f67708b220407b53dca1bd145a3479 100644
|
||||
index 9657796d08f4a102d9d5ff7685f2a152d1a87fda..30b4c8513e97463ce1a96775b1c22a1d95bd6fbd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -59,21 +59,98 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -60,21 +60,98 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
public int maxSwell = 30;
|
||||
public int explosionRadius = 3;
|
||||
private int droppedSkulls;
|
||||
@@ -3349,7 +3352,7 @@ index 6a91960f93e624a4b975c1cf76698eb45ceda838..577a829595f67708b220407b53dca1bd
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
|
||||
}
|
||||
@@ -324,6 +401,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -325,6 +402,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
||||
if (event.callEvent()) {
|
||||
this.entityData.set(Creeper.DATA_IS_IGNITED, event.isIgnited());
|
||||
@@ -3503,10 +3506,10 @@ index 6563e625ebae47fc68e5010d36bd4b4d327c07b7..01dd5347bc8fa25b9b1f6cb746c25ca6
|
||||
boolean flag = source.getDirectEntity() instanceof ThrownPotion;
|
||||
boolean flag1;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 66b6c55f72aec7e4e9dfa5417a46ba68dbb16a83..7fb02aab225a45e951ab1e7c6ba1c53f53d0fecd 100644
|
||||
index b8ce2a9ad151b20f0f4e9e8e34a57069d8d77128..75de003b4f7556cd9c5137fe324b66348835141a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -38,14 +38,33 @@ public class Endermite extends Monster {
|
||||
@@ -43,14 +43,33 @@ public class Endermite extends Monster {
|
||||
this.xpReward = 3;
|
||||
}
|
||||
|
||||
@@ -3537,7 +3540,7 @@ index 66b6c55f72aec7e4e9dfa5417a46ba68dbb16a83..7fb02aab225a45e951ab1e7c6ba1c53f
|
||||
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 8.0F));
|
||||
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this)).setAlertOthers());
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -4048,10 +4051,10 @@ index 187037c43ebb5b245ffa4b50163d443490668744..98ced015ceb4f68364ff5ee6f7ee1a69
|
||||
|
||||
private class PhantomBodyRotationControl extends BodyRotationControl {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
index cec545c3baa6599d47b9cf1a4b97de8771062a22..31d204d8d81ccc30371070af3678d82dc721618d 100644
|
||||
index 05ed2f06a41f3b12e0432a37faf98d0b1fea7a8b..3eca357a82eebedc56237a03503017a17f17d3a6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -62,15 +62,34 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -66,15 +66,34 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -4083,7 +4086,7 @@ index cec545c3baa6599d47b9cf1a4b97de8771062a22..31d204d8d81ccc30371070af3678d82d
|
||||
this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F));
|
||||
this.goalSelector.addGoal(10, new LookAtPlayerGoal(this, Mob.class, 15.0F));
|
||||
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, Raider.class)).setAlertOthers());
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Raider.class})).setAlertOthers());
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -4185,10 +4188,10 @@ index f3c2a2ffb74daa89a516db4c188ce675c79932bf..a695ac9b9e4c3e423d74d082e2492858
|
||||
public ShulkerLookControl(Mob entity) {
|
||||
super(entity);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 2c60a3765d22909e73b660492410ab8456304b68..f5dda5ed4532c8572bc4f511c49377c262efe057 100644
|
||||
index fcd5cc3ff8d4b38f4dea08f78723db3dac53ffde..e884e44139e2c7a05f5769192c3f6c7632eeb730 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -47,14 +47,33 @@ public class Silverfish extends Monster {
|
||||
@@ -48,14 +48,33 @@ public class Silverfish extends Monster {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -4251,10 +4254,10 @@ index 92974452d8f63fde8524cfac305ee2ef5212f840..3568c4b7ecfa250bbeb1799685b487df
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b16f8b4f9 100644
|
||||
index 3d9107d2c19a09215445aa0e0aacc32f9f82a536..bb1d0cae9d51a64e0752a59218dc71da73330139 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -61,6 +61,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -62,6 +62,7 @@ public class Slime extends Mob implements Enemy {
|
||||
public float squish;
|
||||
public float oSquish;
|
||||
private boolean wasOnGround;
|
||||
@@ -4262,7 +4265,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
|
||||
|
||||
public Slime(EntityType<? extends Slime> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -68,12 +69,48 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -69,12 +70,48 @@ public class Slime extends Mob implements Enemy {
|
||||
this.moveControl = new Slime.SlimeMoveControl(this);
|
||||
}
|
||||
|
||||
@@ -4311,7 +4314,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (entityliving) -> {
|
||||
return Math.abs(entityliving.getY() - this.getY()) <= 4.0D;
|
||||
}));
|
||||
@@ -378,11 +415,12 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -386,11 +423,12 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -4325,7 +4328,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -416,7 +454,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -424,7 +462,7 @@ public class Slime extends Mob implements Enemy {
|
||||
return super.getDimensions(pose).scale(0.255F * (float) this.getSize());
|
||||
}
|
||||
|
||||
@@ -4334,7 +4337,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
|
||||
|
||||
private float yRot;
|
||||
private int jumpDelay;
|
||||
@@ -435,21 +473,33 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -443,21 +481,33 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
public void setWantedMovement(double speed) {
|
||||
@@ -4371,7 +4374,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
|
||||
if (this.jumpDelay-- <= 0) {
|
||||
this.jumpDelay = this.slime.getJumpDelay();
|
||||
if (this.isAggressive) {
|
||||
@@ -466,7 +516,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -474,7 +524,7 @@ public class Slime extends Mob implements Enemy {
|
||||
this.mob.setSpeed(0.0F);
|
||||
}
|
||||
} else {
|
||||
@@ -5007,10 +5010,10 @@ index 0a151c679b0dc943598180942d6d4b3886211688..384e7b29215cadfa40af07a183a9c9c6
|
||||
|
||||
public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2a75fbb48 100644
|
||||
index 96ca567af2d8fb2ba39f995be80b935344550124..8e3e9bfe614057450ec771f72c9b1d7ea061d66e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -157,6 +157,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -158,6 +158,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
}
|
||||
|
||||
@@ -5039,7 +5042,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
|
||||
@Override
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
@@ -257,11 +279,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -258,11 +280,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void customServerAiStep(final boolean inactive) {
|
||||
// Paper end
|
||||
this.level().getProfiler().push("villagerBrain");
|
||||
@@ -5054,7 +5057,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
|
||||
this.level().getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
@@ -318,7 +340,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -319,7 +341,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) {
|
||||
if (this.isBaby()) {
|
||||
this.setUnhappy();
|
||||
@@ -5063,7 +5066,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
|
||||
} else {
|
||||
boolean flag = this.getOffers().isEmpty();
|
||||
|
||||
@@ -331,8 +353,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -332,8 +354,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
@@ -5075,10 +5078,10 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
|
||||
this.startTrading(player);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15cba025843 100644
|
||||
index 8d1cc1a644415be251f469ab1cb2ebc09fe5c3eb..80b9c2043f2a84dc44b082a9c97a7b5dbbb93dc2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -70,6 +70,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -71,6 +71,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
//this.setDespawnDelay(48000); // CraftBukkit - set default from MobSpawnerTrader // Paper - move back to MobSpawnerTrader - Vanilla behavior is that only traders spawned by it have this value set.
|
||||
}
|
||||
|
||||
@@ -5102,7 +5105,7 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -117,8 +134,9 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -118,8 +135,9 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
|
||||
if (this.getOffers().isEmpty()) {
|
||||
@@ -5114,10 +5117,10 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
|
||||
this.setTradingPlayer(player);
|
||||
this.openTradingScreen(player, this.getDisplayName(), 1);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010fbae29b2 100644
|
||||
index 567704f61034363e48ef2a5b5566ebdc91682297..8a6acc19e9f3afb778420495a5ed41ce78227f1a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -194,6 +194,19 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -5138,10 +5141,10 @@ index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010
|
||||
super(EntityType.PLAYER, world);
|
||||
this.lastItemInMainHand = ItemStack.EMPTY;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
|
||||
index 0bbe853f7df93f9dcd2b21d762939f8b6be069aa..7db9844083703944f59e112c6dc5e1a5e062d31c 100644
|
||||
index 8f5376543cca9cbfb2a014f67ec373d984b0df64..3673d1442778331ece25f8faca95b3499cafe46e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
|
||||
@@ -26,6 +26,12 @@ public class LlamaSpit extends Projectile {
|
||||
@@ -29,6 +29,12 @@ public class LlamaSpit extends Projectile {
|
||||
this.setPos(owner.getX() - (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.sin(owner.yBodyRot * 0.017453292F), owner.getEyeY() - 0.10000000149011612D, owner.getZ() + (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(owner.yBodyRot * 0.017453292F));
|
||||
}
|
||||
|
||||
@@ -5155,10 +5158,10 @@ index 0bbe853f7df93f9dcd2b21d762939f8b6be069aa..7db9844083703944f59e112c6dc5e1a5
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 78dd3365dc4d1265fc2102f740d75a384f5df5c5..4a2331c22a022881d66bcfd4134b0ffe421a0633 100644
|
||||
index 35e76fc8667d9fde5a8fc426699a617fb0a08e4b..41261b72bfa5157139a5384b6a0b66b719ec02b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -110,6 +110,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -111,6 +111,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
|
||||
}
|
||||
|
||||
@@ -5172,10 +5175,10 @@ index 78dd3365dc4d1265fc2102f740d75a384f5df5c5..4a2331c22a022881d66bcfd4134b0ffe
|
||||
public boolean isPickable() {
|
||||
return false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41bc70b193c 100644
|
||||
index 0b5a31477e3b76833fb97a455842316193663c8e..74599d29538b7072464d3bb16b6356da09513d21 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1227,4 +1227,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1228,4 +1228,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return this.getHandle().getScoreboardName();
|
||||
}
|
||||
// Paper end - entity scoreboard name
|
||||
@@ -5204,10 +5207,10 @@ index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41b
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index d677759ac6b6d3cfe5a2af76dc1f0034b216ac2d..2d47fd8290c9712bbf720452f5ffe134b1941d8c 100644
|
||||
index 4c2e8129481384a143384d327e14320023735b1a..ac836274a2d725e3fac55394154ae2148024853a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -591,6 +591,15 @@ public class CraftEventFactory {
|
||||
@@ -592,6 +592,15 @@ public class CraftEventFactory {
|
||||
// Paper end
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5223,7 +5226,7 @@ index d677759ac6b6d3cfe5a2af76dc1f0034b216ac2d..2d47fd8290c9712bbf720452f5ffe134
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1182,6 +1191,7 @@ public class CraftEventFactory {
|
||||
@@ -1183,6 +1192,7 @@ public class CraftEventFactory {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);
|
||||
@@ -6357,10 +6360,10 @@ index 0000000000000000000000000000000000000000..ba2a37dad43e238e54632975abea8ee6
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c7a08fe02
|
||||
index 0000000000000000000000000000000000000000..b7e3994879a2b1de0c504f122b0c3c3229e4c356
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
@@ -0,0 +1,99 @@
|
||||
@@ -0,0 +1,100 @@
|
||||
+package org.purpurmc.purpur.entity;
|
||||
+
|
||||
+import net.minecraft.core.particles.ParticleTypes;
|
||||
@@ -6379,6 +6382,7 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
|
||||
+import net.minecraft.world.phys.EntityHitResult;
|
||||
+import net.minecraft.world.phys.HitResult;
|
||||
+import net.minecraft.world.phys.Vec3;
|
||||
+import org.bukkit.event.entity.EntityRemoveEvent;
|
||||
+
|
||||
+public class DolphinSpit extends LlamaSpit {
|
||||
+ public LivingEntity dolphin;
|
||||
@@ -6422,7 +6426,7 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
|
||||
+ }
|
||||
+
|
||||
+ if (++ticksLived > 20) {
|
||||
+ this.discard();
|
||||
+ this.discard(EntityRemoveEvent.Cause.DISCARD);
|
||||
+ } else {
|
||||
+ this.setDeltaMovement(mot.scale(0.99D));
|
||||
+ if (!this.isNoGravity()) {
|
||||
@@ -6457,12 +6461,12 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
|
||||
+ }
|
||||
+ BlockState state = this.level().getBlockState(blockHitResult.getBlockPos());
|
||||
+ state.onProjectileHit(this.level(), state, blockHitResult, this);
|
||||
+ this.discard();
|
||||
+ this.discard(EntityRemoveEvent.Cause.DISCARD);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6dc6872d04
|
||||
index 0000000000000000000000000000000000000000..bc139e518c8214246c3f514b64f987bdd5de6f23
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
@@ -0,0 +1,114 @@
|
||||
@@ -6530,11 +6534,11 @@ index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6d
|
||||
+ }
|
||||
+
|
||||
+ if (++ticksLived > 20) {
|
||||
+ this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ } else if (this.level().getBlockStates(this.getBoundingBox()).noneMatch(BlockBehaviour.BlockStateBase::isAir)) {
|
||||
+ this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ } else if (this.isInWaterOrBubble()) {
|
||||
+ this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ } else {
|
||||
+ this.setDeltaMovement(mot.scale(0.99D));
|
||||
+ if (!this.isNoGravity()) {
|
||||
@@ -6577,7 +6581,7 @@ index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6d
|
||||
+ BlockState state = this.level().getBlockState(blockHitResult.getBlockPos());
|
||||
+ state.onProjectileHit(this.level(), state, blockHitResult, this);
|
||||
+ }
|
||||
+ this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java b/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 46e3d7a949d79d9168e0a976be09be5a178bea15..9a025cb4b760090fe506d7c398d5c86fb3ac13ca 100644
|
||||
index add00d6f63ed57d95abba3666095b64c3d47791a..aa1e2c05c65391b5fbfce203c5095afd50682874 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -159,7 +159,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -160,7 +160,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class Entity implements Nameable, EntityAccess, CommandSource, ScoreHolder {
|
||||
@@ -34,10 +34,10 @@ index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6b
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index dfc7b015da2a553122f98677c12636a84ce90a1f..e907240898d30084acd7b048c44fc85d4c2435df 100644
|
||||
index 4621dd94e9346bdd2eeca1d17869ff99aede0077..781eefa21c958c28c35d2d9559d89da236ce9387 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -287,6 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
||||
@@ -45,7 +45,7 @@ index dfc7b015da2a553122f98677c12636a84ce90a1f..e907240898d30084acd7b048c44fc85d
|
||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -302,6 +303,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
||||
}
|
||||
|
||||
@@ -158,10 +158,10 @@ index b0cff23aa6f841ad291437964ea5bebb6395de84..f440eabffb1abe4c7370bf7badf6137a
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f..f3a145be1970dd1e78e04b2ea0d77c6339a42fd8 100644
|
||||
index 18380c1ee458507de98a8aeb53c8b0c863d1eb89..df6306572f11762ec0d54b738c1a8a30269c9224 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -158,6 +158,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -159,6 +159,11 @@ public class Dolphin extends WaterAnimal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -174,10 +174,10 @@ index 2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f..f3a145be1970dd1e78e04b2ea0d77c63
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 142e45f4b5f2eb90b980f5085abe104505fa7dab..310f7b5ad4d1441c186045c296aded01610c1b4a 100644
|
||||
index c63634825ffffed2eccc560af9e9fcef1a9dc2e8..3faa945f9687abeba7a36f8198cb307685e348a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -182,6 +182,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -186,6 +186,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -206,10 +206,10 @@ index cb05267fb287b9de9d1829e90d9bb9c9f4aac9f7..46e28d807a72b6d302d29d65c52ab081
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 2f1385cbd88e7085ee5f39f8b5c371c9f0206c23..d6fbb914ad2434e4431f3aa6bfab07b8b8eb0da4 100644
|
||||
index b59d6a3f799f100702efb1fd10bbc48da4f4bd8f..0ff5902dde47c4bb9922d6605d874868fb4820b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -81,6 +81,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -238,10 +238,10 @@ index 66f80ec010909648278c4e74c80d3766b9cf6c6a..14daac1a87e32e0ff0a610aef256e20c
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 87a1a6ff04b40ceebded50e81aaafe67a802fa1b..846cbac0f862ec881347325dcd6db8eaedbd0e75 100644
|
||||
index c900776b626b2f038b92dedc86bb9f431e0e0b89..641e0ba16afe6720c5a5ff4e8e4882d4e9bdb46d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -140,6 +140,12 @@ public class Panda extends Animal {
|
||||
@@ -141,6 +141,12 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -254,7 +254,7 @@ index 87a1a6ff04b40ceebded50e81aaafe67a802fa1b..846cbac0f862ec881347325dcd6db8ea
|
||||
@Override
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
@@ -641,7 +647,10 @@ public class Panda extends Animal {
|
||||
@@ -642,7 +648,10 @@ public class Panda extends Animal {
|
||||
|
||||
public void setAttributes() {
|
||||
if (this.isWeak()) {
|
||||
@@ -283,10 +283,10 @@ index 06568c109d806a4e98b092016d0efd5b2cdfd359..9334fb348e559ee27ba38bbd51c30876
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 28f68a7383fe6e53541eb1b36ba73eb15723f0f7..6480e0f026e686b2d0a093d901d7f1e312a45021 100644
|
||||
index ebfa162f172bdad7b17ce153fdee508748620fc0..fdf5651c7877313437ecd32914823d00e53bdb99 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -84,6 +84,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -85,6 +85,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -665,10 +665,10 @@ index ae7bcfa608d8bdd2a2320618225294de0314ce53..abbeb305b2d09e9c4c02ade603adac5c
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac..68981762e3b71cfdf12180c9a711f22b33c471b7 100644
|
||||
index 19d463cf5f57b2943431f1c5306fb51c19c7dc3a..d65d3c1275623a199d90497152519e45317a110f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -42,6 +42,21 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -49,6 +49,21 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -688,13 +688,13 @@ index 6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac..68981762e3b71cfdf12180c9a711f22b
|
||||
+ }
|
||||
+
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 5fc37e2322188e0db12f7679e40b1a3d40268ca7..4abb9d5fedf63eba9dc3f716d44ea11806607af0 100644
|
||||
index c1d1321c75330231777adb4ff6e0ca604f3fab80..85e32d35cdfb7dd11b3c28146b9b71eae2b5c685 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -49,6 +49,21 @@ public class TraderLlama extends Llama {
|
||||
@@ -52,6 +52,21 @@ public class TraderLlama extends Llama {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -759,10 +759,10 @@ index 7fb2c28b567c6c338a68bdc29d24cb652a4a15bf..074835d3e315eb78d318e81c5fd04e5e
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 8f0bd246d41627bf9725f88268530ac6ead32b0a..61365fc2d9b1726cb7c50bf4f0c178d17674044a 100644
|
||||
index 3d4ecd05af1794b37102996305a2346b7c0a72e2..62ca0378469e74497bf256a58f55c2a73028d090 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -186,6 +186,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -187,6 +187,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -775,10 +775,10 @@ index 8f0bd246d41627bf9725f88268530ac6ead32b0a..61365fc2d9b1726cb7c50bf4f0c178d1
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 6af131d0574a508bccc84b85d0e0b3b5bab6f795..42bfd02fc5e844367e761c98ffc62e6c236f0c03 100644
|
||||
index 8fbfd134005c0813406fecbce8a918cd0376d03e..51ccbf3bd77bbcf77833b39fadc6c01fd28f2131 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -113,6 +113,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
this.xpReward = 50;
|
||||
}
|
||||
|
||||
@@ -790,7 +790,7 @@ index 6af131d0574a508bccc84b85d0e0b3b5bab6f795..42bfd02fc5e844367e761c98ffc62e6c
|
||||
@Override
|
||||
protected PathNavigation createNavigation(Level world) {
|
||||
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
|
||||
@@ -428,7 +433,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -429,7 +434,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
this.setInvulnerableTicks(i);
|
||||
if (this.tickCount % 10 == 0) {
|
||||
@@ -832,10 +832,10 @@ index 562faf0257388d9c22146a418f25716cef7471b8..c8bac8cb738ad96003a014b468681c43
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 577a829595f67708b220407b53dca1bd145a3479..27bcebb3b71842bc4ae5d440334d7d6dd51b741a 100644
|
||||
index 30b4c8513e97463ce1a96775b1c22a1d95bd6fbd..e6542240c317be28a7b536a736f7ccdc9f050dca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -250,6 +250,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -251,6 +251,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -901,10 +901,10 @@ index 01dd5347bc8fa25b9b1f6cb746c25ca68eda95bb..d973adad5411b390464d7a654d8e8c1d
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 7fb02aab225a45e951ab1e7c6ba1c53f53d0fecd..336a22876bcf1cdfcd9d17d22f615d45c2863589 100644
|
||||
index 75de003b4f7556cd9c5137fe324b66348835141a..2cbc2f158b2bb65bfbf6b122a5b6e000252e51ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -55,6 +55,11 @@ public class Endermite extends Monster {
|
||||
@@ -60,6 +60,11 @@ public class Endermite extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1091,10 +1091,10 @@ index 98ced015ceb4f68364ff5ee6f7ee1a69251dbb04..6819acda60e783ee57dd8b9b5d27bc1e
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 31d204d8d81ccc30371070af3678d82dc721618d..6a6349c7002439965422aa4979682b4ce6dfba1e 100644
|
||||
index 3eca357a82eebedc56237a03503017a17f17d3a6..c4af35ac6c8ac6e76adb061bf628f6cca2e7199c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -79,6 +79,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -83,6 +83,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1139,10 +1139,10 @@ index a695ac9b9e4c3e423d74d082e24928581333947e..2d8d88a3552516becdd7adb11b7706fc
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index f5dda5ed4532c8572bc4f511c49377c262efe057..1738f0a251e4cab2eb3f122e83366afb02201765 100644
|
||||
index e884e44139e2c7a05f5769192c3f6c7632eeb730..e81c162f7a2061180f81754de341b2c33da76a0d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -64,6 +64,11 @@ public class Silverfish extends Monster {
|
||||
@@ -65,6 +65,11 @@ public class Silverfish extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1171,10 +1171,10 @@ index 3568c4b7ecfa250bbeb1799685b487df53537919..23b385205fe8d1245e65a42b8a356f01
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 23ed3890fd5a5786c1d251b926cb386b16f8b4f9..76240a809e4a06422bee4fcc8995c76e8ff634f1 100644
|
||||
index bb1d0cae9d51a64e0752a59218dc71da73330139..fdfb0d1582e377e59e808e4388d660579377a286 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -101,6 +101,37 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -102,6 +102,37 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
return true; // do not jump() in wasd controller, let vanilla controller handle
|
||||
}
|
||||
@@ -1212,7 +1212,7 @@ index 23ed3890fd5a5786c1d251b926cb386b16f8b4f9..76240a809e4a06422bee4fcc8995c76e
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -135,9 +166,9 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -136,9 +167,9 @@ public class Slime extends Mob implements Enemy {
|
||||
this.entityData.set(Slime.ID_SIZE, j);
|
||||
this.reapplyPosition();
|
||||
this.refreshDimensions();
|
||||
@@ -1273,7 +1273,7 @@ index bfd69abf24d788b5e539498d56ade57fcb78f580..9b853fd05a3a851cb08d7f849b51f2b2
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
index 841fba3edf697647f59d0485b751c83625cccc83..7b76a4dadf57d8476d4bf85e6e1861f6fd122b67 100644
|
||||
index b676f6c814d63e950af192a56ab5a4bf5f14a7d6..0dae7c87a9f61a7d8e493537e0aada78370bb334 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -107,6 +107,11 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1472,10 +1472,10 @@ index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913f
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 3f9945db1970c6356e3fbde3520c07e2a75fbb48..36e360a3b72ad20b4fe2e3a57ce1a1c6caaa494f 100644
|
||||
index 8e3e9bfe614057450ec771f72c9b1d7ea061d66e..8a864f236048e0c2b120f698439af652a8bcb0a8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -180,6 +180,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1488,10 +1488,10 @@ index 3f9945db1970c6356e3fbde3520c07e2a75fbb48..36e360a3b72ad20b4fe2e3a57ce1a1c6
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 3782209c6d3408393e91ffe64976a15cba025843..5184939949ab54504f178f86fffba4507a895568 100644
|
||||
index 80b9c2043f2a84dc44b082a9c97a7b5dbbb93dc2..80a157aa57fe5e6725b6e06a93b841d66cf62455 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -87,6 +87,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -88,6 +88,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index a2e76fb8431cd4dc0cbf94245086c939625fb0da..a2715cc02f3a8a12aa8538fb7b52e5da03f1278c 100644
|
||||
index 6886f5808ffaaed06dcae122f7cba6a12ad563af..f8a6d48200dae42cb73ed4f7eb52f957e7530e8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1188,6 +1188,27 @@ public abstract class PlayerList {
|
||||
@@ -1189,6 +1189,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper - Add sendOpLevel API
|
||||
@@ -37,10 +37,10 @@ index a2e76fb8431cd4dc0cbf94245086c939625fb0da..a2715cc02f3a8a12aa8538fb7b52e5da
|
||||
|
||||
public boolean isWhiteListed(GameProfile profile) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 835e4451b075d00de53f99a796b91010fbae29b2..0c06194b9a182447459815d88a8dcb96b7b4b896 100644
|
||||
index 8a6acc19e9f3afb778420495a5ed41ce78227f1a..cad2ff51d79d584312a03f35266774b297883c0c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
|
||||
public float hurtDir; // Paper - protected -> public
|
||||
public boolean affectsSpawning = true; // Paper - Affects Spawning API
|
||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
|
||||
|
||||
@@ -78,7 +78,7 @@ index 44409eed0b603a1e8203a35ff0263d360d81be32..cdb3cf1b9a809e3936164dbbcf9ccdfc
|
||||
return this.stats;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 88eaf67ee621e06025f23657fe870cc2c9cb9b8f..56589f5c674670534ecf0b97c73c97e302716b9c 100644
|
||||
index 7f73d724af2c468a06dcfd760a70b8d6bd9ac31a..69919fa008780a09b5cfea5e41bb71ddfb4c0b80 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -192,10 +192,10 @@ index 931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a..d8642979b7296737d08529f6db4f64e4
|
||||
if (baseEntity == null) {
|
||||
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 0c06194b9a182447459815d88a8dcb96b7b4b896..e1e5837c6f90c811f63053bbca80c512229cd727 100644
|
||||
index cad2ff51d79d584312a03f35266774b297883c0c..97805659af862213e9217c408519563de2be5b35 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -188,6 +188,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -189,6 +189,13 @@ public abstract class Player extends LivingEntity {
|
||||
public boolean fauxSleeping;
|
||||
public int oldLevel = -1;
|
||||
|
||||
@@ -223,7 +223,7 @@ index ed84c87a3f76bc0254c1abb189e6b8b808823465..5bc68b1ef33f297e9a4b1bdd7d69f86a
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index ab96c92d3d995a64ea9fd1c3996da35148195c48..008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e 100644
|
||||
index ee8c5a9881de75a9a8fe4224f7585a036017653a..bcf3393ad12a70eea0e1b24f69fac15b08af32fb 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -488,10 +488,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f997270a49e1e 100644
|
||||
index 781eefa21c958c28c35d2d9559d89da236ce9387..5e5485906f1157e52a7082278adcb7b6e56f3f06 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
|
||||
public boolean forceDrops;
|
||||
public ArrayList<DefaultDrop> drops = new ArrayList<>(); // Paper - Restore vanilla drops behavior
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -352,7 +353,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -353,7 +354,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
|
||||
double d1 = this.getX();
|
||||
double d2 = this.getY();
|
||||
double d3 = this.getZ();
|
||||
@@ -367,7 +368,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -368,7 +369,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
|
||||
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
int i = (int) (150.0D * d7);
|
||||
|
||||
@@ -2109,7 +2110,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2117,7 +2118,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
|
||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||
|
||||
@@ -69,7 +69,7 @@ index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 6f9cb8f328f47d6f3eb3142d701d80ceb51af926..152dff14fec82432aeddf82cda6236b7d6326dca 100644
|
||||
index 98df582ca3425f621396ce93cf7a0617ce3fb11f..de7a555a646aa4eb1ed4b75e01e6ef373444ac65 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1156,4 +1156,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Charged creeper naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 33ba948bafc879f6e9cd28f7fe6bce85628cc463..7770880c9525805b67199f3c6b54618af15d106f 100644
|
||||
index e6542240c317be28a7b536a736f7ccdc9f050dca..bc3d0654759b330c473de080b8a51c0a04cf3a19 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -255,6 +255,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -256,6 +256,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.creeperMaxHealth);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ index 33ba948bafc879f6e9cd28f7fe6bce85628cc463..7770880c9525805b67199f3c6b54618a
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 06ea43ddbbaf3165b74303a713f55512b9701765..c7956dfe6ef01868106d7c0989d5c6a612e07b7d 100644
|
||||
index 41822b9b050f4267cc0151ea85682523f89af57f..e033ef722d9b6336f1cbc6bdf404f35c34b45db9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -345,6 +345,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f9034576ad140e1 100644
|
||||
index 3faa945f9687abeba7a36f8198cb307685e348a9..a910e897cbd11fa17469642de43225eb512c1c51 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -36,6 +36,7 @@ import net.minecraft.util.RandomSource;
|
||||
@@ -16,7 +16,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.AgeableMob;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
@@ -390,6 +391,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -394,6 +395,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
|
||||
private void setTargetGoals() {
|
||||
@@ -28,7 +28,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
|
||||
if (this.getVariant() == Fox.Type.RED) {
|
||||
this.targetSelector.addGoal(4, this.landTargetGoal);
|
||||
this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
|
||||
@@ -423,6 +429,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -427,6 +433,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
|
||||
public void setVariant(Fox.Type variant) {
|
||||
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
|
||||
@@ -36,7 +36,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
|
||||
}
|
||||
|
||||
List<UUID> getTrustedUUIDs() {
|
||||
@@ -769,6 +776,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -773,6 +780,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -67,7 +67,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
|
||||
// Paper start - Cancellable death event
|
||||
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6087141b308c1998a6be13dbf6e1ef75d6ddc6a8..532e25d00128c62c6eae4d0076dc0a3bd16c5b4e 100644
|
||||
index a96aa7f127467a6ea8025c09f4e336f1910cc8af..d084d5ef20b2fb4d3b5479cb51003fb82a0358fc 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -509,6 +509,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 036688d52541dda8d8eef6fee43823844f245124..7ca03d221e33cec1df99b6dcd60fcdd401530938 100644
|
||||
index aa1e2c05c65391b5fbfce203c5095afd50682874..f8db28b15e551fc0e0c7f37c355237685c637529 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -336,7 +336,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -337,7 +337,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public double xOld;
|
||||
public double yOld;
|
||||
public double zOld;
|
||||
@@ -18,10 +18,10 @@ index 036688d52541dda8d8eef6fee43823844f245124..7ca03d221e33cec1df99b6dcd60fcdd4
|
||||
public final RandomSource random;
|
||||
public int tickCount;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 94a30a0c1266bf919d1dc4ca2b19489edd54a7fa..61a2048625df012f563d3a0db567630bdfe489c3 100644
|
||||
index eadcebd7845ee716e33c0ac0544502da1a6c5941..8cb248a185d880bf82ea4746341fe3db5dc89459 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -677,6 +677,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -678,6 +678,7 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -30,7 +30,7 @@ index 94a30a0c1266bf919d1dc4ca2b19489edd54a7fa..61a2048625df012f563d3a0db567630b
|
||||
if (!this.canTick) {
|
||||
if (this.noTickPoseDirty) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c76957ae7e9f2aa6b34d0a1098cfbc036b723237..ba7f378b9b0c791dd77862439f310a6653cccf30 100644
|
||||
index 4cd6d9309ed81956d59063fe4d229c6f930922ed..6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -90,6 +90,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981611b0bc3 100644
|
||||
index f440eabffb1abe4c7370bf7badf6137a22f99071..9a1e1387932a92fdf86a144b2d94b4df50feef90 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
|
||||
@@ -100,7 +100,7 @@ index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981
|
||||
+ return InteractionResult.PASS;
|
||||
+ }
|
||||
+ this.level().addFreshEntity(mooshroom);
|
||||
+ this.remove(RemovalReason.DISCARDED);
|
||||
+ this.remove(RemovalReason.DISCARDED, org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ if (!player.getAbilities().instabuild) {
|
||||
+ stack.shrink(1);
|
||||
+ }
|
||||
@@ -114,7 +114,7 @@ index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6102535823eab8862c23919f20a8062f9f750eb6..0db470bab81016af906dda69c9ff487e88bb63a9 100644
|
||||
index c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa..ab5960b9104d362852ee3d6ba151cf78dd58a0ee 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 557592aa5799dca43c778ef7a0d3b98619b90b90..c58b3ff4e7e5dba4543a77c2c4d9bad3911fba98 100644
|
||||
index 0ff5902dde47c4bb9922d6605d874868fb4820b9..4c3a4a5e79412a570b0dc1fdeaf540b83eb84b82 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -221,7 +221,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -222,7 +222,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
// this.discard(); // CraftBukkit - moved down
|
||||
entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
entitycow.setHealth(this.getHealth());
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 6480e0f026e686b2d0a093d901d7f1e312a45021..dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120 100644
|
||||
index fdf5651c7877313437ecd32914823d00e53bdb99..77147698154dfa6221a979ba170671d60da048ff 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -177,6 +177,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -178,6 +178,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
public InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
boolean flag = this.isFood(player.getItemInHand(hand));
|
||||
|
||||
@@ -27,7 +27,7 @@ index 6480e0f026e686b2d0a093d901d7f1e312a45021..dc27fa0df90f8eefc20bf76ff58b1b2e
|
||||
if (!this.level().isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0db470bab81016af906dda69c9ff487e88bb63a9..05b7788d168cadb594613d81cbff0726a63d81d2 100644
|
||||
index ab5960b9104d362852ee3d6ba151cf78dd58a0ee..1c530384c9040236ce525329f37913cdd3e424ff 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -911,6 +911,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index e9cdda0dd902cade5cc32acf4dcdc6c3174e0191..cfe7086b0259eefcd221a54529c111f7eb1adc38 100644
|
||||
index 62ca0378469e74497bf256a58f55c2a73028d090..e4b2b35cb1704e61ce0a84cb97578cee7e1eed43 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -748,7 +748,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -749,7 +749,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
||||
short short0 = 500;
|
||||
|
||||
@@ -18,7 +18,7 @@ index e9cdda0dd902cade5cc32acf4dcdc6c3174e0191..cfe7086b0259eefcd221a54529c111f7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a48dbad212789f90525e669ea81b1042c53cd06a..10572cc8cae0902a050e62e568b29b96d9c54a21 100644
|
||||
index acec5455e9c16508ae474e1307e3cc234d17e6ee..a9d6c6713a098ca87d62b43d491bc2d9a8590741 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -455,6 +455,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a9d54deefa076a03bd142983261f997270a49e1e..ba1ca47591756558d6722788695338ef03aadef6 100644
|
||||
index 5e5485906f1157e52a7082278adcb7b6e56f3f06..a065009d01a5e28a3054241f30e5bedf21350cb5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1843,6 +1843,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1851,6 +1851,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
@@ -16,7 +16,7 @@ index a9d54deefa076a03bd142983261f997270a49e1e..ba1ca47591756558d6722788695338ef
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1851,6 +1852,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1859,6 +1860,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(source, i, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] End gateway should check if entity can use portal
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index 7491e075baebc7d412d35593bb844b200e304447..2e264b8b13df9da9163a80b3dd4345af3cff431c 100644
|
||||
index 54f7bdd0e003ed170d739593199a2bb8ff0bbd68..400b7bbf49b1aa42eebb5d8f349a19d4ff321a7c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -177,6 +177,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -178,6 +178,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
|
||||
public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) {
|
||||
if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 2b65d30a143fdc2af635125901f2aba8fdc8c4a7..77f69ea078975f2e74a07526e4ed8c7eb742c05b 100644
|
||||
index f8a6d48200dae42cb73ed4f7eb52f957e7530e8c..8d4e080540fb24b434e6d01eee6e7c2116c66804 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1180,6 +1180,7 @@ public abstract class PlayerList {
|
||||
@@ -1181,6 +1181,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
index 01e8f6f36a17c484b825879c377f7d6cc08e1fda..f74e5e055243abb36c7444422de54c806a39e675 100644
|
||||
index 8ae7d62b72fb72d893e68b02b645d48374595ae6..2bd77524313ae7b32f710e7d197e81a2ddd12965 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||
@@ -60,7 +60,7 @@ public class ThrownTrident extends AbstractArrow {
|
||||
@@ -63,7 +63,7 @@ public class ThrownTrident extends AbstractArrow {
|
||||
Entity entity = this.getOwner();
|
||||
byte b0 = (Byte) this.entityData.get(ThrownTrident.ID_LOYALTY);
|
||||
|
||||
@@ -18,7 +18,7 @@ index 01e8f6f36a17c484b825879c377f7d6cc08e1fda..f74e5e055243abb36c7444422de54c80
|
||||
if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
|
||||
this.spawnAtLocation(this.getPickupItem(), 0.1F);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 297dfcc634cbe6993e7844209ee564ad530866ac..44a7ccb0f8f69dc4a4af65f3e45d714f46f60071 100644
|
||||
index 40493cbb1b14f16549b95aa439e4c25c04a0627c..a5ec746fc30af0093430bb7a7f6848081220ec57 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,9 +97,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,20 +5,20 @@ Subject: [PATCH] Add enderman and creeper griefing controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 7770880c9525805b67199f3c6b54618af15d106f..54184d7641e435654e987f866162b610a9352947 100644
|
||||
index bc3d0654759b330c473de080b8a51c0a04cf3a19..88a1f4ee23c29daec81e1807129e4facf3c19714 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -362,7 +362,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -363,7 +363,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
if (!event.isCancelled()) {
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
- this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.MOB); // CraftBukkit
|
||||
+ this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), this.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) && level().purpurConfig.creeperAllowGriefing ? Level.ExplosionInteraction.MOB : Level.ExplosionInteraction.NONE); // CraftBukkit // Purpur
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
|
||||
this.spawnLingeringCloud();
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index ac1c9f44f2a9b7294f2999c70d7dfddb4f0c1ca2..2af9b2334a4baa15620b06ffddfbc60833bd4187 100644
|
||||
index d973adad5411b390464d7a654d8e8c1dcf69729c..cc917e69d8d15061121278fe833225f5c8812007 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -547,6 +547,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -38,7 +38,7 @@ index ac1c9f44f2a9b7294f2999c70d7dfddb4f0c1ca2..2af9b2334a4baa15620b06ffddfbc608
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 44a7ccb0f8f69dc4a4af65f3e45d714f46f60071..511cec787f2fb9e4985ffcfb13b1352a2c789fee 100644
|
||||
index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c04316fec 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -437,6 +437,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -18,7 +18,7 @@ index 0d9b194781d152e842c9a4b8d6f23d307b2e4452..00cf59524477ec79d4354cc403fc3e75
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
index 5a591c439c5cef6b7e7e6f836ab813cb4f29b08c..44bb73e6846fc5f536b6efd5db7c5f1560ffecae 100644
|
||||
index 4e6c2f6b2e54a4c126e9a026b9cad05ce835ad66..69553b5b3c56998e4ae40876b1458929b335ad5d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
@@ -42,6 +42,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
@@ -30,10 +30,10 @@ index 5a591c439c5cef6b7e7e6f836ab813cb4f29b08c..44bb73e6846fc5f536b6efd5db7c5f15
|
||||
// CraftBukkit start
|
||||
private CraftMerchant craftMerchant;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index c21b06edb9507ddf9e5a1de56164d9c187f83cab..a39457752612fc0dbbb022cb7faebc73bc2ad5e5 100644
|
||||
index 8a864f236048e0c2b120f698439af652a8bcb0a8..798325b7594bc0167657eef1bee6aff770591d04 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -155,6 +155,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -156,6 +156,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.getNavigation().setCanFloat(true);
|
||||
this.setCanPickUpLoot(true);
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
@@ -42,10 +42,10 @@ index c21b06edb9507ddf9e5a1de56164d9c187f83cab..a39457752612fc0dbbb022cb7faebc73
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 731bf43e2685554174d7ff295b5561ecf9dd70fa..64dd35573db3feae6507fc05086ed08c60f5ea01 100644
|
||||
index 80a157aa57fe5e6725b6e06a93b841d66cf62455..301d985b89b98a644603a6b086889442f4a37d79 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -112,6 +112,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -113,6 +113,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
|
||||
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
|
||||
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D));
|
||||
@@ -54,7 +54,7 @@ index 731bf43e2685554174d7ff295b5561ecf9dd70fa..64dd35573db3feae6507fc05086ed08c
|
||||
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index edbe9c93d03d3811e536d1a079e7b3511569ffa7..431fa9e522662b506c82fbe7e0266e5662ad91cc 100644
|
||||
index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb42481c041e9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 155e2c928edb63e15c36dd831051c08a8cf2a3fc..9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043 100644
|
||||
index 8b39ea90558dbd5356c038b74fa4037fb69546ac..43f2654eb0a396bce98e0840bdc8a8b16f00b2ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1324,6 +1324,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1325,6 +1325,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
if (!this.isAlive()) {
|
||||
return InteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == player) {
|
||||
@@ -17,10 +17,10 @@ index 155e2c928edb63e15c36dd831051c08a8cf2a3fc..9101ac55f26f130e5d4aa4b4d4a4d500
|
||||
// Paper start - Expand EntityUnleashEvent
|
||||
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index ac8915163a7bf0bae24d7d40e9561a76a6ff02ef..7e8a0c818247b4d283e3451226db83a3bb35408b 100644
|
||||
index 798325b7594bc0167657eef1bee6aff770591d04..451443c942285b0553c87c3456e140e69586b77c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -185,6 +185,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -186,6 +186,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
|
||||
}
|
||||
|
||||
@@ -33,10 +33,10 @@ index ac8915163a7bf0bae24d7d40e9561a76a6ff02ef..7e8a0c818247b4d283e3451226db83a3
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 8ead6c74e598eeeccb5f24cc3d1e86f03d2fe46a..8ab868c88e37fad978ffcf151ad527e57bdf4cb5 100644
|
||||
index 301d985b89b98a644603a6b086889442f4a37d79..6f30c22fe0058320b995570c9af7b15ae917dd76 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -92,6 +92,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -93,6 +93,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ index 8ead6c74e598eeeccb5f24cc3d1e86f03d2fe46a..8ab868c88e37fad978ffcf151ad527e5
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 431fa9e522662b506c82fbe7e0266e5662ad91cc..40a0cd68b1e35894360f0edc45bc30a5bd47622f 100644
|
||||
index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346af890ae0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index e1e5837c6f90c811f63053bbca80c512229cd727..f26322bfa6b26d2b97a1e89218c685b508a3253b 100644
|
||||
index 97805659af862213e9217c408519563de2be5b35..e68ed7339d8aed2b97e310edeee3960611ed7bf1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1936,9 +1936,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1944,9 +1944,19 @@ public abstract class Player extends LivingEntity {
|
||||
@Override
|
||||
public int getExperienceReward() {
|
||||
if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 35a92f63aaf6ad90a028bf9954de48a06030cc7b..df57683541a603daf5ac2af2d5c0e03a14bb910b 100644
|
||||
index f8db28b15e551fc0e0c7f37c355237685c637529..7fe6f44d25790cd222b700cf5ce1d5f36d89e650 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -899,7 +899,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -912,7 +912,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
|
||||
public void checkBelowWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,10 +18,10 @@ index 35a92f63aaf6ad90a028bf9954de48a06030cc7b..df57683541a603daf5ac2af2d5c0e03a
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// Paper end - Configurable nether ceiling damage
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index ba1ca47591756558d6722788695338ef03aadef6..fbba6e2da222f30fc763a680a825d5f2d53b5e4d 100644
|
||||
index a065009d01a5e28a3054241f30e5bedf21350cb5..c80e2c400f264d7d195dbf87f5dec95ba5df7444 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2555,7 +2555,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2563,7 +2563,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
protected void onBelowWorld() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 31c51f882fa1e6c45daeb9b8c2cd32388ed2367e..ae0162d881d75e29d662f77e8be7cd5a91df4e2f 100644
|
||||
index 7fe6f44d25790cd222b700cf5ce1d5f36d89e650..95baff79c07f1fdb1f2c2799527c0d245790cd60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -557,6 +557,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -558,6 +558,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ index 31c51f882fa1e6c45daeb9b8c2cd32388ed2367e..ae0162d881d75e29d662f77e8be7cd5a
|
||||
return this.hardCollides;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 4a2331c22a022881d66bcfd4134b0ffe421a0633..d57ef27df0a3597416564f8723b4b986413ad314 100644
|
||||
index 41261b72bfa5157139a5384b6a0b66b719ec02b9..8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -116,6 +116,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -117,6 +117,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
return target != this.getRider() && super.canHitEntity(target);
|
||||
}
|
||||
|
||||
@@ -48,10 +48,10 @@ index 23dc37ff1f92951817864963bf93220d5aae91bb..af563ffb67c43b50555951fe1b5e4320
|
||||
final EntityType<?> entityType = entity.getType();
|
||||
final int saveLimit = level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
index 83dd3f982d5869e26748e6e0d0b38a3c7a08fe02..92d562fa11f69bb6b841299aef257ea0c674ca1c 100644
|
||||
index b7e3994879a2b1de0c504f122b0c3c3229e4c356..3e846f38902024875d1961b16a60c50201df309d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
@@ -35,6 +35,13 @@ public class DolphinSpit extends LlamaSpit {
|
||||
@@ -36,6 +36,13 @@ public class DolphinSpit extends LlamaSpit {
|
||||
dolphin.getZ() + (double) (dolphin.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(dolphin.yBodyRot * 0.017453292F));
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index 83dd3f982d5869e26748e6e0d0b38a3c7a08fe02..92d562fa11f69bb6b841299aef257ea0
|
||||
super_tick();
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
index 8fa9b376682d9e8b1971a9f72b918c6dc6872d04..d0d951f867390fa12cae2ba2a49212354b10d7b0 100644
|
||||
index bc139e518c8214246c3f514b64f987bdd5de6f23..11825590af9346c61d5d15e5ef446b3c77b81b54 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
@@ -38,6 +38,13 @@ public class PhantomFlames extends LlamaSpit {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043..e9b82e27730221778e38d3417d58484b139d40af 100644
|
||||
index 43f2654eb0a396bce98e0840bdc8a8b16f00b2ba..b30292dcc9bbfc0ded94ee8a0f4a5e949327da54 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -66,6 +66,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
|
||||
@@ -16,7 +16,7 @@ index 9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043..e9b82e27730221778e38d3417d58484b
|
||||
import net.minecraft.world.level.GameRules;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.Level;
|
||||
@@ -1182,6 +1183,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1183,6 +1184,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mending mends most damages equipment first
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index e814b2ef2577f032d6760de2f798d4fe18c67d0c..673b3aee680bb8a2d20f96be661d5fa9c61f4ce3 100644
|
||||
index 36422fb394a158f36c84ba0ee03cc704956c91b2..c8671996f07f1daafe48448f4a5b837ca2f658c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -331,7 +331,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -332,7 +332,7 @@ public class ExperienceOrb extends Entity {
|
||||
}
|
||||
|
||||
private int repairPlayerItems(Player player, int amount) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index fbba6e2da222f30fc763a680a825d5f2d53b5e4d..65c36f41fe7602bfc8d2349b065c7494eb1abfb6 100644
|
||||
index c80e2c400f264d7d195dbf87f5dec95ba5df7444..40a22471b7828d660b1d8aa3f16af060694a86e3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3581,7 +3581,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3589,7 +3589,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
|
||||
@@ -18,10 +18,10 @@ index db55ad9aaabfa1ea998754f3ac352d1698936696..04b98e23eed926d8473cc2464e04a5b9
|
||||
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
|
||||
this.trackedPlayers = trackedPlayers;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda34937ce0b496 100644
|
||||
index c7f06c3cfb737bd17a706798bf9cf0e1af5f0cc0..3cac817351a149935df75ef23d9f9417f6502016 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -58,6 +58,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -59,6 +59,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
public boolean canMobPickup = true; // Paper - Item#canEntityPickup
|
||||
private int despawnRate = -1; // Paper - Alternative item-despawn-rate
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
@@ -34,7 +34,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
|
||||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -364,7 +370,16 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -365,7 +371,16 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
@@ -52,7 +52,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
|
||||
return false;
|
||||
} else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) {
|
||||
return false;
|
||||
@@ -567,6 +582,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -568,6 +583,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
public void setItem(ItemStack stack) {
|
||||
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
|
||||
this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - Alternative item-despawn-rate
|
||||
@@ -66,7 +66,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
index 832def3c518be8d6d81e71f6022566e6179e2d17..e99007570a89eebe3c85ad549cf24286514306f8 100644
|
||||
index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1ae17678f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
@@ -151,4 +151,46 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
@@ -117,7 +117,7 @@ index 832def3c518be8d6d81e71f6022566e6179e2d17..e99007570a89eebe3c85ad549cf24286
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9aab2c1dc14f9683953cb2876ee9471f603da629..b5599360a524a55183b3a21f822b5cb24f59dc67 100644
|
||||
index 88aabe09118cbbad3add3cee44e237580294f685..62074152a0a494bbde4c39074942425a8b850ffd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -125,6 +125,49 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index c99ab157e43fc990549fc06f5b6fb1e227014fde..aa75a9229210302dbccd6186439c3c35481ef46c 100644
|
||||
index 036640d49a5e891e9a0f767abe33f1f51d6d4cde..c0c8bdfbab17d8a10d616e2625ebfa7babf5fab3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -30,6 +30,12 @@ public class EndCrystal extends Entity {
|
||||
@@ -31,6 +31,12 @@ public class EndCrystal extends Entity {
|
||||
private static final EntityDataAccessor<Boolean> DATA_SHOW_BOTTOM = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.BOOLEAN);
|
||||
public int time;
|
||||
public boolean generatedByDragonFight = false; // Paper - Fix invulnerable end crystals
|
||||
@@ -21,7 +21,7 @@ index c99ab157e43fc990549fc06f5b6fb1e227014fde..aa75a9229210302dbccd6186439c3c35
|
||||
|
||||
public EndCrystal(EntityType<? extends EndCrystal> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -79,6 +85,49 @@ public class EndCrystal extends Entity {
|
||||
@@ -80,6 +86,49 @@ public class EndCrystal extends Entity {
|
||||
// Paper end - Fix invulnerable end crystals
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 1cc86f8dd63802b7227de56b44c859c253a80756..b9a4815d6f942d78851213224a475b15
|
||||
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85396edbe3 100644
|
||||
index b30292dcc9bbfc0ded94ee8a0f4a5e949327da54..20e8c3c88891f0fe20556b700fab5122682b2bdb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -136,6 +136,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -137,6 +137,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
private BlockPos restrictCenter;
|
||||
private float restrictRadius;
|
||||
|
||||
@@ -28,7 +28,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
public boolean aware = true; // CraftBukkit
|
||||
|
||||
protected Mob(EntityType<? extends Mob> type, Level world) {
|
||||
@@ -325,6 +326,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -326,6 +327,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
entityliving = null;
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
this.target = entityliving;
|
||||
return true;
|
||||
// CraftBukkit end
|
||||
@@ -372,8 +374,28 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -373,8 +375,28 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
|
||||
this.level().getProfiler().pop();
|
||||
@@ -57,7 +57,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
+ return; // mob persistent
|
||||
+ }
|
||||
+ if (this.ticksSinceLastInteraction > this.level().purpurConfig.entityLifeSpan) {
|
||||
+ this.discard();
|
||||
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
@@ -65,7 +65,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
@Override
|
||||
protected void playHurtSound(DamageSource source) {
|
||||
this.resetAmbientSoundTime();
|
||||
@@ -563,6 +585,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -564,6 +586,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
|
||||
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||
@@ -73,7 +73,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -633,6 +656,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -634,6 +657,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.aware = nbt.getBoolean("Bukkit.Aware");
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -85,7 +85,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1716,6 +1744,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1717,6 +1745,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.setLastHurtMob(target);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ index 8b2550bada2cca8cb9875580133ce0ee6cc19325..498c60a8669b867101f030b5735deffe
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 65c36f41fe7602bfc8d2349b065c7494eb1abfb6..7caf73407b0a98fdb316a6b738704fe737f4c65b 100644
|
||||
index 40a22471b7828d660b1d8aa3f16af060694a86e3..dea777da2b5cb5182fd165d070dd90d579f99bea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -426,6 +426,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -427,6 +427,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
double d1 = this.level().getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index f4ed6ae7e8f122a0a2ce7f4488b0fe1ed0c7da3d..ce450d4b0d42443a47861dcb54b78a01ede734d1 100644
|
||||
index 451443c942285b0553c87c3456e140e69586b77c..976388612d64cd137b18870119928cbd45dfd2a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -786,7 +786,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -787,7 +787,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public boolean canBreed() {
|
||||
@@ -18,7 +18,7 @@ index f4ed6ae7e8f122a0a2ce7f4488b0fe1ed0c7da3d..ce450d4b0d42443a47861dcb54b78a01
|
||||
|
||||
private boolean hungry() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a0477b47563214152483423121523f836827306b..3decdb56a21e7be052ef9386f2059e912738d4be 100644
|
||||
index dcd9f80eb69e34b514f57158568e4cb59e9860ec..df4f384032f398fc9852e753dee820ffa33e10bb 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 7caf73407b0a98fdb316a6b738704fe737f4c65b..a0573d7c164091ad8fa3d98d1c462a4eee309a2f 100644
|
||||
index dea777da2b5cb5182fd165d070dd90d579f99bea..02be3c960bc89464b589a557d4269fce8fb88766 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1632,6 +1632,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1640,6 +1640,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 519e52b303cb9a2d4b1cae84d8436f2057003fcb..ff11643193495f0646de4bcf13b7f1e57731e4fb 100644
|
||||
index df6306572f11762ec0d54b738c1a8a30269c9224..3e32787cc7e96e83dc408e556a92b25607d487a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -480,6 +480,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -481,6 +481,7 @@ public class Dolphin extends WaterAnimal {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -17,7 +17,7 @@ index 519e52b303cb9a2d4b1cae84d8436f2057003fcb..ff11643193495f0646de4bcf13b7f1e5
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1f22aae24973fc8f6464c0de0188d01c8171546f..afc67803bf71d26e84f9130c30ac2b1b3d1114bf 100644
|
||||
index 4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9..b9faaf71e0cd5918b072d068bbc2096aa2805616 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -610,6 +610,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2d24aa01680dfc8ada8db55d9af57bcff8218624..2300068427a5e0fe7e263455e6035cb5cff33a5f 100644
|
||||
index 95baff79c07f1fdb1f2c2799527c0d245790cd60..8307646d2ff06ae8cde245c8d1aec259df2330a2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4446,6 +4446,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -4462,6 +4462,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2300068427a5e0fe7e263455e6035cb5cff33a5f..53e072f6070101f9c1bd24eacf1114e0a1c16305 100644
|
||||
index 8307646d2ff06ae8cde245c8d1aec259df2330a2..ca0719307e4d50b3dcfe13195f1c1e680b00350c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3151,7 +3151,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3167,7 +3167,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 2300068427a5e0fe7e263455e6035cb5cff33a5f..53e072f6070101f9c1bd24eacf1114e0
|
||||
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3857,7 +3857,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3873,7 +3873,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
|
||||
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 29957114850eb897b54997dcad0753e0c895ce6e..93cf322ea4943fea127dc89eed900a2ca21b096c 100644
|
||||
index 51ccbf3bd77bbcf77833b39fadc6c01fd28f2131..0c7623cc87c534cf02ee78a1ffb6928a31758f6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -526,8 +526,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -527,8 +527,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ index 29957114850eb897b54997dcad0753e0c895ce6e..93cf322ea4943fea127dc89eed900a2c
|
||||
|
||||
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4ffd1263f48a426e5f7a79fd266a0f445975dc2e..6b7602954de34a114893e49e8f93665ba30ed494 100644
|
||||
index 1f25407aafba71762a482f0b1982302fed14387f..beea39d7cdbca783de7248a5c40ea2c7ab02e5b5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -7,10 +7,10 @@ This prevents keeping arrows alive indefinitely (such as when the block
|
||||
the arrow is stuck in gets removed, like a piston head going up/down)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
index 42ebd91196ae420eee57f4380abc558555457163..49b55db16c8c2f389fb6990b3b3ad7dc29eb10c3 100644
|
||||
index e8faca6e443239968f0111519f9e5cd018ed3297..5d60f038220ef4e7b66834c172cc47c7abfe7da7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
@@ -319,7 +319,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@@ -320,7 +320,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
|
||||
this.setDeltaMovement(vec3d.multiply((double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F)));
|
||||
@@ -20,7 +20,7 @@ index 42ebd91196ae420eee57f4380abc558555457163..49b55db16c8c2f389fb6990b3b3ad7dc
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e1701bd63540f1672ceb821f0e37d29587847da9..c0f3f52068d147ca06dbb87da51d628b56cf51e4 100644
|
||||
index 666ff3e30e09c91653bf51041afc95799c8955fe..4386ae1f2f1e0340ad045023124693f619cf4283 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -101,6 +101,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -95,7 +95,7 @@ index bc3094493d7d25eaf50da8fdd74eacae25692b09..b142e5c489e9fe65b7258f541ef121b2
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906cd2e5acd 100644
|
||||
index 9a1e1387932a92fdf86a144b2d94b4df50feef90..3fd310fe80b0f725746e20e8be2b3b7710467c28 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -69,6 +69,11 @@ public class Cow extends Animal {
|
||||
@@ -111,10 +111,10 @@ index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f65a4ee89 100644
|
||||
index a910e897cbd11fa17469642de43225eb512c1c51..4f1ae50564a7e646172b3b923d15a002ee736601 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -192,6 +192,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth);
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
@@ -1003,8 +1008,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -1007,8 +1012,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
|
||||
}
|
||||
|
||||
@@ -140,10 +140,10 @@ index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f
|
||||
this.partner.resetLove();
|
||||
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index e21fc50313052fe38ad54e5b44b3739c881ccd22..56427c987439c2d6d5652dae0f2c0a72d4eba26e 100644
|
||||
index 4c3a4a5e79412a570b0dc1fdeaf540b83eb84b82..b699f88ce9480ef4da5bfb97004a9c5f62d58894 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -85,6 +85,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -86,6 +86,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.mooshroomMaxHealth);
|
||||
}
|
||||
|
||||
@@ -172,10 +172,10 @@ index 14daac1a87e32e0ff0a610aef256e20cbfe50001..3fe751839e4a1bc266b0d9508e1e3384
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 846cbac0f862ec881347325dcd6db8eaedbd0e75..fe6323d131acc3885108d18f884a4c7d6d2f4905 100644
|
||||
index 641e0ba16afe6720c5a5ff4e8e4882d4e9bdb46d..2e90708da8984c18d2325bc8b5c207bd075bec52 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -146,6 +146,11 @@ public class Panda extends Animal {
|
||||
@@ -147,6 +147,11 @@ public class Panda extends Animal {
|
||||
setAttributes();
|
||||
}
|
||||
|
||||
@@ -204,10 +204,10 @@ index 9334fb348e559ee27ba38bbd51c30876206c2af4..3bb216b678eee290a9ec636fe4d8af9d
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120..42bf69eb86b9ccfb5afaf17e319bf34ce055e033 100644
|
||||
index 77147698154dfa6221a979ba170671d60da048ff..d858d4c94fb17d14367672813b506aea9e2e4ee1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -89,6 +89,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -90,6 +90,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth);
|
||||
}
|
||||
|
||||
@@ -268,7 +268,7 @@ index 1d69558cccc6add5f02f1ff070c985bd5ec406c0..df7deec204ebf99afdbfe49f9a113857
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 3fcc57ed165203a36b35e121c2c0cc88ba5f73b8..0e2c4140f2772b7df3222343e17e3a973d3667a9 100644
|
||||
index 511de848cb9cfed304fa59cb38205db4b71dd8eb..eb1af0926c1c8990602ba4f98cec45d6a0a839aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -108,6 +108,11 @@ public class Turtle extends Animal {
|
||||
@@ -316,7 +316,7 @@ index 48b0df2acccd0d406ba05aaeb6dfbfde57cc1366..8bad919c44f7c4c4c524ea9ad5c8e38a
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
index aace7991c198ccfe1338625e7b64b88921cefe0c..d1ada87d222e5b35c2df5a0e7b0075ec3413fa66 100644
|
||||
index 2ffa81c374bd4dc618b8e284317d13f6a070dc52..a654c26742d8aa5e4c58a6391ad2fc5fe917ed3a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
@@ -91,6 +91,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
|
||||
@@ -426,10 +426,10 @@ index abbeb305b2d09e9c4c02ade603adac5ceb34bdd0..1de48560ac5a1db8845c98c812b2e9f9
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 68981762e3b71cfdf12180c9a711f22b33c471b7..76de20b86b6b99c10379adeb303fac4371891923 100644
|
||||
index d65d3c1275623a199d90497152519e45317a110f..250a51017cfbb42730ed736a112b269a258c19af 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -57,6 +57,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -64,6 +64,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
return generateSpeed(this.level().purpurConfig.skeletonHorseMovementSpeedMin, this.level().purpurConfig.skeletonHorseMovementSpeedMax);
|
||||
}
|
||||
|
||||
@@ -439,13 +439,13 @@ index 68981762e3b71cfdf12180c9a711f22b33c471b7..76de20b86b6b99c10379adeb303fac43
|
||||
+ }
|
||||
+
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 4abb9d5fedf63eba9dc3f716d44ea11806607af0..3632fcb124be8cf77d9bebf7b861a48196252ed0 100644
|
||||
index 85e32d35cdfb7dd11b3c28146b9b71eae2b5c685..0a6cf9f0f16882c8042a333852699129402f75f2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -64,6 +64,11 @@ public class TraderLlama extends Llama {
|
||||
@@ -67,6 +67,11 @@ public class TraderLlama extends Llama {
|
||||
return generateSpeed(this.level().purpurConfig.traderLlamaMovementSpeedMin, this.level().purpurConfig.traderLlamaMovementSpeedMax);
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ index 9748b32692b14bffde1506e88149939c4ed25900..fae14f6ab139e7d7a0e8625488c472f0
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return !this.isLeashed();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 52b9e364056b0b405779965daa634a8b0f1f82e0..bbff889198f33fa8fede86fef7be81236a0a591c 100644
|
||||
index c469fc30efcc71af34b446475af16870049487b6..4e2619e07b177cd8ce732e58da538de89b627098 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -501,10 +501,12 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index b9bb4745cf540b5720259b009e973633647c36c6..1bb58a662f885670e3104e30c7ff0160198ceeed 100644
|
||||
index 8cb248a185d880bf82ea4746341fe3db5dc89459..aca5e7a2b0eab93c613b03834509366f7119ec03 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -606,7 +606,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -607,7 +607,7 @@ public class ArmorStand extends LivingEntity {
|
||||
private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(DamageSource damageSource) { // Paper
|
||||
ItemStack itemstack = new ItemStack(Items.ARMOR_STAND);
|
||||
|
||||
@@ -19,7 +19,7 @@ index b9bb4745cf540b5720259b009e973633647c36c6..1bb58a662f885670e3104e30c7ff0160
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
index 69912c5b300b67394dce3876d2d96872033cf156..d728dc8a9b5fa2de0a824aaf132ee15db090b02e 100644
|
||||
index 80303f9466b8c7097151be313afc9a383693d18a..e5b7598a5613a8281a991e42af5b950bcc2995ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
@@ -268,7 +268,13 @@ public class ItemFrame extends HangingEntity {
|
||||
@@ -57,7 +57,7 @@ index 03c065d0ad97d29f3586ba2bf3cd207b867ed634..62cdc36a21c0203ed98d2946a1efdf54
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
index 960bada23cb89a7f270d1ee24d62f2bc108522af..7e9c88efd2a1edea673d1ef81635c2891a04d30e 100644
|
||||
index 96c6b4c37a556da8a4c6807db121c44c3f1b0729..81e0930acccd014e977b88d22e10346627f0edb0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
@@ -968,7 +968,13 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
|
||||
@@ -136,7 +136,7 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74
|
||||
|
||||
if (((HangingEntity) object).survives()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 569a09a73c9d800e78a77c430494292457453ab1..82d7028c1fc2ddfbb8bbcee9205375f4807c8e25 100644
|
||||
index 4e2619e07b177cd8ce732e58da538de89b627098..2d9429ef5884f0ee542c2fb197ae263c2e5d6577 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,20 +5,20 @@ Subject: [PATCH] Add configurable snowball damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
index 718e120c9768cf716b32d3d652f53f1dda925168..b90cedad282e95a067aca176fafa9f72a726f520 100644
|
||||
index 5e82549ea2e80b3968b793b7b4b685c4891e9a91..8d1591c3b29e02794f6f66b742ec6a121920ad71 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
@@ -53,7 +53,7 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
@@ -58,7 +58,7 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
protected void onHitEntity(EntityHitResult entityHitResult) {
|
||||
super.onHitEntity(entityHitResult);
|
||||
Entity entity = entityHitResult.getEntity();
|
||||
- int i = entity instanceof Blaze ? 3 : 0;
|
||||
+ int i = entity.level().purpurConfig.snowballDamage >= 0 ? entity.level().purpurConfig.snowballDamage : entity instanceof Blaze ? 3 : 0; // Purpur
|
||||
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float)i);
|
||||
}
|
||||
|
||||
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b2c8ec43768c1a3243bca0998350400d8ea51b89..06558480c2f3b9b1e81ba48fe7c7a80ea5652599 100644
|
||||
index ed2bc4524167521bdfb1b9c516106b14b4b05e50..1f41804ec120b2e50ef99ef50d41d44a91ba3814 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -350,6 +350,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 8a8ddfffe83554352f1e97fd33e8afd4bb4d82c0..a7b22c652ed8876a1a8da14ffcba69fccedb578f 100644
|
||||
index 20e8c3c88891f0fe20556b700fab5122682b2bdb..050d6705cfa7ce59b85a3120a0569b3e8f9be6b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1311,7 +1311,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1312,7 +1312,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
RandomSource randomsource = world.getRandom();
|
||||
|
||||
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.MULTIPLY_BASE));
|
||||
@@ -18,7 +18,7 @@ index 8a8ddfffe83554352f1e97fd33e8afd4bb4d82c0..a7b22c652ed8876a1a8da14ffcba69fc
|
||||
} else {
|
||||
this.setLeftHanded(false);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 26d0491025361ca2c898d9daa5a47430f9b8ed5e..8ccfa4ff11ca26ff3ac9785daa11d5a03d22649a 100644
|
||||
index 1f41804ec120b2e50ef99ef50d41d44a91ba3814..e84e5007a0952a77b991ff6c00549af28aa54230 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -156,8 +156,10 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -136,10 +136,10 @@ index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3
|
||||
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index ce450d4b0d42443a47861dcb54b78a01ede734d1..833db485054338cd4a5e626b35ec050c35f15477 100644
|
||||
index 976388612d64cd137b18870119928cbd45dfd2a4..430e660f74ee523d0bb98e21784f32158495de7a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -224,7 +224,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -225,7 +225,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
|
||||
} else {
|
||||
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||
@@ -148,7 +148,7 @@ index ce450d4b0d42443a47861dcb54b78a01ede734d1..833db485054338cd4a5e626b35ec050c
|
||||
}
|
||||
|
||||
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
|
||||
@@ -979,6 +979,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -980,6 +980,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
public boolean hasFarmSeeds() {
|
||||
return this.getInventory().hasAnyMatching((itemstack) -> {
|
||||
@@ -174,7 +174,7 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
|
||||
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
|
||||
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7bcec0062d777134fdc963ed4e8874730df36711..743f53357131695b89cb71c0c126f2e53a46c9f1 100644
|
||||
index c034b4686a1f5c67daef7ece163b92f54c6813d4..aebeb25fcb6b9a72ad52d249f8df794c3f5cce11 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1808,6 +1808,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -29,7 +29,7 @@ index 808ec6b3fa06dd0de76e78ec832894b2570eef8c..69af88f3ed690cbb751d367171c4cf6a
|
||||
this.hasLoggedStop = true; // Paper - Debugging
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index a7388e51a169d43f22a1bd193b88f4383949cea6..f0745f41ba4c1931e4b61ac75edcff8f8cea5b34 100644
|
||||
index aa47b0af34cff5eaa638d6c24c718d02a0a266cf..d66fc3f1b8d960782a7a2e08dd72831025f9c8fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -83,10 +83,10 @@ index fbf1b37a0328d72c54331f8b567088731e5cc5d0..a30732576b86bcf9c56e7d0ced8eb849
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index f00121174230b16d852a6b5aaa75d277deaf5dff..d283a8c2e976c0320c65e3be542bd36dad809cc9 100644
|
||||
index 8d4e080540fb24b434e6d01eee6e7c2116c66804..89ba5789c6d6e4fe8360a854f0a6123036a5a792 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -486,6 +486,7 @@ public abstract class PlayerList {
|
||||
@@ -487,6 +487,7 @@ public abstract class PlayerList {
|
||||
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
|
||||
}
|
||||
// Paper end - Configurable player collision
|
||||
@@ -94,7 +94,7 @@ index f00121174230b16d852a6b5aaa75d277deaf5dff..d283a8c2e976c0320c65e3be542bd36d
|
||||
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
|
||||
}
|
||||
|
||||
@@ -598,6 +599,7 @@ public abstract class PlayerList {
|
||||
@@ -599,6 +600,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
|
||||
// Paper end - Fix kick event leave message not being sent
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index f26322bfa6b26d2b97a1e89218c685b508a3253b..ad4046a24f04845e794d1e446e12eb6c5c581d14 100644
|
||||
index e68ed7339d8aed2b97e310edeee3960611ed7bf1..73f8aeb1b5253cfd7d5502d506677a3ef906625e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -368,6 +368,16 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -369,6 +369,16 @@ public abstract class Player extends LivingEntity {
|
||||
this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a0573d7c164091ad8fa3d98d1c462a4eee309a2f..2a5d3d5c0a337933c62e1168de1a595a92bc5444 100644
|
||||
index 02be3c960bc89464b589a557d4269fce8fb88766..0461debc992ad7812a28ea73f3e18d5c0c22f700 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1810,7 +1810,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1818,7 +1818,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
@@ -18,10 +18,10 @@ index a0573d7c164091ad8fa3d98d1c462a4eee309a2f..2a5d3d5c0a337933c62e1168de1a595a
|
||||
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 3fd1951441b149af2fcf335fd4b5886b4d66d5b0..c5cf5e84893f137ee4bead287e80eb57ff1a7407 100644
|
||||
index 050d6705cfa7ce59b85a3120a0569b3e8f9be6b7..56ba7ac3d9d1f65de84f98eb724761d6bb374d47 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -705,7 +705,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -706,7 +706,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
public void aiStep() {
|
||||
super.aiStep();
|
||||
this.level().getProfiler().push("looting");
|
||||
@@ -92,10 +92,10 @@ index 5580a396a56c6e0f364a5368985ee99b9e2be0a8..3facfd6eee17cb0b59425494c966e198
|
||||
} else if (this.nextStartTick > 0) {
|
||||
--this.nextStartTick;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index bc91862958fe18602d301f748ebeb73f65a4ee89..ef2f07cd030d66797cc00932ad61282c634e8047 100644
|
||||
index 4f1ae50564a7e646172b3b923d15a002ee736601..5ddc3e997fec6417c379561f60c438386030d49d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -1397,7 +1397,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -1401,7 +1401,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
|
||||
protected void onReachedTarget() {
|
||||
@@ -131,10 +131,10 @@ index b97f892fe5824b5275905cd51599bea17da3dd19..1d70a108293a61b7813b70cc9ce600a3
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 88bc3710cf7229f85805ec210a06b224aec65a4b..50f6b8977866248d1a69f0c82d427eb8ef480952 100644
|
||||
index e4b2b35cb1704e61ce0a84cb97578cee7e1eed43..39cf974313c7c0bdcd6599c6c8bec450efe0277a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -604,7 +604,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -605,7 +605,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
BlockState iblockdata = this.level().getBlockState(blockposition);
|
||||
|
||||
if (!iblockdata.isAir() && !iblockdata.is(BlockTags.DRAGON_TRANSPARENT)) {
|
||||
@@ -144,10 +144,10 @@ index 88bc3710cf7229f85805ec210a06b224aec65a4b..50f6b8977866248d1a69f0c82d427eb8
|
||||
// flag1 = this.level().removeBlock(blockposition, false) || flag1;
|
||||
flag1 = true;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 6bc0713a8bc8ac86f1febe3414bed135c1cd5336..a655c38eccc41d97cfb6d329e104bad6d9ccbc95 100644
|
||||
index 0c7623cc87c534cf02ee78a1ffb6928a31758f6f..3cc47b0e05621c913a3e8d04c653bafab4a86744 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -493,7 +493,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -494,7 +494,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
if (this.destroyBlocksTick > 0) {
|
||||
--this.destroyBlocksTick;
|
||||
@@ -221,10 +221,10 @@ index 226b44ba4cd3a08562c8cb0d79c1d880cfac34ec..056fa8b12368dac5d1a12962b8ee92e8
|
||||
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
|
||||
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 1738f0a251e4cab2eb3f122e83366afb02201765..49a37d294bac8205ac0a795daa300ccc8170c8a8 100644
|
||||
index e81c162f7a2061180f81754de341b2c33da76a0d..69f6306b91e535050fe8b22852503dfb0514f316 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -210,7 +210,7 @@ public class Silverfish extends Monster {
|
||||
@@ -211,7 +211,7 @@ public class Silverfish extends Monster {
|
||||
continue;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -233,7 +233,7 @@ index 1738f0a251e4cab2eb3f122e83366afb02201765..49a37d294bac8205ac0a795daa300ccc
|
||||
world.destroyBlock(blockposition1, true, this.silverfish);
|
||||
} else {
|
||||
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
|
||||
@@ -248,7 +248,7 @@ public class Silverfish extends Monster {
|
||||
@@ -249,7 +249,7 @@ public class Silverfish extends Monster {
|
||||
} else {
|
||||
RandomSource randomsource = this.mob.getRandom();
|
||||
|
||||
@@ -256,10 +256,10 @@ index b5e6a48192592e9bc5a7c0a2775e5d78f06cd46a..03b58860ecb72976ecce99f368d16942
|
||||
|
||||
protected boolean canReplaceCurrentItem(ItemStack stack) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
index 6b67eec90cd0dc1b20762514eac97f75fdbdf182..2dec28091d1816e9d4c749a5155e83031751cf50 100644
|
||||
index 9d89872c5958f3e8d6c1ef4fd93f9b8b85296851..6a94c86acce5afbf1e9c8e7d664b3eb2d79ab5ab 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
|
||||
@@ -16,20 +16,20 @@ public class LargeFireball extends Fireball {
|
||||
@@ -19,20 +19,20 @@ public class LargeFireball extends Fireball {
|
||||
|
||||
public LargeFireball(EntityType<? extends LargeFireball> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -284,7 +284,7 @@ index 6b67eec90cd0dc1b20762514eac97f75fdbdf182..2dec28091d1816e9d4c749a5155e8303
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 837f68825f601971f374be47952b23108bf66ba6..422145f30b7c8e11366705cd9b974a5a89ba5e10 100644
|
||||
index 2a8a8030feefae84e394460612405887e63f2ac7..577df1ad8eb57ae7a53c9931c379824a6882fa5f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -334,7 +334,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
@@ -297,10 +297,10 @@ index 837f68825f601971f374be47952b23108bf66ba6..422145f30b7c8e11366705cd9b974a5a
|
||||
|
||||
public boolean mayBreak(Level world) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
index 9d43c8520953d6fe0d0948f9dbe14e0650ee01c2..deee9fffe6981d7e728621cc799a812d78000592 100644
|
||||
index 6724fe4470aeea338eb4cfd10a7e61fbcac1e5b7..dd38f32ac6a62905c9a79dacf85cf073fa6941b3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
@@ -24,7 +24,7 @@ public class SmallFireball extends Fireball {
|
||||
@@ -27,7 +27,7 @@ public class SmallFireball extends Fireball {
|
||||
super(EntityType.SMALL_FIREBALL, owner, velocityX, velocityY, velocityZ, world);
|
||||
// CraftBukkit start
|
||||
if (this.getOwner() != null && this.getOwner() instanceof Mob) {
|
||||
@@ -310,10 +310,10 @@ index 9d43c8520953d6fe0d0948f9dbe14e0650ee01c2..deee9fffe6981d7e728621cc799a812d
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
index 226fb5c88dd43c8008c5237299ef80db9e847af7..2da00acac01e333c23f7d155594011dceeb50f64 100644
|
||||
index 93bbf7556f9599e9dd90761085a57d78bd521867..b3912881892b4f1bca577761083c5da1568c8187 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
@@ -319,7 +319,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
@@ -322,7 +322,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
||||
@@ -55,10 +55,10 @@ index 1b5cc5d6aa0b4313da980ce175c54145852d0db0..613df7b174ba4cb87314a631ebc7dfed
|
||||
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
|
||||
world.getCraftServer().getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index f5f464e69bfb00f5ea493d109bdd96e459fcad46..c3d25a26883f7cbe7106c2f3415af0b18f534ee2 100644
|
||||
index 400b7bbf49b1aa42eebb5d8f349a19d4ff321a7c..1b150b9fc444a248f6c01572447c7bb8eecfc76e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -178,6 +178,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) {
|
||||
if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) {
|
||||
if (!entity.canChangeDimensions()) return; // Purpur
|
||||
@@ -74,10 +74,10 @@ index f5f464e69bfb00f5ea493d109bdd96e459fcad46..c3d25a26883f7cbe7106c2f3415af0b1
|
||||
|
||||
blockEntity.teleportCooldown = 100;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 39ae3335866669be54f31ee6cd10d41bc70b193c..a260e3768892dcf7ddd955cf8753d4d19cd2e8d3 100644
|
||||
index 74599d29538b7072464d3bb16b6356da09513d21..61348dfaab2fe3da35ae3195b7224e4b239dddd8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -252,6 +252,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -253,6 +253,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
// Paper end
|
||||
|
||||
if ((!ignorePassengers && this.entity.isVehicle()) || this.entity.isRemoved()) { // Paper - Teleport passenger API
|
||||
@@ -89,7 +89,7 @@ index 39ae3335866669be54f31ee6cd10d41bc70b193c..a260e3768892dcf7ddd955cf8753d4d1
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e..498310a94284c25d2e28d7de8299b80b1f34de3b 100644
|
||||
index bcf3393ad12a70eea0e1b24f69fac15b08af32fb..f74e632f6be8ab2c7bdf9f5ba2ad2a2a0ef4d14e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1356,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 53e072f6070101f9c1bd24eacf1114e0a1c16305..36dd6555fb2245958ae5372b376d2329346060ea 100644
|
||||
index ca0719307e4d50b3dcfe13195f1c1e680b00350c..7380008f1bd25eb459e5875f753015593135486f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1872,7 +1872,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1885,7 +1885,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
@@ -30,10 +30,10 @@ index 53e072f6070101f9c1bd24eacf1114e0a1c16305..36dd6555fb2245958ae5372b376d2329
|
||||
|
||||
if (entity instanceof Boat) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 728814649f8d6837586cd5400b271d25b8306e35..53f36e281e42a2bfc174f06f448f1eb85eb02aff 100644
|
||||
index aca5e7a2b0eab93c613b03834509366f7119ec03..40550897d5be12fcb8e1e751ee2e7a138512ce0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -100,10 +100,12 @@ public class ArmorStand extends LivingEntity {
|
||||
private boolean noTickPoseDirty = false;
|
||||
private boolean noTickEquipmentDirty = false;
|
||||
// Paper end - Allow ArmorStands not to tick
|
||||
@@ -46,7 +46,7 @@ index 728814649f8d6837586cd5400b271d25b8306e35..53f36e281e42a2bfc174f06f448f1eb8
|
||||
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
|
||||
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
|
||||
this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
|
||||
@@ -1005,4 +1007,18 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -1006,4 +1008,18 @@ public class ArmorStand extends LivingEntity {
|
||||
}
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -17,10 +17,10 @@ index a30732576b86bcf9c56e7d0ced8eb8490af13515..e76d1a202bea3dd94cbdbdfca9b052ca
|
||||
// CraftBukkit end
|
||||
this.setServerLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 36dd6555fb2245958ae5372b376d2329346060ea..e30dad61530fcc2c806465bbdaf4d2a7029e6153 100644
|
||||
index 7380008f1bd25eb459e5875f753015593135486f..79f6b204668a508d2afd305f520c413f9f5fa8f1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3148,12 +3148,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3164,12 +3164,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ index 3d61c2d5da103de68242c16d85c703813979d179..2343325fa9a771de7b9445cda24a2bcd
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index c501704251e5b23f697efc307ebdc906cd2e5acd..f76b0d92150fd985a8fc699f6f884527d589dfd3 100644
|
||||
index 3fd310fe80b0f725746e20e8be2b3b7710467c28..4c2cc5ba3c8f15c26f01361e786d25b399747974 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -74,6 +74,11 @@ public class Cow extends Animal {
|
||||
@@ -126,10 +126,10 @@ index c501704251e5b23f697efc307ebdc906cd2e5acd..f76b0d92150fd985a8fc699f6f884527
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index cdbe66bc89a64f8d41ea496f2da85159f48bb8c5..a5759b711d1853ac41713dd9fe11f3da5af286ef 100644
|
||||
index 3e32787cc7e96e83dc408e556a92b25607d487a9..21e804d391478c613f4f89076fd268a9eb2e2ecf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -163,6 +163,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -164,6 +164,11 @@ public class Dolphin extends WaterAnimal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.dolphinMaxHealth);
|
||||
}
|
||||
|
||||
@@ -142,10 +142,10 @@ index cdbe66bc89a64f8d41ea496f2da85159f48bb8c5..a5759b711d1853ac41713dd9fe11f3da
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 292504cb09ac94f593fdde317030c7662f9e500c..9a34a59300c4ad5dfbd327aa4fd42992f73da89a 100644
|
||||
index 5ddc3e997fec6417c379561f60c438386030d49d..1e04205a1707e46a1f540f5c8f6ec1b81bf1b5d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -193,6 +193,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -197,6 +197,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return this.level().purpurConfig.foxBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -174,10 +174,10 @@ index 46e28d807a72b6d302d29d65c52ab0813cd82b1a..669132fb78d3fd72f73d4c20370f0213
|
||||
protected void registerGoals() {
|
||||
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 56427c987439c2d6d5652dae0f2c0a72d4eba26e..f01d93c6f88f543b51420ceca7a4a95829368a20 100644
|
||||
index b699f88ce9480ef4da5bfb97004a9c5f62d58894..5cf206bea6d2f3155c1da73d8337bbd8e2ee7bb3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -90,6 +90,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -91,6 +91,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
return this.level().purpurConfig.mooshroomBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -206,10 +206,10 @@ index 3fe751839e4a1bc266b0d9508e1e3384e8f7f41e..c91ade7f4b1f04f12e38cf2c5fda1a92
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index fe6323d131acc3885108d18f884a4c7d6d2f4905..68e4e598af97946783f851a63adbaaa4a4ef0401 100644
|
||||
index 2e90708da8984c18d2325bc8b5c207bd075bec52..e52a685bd2142fe702fb5f212894e6ba6008913d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -151,6 +151,11 @@ public class Panda extends Animal {
|
||||
@@ -152,6 +152,11 @@ public class Panda extends Animal {
|
||||
return this.level().purpurConfig.pandaBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -238,10 +238,10 @@ index 3bb216b678eee290a9ec636fe4d8af9db687405a..a6189e785af61d1cbed2022d68312d9f
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 42bf69eb86b9ccfb5afaf17e319bf34ce055e033..60562089daf363f5af24fbf30a3ccd74311be289 100644
|
||||
index d858d4c94fb17d14367672813b506aea9e2e4ee1..f32cc2884696db956e10d350f97376025e32e673 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -94,6 +94,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -95,6 +95,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
return this.level().purpurConfig.pigBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -334,7 +334,7 @@ index df7deec204ebf99afdbfe49f9a113857dcd413c6..d1a8b15de4f4aa20d6049135bcbef94f
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index fd64a12c7f215f47d366af60882981c2cc0ef04f..61943dc8238190072dbdce1e1aff1d7932c87da6 100644
|
||||
index 1d70a108293a61b7813b70cc9ce600a3e7b167d5..d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -116,7 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -347,7 +347,7 @@ index fd64a12c7f215f47d366af60882981c2cc0ef04f..61943dc8238190072dbdce1e1aff1d79
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
index 80bdc93cba675d6c1286618f14fc33e0344c601f..57b37ac40b4ffe6c5e27548755aaa15da89a0f0b 100644
|
||||
index 3166987e324c37a07b8c6b8cc78443a1022b9670..fb6fd5e00053ae8bae1f225ffd57fac787fdc2d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -90,6 +90,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -379,7 +379,7 @@ index 7d02e552a27632939bb9c40a62f4e0df7bd60bbc..b16d075581a352714f86f1b87805f24c
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 20d4c1b3cf3efa79443b518ebd9a635a39b4d73b..9d9cf38f0f2ff22e220ae8c38ec824132043603f 100644
|
||||
index eb1af0926c1c8990602ba4f98cec45d6a0a839aa..a8102248bf5dc1b5c7659c42239b8d418e842aac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -113,6 +113,11 @@ public class Turtle extends Animal {
|
||||
@@ -507,10 +507,10 @@ index 1de48560ac5a1db8845c98c812b2e9f9eb972123..53546e904948d03882e5f5b0a8d4256c
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 76de20b86b6b99c10379adeb303fac4371891923..688c87743446bdf5a9e2b830b8a47655d80f3284 100644
|
||||
index 250a51017cfbb42730ed736a112b269a258c19af..15d9e6f795044983aa872160874386e422e77377 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -62,6 +62,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -69,6 +69,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
return 6000;
|
||||
}
|
||||
|
||||
@@ -520,13 +520,13 @@ index 76de20b86b6b99c10379adeb303fac4371891923..688c87743446bdf5a9e2b830b8a47655
|
||||
+ }
|
||||
+
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 3632fcb124be8cf77d9bebf7b861a48196252ed0..17648925f97110f2439890388f4bfbbff0917c61 100644
|
||||
index 0a6cf9f0f16882c8042a333852699129402f75f2..a3c80184abcc2d884b692b90d267ab33a5406349 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -69,6 +69,11 @@ public class TraderLlama extends Llama {
|
||||
@@ -72,6 +72,11 @@ public class TraderLlama extends Llama {
|
||||
return this.level().purpurConfig.traderLlamaBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -555,10 +555,10 @@ index aaec706b7eaa6afdf7959e6dd53cc39344bb97df..dcc1d71c2eeea48669651165868899ba
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 066dc828681ac665e807038d1a2afccb886c3ca6..4feb8220d58474c96b57c473215ffc8efcceb35e 100644
|
||||
index 39cf974313c7c0bdcd6599c6c8bec450efe0277a..0ce3acdc0bc72bba3b59d480e7e4135b3d794fca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -191,6 +191,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -192,6 +192,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.enderDragonMaxHealth);
|
||||
}
|
||||
|
||||
@@ -571,10 +571,10 @@ index 066dc828681ac665e807038d1a2afccb886c3ca6..4feb8220d58474c96b57c473215ffc8e
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index a655c38eccc41d97cfb6d329e104bad6d9ccbc95..37e02c9c1a9d26923f394cd0a3cafb5126c76325 100644
|
||||
index 3cc47b0e05621c913a3e8d04c653bafab4a86744..db5a8b93b9cefca4566d3abc2b4c55d4b4cc1003 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -117,6 +117,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -118,6 +118,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.witherMaxHealth);
|
||||
}
|
||||
|
||||
@@ -625,10 +625,10 @@ index c8bac8cb738ad96003a014b468681c43512ac4c4..5dc0b3d04bfc01cd2cb004c182798408
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 160c5b72d83c5756d0c08047767b5d379e7a7dca..d340759b48741efaa31f03fb6c9ead943d2d7383 100644
|
||||
index 88a1f4ee23c29daec81e1807129e4facf3c19714..eb2c80a50bd29ad4ab9ece0ce5d71f3713700fba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -263,6 +263,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -264,6 +264,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
||||
}
|
||||
|
||||
@@ -657,7 +657,7 @@ index e6751c1a834453be66e891d7eb94bbb66f36008c..8850d8fc54d7025d323bc273a87a609b
|
||||
public boolean jockeyOnlyBaby() {
|
||||
return level().purpurConfig.drownedJockeyOnlyBaby;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index 63980f518ecd00bf2fa601f65823985003111920..0defcde8fb54e61612be74cefd01b386e756b178 100644
|
||||
index baa41e05f66457a6b4638915a1deab775665f01f..60787e45b605ce32b3b74ea23a6d9d9353f831a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -53,6 +53,11 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -673,7 +673,7 @@ index 63980f518ecd00bf2fa601f65823985003111920..0defcde8fb54e61612be74cefd01b386
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 4ed9592387531d0880ba322b07ea776cd0b05f03..a9108661e4a5c9f9d1b9fa47d088ffb80572a67e 100644
|
||||
index 93420c7e9b34b40845f12a0058e50e6fd809e6f7..065e7c0d1cd1d3bbf72b03dd73dd9e567aec642b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -95,7 +95,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -695,10 +695,10 @@ index 4ed9592387531d0880ba322b07ea776cd0b05f03..a9108661e4a5c9f9d1b9fa47d088ffb8
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 336a22876bcf1cdfcd9d17d22f615d45c2863589..936add0eb7204af7dc507c786cb82e0d7a76d5dc 100644
|
||||
index 2cbc2f158b2bb65bfbf6b122a5b6e000252e51ce..7655e6d36e29ba8a64729e6a0688e81ffefa95fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -60,6 +60,11 @@ public class Endermite extends Monster {
|
||||
@@ -65,6 +65,11 @@ public class Endermite extends Monster {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.endermiteMaxHealth);
|
||||
}
|
||||
|
||||
@@ -839,10 +839,10 @@ index 2bd1fce22cf01a441f75f918e036598e8fb3ee04..637b229817f9f2c3ad224f300b56a6be
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 6a6349c7002439965422aa4979682b4ce6dfba1e..1f64dc8442de75447c17ae4fd5483345d4b7fd3e 100644
|
||||
index c4af35ac6c8ac6e76adb061bf628f6cca2e7199c..cff87c0790e3afe43e7817969a05e8d79a550bbb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -84,6 +84,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -88,6 +88,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pillagerMaxHealth);
|
||||
}
|
||||
|
||||
@@ -871,7 +871,7 @@ index 056fa8b12368dac5d1a12962b8ee92e87e4149b3..db5e55f2bca1d0706d24ebf7c0b5c259
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 9efda5d6cf9a235b5039ed622e917124aae7be82..bc8e86f9e1703709f3d4bc160f4c3e1cfbc1f066 100644
|
||||
index 2d8d88a3552516becdd7adb11b7706fc9bddbf96..31284660a9718503a1ce474c56d993de3126a1ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -119,6 +119,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -887,10 +887,10 @@ index 9efda5d6cf9a235b5039ed622e917124aae7be82..bc8e86f9e1703709f3d4bc160f4c3e1c
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 49a37d294bac8205ac0a795daa300ccc8170c8a8..65203a502a970ffec622d91d25716f02e2a2fda2 100644
|
||||
index 69f6306b91e535050fe8b22852503dfb0514f316..524ac7bf0ee006bb79517a113c16e290b94e325a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -69,6 +69,11 @@ public class Silverfish extends Monster {
|
||||
@@ -70,6 +70,11 @@ public class Silverfish extends Monster {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.silverfishMaxHealth);
|
||||
}
|
||||
|
||||
@@ -919,10 +919,10 @@ index 23b385205fe8d1245e65a42b8a356f0127ca2f78..eec2f8deb2675ed116939105dba60a68
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 57425e062b701d3a0a5a50cb6fe904d9324be89a..e778f2ee34a42a4ffe67a6d5b8849bcf35782b74 100644
|
||||
index fdfb0d1582e377e59e808e4388d660579377a286..380ea1b4ab8bf05ac5c039c77adaf73a57c4f1ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -75,6 +75,11 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -76,6 +76,11 @@ public class Slime extends Mob implements Enemy {
|
||||
return level().purpurConfig.slimeRidable;
|
||||
}
|
||||
|
||||
@@ -935,7 +935,7 @@ index 57425e062b701d3a0a5a50cb6fe904d9324be89a..e778f2ee34a42a4ffe67a6d5b8849bcf
|
||||
public boolean dismountsUnderwater() {
|
||||
return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
index a8d82057bd3105a40b18cb9c355c164a2775db14..6d6f9f04fb0f4263b780271387501ca49ff3a1de 100644
|
||||
index 3f67ab84485737291aec531441d88b74f7f7522c..d3f1d7b2a5721933b0a8d697f1f6456d96ff7b76 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -75,6 +75,11 @@ public class Spider extends Monster {
|
||||
@@ -989,7 +989,7 @@ index 64503362c42daa39dcfa270bc50b0e2187f13a01..f0d7174eae482cef9311fb646f340af5
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
index 7b76a4dadf57d8476d4bf85e6e1861f6fd122b67..e1c7398d9640506e2404686c218da98688c6c316 100644
|
||||
index 0dae7c87a9f61a7d8e493537e0aada78370bb334..fae7e1e780d0429341adf21afd57ab230b06a0a7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -112,6 +112,11 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1021,7 +1021,7 @@ index 653959246bc3ede46419fd2afbd238bc33a4047e..97087016883c8b5517d06755de19c672
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
index 462b9f85b040e3e21be8797bdc1bb6f594634f1c..4ddcba100e9f58da3c399ffdddcb8b96b584096f 100644
|
||||
index 0d33b8362f94718d63d86abce05e0b0efc21e653..d6b34988ee884c4636ebd7f40e3e6a3084525316 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -81,6 +81,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1069,7 +1069,7 @@ index 1d862dd019b2d024f61cfc8956430d18d94b1ebf..8cd6012b00dd5b307fd76ef0fd9c2cd9
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 1bb5eb0f75dc4509377cf54054eba34e4ffd02a9..edc47e077fe44d1b817b791ddde86e052a5bf831 100644
|
||||
index 4df125607985b315b078253f7ea889626e743197..94b92c6e588f871d4b0d86bb8f860a99e473a4ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -141,6 +141,11 @@ public class Zombie extends Monster {
|
||||
@@ -1165,10 +1165,10 @@ index 04e54c241078e6cd6419a21ba1bf913fd3b413d1..b63d87df0f48dd63c89118f91b31dc4e
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index b8675cb1a69f675585c040b2f47172dfe9235d08..cd59f262572df87b28b33f98a3dc667b4c5b3072 100644
|
||||
index 430e660f74ee523d0bb98e21784f32158495de7a..870330f95fa1c1b4b8fb5f5e59a9770fb9389eb5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -190,6 +190,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -191,6 +191,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return level().purpurConfig.villagerCanBeLeashed && !this.isLeashed();
|
||||
}
|
||||
|
||||
@@ -1181,10 +1181,10 @@ index b8675cb1a69f675585c040b2f47172dfe9235d08..cd59f262572df87b28b33f98a3dc667b
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 8ab868c88e37fad978ffcf151ad527e57bdf4cb5..027e86e504d0e4291deae0641f0e5b40686e6ccb 100644
|
||||
index 6f30c22fe0058320b995570c9af7b15ae917dd76..381e86286eabdbc254cd8901c498dd781521ed4d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -97,6 +97,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -98,6 +98,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
return level().purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
|
||||
}
|
||||
|
||||
@@ -1197,7 +1197,7 @@ index 8ab868c88e37fad978ffcf151ad527e57bdf4cb5..027e86e504d0e4291deae0641f0e5b40
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index cd4a14bd5d13b41d02ad68ddf31fd3648f933850..bab1a72f8a165ba9df57187296f242287d57f300 100644
|
||||
index 26a62a67b80b520246c0b118900fa2db20c96fcf..b4b9520cbd113abfd8cb99168c7f90ad3c83c563 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -568,11 +568,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] End crystal explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56e48c825a 100644
|
||||
index c0c8bdfbab17d8a10d616e2625ebfa7babf5fab3..24ad1bae912fa6ee82ea8b6bdbb0af664dc1006c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -48,6 +48,22 @@ public class EndCrystal extends Entity {
|
||||
@@ -49,6 +49,22 @@ public class EndCrystal extends Entity {
|
||||
this.setPos(x, y, z);
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56
|
||||
protected Entity.MovementEmission getMovementEmission() {
|
||||
return Entity.MovementEmission.NONE;
|
||||
@@ -173,16 +189,18 @@ public class EndCrystal extends Entity {
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.remove(Entity.RemovalReason.KILLED);
|
||||
if (!source.is(DamageTypeTags.IS_EXPLOSION)) {
|
||||
+ if (shouldExplode()) {// Purpur
|
||||
DamageSource damagesource1 = source.getEntity() != null ? this.damageSources().explosion(this, source.getEntity()) : null;
|
||||
@@ -42,16 +42,16 @@ index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56
|
||||
- ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, 6.0F, false);
|
||||
+ ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, getExplosionPower(), hasExplosionFire()); // Purpur
|
||||
if (event.isCancelled()) {
|
||||
this.unsetRemoved();
|
||||
return false;
|
||||
}
|
||||
|
||||
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
|
||||
- this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.BLOCK);
|
||||
+ this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), getExplosionEffect()); // Purpur
|
||||
// CraftBukkit end
|
||||
+ } else this.unsetRemoved(); // Purpur
|
||||
} else {
|
||||
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
|
||||
this.onDestroyedBy(source);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f1e99cc608fb9afab44c2c960c7b74468ec62c07..40ca971f169bd07da0a2f7ba37e3a4aa534d0c7e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index df8baf2059cdfed3f0c43496fba843b8b6819281..aa10cd2e0ee7b0d421c223de390e671d401f87fc 100644
|
||||
index 0ce3acdc0bc72bba3b59d480e7e4135b3d794fca..ff4b188084d43af9e8ed60e6a77996018e589807 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -1189,6 +1189,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -1190,6 +1190,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
protected boolean canRide(Entity entity) {
|
||||
@@ -17,10 +17,10 @@ index df8baf2059cdfed3f0c43496fba843b8b6819281..aa10cd2e0ee7b0d421c223de390e671d
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 73930b4eea2bd632c390b79118ecafad84cfa44a..ac7e54e2bfc1ca41fd8082c453c1f99fa89e77c2 100644
|
||||
index db5a8b93b9cefca4566d3abc2b4c55d4b4cc1003..06f4bbbbdf3a3c49035df9edc258e6bda87b53fc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -739,6 +739,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -740,6 +740,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
@Override
|
||||
protected boolean canRide(Entity entity) {
|
||||
@@ -29,7 +29,7 @@ index 73930b4eea2bd632c390b79118ecafad84cfa44a..ac7e54e2bfc1ca41fd8082c453c1f99f
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4d7d111a2cb6f02d3263174af9e70548be0fe971..ecfbfc843b534196ff19c2e45989f0271f9e8105 100644
|
||||
index 40ca971f169bd07da0a2f7ba37e3a4aa534d0c7e..6d017d5d3cfe8581936b8f1fb58656ff2b2fdf95 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -947,6 +947,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 2a5d3d5c0a337933c62e1168de1a595a92bc5444..9c240ce04337458395aea35aab7d97a9f592f008 100644
|
||||
index 0461debc992ad7812a28ea73f3e18d5c0c22f700..f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2348,6 +2348,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2356,6 +2356,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
|
||||
- Endermite spawn chance
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
index 3be611e7ae35b696ba44cd361042f79b69391815..0de1cda80c57c3552d243780d5aa368675b915e8 100644
|
||||
index 28690877c443ceb2bdf20e6d251c9d32f667814c..b004f072d2a67ad9fb39dd6fbd3a30c94016202f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
@@ -70,7 +70,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
@@ -71,7 +71,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
Bukkit.getPluginManager().callEvent(teleEvent);
|
||||
|
||||
if (!teleEvent.isCancelled() && entityplayer.connection.isAcceptingMessages()) {
|
||||
@@ -20,7 +20,7 @@ index 3be611e7ae35b696ba44cd361042f79b69391815..0de1cda80c57c3552d243780d5aa3686
|
||||
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
|
||||
|
||||
if (entityendermite != null) {
|
||||
@@ -85,7 +85,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
@@ -86,7 +86,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
|
||||
entityplayer.connection.teleport(teleEvent.getTo());
|
||||
entity.resetFallDistance();
|
||||
|
||||
@@ -5,18 +5,18 @@ Subject: [PATCH] Add back player spawned endermite API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939 100644
|
||||
index 7655e6d36e29ba8a64729e6a0688e81ffefa95fa..67f3928f4a03a8d546c55e46a1f094a354ac412d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -32,6 +32,7 @@ import org.joml.Vector3f;
|
||||
public class Endermite extends Monster {
|
||||
@@ -37,6 +37,7 @@ public class Endermite extends Monster {
|
||||
|
||||
private static final int MAX_LIFE = 2400;
|
||||
public int life;
|
||||
+ private boolean isPlayerSpawned; // Purpur
|
||||
|
||||
public Endermite(EntityType<? extends Endermite> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -65,6 +66,14 @@ public class Endermite extends Monster {
|
||||
@@ -70,6 +71,14 @@ public class Endermite extends Monster {
|
||||
return this.level().purpurConfig.endermiteTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
@@ -117,12 +126,14 @@ public class Endermite extends Monster {
|
||||
@@ -122,12 +131,14 @@ public class Endermite extends Monster {
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
this.life = nbt.getInt("Lifetime");
|
||||
@@ -47,10 +47,10 @@ index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
index f9cd39a4f8ec5cdade311984d863b64f8f845fb7..59cc9e9a56898c7bdc5474842c31d2fbe6a81897 100644
|
||||
index b004f072d2a67ad9fb39dd6fbd3a30c94016202f..326d1db39e3d3cd46cb5a584e2a7b82dd46ff8fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
@@ -74,6 +74,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
@@ -75,6 +75,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
|
||||
|
||||
if (entityendermite != null) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Config to make Creepers explode on death
|
||||
Creepers exploded after being killed in the alpha days. This brings that back.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470d167443b 100644
|
||||
index eb2c80a50bd29ad4ab9ece0ce5d71f3713700fba..743d888c07450ea9e2367d169e20a583b51f7be0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -64,6 +64,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
private int spacebarCharge = 0;
|
||||
private int prevSpacebarCharge = 0;
|
||||
private int powerToggleDelay = 0;
|
||||
@@ -17,7 +17,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
|
||||
// Purpur end
|
||||
|
||||
public Creeper(EntityType<? extends Creeper> type, Level world) {
|
||||
@@ -268,6 +269,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -269,6 +270,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
return this.level().purpurConfig.creeperTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
@@ -359,6 +368,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -360,6 +369,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
|
||||
public void explodeCreeper() {
|
||||
@@ -40,7 +40,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
|
||||
if (!this.level().isClientSide) {
|
||||
float f = this.isPowered() ? 2.0F : 1.0F;
|
||||
|
||||
@@ -377,7 +387,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -378,7 +388,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
// CraftBukkit end
|
||||
}
|
||||
@@ -50,7 +50,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
|
||||
|
||||
private void spawnLingeringCloud() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f2357e851fcea101d1a6f262ff88561b774032b0..44b98e5030bef02ab05a9686fdfc711fa78ec072 100644
|
||||
index 238f8dd90bbf9897cb28c4783ad43382be0a836a..78d088e0ae3186f72dc8898a65ef2983e7d608ab 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -851,6 +851,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for villager trading
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 9ed51efc1a42a792b652e7c958c06fa5b572e4bf..6857eeb9a93850594cbdb634dfbdf6cb6d82ced5 100644
|
||||
index 870330f95fa1c1b4b8fb5f5e59a9770fb9389eb5..ee509b5eea71c17ff466fb93fe63168710065add 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -372,7 +372,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -373,7 +373,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
|
||||
} else {
|
||||
if (level().purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
|
||||
@@ -18,10 +18,10 @@ index 9ed51efc1a42a792b652e7c958c06fa5b572e4bf..6857eeb9a93850594cbdb634dfbdf6cb
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 5a373ba4d9e404c064bc158718d02c0cd2aca548..d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5 100644
|
||||
index 381e86286eabdbc254cd8901c498dd781521ed4d..657fdbabf18da7ab321e8e95a31d53362c605380 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -153,7 +153,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -154,7 +154,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
|
||||
} else {
|
||||
if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
|
||||
@@ -31,7 +31,7 @@ index 5a373ba4d9e404c064bc158718d02c0cd2aca548..d672c1e381e5c4a4b79a1dfb96f1410e
|
||||
this.openTradingScreen(player, this.getDisplayName(), 1);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e51a38ca916e91255c46b864e45428a364e59539..9aa6a3f69afb0fd70ac60ca0d50d564dd7d3fe54 100644
|
||||
index adb72146f6d6fd1389d99f833115ff8bc68f925b..ab999a2a71d1a04bce176d81844cecbf5760157d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2123,6 +2123,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e30dad61530fcc2c806465bbdaf4d2a7029e6153..7579c2d4c716695ab1854a055bc595d7b55201e5 100644
|
||||
index 79f6b204668a508d2afd305f520c413f9f5fa8f1..b14b99b8f0ce427da999e486bfed84ad38a19d8c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3397,7 +3397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3413,7 +3413,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
@@ -18,10 +18,10 @@ index e30dad61530fcc2c806465bbdaf4d2a7029e6153..7579c2d4c716695ab1854a055bc595d7
|
||||
|
||||
public int getAirSupply() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 9c240ce04337458395aea35aab7d97a9f592f008..99673b3df82d40dfebc313935061e3fa79a3a59c 100644
|
||||
index f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc..fa289f634d4a674d6cb5d9633ae6d1997a02fd59 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -439,7 +439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (flag1) {
|
||||
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
|
||||
@@ -30,7 +30,7 @@ index 9c240ce04337458395aea35aab7d97a9f592f008..99673b3df82d40dfebc313935061e3fa
|
||||
this.setAirSupply(0);
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
|
||||
@@ -450,7 +450,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -451,7 +451,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to show Armor Stand arms on spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 5332e072e3c278a1d9769feb783b9419020a36d1..1ea348b6007d8aebf1e0f29018a03eb10c445369 100644
|
||||
index 40550897d5be12fcb8e1e751ee2e7a138512ce0b..fef18455da5ae020f9875663984b26e54a1c4bf7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -114,6 +114,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -115,6 +115,7 @@ public class ArmorStand extends LivingEntity {
|
||||
this.leftLegPose = ArmorStand.DEFAULT_LEFT_LEG_POSE;
|
||||
this.rightLegPose = ArmorStand.DEFAULT_RIGHT_LEG_POSE;
|
||||
this.setMaxUpStep(0.0F);
|
||||
@@ -17,7 +17,7 @@ index 5332e072e3c278a1d9769feb783b9419020a36d1..1ea348b6007d8aebf1e0f29018a03eb1
|
||||
|
||||
public ArmorStand(Level world, double x, double y, double z) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 40afefd48f10068c48f2db6524c1c24cb5348c28..f023b83b2e7084ee661673080c4573c4bce9f355 100644
|
||||
index b8d5b60abe228456e62b5bee33bb65d19c9f71d4..d4afdff36ef3fe477ca4b8dfe2cf44965d73dc50 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -102,6 +102,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to change max number of bees
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..312ee43ad1a35918fc359f7ebb5742004212b931 100644
|
||||
index 55b0e2bf98a285cdcd30e40d94192b7a1802efd8..b37b7f58d59616cd409bbab701659c8e8879ccc7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
@@ -43,7 +43,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
@@ -47,7 +47,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
private final List<BeehiveBlockEntity.BeeData> stored = Lists.newArrayList();
|
||||
@Nullable
|
||||
public BlockPos savedFlowerPos;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for wither explosion radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index d57ef27df0a3597416564f8723b4b986413ad314..aa5ce9625bf23885a55521cbb4d994b684a5cf61 100644
|
||||
index 8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94..beaa7e817fb923b9cb1a9df63ddce3fe9e087061 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -98,7 +98,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -99,7 +99,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
if (!this.level().isClientSide) {
|
||||
// CraftBukkit start
|
||||
// this.level().explode(this, this.getX(), this.getY(), this.getZ(), 1.0F, false, World.a.MOB);
|
||||
@@ -18,7 +18,7 @@ index d57ef27df0a3597416564f8723b4b986413ad314..aa5ce9625bf23885a55521cbb4d994b6
|
||||
|
||||
if (!event.isCancelled()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 960dfb5f343bc0c1dcd17271594e33471a191b83..cd1fd91c9b0c1e4627f918d97338c1e87bcc0601 100644
|
||||
index 50373f138db63443dee0ca28781ae0a0cc65fa24..8b7c68d7d7ae77ba216a004724d088956a1dfce4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
|
||||
Ported from https://github.com/raltsmc/mobblindness
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 99673b3df82d40dfebc313935061e3fa79a3a59c..e997844c0cead8eef82a8025283d43163b1a6848 100644
|
||||
index fa289f634d4a674d6cb5d9633ae6d1997a02fd59..926962fc5631faa4672c8dd2fdb72b9ef6947292 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1037,6 +1037,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1045,6 +1045,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
|
||||
d0 *= 0.5D;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index f043b6da9649c8c9e6a9cf5172e95470d167443b..1a33d4e855a85b0a0d51c29dbb4042d30918684c 100644
|
||||
index 743d888c07450ea9e2367d169e20a583b51f7be0..a3cc2e3ae32984e11f4e91421d663f0fe7c7b236 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -371,9 +371,10 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -372,9 +372,10 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
this.exploding = true; // Purpur
|
||||
if (!this.level().isClientSide) {
|
||||
float f = this.isPowered() ? 2.0F : 1.0F;
|
||||
@@ -21,7 +21,7 @@ index f043b6da9649c8c9e6a9cf5172e95470d167443b..1a33d4e855a85b0a0d51c29dbb4042d3
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1af16bbaab355022d183e71828a866686347ec0f..59cb375fce3f2917d86617854a18dfa55766daf4 100644
|
||||
index 3d582716df3cbdec2f1c2dbaf567e829406c21a1..8694ba3aea41f83d16d0a761b922b6b248e5942f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -928,6 +928,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index ad4046a24f04845e794d1e446e12eb6c5c581d14..2289e7bc32e0d2833e73f9d21c37487cd369b25f 100644
|
||||
index 73f8aeb1b5253cfd7d5502d506677a3ef906625e..28dca8464a75487566e5d2efac1ec3fe42e6c410 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1315,7 +1315,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1316,7 +1316,7 @@ public abstract class Player extends LivingEntity {
|
||||
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
|
||||
flag2 = flag2 && !this.isSprinting();
|
||||
if (flag2) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 0db5e35b8e4a186c8ef150a1b0f072e10573136e..a4c6ea94be1c1a610c6141328192a29052b9f157 100644
|
||||
index 52a7a8b35cf0f7b52d5de253b21f7713ab261544..8d80055253008bb1b2ed77e91a1c51c995208dac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -406,7 +406,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -18,10 +18,10 @@ index 0db5e35b8e4a186c8ef150a1b0f072e10573136e..a4c6ea94be1c1a610c6141328192a290
|
||||
return flag && !this.isHiveNearFire();
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
index 312ee43ad1a35918fc359f7ebb5742004212b931..8a163b5d3c7759abe4fe84bfec788a15fddc1e44 100644
|
||||
index b37b7f58d59616cd409bbab701659c8e8879ccc7..dc5bcf8f7662bd1feb4375605f27c320878bf7e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
@@ -203,7 +203,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
@@ -207,7 +207,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
}
|
||||
|
||||
private static boolean releaseBee(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.BeeData tileentitybeehive_hivebee, @Nullable List<Entity> list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) {
|
||||
@@ -31,7 +31,7 @@ index 312ee43ad1a35918fc359f7ebb5742004212b931..8a163b5d3c7759abe4fe84bfec788a15
|
||||
return false;
|
||||
} else {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e50d8cb072acd403c285fee9a0df80e4d5946846..3973c8fb88ed33264e21d94b56425389c95b54a1 100644
|
||||
index 96d04052d419e4b74826c63fb4a687bf7490d4c1..7d89fc67d4f9b58697ff317a0c526be8e612e37a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -764,6 +764,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 7579c2d4c716695ab1854a055bc595d7b55201e5..f8f311e0e4715a8d648d743c0b5a664b7f004efe 100644
|
||||
index b14b99b8f0ce427da999e486bfed84ad38a19d8c..d79cbbcf0e6e6e6096e138be2617b727ea991c18 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -561,6 +561,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -562,6 +562,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -32,10 +32,10 @@ index 7579c2d4c716695ab1854a055bc595d7b55201e5..f8f311e0e4715a8d648d743c0b5a664b
|
||||
return this.hardCollides;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43 100644
|
||||
index 926962fc5631faa4672c8dd2fdb72b9ef6947292..4af345c848040fabdde82b4f0493ba796a7fef1f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
@@ -43,7 +43,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -803,6 +804,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -811,6 +812,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
|
||||
nbt.put("Brain", nbtbase);
|
||||
});
|
||||
@@ -51,7 +51,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -889,6 +891,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -897,6 +899,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3599,6 +3606,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3607,6 +3614,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -92,10 +92,10 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
|
||||
|
||||
public boolean isSensitiveToWater() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index c5cf5e84893f137ee4bead287e80eb57ff1a7407..8588f230724e7fec2093b0b5c8c80b3d1944ce47 100644
|
||||
index 56ba7ac3d9d1f65de84f98eb724761d6bb374d47..380834677c93a23879a9e53173fa835ebd22f584 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1765,17 +1765,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1766,17 +1766,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
|
||||
public boolean isSunBurnTick() {
|
||||
@@ -354,10 +354,10 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
|
||||
// Paper end - Add more Zombie API
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988b334c3cf 100644
|
||||
index 61348dfaab2fe3da35ae3195b7224e4b239dddd8..897f9f5d25c674f167530810c0b94bca83c3c3cc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -83,6 +83,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -84,6 +84,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@ index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988
|
||||
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
|
||||
index 1bcd9d9729952e68c56ff6e169ace11611b44e97..332c553db22aaeb0cda5e628c5e464e130c7abb0 100644
|
||||
index 1d889c7476149431693f4c6125857f33c89b13a2..9730a5469f81687cfde0a19a58d1c2147588d1d2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1173,5 +1173,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for sand duping fix
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155c28bf46b 100644
|
||||
index 0aef6a8d51cb1351daaea16022f5cbb27ceaff0d..65cb5994142351e2b19f6d4ff2963f9ae7752205 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -134,7 +134,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@Override
|
||||
public void tick() {
|
||||
// Paper start - fix sand duping
|
||||
@@ -17,7 +17,7 @@ index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155
|
||||
return;
|
||||
}
|
||||
// Paper end - fix sand duping
|
||||
@@ -149,7 +149,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -150,7 +150,7 @@ public class FallingBlockEntity extends Entity {
|
||||
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
// Paper start - fix sand duping
|
||||
@@ -27,7 +27,7 @@ index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155
|
||||
}
|
||||
// Paper end - fix sand duping
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 072387303cf013876e6d13ccd6646e7f197bf7ac..77fa5b91ac5a65d2dce6195214c39dbff4aa6c8b 100644
|
||||
index 991e8491c5bc254eb2ba0cbdcd06cb410d286fbb..6fb87c1ab0397d4c659dc69f33d0a4743c4d0dcd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -683,6 +683,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f8f311e0e4715a8d648d743c0b5a664b7f004efe..079cf12c01df7ebb1c9c29a4efa1b94dea4d0d78 100644
|
||||
index d79cbbcf0e6e6e6096e138be2617b727ea991c18..c868a61d73b4563807c70c9539f63cb0645a9984 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3222,7 +3222,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3238,7 +3238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784aea10d9f 100644
|
||||
index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1834578be 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity {
|
||||
public boolean affectsSpawning = true; // Paper - Affects Spawning API
|
||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
|
||||
public int sixRowEnderchestSlotCount = -1; // Purpur
|
||||
@@ -17,7 +17,7 @@ index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
@@ -258,6 +259,12 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -259,6 +260,12 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -30,7 +30,7 @@ index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784
|
||||
this.noPhysics = this.isSpectator();
|
||||
if (this.isSpectator()) {
|
||||
this.setOnGround(false);
|
||||
@@ -2314,7 +2321,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2322,7 +2329,7 @@ public abstract class Player extends LivingEntity {
|
||||
public ItemStack eat(Level world, ItemStack stack) {
|
||||
this.getFoodData().eat(stack.getItem(), stack);
|
||||
this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 1f17abac0d9ae19b2d3a5c28a19a6e8a69b6e380..d1afad129159d5ce7cf9530a7dfb6ed5b4fa25f3 100644
|
||||
index 89ba5789c6d6e4fe8360a854f0a6123036a5a792..1b8b0bafce3352bd65d570ac7cb4ea3acdfe991d 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -754,7 +754,7 @@ public abstract class PlayerList {
|
||||
@@ -755,7 +755,7 @@ public abstract class PlayerList {
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
|
||||
} else {
|
||||
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 5259d5a17b162700737acc5583560784aea10d9f..0fba4859f63c272a1256d3d6cde23609cd165708 100644
|
||||
index f8b444583cc48a18a68c860ba933c0c1834578be..992ac6cfba700839259b973fa1eabb5ce6c301af 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -185,6 +185,7 @@ public abstract class Player extends LivingEntity {
|
||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
|
||||
public int sixRowEnderchestSlotCount = -1; // Purpur
|
||||
public int burpDelay = 0; // Purpur
|
||||
@@ -16,7 +16,7 @@ index 5259d5a17b162700737acc5583560784aea10d9f..0fba4859f63c272a1256d3d6cde23609
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
@@ -475,7 +476,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -476,7 +477,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public int getPortalWaitTime() {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Summoner API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index 1ffb8e1c386fc85796432281ac407a935169b186..c2817324ff57860ea2628dc4ac8e78b76cf67a5a 100644
|
||||
index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb8766e33960f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -60,6 +60,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -49,7 +49,7 @@ index 1ffb8e1c386fc85796432281ac407a935169b186..c2817324ff57860ea2628dc4ac8e78b7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index a1efde792eaa3f80cd0c7c48e38bbd07e1eb5c9d..20f2fd0edf290d448d06e4772b5947fc7865c20b 100644
|
||||
index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3bdaf6b0d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -93,10 +93,10 @@ index a1efde792eaa3f80cd0c7c48e38bbd07e1eb5c9d..20f2fd0edf290d448d06e4772b5947fc
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11cc61f5863 100644
|
||||
index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4cd0f267f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -84,6 +84,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
|
||||
};
|
||||
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
|
||||
@@ -104,7 +104,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
|
||||
private int shootCooldown = 0; // Purpur
|
||||
// Paper start
|
||||
private boolean canPortal = false;
|
||||
@@ -122,6 +123,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -123,6 +124,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
return this.level().purpurConfig.witherTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
|
||||
@Override
|
||||
protected PathNavigation createNavigation(Level world) {
|
||||
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
|
||||
@@ -256,6 +266,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -257,6 +267,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
nbt.putInt("Invul", this.getInvulnerableTicks());
|
||||
@@ -128,7 +128,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -265,6 +276,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -266,6 +277,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
if (this.hasCustomName()) {
|
||||
this.bossEvent.setName(this.getDisplayName());
|
||||
}
|
||||
@@ -137,7 +137,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
|
||||
index a63733fa01dc58b3c0abb28c1cd88c8b0a456083..75ef899fcd063dd7770aefaca69a6936cccfa620 100644
|
||||
index cdd7ab3fe589d089c0c03508721f46f6c136fc8a..6f148028c0fe503e9f6b327596d0954ce9e53269 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
|
||||
@@ -71,7 +71,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 0fba4859f63c272a1256d3d6cde23609cd165708..d0204938816f3e74b0845b9a62f4b6ad44d2dd02 100644
|
||||
index 992ac6cfba700839259b973fa1eabb5ce6c301af..e8000f236d3ec0476ec782f08e159eea6c99476a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2042,6 +2042,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2050,6 +2050,11 @@ public abstract class Player extends LivingEntity {
|
||||
return this.inventory.armor;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43..567fbb4cee7221b9b24b982c97546f353ce124cd 100644
|
||||
index 4af345c848040fabdde82b4f0493ba796a7fef1f..9f542c8ddb25faaef00d5db354f1c1fe3cfc3c45 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2946,6 +2946,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2954,6 +2954,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for Wither's spawn sound
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index b449a7f16bfe591d0659e991c2c1c9ed4ec64dc8..d50b8c407ed30c0bb46159994c1b0e310a15e33a 100644
|
||||
index b5ce9576ce7e91204f981c86fe70abb4cd0f267f..461247f3424b854032ccd45855c877aa85dd2e88 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -425,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -426,7 +426,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -18,7 +18,7 @@ index b449a7f16bfe591d0659e991c2c1c9ed4ec64dc8..d50b8c407ed30c0bb46159994c1b0e31
|
||||
// this.level().globalLevelEvent(1023, new BlockPosition(this), 0);
|
||||
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 355e953d2050750aef6b243a5b287a4ab75818be..5d4aa302fca63909f6cee2fea4182da17b270201 100644
|
||||
index deba979e6987f60308c6b4a286943b18aa2974f4..8d726d509e4c0693ff06ee3c43b5af23ee7f9806 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2682,6 +2682,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d82929842f240ea 100644
|
||||
index 21e804d391478c613f4f89076fd268a9eb2e2ecf..9c35059d390c94f6d641c0fe8d37777fcf1b29f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -82,6 +82,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -83,6 +83,7 @@ public class Dolphin extends WaterAnimal {
|
||||
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
|
||||
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
|
||||
};
|
||||
@@ -16,7 +16,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
|
||||
private int spitCooldown; // Purpur
|
||||
|
||||
public Dolphin(EntityType<? extends Dolphin> type, Level world) {
|
||||
@@ -173,6 +174,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -174,6 +175,7 @@ public class Dolphin extends WaterAnimal {
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
this.setAirSupply(this.getMaxAirSupply());
|
||||
this.setXRot(0.0F);
|
||||
@@ -24,7 +24,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
|
||||
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
||||
}
|
||||
|
||||
@@ -237,6 +239,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -238,6 +240,7 @@ public class Dolphin extends WaterAnimal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new BreathAirGoal(this));
|
||||
this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
|
||||
@@ -32,7 +32,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
|
||||
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
|
||||
@@ -244,12 +247,13 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -245,12 +248,13 @@ public class Dolphin extends WaterAnimal {
|
||||
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
|
||||
this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(5, new DolphinJumpGoal(this, 10));
|
||||
@@ -48,7 +48,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 857df6dd4d1d598857d977107dcabbb25307ceab..727a70ef18192e27736ecdd6775711a17f8ce79b 100644
|
||||
index 83da28a7edb4b101138034ed6ac71a0ae36a091b..a46cbcd6393cf27a919405db0bfb4903b2f6e6fd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1342,6 +1342,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for beds to explode on villager sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 6857eeb9a93850594cbdb634dfbdf6cb6d82ced5..20b3872b1f8464579ddd4324c9b09170f8ae4778 100644
|
||||
index ee509b5eea71c17ff466fb93fe63168710065add..d2b6d094c4b93055a4e6622372c6a0a83bd992a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -1110,6 +1110,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1111,6 +1111,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public void startSleeping(BlockPos pos) {
|
||||
@@ -22,7 +22,7 @@ index 6857eeb9a93850594cbdb634dfbdf6cb6d82ced5..20b3872b1f8464579ddd4324c9b09170
|
||||
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
|
||||
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e967ce42a54d97f28e50509167c7c7ac693a285b..83e4255059ca68f1fef3a8915662db28a98109b3 100644
|
||||
index 60643dc828b134d1a3956a280b1fc72348b0bd5c..8703e603f4c45fc79b0a44dd22e8497060421254 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -824,6 +824,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] options to extinguish fire blocks with snowballs
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9dbf3e979b6 100644
|
||||
index 8d1591c3b29e02794f6f66b742ec6a121920ad71..bb61e1132c28274175215a679befdcfa2496b099 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
@@ -57,6 +57,36 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float)i);
|
||||
@@ -63,6 +63,36 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
|
||||
}
|
||||
|
||||
+ // Purpur start - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire
|
||||
@@ -46,7 +46,7 @@ index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9db
|
||||
protected void onHit(HitResult hitResult) {
|
||||
super.onHit(hitResult);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a7beb70988183ddcaf6bb2ef846eb9c640af46b0..aa8f7692a2638b176e9db935bf1331ee09fc9993 100644
|
||||
index 2b0093b9f30d5fe2c53b4a3fd02ad813d5aad555..2c3ea77d66f889fddde73bd49e6607aa2a0c3ad9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -231,6 +231,9 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -21,7 +21,7 @@ index d04e48d6a0a6dc7825a3e3d4cf854e294a75d19c..b18cbe85330e26de6f6cbfcc3d51a741
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 980f2426a5052117f03ebb1ed3f7882b236ad86e..bae3c516b0d13358603576d87a18602a0522a9ff 100644
|
||||
index 08190c45b0807079b77c41203502e355ecaf2e14..735445456bbfab8a64df488fed30f0be28d50159 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -285,6 +285,11 @@ public class Bat extends AmbientCreature {
|
||||
@@ -37,7 +37,7 @@ index 980f2426a5052117f03ebb1ed3f7882b236ad86e..bae3c516b0d13358603576d87a18602a
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index a4c6ea94be1c1a610c6141328192a29052b9f157..6d7b8c9f9bfe296263f1752f485dcf8f53af8142 100644
|
||||
index 8d80055253008bb1b2ed77e91a1c51c995208dac..9fa937d2d6c3b23e390447e4d4fa24543e2679e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -493,6 +493,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -53,7 +53,7 @@ index a4c6ea94be1c1a610c6141328192a29052b9f157..6d7b8c9f9bfe296263f1752f485dcf8f
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
index 9a40cd8d7d4789a8b43f5194bdc67dc6753eed21..6e5b4a50b8d2dddbd7f099426b4866b35bcb798a 100644
|
||||
index d9b19f74b377721ed78cd0ea24d25e412cef1398..6af5e1dfcfd739e0bc857f648c189151d5a795c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -138,6 +138,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
||||
@@ -101,7 +101,7 @@ index 2343325fa9a771de7b9445cda24a2bcd7a7c1761..f0b6118a9995bb41836685bbf94d2e7f
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 3c12e179861b5514e081d0db1664f7173955629c..6d00b3cd4a9cb0fc8a9e9c27f37429a25fcf6e9d 100644
|
||||
index da3dfa10e08750e7ad84ff32a0c0136e055ee3a7..be4ccc42d6f598cbaaf39aafbd49b594ac7b06fe 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -87,6 +87,11 @@ public class Cow extends Animal {
|
||||
@@ -117,10 +117,10 @@ index 3c12e179861b5514e081d0db1664f7173955629c..6d00b3cd4a9cb0fc8a9e9c27f37429a2
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 0453ba99a640855c6e13cb1e1d82929842f240ea..ed2769d8049bb304c1ee3b8e162046855951a624 100644
|
||||
index 9c35059d390c94f6d641c0fe8d37777fcf1b29f3..61bb29de8f1eaa833db95fcc38ab6e18c1a2243c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -169,6 +169,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -170,6 +170,11 @@ public class Dolphin extends WaterAnimal {
|
||||
return this.level().purpurConfig.dolphinTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -133,10 +133,10 @@ index 0453ba99a640855c6e13cb1e1d82929842f240ea..ed2769d8049bb304c1ee3b8e16204685
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index c8efa4029136d0cd54a5f73f003e022511cc7c8b..77d40aad6e336cac7ee4e4adef159571181ba44a 100644
|
||||
index 1e04205a1707e46a1f540f5c8f6ec1b81bf1b5d7..445c1993a18da93e89792b7953e5eb71777c7874 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -198,6 +198,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -202,6 +202,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return this.level().purpurConfig.foxTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ index c8efa4029136d0cd54a5f73f003e022511cc7c8b..77d40aad6e336cac7ee4e4adef159571
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index c2817324ff57860ea2628dc4ac8e78b76cf67a5a..64aba511e615983988cdb6a0fd45b7d9d4f2f16d 100644
|
||||
index 02506902ca7e6f4e4c0fea47499cb8766e33960f..442eb602f5c82550a87e218e2013171b718abd62 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -103,6 +103,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -165,10 +165,10 @@ index c2817324ff57860ea2628dc4ac8e78b76cf67a5a..64aba511e615983988cdb6a0fd45b7d9
|
||||
protected void registerGoals() {
|
||||
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 7bd539ed5fea0d4db8e97722bd9bd37e6563185d..5d75e715a2edac73350cd74e2a5184e7fccbad53 100644
|
||||
index 5cf206bea6d2f3155c1da73d8337bbd8e2ee7bb3..48ee8c43a91efaadacfe8f37399ea1fb81f5f1ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -95,6 +95,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -96,6 +96,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
return this.level().purpurConfig.mooshroomTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -197,10 +197,10 @@ index c91ade7f4b1f04f12e38cf2c5fda1a92b129bec8..af275fc579d66bb098c08e88e4186846
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 20eb69e7d944b74a84570d23947e7e2a75d63f8d..97c38b72b998bdf397c72d3ea08fd93186585f30 100644
|
||||
index e52a685bd2142fe702fb5f212894e6ba6008913d..adfa18c941b5070692ed855d1d609993ca49a01d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -156,6 +156,11 @@ public class Panda extends Animal {
|
||||
@@ -157,6 +157,11 @@ public class Panda extends Animal {
|
||||
return this.level().purpurConfig.pandaTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ index 20eb69e7d944b74a84570d23947e7e2a75d63f8d..97c38b72b998bdf397c72d3ea08fd931
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index a3304ce24c08e4250df81a2d09098b8cbbc604bd..351b580611bf4b92d7addcc402c3276f7cb4e639 100644
|
||||
index c69a096b6bd7700191f88a3c03c8d018ca9d4201..670cf5a74554b0b420706db2fbce3a8e5dca147b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -208,6 +208,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -229,10 +229,10 @@ index a3304ce24c08e4250df81a2d09098b8cbbc604bd..351b580611bf4b92d7addcc402c3276f
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 60562089daf363f5af24fbf30a3ccd74311be289..b8de9c4630fbdaad2d3a4ca6d27a61873ddbda2e 100644
|
||||
index f32cc2884696db956e10d350f97376025e32e673..10d6361077a74c5685eca72d12f99e33a458ec43 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -99,6 +99,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -100,6 +100,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
return this.level().purpurConfig.pigTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -325,7 +325,7 @@ index d1a8b15de4f4aa20d6049135bcbef94f0d1fb388..ae2662a5cdc4e531e09876ff8664eaf6
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 557141d5cf85ef4b23d449fb32c28c25a4a96a33..c11ae706f85119d8dd5ac48e6fd585540779814c 100644
|
||||
index 81a88d510d7f52ca6a1c9cca991c22c3bdaf6b0d..df8e19a3adfa7dcc065160e8305d0f12c7c37887 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -86,6 +86,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -341,7 +341,7 @@ index 557141d5cf85ef4b23d449fb32c28c25a4a96a33..c11ae706f85119d8dd5ac48e6fd58554
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
index 57b37ac40b4ffe6c5e27548755aaa15da89a0f0b..88c238e492b1081d1a64a3b6f05d7baa17e5d8c9 100644
|
||||
index fb6fd5e00053ae8bae1f225ffd57fac787fdc2d5..2ec8a55650beff50676759617896da2db09dddc0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -95,6 +95,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -373,7 +373,7 @@ index b16d075581a352714f86f1b87805f24c9e336aa3..87b6f6b10ba6e3d9c6a42298a2019a52
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index cc1ccef921e70c33e5d6acbd73d5eecc4ea99064..8f891e9fd9fc0bf4a9c022a3415b371cea9b92fa 100644
|
||||
index a8102248bf5dc1b5c7659c42239b8d418e842aac..6bf8ed96eaed4a500164f21cb5ead32a7e5a224d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -118,6 +118,11 @@ public class Turtle extends Animal {
|
||||
@@ -389,7 +389,7 @@ index cc1ccef921e70c33e5d6acbd73d5eecc4ea99064..8f891e9fd9fc0bf4a9c022a3415b371c
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 6b51886e383992f35e0313bd9cc012354190a87d..5d49ed7ddf44a3d549b178ae548664194967776b 100644
|
||||
index 69caba70009268f7af7299f8a1dd84dc43caddf8..a90055fe8819a32180754b6060a0f88e81d1a3b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -217,6 +217,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -405,7 +405,7 @@ index 6b51886e383992f35e0313bd9cc012354190a87d..5d49ed7ddf44a3d549b178ae54866419
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 9d52d0f1b57565bdea0333626d8dba9c01607a30..b7eaa9e99688ae300c2e9176991c29828d1cc800 100644
|
||||
index dfc9b95b98d3811fd926c4747ec59a4a836ceb14..e73d7b47327da59dbf49c2160acd0b3ebb2a4232 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -130,6 +130,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -421,7 +421,7 @@ index 9d52d0f1b57565bdea0333626d8dba9c01607a30..b7eaa9e99688ae300c2e9176991c2982
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 26062173d137e26abdc452f7b2e0be0ee6dddfa3..fba00cab2c4b234dd2e85b5f4dcd0db34183c1a2 100644
|
||||
index 5b3126168e9406f6cbd0607b6b7cc2de4ab68b65..f7730ec3a6c8818baf2a7a738e5a49a56d17c0e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -119,6 +119,11 @@ public class Goat extends Animal {
|
||||
@@ -469,7 +469,7 @@ index f8dbea402f723bf38d7ab3f2468d1b02b7124560..3b1faa63e46a48e83ea672cf6da444a1
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 8d57bf9bbd1f61e6f1509c8b5cf01756ef145571..b414572411e5b2b78fd66e860273656d53df9d9d 100644
|
||||
index 30493e675d6308d65a4d4fa3fea601b6d7e4fa76..22abcf70f51a6752ab6d3f421366adb196e50dfc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -150,6 +150,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -501,10 +501,10 @@ index 53546e904948d03882e5f5b0a8d4256c72698afb..42dcdbec69b052679e590a1ff932c619
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index 688c87743446bdf5a9e2b830b8a47655d80f3284..64f0f486e29e0b63b024dd5c06738e12d0fb5b9a 100644
|
||||
index 15d9e6f795044983aa872160874386e422e77377..41c7e62dfb8cf40958bb98a244d8225690be7341 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -67,6 +67,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -74,6 +74,11 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
return this.level().purpurConfig.skeletonHorseTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -514,13 +514,13 @@ index 688c87743446bdf5a9e2b830b8a47655d80f3284..64f0f486e29e0b63b024dd5c06738e12
|
||||
+ }
|
||||
+
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
index 17648925f97110f2439890388f4bfbbff0917c61..02e3adc9a55fa9cd2a418094eb206970faaf471b 100644
|
||||
index a3c80184abcc2d884b692b90d267ab33a5406349..c80324d79b74fc620568347289f4e39629162409 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
|
||||
@@ -74,6 +74,11 @@ public class TraderLlama extends Llama {
|
||||
@@ -77,6 +77,11 @@ public class TraderLlama extends Llama {
|
||||
return this.level().purpurConfig.traderLlamaTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -549,10 +549,10 @@ index dcc1d71c2eeea48669651165868899ba4a797d48..813501e8aac1c121569cb996b47f0293
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index d50b8c407ed30c0bb46159994c1b0e310a15e33a..63bddd92fe13c50160acab33016c5b62257ad704 100644
|
||||
index 461247f3424b854032ccd45855c877aa85dd2e88..1d896c6c49705acd87416dc11a1d8ce205f7844e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -132,6 +132,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -133,6 +133,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
this.summoner = summoner;
|
||||
}
|
||||
|
||||
@@ -597,10 +597,10 @@ index 5dc0b3d04bfc01cd2cb004c18279840861dc4a57..c9bd400473166999479f5eef1edad529
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 1a33d4e855a85b0a0d51c29dbb4042d30918684c..64f6b5f44db4fd90e789032e3833da60cfcfbef1 100644
|
||||
index a3cc2e3ae32984e11f4e91421d663f0fe7c7b236..54315fb84e3289f0ad8305c2c2cec980a5b2c627 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -277,6 +277,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -278,6 +278,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
return super.dropAllDeathLoot(damagesource);
|
||||
}
|
||||
|
||||
@@ -613,7 +613,7 @@ index 1a33d4e855a85b0a0d51c29dbb4042d30918684c..64f6b5f44db4fd90e789032e3833da60
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 6e6d7f68cf1c1c224b67a9d674fdcaa67ea00359..034bb2d1292dde6276885c3ea71d886c3894311c 100644
|
||||
index 13427d23f1e614c0d83e9ccd68944ea4e1993c73..7600e747d91ae888eb801cfafcb09bffb76c8e62 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -116,6 +116,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -629,7 +629,7 @@ index 6e6d7f68cf1c1c224b67a9d674fdcaa67ea00359..034bb2d1292dde6276885c3ea71d886c
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index cd1f830bf28b1c68e2b9cc7daa77f696234a22c9..df8d1b34078031001c50325b8cf5bfa9a5c361fd 100644
|
||||
index 60787e45b605ce32b3b74ea23a6d9d9353f831a4..cb189457305916f509d624beb303feff35d0c358 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -58,6 +58,11 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -645,7 +645,7 @@ index cd1f830bf28b1c68e2b9cc7daa77f696234a22c9..df8d1b34078031001c50325b8cf5bfa9
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 02998e2f3d912d47641e7c9199467b5301de1e4c..4c9ffa8e1ab97d8156ead0ed189c769ffd9b4aae 100644
|
||||
index 19d7142d62339d01ce2d3936a95c829666cd4e27..13bc6389652f8868d7539676ee6d85f37ba78f67 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -120,6 +120,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -661,10 +661,10 @@ index 02998e2f3d912d47641e7c9199467b5301de1e4c..4c9ffa8e1ab97d8156ead0ed189c769f
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939..20ca96baf8f73fd5835422c6551f515a394cb168 100644
|
||||
index 67f3928f4a03a8d546c55e46a1f094a354ac412d..965362c281315c15fb70a83a6949d7825bebf15b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -74,6 +74,11 @@ public class Endermite extends Monster {
|
||||
@@ -79,6 +79,11 @@ public class Endermite extends Monster {
|
||||
this.isPlayerSpawned = playerSpawned;
|
||||
}
|
||||
|
||||
@@ -757,7 +757,7 @@ index 5ac87650e357f3ac48e37713b9b0b18ad4d6feb6..06a5106a94a44c1d21537410d801cdd9
|
||||
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || world.canSeeSky(pos));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||
index 91294d87521c884c402485b923691f9fd8985353..f9cddf46d1dbcabc738842ba039daa76bb6f3eb5 100644
|
||||
index 43d4cea02ae94a8842cd4c1370d1b80e45d2b13c..a8b3431c67442c5440b063426a1adc423f5c0658 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||
@@ -88,6 +88,11 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||
@@ -789,7 +789,7 @@ index e0ebc4c2d8dd718ce78d981a1d099e7482221f1f..1ad97267394d3717b1871336193cdc91
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 1d4a292a37069408420ca90b1c2784229781f93f..ab9ed9acc394dedf2151b83ff5cf998e0e0be21e 100644
|
||||
index bcb1912ea218fbb4b849ab84a7025202100b82c3..8591fb95aa3079d7722f445ce1b1743c1f02b9bc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -144,6 +144,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -805,10 +805,10 @@ index 1d4a292a37069408420ca90b1c2784229781f93f..ab9ed9acc394dedf2151b83ff5cf998e
|
||||
public boolean isFlapping() {
|
||||
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688be377b3cc 100644
|
||||
index cff87c0790e3afe43e7817969a05e8d79a550bbb..d5becd13774f9a2ead77d58e777ffc9aea10cb60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -89,6 +89,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -93,6 +93,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
return this.level().purpurConfig.pillagerTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@ index 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688b
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 5e717433ef29d02669ee2e95454c69c36cbafc24..c9c21c87e3bd1c404fbef6768761bcb5d97d98b9 100644
|
||||
index 03ed7c56bb7f2d32722ebedb8eb07765ab39079a..2d834e57253f666f04f8e0b47c8b8a45458c0a75 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -104,6 +104,11 @@ public class Ravager extends Raider {
|
||||
@@ -837,7 +837,7 @@ index 5e717433ef29d02669ee2e95454c69c36cbafc24..c9c21c87e3bd1c404fbef6768761bcb5
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index f7780da77a98b04b570d4c01e2b738dffeeb9415..8a52c1ad5e2872e4b484eebc834fa42fd1930481 100644
|
||||
index 25b9f131f9d0fdb0a53ddcc685d8ae250cb3abd6..ab21a44905a4154013cd65acdecbf55b741da086 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -141,6 +141,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -853,10 +853,10 @@ index f7780da77a98b04b570d4c01e2b738dffeeb9415..8a52c1ad5e2872e4b484eebc834fa42f
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 65203a502a970ffec622d91d25716f02e2a2fda2..dbc27afbccb027963ae3f035c268835adedbb933 100644
|
||||
index 524ac7bf0ee006bb79517a113c16e290b94e325a..931412a5ab315d4080a9f5209d3e85d78642f4c2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -74,6 +74,11 @@ public class Silverfish extends Monster {
|
||||
@@ -75,6 +75,11 @@ public class Silverfish extends Monster {
|
||||
return this.level().purpurConfig.silverfishTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -869,7 +869,7 @@ index 65203a502a970ffec622d91d25716f02e2a2fda2..dbc27afbccb027963ae3f035c268835a
|
||||
protected void registerGoals() {
|
||||
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 1c7cd82540aa9566b04142c741d26b4f346073d4..9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86 100644
|
||||
index eec2f8deb2675ed116939105dba60a68b05b7aac..2064d6177b3e43810d5962102fe914296e2627ff 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -53,6 +53,11 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -885,10 +885,10 @@ index 1c7cd82540aa9566b04142c741d26b4f346073d4..9b43150a00d7fac85aa69f5a2dbffd0d
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 9363ec4aad2179274e4076c2acae577962a52d4b..8b6f8fca8402c177c399824c6bf0bdef2c24ec55 100644
|
||||
index 380ea1b4ab8bf05ac5c039c77adaf73a57c4f1ee..0f77f00e9a02d1f982f285617604e7291b70a2a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -80,6 +80,11 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -81,6 +81,11 @@ public class Slime extends Mob implements Enemy {
|
||||
return this.level().purpurConfig.slimeTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -901,7 +901,7 @@ index 9363ec4aad2179274e4076c2acae577962a52d4b..8b6f8fca8402c177c399824c6bf0bdef
|
||||
public boolean dismountsUnderwater() {
|
||||
return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
index 93eaa95e38304a4b86cda693289f60ad4923b5b8..241a6851179cfa566417a655bff7b06bdb7f9f4b 100644
|
||||
index d3f1d7b2a5721933b0a8d697f1f6456d96ff7b76..b44ffeb4cc0ef63fdd25683f60c5a20fcdeb9135 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -80,6 +80,11 @@ public class Spider extends Monster {
|
||||
@@ -949,7 +949,7 @@ index f0d7174eae482cef9311fb646f340af59fa1c743..2f49b528601a1feb7246fe7a9b83ce82
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
index e1c7398d9640506e2404686c218da98688c6c316..44fe951f0297c0efa5169c8972c05eaf90d49edf 100644
|
||||
index fae7e1e780d0429341adf21afd57ab230b06a0a7..834abf1160034543fe3e89fa1c8d4bb55ffc5dc1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -117,6 +117,11 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -965,7 +965,7 @@ index e1c7398d9640506e2404686c218da98688c6c316..44fe951f0297c0efa5169c8972c05eaf
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return dimensions.height - 0.28125F;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index c7e995c5e639a1fb42a77edea3491682b72d32f4..ffe956f200dd0b4148043d0d7f2eac007a9f22b1 100644
|
||||
index 97087016883c8b5517d06755de19c672cc3f03bd..ee9d5933f74584452a1b27a392e7d36dac5b9bc9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -85,6 +85,11 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -981,7 +981,7 @@ index c7e995c5e639a1fb42a77edea3491682b72d32f4..ffe956f200dd0b4148043d0d7f2eac00
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
index 4b722c7b6c000c4f8156724b127c9df33f15f6db..1f19be94995d02596306fa49e19582b3deb1924a 100644
|
||||
index d6b34988ee884c4636ebd7f40e3e6a3084525316..4af36f8d0647f881a842e248d02d747115e1cc70 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -86,6 +86,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -997,7 +997,7 @@ index 4b722c7b6c000c4f8156724b127c9df33f15f6db..1f19be94995d02596306fa49e19582b3
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
index 87b42dff7d770cf04415301346674aad5e45081b..b5462ca1e67c87eeb447b8c4536c4bba897be186 100644
|
||||
index 986183cab6c7d48a4716440dcc764bdd88373720..e97cb4e166c2e9ac6d93ed5b15350758326e7e74 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
@@ -62,6 +62,11 @@ public class WitherSkeleton extends AbstractSkeleton {
|
||||
@@ -1029,7 +1029,7 @@ index 8cd6012b00dd5b307fd76ef0fd9c2cd92342a92a..15fd1af0773ba1254a429240444f48e6
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index 728f4f2d7c37e253b0dab752f627a7b6c4e8339c..f6dd5fd56926215830ccebbd46098d4bc08e17e4 100644
|
||||
index 9e373fa5eba63ed061e666510e01a6d8cdd6997b..c531d830f4d6b2d2213e160d7e1a5b50b80dbea5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -147,6 +147,11 @@ public class Zombie extends Monster {
|
||||
@@ -1045,7 +1045,7 @@ index 728f4f2d7c37e253b0dab752f627a7b6c4e8339c..f6dd5fd56926215830ccebbd46098d4b
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index faf03e2c69b6b4ee7d7425322b5b19974e37cb85..4d744e00bbaf25d1bad3782a6415e9bf5958e536 100644
|
||||
index f902814a23ef8a7d3893fc0349d1a0b3c203a123..712f77d4ddad04c7cd89d51c6d0c79c2f3ab9347 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -129,6 +129,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -1061,7 +1061,7 @@ index faf03e2c69b6b4ee7d7425322b5b19974e37cb85..4d744e00bbaf25d1bad3782a6415e9bf
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index 3574a1e641d8af34a0ff7ea8dcfb08641cf6ace0..df8c7a45eb49a8c667030eb67d6d49dcbaef4fcf 100644
|
||||
index e6b653c75a4c3306e06bfcadb4c4b53bccd5aad2..feba8a264bae656244f60296d0511a8046297f73 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -106,6 +106,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -1077,7 +1077,7 @@ index 3574a1e641d8af34a0ff7ea8dcfb08641cf6ace0..df8c7a45eb49a8c667030eb67d6d49dc
|
||||
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
||||
this.persistentAngerTarget = angryAt;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index d0144c99cf5c755c81fc0f9457b462c98ff3e804..e326e753cc6bca1bd00287d16c9796b9f3dd4d14 100644
|
||||
index 7a167887c40eccea4c216eb906a4a69006f72114..510ee1aee1dd106b5129c375ebb59c7950b8b989 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -101,6 +101,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -1093,7 +1093,7 @@ index d0144c99cf5c755c81fc0f9457b462c98ff3e804..e326e753cc6bca1bd00287d16c9796b9
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return !this.isLeashed();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index e506dcf390ecb5cce8ae6993df7ec91b3ebc125e..9ca1618ab945ad834c5fc221ada49058f806e79c 100644
|
||||
index 20ecfcbe948d02bb61b8f673f5330d2f9e60c387..141fa7d4e1b81e90f4d63a3459c9a72bc595d30b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -123,6 +123,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1125,10 +1125,10 @@ index b63d87df0f48dd63c89118f91b31dc4e3622e3b8..61e8f2d030fc50840c3f80dfb6fc8107
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 20b3872b1f8464579ddd4324c9b09170f8ae4778..9c86dc4b9cd558f0e8f97b63d6cab746bd30d10c 100644
|
||||
index d2b6d094c4b93055a4e6622372c6a0a83bd992a3..19a3e88ce5ccdd74b049246eb51eaa0783d03d5d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -195,6 +195,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -196,6 +196,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return this.level().purpurConfig.villagerTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -1141,10 +1141,10 @@ index 20b3872b1f8464579ddd4324c9b09170f8ae4778..9c86dc4b9cd558f0e8f97b63d6cab746
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5..08320248a6956d41d60681e3d29f81768c80fd3d 100644
|
||||
index 657fdbabf18da7ab321e8e95a31d53362c605380..21a7cc86245d2440b8fc757d3664a29de293f7b0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -102,6 +102,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -103,6 +103,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
return this.level().purpurConfig.wanderingTraderTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -1157,7 +1157,7 @@ index d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5..08320248a6956d41d60681e3d29f8176
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ed4c29795aae72d16e26d126888944204cae0291..108554529587f6e7ba56d1eabff8f061a74cc1b0 100644
|
||||
index 3683277077ed77fa804f5678127ba2b65bc070e7..6dc882c14f1dfd0dd7d37d595f86f387f52fff7f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1109,12 +1109,14 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 567fbb4cee7221b9b24b982c97546f353ce124cd..39784ca82aa79097067df62d859eb13ca6fb27b1 100644
|
||||
index 9f542c8ddb25faaef00d5db354f1c1fe3cfc3c45..99c5cd7f20435be1f78cfed4f952e4c7ddfb69e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1041,9 +1041,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1049,9 +1049,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||
EntityType<?> entitytypes = entity.getType();
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index d0204938816f3e74b0845b9a62f4b6ad44d2dd02..93689cb54c6c948577caff6ec3bd7cbec8094bea 100644
|
||||
index e8000f236d3ec0476ec782f08e159eea6c99476a..4297622fecf2cde16cdcb206ecc3e912b06c0a66 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2421,6 +2421,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2429,6 +2429,7 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
public static boolean isValidUsername(String name) {
|
||||
|
||||
@@ -31,10 +31,10 @@ index 2ee48ac3b665db2b02bcb1a30ec972d43a3725b0..59e8f5431ce5026209e1428b5fa5b548
|
||||
}
|
||||
// Paper end - custom shear drops
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 2df9cfc7f14da1073a34960830481f49696b2e85..3f00d40125b63a76ed549755d4c9d9a2ff2d4adf 100644
|
||||
index 48ee8c43a91efaadacfe8f37399ea1fb81f5f1ee..21632120b52e4d594153ebe057a14afa74c3f4eb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -160,7 +160,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -161,7 +161,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
} else if (itemstack.is(Items.SHEARS) && this.readyForShearing()) {
|
||||
// CraftBukkit start
|
||||
// Paper start - custom shear drops
|
||||
@@ -43,7 +43,7 @@ index 2df9cfc7f14da1073a34960830481f49696b2e85..3f00d40125b63a76ed549755d4c9d9a2
|
||||
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
|
||||
if (event != null) {
|
||||
if (event.isCancelled()) {
|
||||
@@ -212,13 +212,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -213,13 +213,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@Override
|
||||
public void shear(SoundSource shearedSoundCategory) {
|
||||
// Paper start - custom shear drops
|
||||
@@ -90,7 +90,7 @@ index ae2662a5cdc4e531e09876ff8664eaf66a63a960..658f7943d275267d3fc556572831cc09
|
||||
for (int j = 0; j < count; ++j) {
|
||||
dropEntities.add(new ItemStack(Sheep.ITEM_BY_DYE.get(this.getColor())));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index c11ae706f85119d8dd5ac48e6fd585540779814c..c30b00e5637d3def256c93cc227a15ddaf99bc56 100644
|
||||
index df8e19a3adfa7dcc065160e8305d0f12c7c37887..b75d07f3af4addbb306ecb6baacf1607ef65fc25 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -196,7 +196,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
|
||||
@@ -9,10 +9,10 @@ players still only pick up one orb every tick. However, setting this
|
||||
to any negative number will pick up all orbs instantly.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 673b3aee680bb8a2d20f96be661d5fa9c61f4ce3..19144edcc449dc2f992228612340cf210d40d59a 100644
|
||||
index c8671996f07f1daafe48448f4a5b837ca2f658c6..373a932b80be18b8a47ef849ce837dbfbba6f9cb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -313,7 +313,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -314,7 +314,7 @@ public class ExperienceOrb extends Entity {
|
||||
public void playerTouch(Player player) {
|
||||
if (!this.level().isClientSide) {
|
||||
if (player.takeXpDelay == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper - PlayerPickupExperienceEvent
|
||||
@@ -22,10 +22,10 @@ index 673b3aee680bb8a2d20f96be661d5fa9c61f4ce3..19144edcc449dc2f992228612340cf21
|
||||
int i = this.repairPlayerItems(player, this.value);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 93689cb54c6c948577caff6ec3bd7cbec8094bea..a334e2f83905be450514a9c26e945f6d5076060b 100644
|
||||
index 4297622fecf2cde16cdcb206ecc3e912b06c0a66..43199815ffe3d666577390b96187aa898ceb910e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -632,7 +632,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -633,7 +633,7 @@ public abstract class Player extends LivingEntity {
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ This patch adds a config option to allow the minimum demand to instead
|
||||
be configurable.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 4902a2cb7f71e3f2fa6ae22e0d6746ca79ff8623..00e60eacf10b76f9d7020324df436b2c315486be 100644
|
||||
index 19a3e88ce5ccdd74b049246eb51eaa0783d03d5d..79184e4721236d4d30f9c516ac0efb56cf06af7d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -546,7 +546,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -547,7 +547,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
while (iterator.hasNext()) {
|
||||
MerchantOffer merchantrecipe = (MerchantOffer) iterator.next();
|
||||
|
||||
@@ -40,7 +40,7 @@ index 02feea12c998f37098b72becf6bfaf6b27d155de..9c89a85d934955c9388cfe1361f13e70
|
||||
|
||||
public ItemStack assemble() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1620ed5e1fab8575af02fefc910865d1b8a50322..e320196cc5f7302377916d5402579632374de09c 100644
|
||||
index 4a953d543fb14bc36e775a976710f11633da7c86..c312382eeb38b9d6b2420b482c1467d6f27beb81 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2794,6 +2794,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Lobotomize stuck villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c92fc53fd 100644
|
||||
index 79184e4721236d4d30f9c516ac0efb56cf06af7d..a188a36d919037fa3177ad7f6930570f5e130fc9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -141,6 +141,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}, MemoryModuleType.MEETING_POINT, (entityvillager, holder) -> {
|
||||
return holder.is(PoiTypes.MEETING);
|
||||
});
|
||||
@@ -17,7 +17,7 @@ index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c
|
||||
|
||||
public long nextGolemPanic = -1; // Pufferfish
|
||||
|
||||
@@ -200,6 +202,48 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -201,6 +203,48 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return this.level().purpurConfig.villagerAlwaysDropExp;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c
|
||||
@Override
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
@@ -297,13 +341,19 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -298,13 +342,19 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
// Paper start
|
||||
this.customServerAiStep(false);
|
||||
}
|
||||
@@ -105,7 +105,7 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e320196cc5f7302377916d5402579632374de09c..26351f5ba9fd4f2e231481cfdd52341e0f4d96a4 100644
|
||||
index c312382eeb38b9d6b2420b482c1467d6f27beb81..6fa783b3f064b0e62c67f5a5709fbe9c0d3b51a7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2795,6 +2795,9 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 39784ca82aa79097067df62d859eb13ca6fb27b1..1b58cc6ee449cfb655b7179be9d3bf8d48a86c4e 100644
|
||||
index 99c5cd7f20435be1f78cfed4f952e4c7ddfb69e8..e5691cf9ad9e795426b27391ebfb27dba97756fb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1547,13 +1547,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1555,13 +1555,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
|
||||
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
|
||||
|
||||
@@ -25,7 +25,7 @@ index 39784ca82aa79097067df62d859eb13ca6fb27b1..1b58cc6ee449cfb655b7179be9d3bf8d
|
||||
|
||||
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 332c553db22aaeb0cda5e628c5e464e130c7abb0..519b875c4b0f05cab3b0f5c80f07734d8eb98abe 100644
|
||||
index 9730a5469f81687cfde0a19a58d1c2147588d1d2..e3f724a19ab2f9821d84f9b03acf7c925c88f455 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -490,7 +490,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index fed066980b17d7c7fa773a00b314535c92fc53fd..857d1d80afd35d30a2947b0a6f953e5af1516048 100644
|
||||
index a188a36d919037fa3177ad7f6930570f5e130fc9..ef7c67f591ca4a3c73b87a7c44b37ad0b51d875c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -1101,6 +1101,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1102,6 +1102,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) {
|
||||
@@ -18,7 +18,7 @@ index fed066980b17d7c7fa773a00b314535c92fc53fd..857d1d80afd35d30a2947b0a6f953e5a
|
||||
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
|
||||
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1beb9285414e3c178c95ef9ea404fcf34f9cdcac..a0b5c0819541a2924bf29ded4d1842b0e19b4e7b 100644
|
||||
index 2c577f12f86ed843f823f5756fd7cddb8bb807a6..adf1064af51c737f97c071fb65019a874a881a18 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2809,6 +2809,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -124,10 +124,10 @@ index 0dc05919dfbbf73230505fcdc25d949b1602801c..996bd26e95e766ce4ca7e61d060881fe
|
||||
return BlockPathTypes.STICKY_HONEY;
|
||||
} else if (blockState.is(Blocks.COCOA)) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 2d47fd8290c9712bbf720452f5ffe134b1941d8c..b30d0d4d453252d1f5774f5155fb1ab61294d6be 100644
|
||||
index ac836274a2d725e3fac55394154ae2148024853a..94be4f367f4c6cb2386d0e59d0417f29fca1cec7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1133,7 +1133,7 @@ public class CraftEventFactory {
|
||||
@@ -1134,7 +1134,7 @@ public class CraftEventFactory {
|
||||
return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.LAVA, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
|
||||
} else if (source.getDirectBlock() != null) {
|
||||
DamageCause cause;
|
||||
@@ -137,7 +137,7 @@ index 2d47fd8290c9712bbf720452f5ffe134b1941d8c..b30d0d4d453252d1f5774f5155fb1ab6
|
||||
} else if (source.is(DamageTypes.HOT_FLOOR)) {
|
||||
cause = DamageCause.HOT_FLOOR;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index c6628a28387023b334dd99a4e469126a2108c38b..3a49455509a26063a62e39fb3d3ad81e80bced54 100644
|
||||
index a504f727f5aaa605809938b4e7e7bbe9b84c522a..9bc5cc4944dcd3918b2a90bde9dd8fdd795ae3b2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -209,8 +209,10 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Skeletons eat wither roses
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1ef5121b57 100644
|
||||
index 2064d6177b3e43810d5962102fe914296e2627ff..30ff77f5f137614b5d0d2df6dc90f47c97e8ab13 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -14,6 +14,16 @@ import net.minecraft.world.item.Items;
|
||||
@@ -79,7 +79,7 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e
|
||||
+ }
|
||||
+
|
||||
+ this.level().addFreshEntity(skeleton);
|
||||
+ this.remove(RemovalReason.DISCARDED);
|
||||
+ this.remove(RemovalReason.DISCARDED, org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ if (!player.getAbilities().instabuild) {
|
||||
+ stack.shrink(1);
|
||||
+ }
|
||||
@@ -94,7 +94,7 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b301f0778a2dc0de4a899da06598aed314ef545c..ef6ed71bf4674b7f0275e3cc4487f9f311d4cf48 100644
|
||||
index 163b01e476dc3b53d0176b6606f65ce2cbc6bc21..b08fd09753dfab6c31cf59c189f9a55d9f77c5a5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2492,6 +2492,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
|
||||
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 31f692bbb67af911dd0563c171ed48ee510fe5bf..6a3fa8bec23e2405091eae560c1edef02023a8a9 100644
|
||||
index c868a61d73b4563807c70c9539f63cb0645a9984..c0942beb4b362cdba1c0b5fa4531f7d586eab0ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -596,7 +596,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -597,7 +597,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.bb = Entity.INITIAL_AABB;
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
this.nextStep = 1.0F;
|
||||
@@ -33,7 +33,7 @@ index 2ec8a55650beff50676759617896da2db09dddc0..cba0823bfd10a3e7fd3a7548b9cc11a7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c6a19e70cbe90546d17c3e3f3371db40af6cf204..e4fd299c419dd5309b74eec5e00de6461613bf40 100644
|
||||
index bf2b431301780acff40546af6475b227c40bd8bf..4c157168cfea5ef58d0b070971dfb73223c26897 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -204,9 +204,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -236,7 +236,7 @@ index 38de0e9b83ecac489ca676725274d14fcb60dd5c..6a9bd431e9c2e1fc1e51d394eaccba86
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 28d05b46952397bb664a1c8dae71816cafee89ce..c6c4d6cf59742b555af5469eaf751ebef753e249 100644
|
||||
index 1081e9df44bb24b2c51ebd9364c21c7b2a3a205a..3fbc1e7e401331790d590dcd513a0a267b5ea181 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -540,15 +540,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -447,7 +447,7 @@ index 1cf8c819c0d7776c3b33d6594ca81abe3c2a719d..bbc3153379d7da8b4d91c49a3ba83d44
|
||||
gameprofilerfiller.pop();
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a163fcfd8fe 100644
|
||||
index cc4be3069e64bb424393d157dd1a5fef7dbcfca6..e48fac31d5c25da0bea3b5247eceda3a45decaaf 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -866,7 +866,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -630,7 +630,7 @@ index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a16
|
||||
|
||||
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7dec861f49e7db0ac7cf4f4942881f237ebcd61f..19b4a69a3062870b831c37728cab8376d3340d54 100644
|
||||
index 9107cc4860f81460f3424aeac4ca026b891ab47f..c48e18e4aa72eae5d1a87a86b8a9c982838b5d47 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2456,7 +2456,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -661,10 +661,10 @@ index 7dec861f49e7db0ac7cf4f4942881f237ebcd61f..19b4a69a3062870b831c37728cab8376
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 8458adda210e10254d5564a6b84894805b7ddbfe..323391509c2efd49c54d7b36d7aa880c63ae5fd4 100644
|
||||
index 1b8b0bafce3352bd65d570ac7cb4ea3acdfe991d..ac1e0c66f167218306504db6037cc1d6509072a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1273,7 +1273,7 @@ public abstract class PlayerList {
|
||||
@@ -1274,7 +1274,7 @@ public abstract class PlayerList {
|
||||
|
||||
public void saveAll(int interval) {
|
||||
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
|
||||
@@ -673,7 +673,7 @@ index 8458adda210e10254d5564a6b84894805b7ddbfe..323391509c2efd49c54d7b36d7aa880c
|
||||
int numSaved = 0;
|
||||
long now = MinecraftServer.currentTick;
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
@@ -1284,7 +1284,7 @@ public abstract class PlayerList {
|
||||
@@ -1285,7 +1285,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end - Incremental chunk and player saving
|
||||
}
|
||||
@@ -732,7 +732,7 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 85d0a644fa876978d1295d8a2d88ab2869b33904..4999f9f3a4296df3d7f933cc4011e85527da3a17 100644
|
||||
index d43d7873574699b3b19ae6c89f02b24f3c6f7dfc..0754ec885c68a6b3c6d91c8e00069c3fe41c0299 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1308,15 +1308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
@@ -448,7 +448,7 @@ index df0c15f6b5b2224d53e4f8fad42b9a1e5f33dc25..5dd0dcb47211cec69189115bf4eab1df
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index c6c4d6cf59742b555af5469eaf751ebef753e249..06554a000da1f6ba7360fa907deeead7341b09ea 100644
|
||||
index 3fbc1e7e401331790d590dcd513a0a267b5ea181..bb412ca874b85d777c0e3565fcefcee15b23182b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -538,20 +538,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -614,7 +614,7 @@ index bbc3153379d7da8b4d91c49a3ba83d4415a7671a..6167ffb1263a1a65b582b7d295d1d77e
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index b4b256721b7a5d25deec717123501a163fcfd8fe..75b3de5c1e26815aa04dba3f09f2ef7807767154 100644
|
||||
index e48fac31d5c25da0bea3b5247eceda3a45decaaf..fb6b762bac4d36b2e307b5343988884fa339d001 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -824,16 +824,16 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1095,10 +1095,10 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
|
||||
};
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde7376e99a822 100644
|
||||
index c0942beb4b362cdba1c0b5fa4531f7d586eab0ac..b78d7958b56a4f385efc4666bb35a89a3049d702 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -848,7 +848,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -861,7 +861,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
// CraftBukkit end
|
||||
|
||||
public void baseTick() {
|
||||
@@ -1107,7 +1107,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups
|
||||
this.feetBlockState = null;
|
||||
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
||||
@@ -909,7 +909,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -922,7 +922,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
this.firstTick = false;
|
||||
@@ -1116,7 +1116,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
}
|
||||
|
||||
public void setSharedFlagOnFire(boolean onFire) {
|
||||
@@ -1128,7 +1128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1141,7 +1141,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,7 +1125,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
||||
movement = movement.multiply(this.stuckSpeedMultiplier);
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
@@ -1137,7 +1137,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1150,7 +1150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
// Paper start - ignore movement changes while inactive.
|
||||
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
||||
setDeltaMovement(Vec3.ZERO);
|
||||
@@ -1134,7 +1134,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -1158,8 +1158,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1171,8 +1171,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
||||
}
|
||||
|
||||
@@ -1145,7 +1145,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
||||
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
||||
|
||||
@@ -1178,7 +1178,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1191,7 +1191,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
|
||||
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
|
||||
if (this.isRemoved()) {
|
||||
@@ -1154,7 +1154,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
} else {
|
||||
if (this.horizontalCollision) {
|
||||
Vec3 vec3d2 = this.getDeltaMovement();
|
||||
@@ -1316,7 +1316,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1329,7 +1329,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
||||
}
|
||||
|
||||
@@ -1163,7 +1163,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
}
|
||||
}
|
||||
// Paper start - detailed watchdog information
|
||||
@@ -3189,7 +3189,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3205,7 +3205,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
||||
|
||||
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
||||
@@ -1172,7 +1172,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
this.portalTime = i;
|
||||
// Paper start - Add EntityPortalReadyEvent
|
||||
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
||||
@@ -3207,7 +3207,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3223,7 +3223,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
} // Paper - Add EntityPortalReadyEvent
|
||||
// CraftBukkit end
|
||||
@@ -1181,7 +1181,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
}
|
||||
|
||||
this.isInsidePortal = false;
|
||||
@@ -3681,14 +3681,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3697,14 +3697,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
// Paper end - Fix item duplication and teleport issues
|
||||
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
|
||||
@@ -1198,7 +1198,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
||||
|
||||
if (shapedetectorshape == null) {
|
||||
@@ -3727,7 +3727,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3743,7 +3743,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.unRide();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1207,7 +1207,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
// Paper start - Fix item duplication and teleport issues
|
||||
if (this instanceof Mob) {
|
||||
((Mob) this).dropLeash(true, true); // Paper drop lead
|
||||
@@ -3754,10 +3754,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3770,10 +3770,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
this.removeAfterChangingDimensions();
|
||||
@@ -1221,10 +1221,10 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
|
||||
}
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808ef676cc2 100644
|
||||
index e5691cf9ad9e795426b27391ebfb27dba97756fb..cd5e884603285d4a2c73f3dc300a5afda42d98c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -409,7 +409,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -410,7 +410,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
super.baseTick();
|
||||
@@ -1233,7 +1233,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
if (this.fireImmune() || this.level().isClientSide) {
|
||||
this.clearFire();
|
||||
}
|
||||
@@ -512,7 +512,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -513,7 +513,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.yHeadRotO = this.yHeadRot;
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
@@ -1242,7 +1242,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
}
|
||||
|
||||
public boolean canSpawnSoulSpeedParticle() {
|
||||
@@ -3179,10 +3179,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3187,10 +3187,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.run += (f3 - this.run) * 0.3F;
|
||||
@@ -1256,7 +1256,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3194,7 +3194,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3202,7 +3202,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
|
||||
// Paper end
|
||||
|
||||
@@ -1265,7 +1265,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
this.animStep += f2;
|
||||
if (this.isFallFlying()) {
|
||||
++this.fallFlyTicks;
|
||||
@@ -3489,19 +3489,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3497,19 +3497,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d0, d1, d2);
|
||||
@@ -1290,7 +1290,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double d3;
|
||||
|
||||
@@ -3528,8 +3528,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3536,8 +3536,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -1301,7 +1301,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
this.xxa *= 0.98F;
|
||||
this.zza *= 0.98F;
|
||||
this.updateFallFlying();
|
||||
@@ -3556,8 +3556,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3564,8 +3564,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.travel(vec3d1);
|
||||
}
|
||||
|
||||
@@ -1312,7 +1312,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
|
||||
int i = this.getTicksFrozen();
|
||||
|
||||
@@ -3574,15 +3574,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3582,15 +3582,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -1332,10 +1332,10 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
|
||||
// Purpur start
|
||||
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a2230a72b19 100644
|
||||
index 380834677c93a23879a9e53173fa835ebd22f584..1d1688fafc438a5957096118790d44fbd55476bb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -367,13 +367,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -368,13 +368,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@Override
|
||||
public void baseTick() {
|
||||
super.baseTick();
|
||||
@@ -1351,7 +1351,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
|
||||
incrementTicksSinceLastInteraction(); // Purpur
|
||||
}
|
||||
|
||||
@@ -704,7 +704,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -705,7 +705,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@Override
|
||||
public void aiStep() {
|
||||
super.aiStep();
|
||||
@@ -1360,7 +1360,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
|
||||
if (!this.level().isClientSide && this.canPickUpLoot() && this.isAlive() && !this.dead && (this.level().purpurConfig.entitiesPickUpLootBypassMobGriefing || this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) {
|
||||
Vec3i baseblockposition = this.getPickupReach();
|
||||
List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
|
||||
@@ -724,7 +724,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -725,7 +725,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1369,7 +1369,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
|
||||
}
|
||||
|
||||
protected Vec3i getPickupReach() {
|
||||
@@ -936,46 +936,46 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -937,46 +937,46 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
return;
|
||||
}
|
||||
// Paper end - Allow nerfed mobs to jump and float
|
||||
@@ -1612,10 +1612,10 @@ index 3be70e054c658d34c4aa598ff70c63fa2cff7982..d6340d0a1308bafd3ba176562bf08dca
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index 3103df74b7ae5a5ed841bf97794284cd43ad59de..14135dac80dec4224715e21cef6556d22e569026 100644
|
||||
index c19513b3b35bbb05c3159606caacee0559366610..2a9c2a69a0589e4e7b7c79d3716376b360a2eba1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -117,12 +117,12 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -120,12 +120,12 @@ public class Tadpole extends AbstractFish {
|
||||
private int behaviorTick = 0; // Pufferfish
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
@@ -1777,10 +1777,10 @@ index 384e7b29215cadfa40af07a183a9c9c6a5b4a80a..bf7ef72a7d92db8f11789a6958327064
|
||||
if ((this.tickCount + this.getId()) % 120 == 0) {
|
||||
Warden.applyDarknessAround(worldserver, this.position(), this, 20);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 857d1d80afd35d30a2947b0a6f953e5af1516048..18f92478f07de7c941ff8bbe0ec2ef2fe3617fd7 100644
|
||||
index ef7c67f591ca4a3c73b87a7c44b37ad0b51d875c..50202286a0d83f7fe5331eb669d999718a9082cf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -343,7 +343,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -344,7 +344,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
protected void customServerAiStep(boolean inactive) { // Purpur - not final
|
||||
// Paper end
|
||||
@@ -1789,7 +1789,7 @@ index 857d1d80afd35d30a2947b0a6f953e5af1516048..18f92478f07de7c941ff8bbe0ec2ef2f
|
||||
// Purpur start
|
||||
if (this.level().purpurConfig.villagerLobotomizeEnabled) {
|
||||
// treat as inactive if lobotomized
|
||||
@@ -355,7 +355,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -356,7 +356,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.getBrain().tick((ServerLevel) this.level(), this); // Paper
|
||||
} else if (this.isLobotomized && shouldRestock()) restock();
|
||||
// Purpur end
|
||||
@@ -1821,7 +1821,7 @@ index b678da2cbb93cea7971bc3c4d324cfca18b0bc97..b0884758d00efb1e3b4b47a539de2a81
|
||||
|
||||
if (this.fire) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 4999f9f3a4296df3d7f933cc4011e85527da3a17..bc797f1872f86b59a8aae3e70823249c9b8d8922 100644
|
||||
index 0754ec885c68a6b3c6d91c8e00069c3fe41c0299..67a26f22d4eb7eaeee7900e6f4de421d0bfd5612 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1305,9 +1305,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add an option to fix MC-3304 (projectile looting)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
index 2d1bff45830b489caba33552cafa2ae795d6def6..fd1d6c4c3f78b610282318e98ba3742f8bf6e20e 100644
|
||||
index 5d60f038220ef4e7b66834c172cc47c7abfe7da7..a9289c4179a78862361be87aaa83f49d6bf60714 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
@@ -74,6 +74,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@@ -75,6 +75,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@Nullable
|
||||
private List<Entity> piercedAndKilledEntities;
|
||||
public ItemStack pickupItemStack;
|
||||
@@ -16,7 +16,7 @@ index 2d1bff45830b489caba33552cafa2ae795d6def6..fd1d6c4c3f78b610282318e98ba3742f
|
||||
|
||||
// Spigot Start
|
||||
@Override
|
||||
@@ -641,6 +642,12 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@@ -642,6 +643,12 @@ public abstract class AbstractArrow extends Projectile {
|
||||
this.knockback = punch;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 5c667328f76688d6b557452319117734aaa861a6..cc490788b18209d27b339a8557084049002cff09 100644
|
||||
index cd5e884603285d4a2c73f3dc300a5afda42d98c8..bfa69b2c37f07132f8b31c12d26f4ceb074901a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1125,6 +1125,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1133,6 +1133,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
for (flag = false; iterator.hasNext(); flag = true) {
|
||||
// CraftBukkit start
|
||||
MobEffectInstance effect = (MobEffectInstance) iterator.next();
|
||||
@@ -17,10 +17,10 @@ index 5c667328f76688d6b557452319117734aaa861a6..cc490788b18209d27b339a8557084049
|
||||
if (event.isCancelled()) {
|
||||
continue;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index b950a0d5010fd7302995772d30e69016284f6cd6..3f78ab74cd7706ad16f6d5a989803691c9842f9f 100644
|
||||
index 21a7cc86245d2440b8fc757d3664a29de293f7b0..b133c186d2d1412aa623ba3db68091bc69c282a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -114,7 +114,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -115,7 +115,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
return this.canDrinkPotion && this.level().isNight() && !entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API
|
||||
}));
|
||||
this.goalSelector.addGoal(0, new UseItemGoal<>(this, new ItemStack(Items.MILK_BUCKET), SoundEvents.WANDERING_TRADER_REAPPEARED, (entityvillagertrader) -> {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f893366fc9 100644
|
||||
index b78d7958b56a4f385efc4666bb35a89a3049d702..693a418c10583131135a1d9f8be9c54f23a16430 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -426,6 +426,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -427,6 +427,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public boolean activatedPriorityReset = false; // Pufferfish - DAB
|
||||
public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // Pufferfish - DAB (golf score)
|
||||
public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // Pufferfish - reduce entity allocations
|
||||
@@ -16,7 +16,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -1814,7 +1815,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1827,7 +1828,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public boolean fireImmune() {
|
||||
@@ -25,7 +25,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
|
||||
}
|
||||
|
||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||
@@ -2508,6 +2509,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2524,6 +2525,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
||||
}
|
||||
// Paper end
|
||||
@@ -37,7 +37,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2655,6 +2661,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2671,6 +2677,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
||||
}
|
||||
// Paper end
|
||||
@@ -50,10 +50,10 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 9304a2d06400dfa244ddb4d9591de988b334c3cf..aa6872290bcab8d7dc58f5714f5f5d4289759880 100644
|
||||
index 897f9f5d25c674f167530810c0b94bca83c3c3cc..50364ab478ae5ec016fc2318483920e2e849b8ba 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -83,6 +83,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -84,6 +84,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ index 9304a2d06400dfa244ddb4d9591de988b334c3cf..aa6872290bcab8d7dc58f5714f5f5d42
|
||||
public boolean isInDaylight() {
|
||||
return getHandle().isSunBurnTick();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
index e99007570a89eebe3c85ad549cf24286514306f8..480adbfdd084a6291ee0108e5350ea418e08ff6f 100644
|
||||
index 01e4395f1669d21c30465aa1366bd2f1ae17678f..5c1cda88080850314dac196dbe71ff12e48a8aca 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
@@ -173,9 +173,14 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index bf33c028ced7c3a4e76e9ccc9d1c12877456219c..a83a6cd64345ff0d14e4dfad01566d8dc86c8416 100644
|
||||
index 693a418c10583131135a1d9f8be9c54f23a16430..2092ede561d14ace1c003ced051cd4967bb41beb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -923,6 +923,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -936,6 +936,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// Paper end - Configurable nether ceiling damage
|
||||
@@ -17,7 +17,7 @@ index bf33c028ced7c3a4e76e9ccc9d1c12877456219c..a83a6cd64345ff0d14e4dfad01566d8d
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 17894a054e67173e138cff2190c77c0dad94ef32..c620601e8c6b9cc6a82011a61ce2fcedda94dac4 100644
|
||||
index 1a1628b6a2d4814f5cdef1dc3f27bd74b22265d7..61dfb8c7e8606136981ec61f2b7ef02711d3a395 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -417,6 +417,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] End Crystal Cramming
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index ea7075dd4a9bc466d850cabc69199d56e48c825a..2b850c313c7bb2f83af62709583d0ec35400215a 100644
|
||||
index 24ad1bae912fa6ee82ea8b6bdbb0af664dc1006c..34f5006f72ec357c474a19f22ee339e3a1dc786f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -99,6 +99,7 @@ public class EndCrystal extends Entity {
|
||||
@@ -100,6 +100,7 @@ public class EndCrystal extends Entity {
|
||||
}
|
||||
}
|
||||
// Paper end - Fix invulnerable end crystals
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user