mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
200 patches \o/
This commit is contained in:
@@ -18,10 +18,10 @@ index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c2
|
||||
} else {
|
||||
int j = pos.getX();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3550147e9c80964dc1bf4007e4280de4a3b39d78..57ac8480bc6bb324366bbdd30718eb5df6a7d69b 100644
|
||||
index ebc3615b395e9f9ff9a6dd5ac65eec6b530edad4..948fcb804e6ca46f2af1de41472c70c88711c47f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -616,6 +616,11 @@ public class PurpurWorldConfig {
|
||||
@@ -599,6 +599,11 @@ public class PurpurWorldConfig {
|
||||
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ Difficulties:
|
||||
3 - hard
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
index 67060b7446535fc352d221d9fe3928d1d6ffcf54..8d5e841d8cc69bf09a9f1b6248633a72ce5fe1d7 100644
|
||||
index caa22afb0781671b901c23ebcc89e5bb0d2bd615..259f7e162968714e2959b199c7b1ab847dd624ef 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
@@ -60,7 +60,7 @@ public class NetherPortalBlock extends Block {
|
||||
@@ -77,7 +77,7 @@ public class NetherPortalBlock extends Block implements Portal {
|
||||
|
||||
@Override
|
||||
protected void randomTick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
|
||||
@@ -31,10 +31,10 @@ index 67060b7446535fc352d221d9fe3928d1d6ffcf54..8d5e841d8cc69bf09a9f1b6248633a72
|
||||
pos = pos.below();
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ff178d4c2db6f4ce600ec0cc7ee2e00994efbc68..a2b832b0cfd2325e1cf6ed7b673a7837c808d419 100644
|
||||
index 948fcb804e6ca46f2af1de41472c70c88711c47f..fdd84855671d21a4ecc5743b5ae72a645fc46443 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1672,6 +1672,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1655,6 +1655,7 @@ public class PurpurWorldConfig {
|
||||
public double piglinMaxHealth = 16.0D;
|
||||
public boolean piglinBypassMobGriefing = false;
|
||||
public boolean piglinTakeDamageFromWater = false;
|
||||
@@ -42,7 +42,7 @@ index ff178d4c2db6f4ce600ec0cc7ee2e00994efbc68..a2b832b0cfd2325e1cf6ed7b673a7837
|
||||
private void piglinSettings() {
|
||||
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
||||
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
||||
@@ -1684,6 +1685,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1667,6 +1668,7 @@ public class PurpurWorldConfig {
|
||||
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
|
||||
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
|
||||
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
|
||||
@@ -18,7 +18,7 @@ index 7b263fab4f0014400b3b8e7e33db32f9a125f6ba..f52823146944d333f2d050e90261b570
|
||||
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
|
||||
super(BlockEntityType.BEEHIVE, pos, state);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 25b0eeb09f20601e8517f3dc413a72a3b05ac983..80dfed685a84c15d8e667272e0ec91e0f1349296 100644
|
||||
index 01f192f911dfd4c4afcd942196fce62e35cdbacf..d1dcaaec7731e24cad3e3566fd5bb4dbe0b7336d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -250,6 +250,7 @@ public class PurpurConfig {
|
||||
@@ -36,4 +36,4 @@ index 25b0eeb09f20601e8517f3dc413a72a3b05ac983..80dfed685a84c15d8e667272e0ec91e0
|
||||
+ beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
|
||||
}
|
||||
|
||||
public static boolean allowInfinityMending = false;
|
||||
public static boolean allowUnsafeEnchants = false;
|
||||
@@ -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 c753f715710ec4bb8337e035ac5a4c11371a84a0..a60d7f7baab005afc532ecec7aa22c53db4f51e0 100644
|
||||
index e472df057d087fe46bd40b798c050ed6e38a283c..999453409c19abf7f5b5c2dc399699856e57329e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -99,7 +99,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -103,7 +103,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,10 +18,10 @@ index c753f715710ec4bb8337e035ac5a4c11371a84a0..a60d7f7baab005afc532ecec7aa22c53
|
||||
|
||||
if (!event.isCancelled()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a2b832b0cfd2325e1cf6ed7b673a7837c808d419..fe8955f3c5891b1127f80744bb7c7418352b246c 100644
|
||||
index fdd84855671d21a4ecc5743b5ae72a645fc46443..b4bffe75d0462c44eada1a1412afea69732fdf6e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2315,6 +2315,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2294,6 +2294,7 @@ public class PurpurWorldConfig {
|
||||
public boolean witherBypassMobGriefing = false;
|
||||
public boolean witherTakeDamageFromWater = false;
|
||||
public boolean witherCanRideVehicles = false;
|
||||
@@ -29,7 +29,7 @@ index a2b832b0cfd2325e1cf6ed7b673a7837c808d419..fe8955f3c5891b1127f80744bb7c7418
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2335,6 +2336,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2314,6 +2315,7 @@ public class PurpurWorldConfig {
|
||||
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
||||
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Gamemode extra permissions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
index b51850c0368b0fa2c9eb4ca44b9c931eb46478fc..684536f600cca94ea346129a139ec4aac4d9f979 100644
|
||||
index c98247a6ccc015f1da2c11995fb392b24197e888..dea4dd6f0fbb1fc79132c249b9f72edba1366efd 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
@@ -209,6 +209,19 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
||||
@@ -73,7 +73,7 @@ index 52649f82351ab4f675c3cc3cd6640956b0f76b91..eb51c88c7a0658190d3a8bfd5d18dca7
|
||||
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
|
||||
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 1851baf2934f0ff1330116f98771d6ffe207811e..a55ed3a9b72626ef4ed7b789a11bdbdced0b2082 100644
|
||||
index d1dcaaec7731e24cad3e3566fd5bb4dbe0b7336d..62b375aee2703d573b728872d6b2f9d35e9c1f24 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -233,6 +233,7 @@ public class PurpurConfig {
|
||||
@@ -36,10 +36,10 @@ index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3a298515545972bb06a2f214aa35fb579bbac3de..046c11b359125851d48f97505b0a823f01635cff 100644
|
||||
index b4bffe75d0462c44eada1a1412afea69732fdf6e..0cb69b395cdcee60cf4a6b8d209011bbe731b969 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -611,6 +611,11 @@ public class PurpurWorldConfig {
|
||||
@@ -594,6 +594,11 @@ public class PurpurWorldConfig {
|
||||
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable broadcast settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
index 94893039363b5fe2d7d0622d0592bce2c867b1c3..ef520d1dd00ae9473c1f34e2df4d8b064fe4d6ea 100644
|
||||
index b286b157bba78021efa18f01bc91b067b0bd5874..fc87e3cfff1221a6cbaf3463ce972870f17c776a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
@@ -250,6 +250,7 @@ public class PlayerAdvancements {
|
||||
@@ -17,10 +17,10 @@ index 94893039363b5fe2d7d0622d0592bce2c867b1c3..ef520d1dd00ae9473c1f34e2df4d8b06
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index e0f0ad1fab5d980beb1bfdcd837504e2e94eea83..af27cd5c111acfb99e8a6e1071181a89b94f7c25 100644
|
||||
index 03fe9f169ac76ca346e798571eaeaf6aea63f775..5b3ffa3aa96dffba149c0fa8d7fb62cc36f8a4a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1090,6 +1090,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1046,6 +1046,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
}));
|
||||
PlayerTeam scoreboardteam = this.getTeam();
|
||||
|
||||
@@ -29,7 +29,7 @@ index e0f0ad1fab5d980beb1bfdcd837504e2e94eea83..af27cd5c111acfb99e8a6e1071181a89
|
||||
if (scoreboardteam.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
||||
this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 3e9d4f1f4752ddfeab494127460f7e5095673296..c3cc0ab21b7506e51e8d48a934705c0e6b43553f 100644
|
||||
index 62b375aee2703d573b728872d6b2f9d35e9c1f24..8c7295297830cdcab87ac8bb1f1e04987a5f0f25 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -203,6 +203,18 @@ public class PurpurConfig {
|
||||
@@ -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 aca2bd27da4d5bc754d7e98e45eb468170d17408..ce0d043f8839bb6b7fa2f6e1e721a26ffe33f77c 100644
|
||||
index e2152edecce79c9bb5bbf25103efc05dce06c692..42f2749f78af7de468c07b49c7e61063e74ce0de 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1067,6 +1067,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1042,6 +1042,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;
|
||||
}
|
||||
@@ -28,10 +28,10 @@ index aca2bd27da4d5bc754d7e98e45eb468170d17408..ce0d043f8839bb6b7fa2f6e1e721a26f
|
||||
|
||||
return d0;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 046c11b359125851d48f97505b0a823f01635cff..bc6d8925d1124a138af8918146764ed2bc7b9f27 100644
|
||||
index 0cb69b395cdcee60cf4a6b8d209011bbe731b969..0d6d256aeb07f7681d7ea0815fe7c8f6279b2d3b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {
|
||||
@@ -130,6 +130,7 @@ public class PurpurWorldConfig {
|
||||
public boolean persistentDroppableEntityDisplayNames = true;
|
||||
public boolean projectilesBypassMobGriefing = false;
|
||||
public boolean tickFluids = true;
|
||||
@@ -39,7 +39,7 @@ index 046c11b359125851d48f97505b0a823f01635cff..bc6d8925d1124a138af8918146764ed2
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public double voidDamageHeight = -64.0D;
|
||||
public double voidDamageDealt = 4.0D;
|
||||
@@ -152,6 +153,7 @@ public class PurpurWorldConfig {
|
||||
@@ -148,6 +149,7 @@ public class PurpurWorldConfig {
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
|
||||
tickFluids = getBoolean("gameplay-mechanics.tick-fluids", tickFluids);
|
||||
@@ -5,40 +5,40 @@ Subject: [PATCH] Hide hidden players from entity selector
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
index 676a1499747b071515479130875157263d3a8352..fc1bba350030c076405711716e9830f8ae7f3953 100644
|
||||
index c8d39e6e1c570c9219f6066da273dc0130920519..b455c7e9d18bac3654daa8510f85cc21202e254b 100644
|
||||
--- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
@@ -200,10 +200,10 @@ public class EntitySelector {
|
||||
@@ -198,10 +198,10 @@ public class EntitySelector {
|
||||
|
||||
if (this.playerName != null) {
|
||||
entityplayer = source.getServer().getPlayerList().getPlayerByName(this.playerName);
|
||||
- return (List) (entityplayer == null ? Collections.emptyList() : Lists.newArrayList(new ServerPlayer[]{entityplayer}));
|
||||
+ return entityplayer == null || !canSee(source, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
|
||||
- return entityplayer == null ? List.of() : List.of(entityplayer);
|
||||
+ return entityplayer == null || !canSee(source, entityplayer) ? List.of() : List.of(entityplayer); // Purpur
|
||||
} else if (this.entityUUID != null) {
|
||||
entityplayer = source.getServer().getPlayerList().getPlayer(this.entityUUID);
|
||||
- return (List) (entityplayer == null ? Collections.emptyList() : Lists.newArrayList(new ServerPlayer[]{entityplayer}));
|
||||
+ return entityplayer == null || !canSee(source, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
|
||||
- return entityplayer == null ? List.of() : List.of(entityplayer);
|
||||
+ return entityplayer == null || !canSee(source, entityplayer) ? List.of() : List.of(entityplayer); // Purpur
|
||||
} else {
|
||||
Vec3 vec3d = (Vec3) this.position.apply(source.getPosition());
|
||||
Predicate<Entity> predicate = this.getPredicate(vec3d);
|
||||
@@ -215,7 +215,7 @@ public class EntitySelector {
|
||||
AABB axisalignedbb = this.getAbsoluteAabb(vec3d);
|
||||
@@ -214,7 +214,7 @@ public class EntitySelector {
|
||||
ServerPlayer entityplayer1 = (ServerPlayer) entity;
|
||||
|
||||
if (predicate.test(entityplayer1)) {
|
||||
- return Lists.newArrayList(new ServerPlayer[]{entityplayer1});
|
||||
+ return !canSee(source, entityplayer1) ? Collections.emptyList() : Lists.newArrayList(entityplayer1); // Purpur
|
||||
- return List.of(entityplayer1);
|
||||
+ return !canSee(source, entityplayer1) ? List.of() : List.of(entityplayer1); // Purpur
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,7 @@ public class EntitySelector {
|
||||
@@ -225,6 +225,7 @@ public class EntitySelector {
|
||||
|
||||
if (this.isWorldLimited()) {
|
||||
object = source.getLevel().getPlayers(predicate, i);
|
||||
+ ((List) object).removeIf(entityplayer3 -> !canSee(source, (ServerPlayer) entityplayer3)); // Purpur
|
||||
} else {
|
||||
object = Lists.newArrayList();
|
||||
object = new ObjectArrayList();
|
||||
Iterator iterator = source.getServer().getPlayerList().getPlayers().iterator();
|
||||
@@ -233,7 +234,7 @@ public class EntitySelector {
|
||||
@@ -232,7 +233,7 @@ public class EntitySelector {
|
||||
while (iterator.hasNext()) {
|
||||
ServerPlayer entityplayer2 = (ServerPlayer) iterator.next();
|
||||
|
||||
@@ -47,7 +47,7 @@ index 676a1499747b071515479130875157263d3a8352..fc1bba350030c076405711716e9830f8
|
||||
((List) object).add(entityplayer2);
|
||||
if (((List) object).size() >= i) {
|
||||
return (List) object;
|
||||
@@ -278,4 +279,10 @@ public class EntitySelector {
|
||||
@@ -299,4 +300,10 @@ public class EntitySelector {
|
||||
public static Component joinNames(List<? extends Entity> entities) {
|
||||
return ComponentUtils.formatList(entities, Entity::getDisplayName);
|
||||
}
|
||||
@@ -59,7 +59,7 @@ index 676a1499747b071515479130875157263d3a8352..fc1bba350030c076405711716e9830f8
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 608acf6a75062fd6ac663a89b8a828fee7e6a773..6b94bc901a6394434da3fd7c4737b87916c69908 100644
|
||||
index 8c7295297830cdcab87ac8bb1f1e04987a5f0f25..e55db78a18a79a5de7320d8902ea2b9e3f6e9880 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -246,6 +246,7 @@ public class PurpurConfig {
|
||||
@@ -5,7 +5,7 @@ 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 4ef5824685f7938f549062a9becf5b7c3c1f7604..b029cff4f64c8cb146b2a23fa5d497c8d27134db 100644
|
||||
index a194cc234e24094da0cbee8c6c4fe123c9b100be..904c3af4809877165a0981f76572d7f0dd0662e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -21,10 +21,10 @@ index 4ef5824685f7938f549062a9becf5b7c3c1f7604..b029cff4f64c8cb146b2a23fa5d497c8
|
||||
// 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 bbc52aff2bd53b41f3f4156876d332a3df2f8eec..0c8a4ae5aaf472fcabafd9fdcf10aca3d3ba8e82 100644
|
||||
index 0d6d256aeb07f7681d7ea0815fe7c8f6279b2d3b..148b07122ab6e16152916fcbc19aad862b5afb58 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -953,6 +953,7 @@ public class PurpurWorldConfig {
|
||||
@@ -936,6 +936,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperBypassMobGriefing = false;
|
||||
public boolean creeperTakeDamageFromWater = false;
|
||||
public boolean creeperExplodeWhenKilled = false;
|
||||
@@ -32,7 +32,7 @@ index bbc52aff2bd53b41f3f4156876d332a3df2f8eec..0c8a4ae5aaf472fcabafd9fdcf10aca3
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -968,6 +969,7 @@ public class PurpurWorldConfig {
|
||||
@@ -951,6 +952,7 @@ public class PurpurWorldConfig {
|
||||
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
|
||||
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
|
||||
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Iron golem calm anger options
|
||||
|
||||
|
||||
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 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c18ff9f0ae 100644
|
||||
index 65232a2cb23eb4757abdc8741d55e0faccf4c0bb..a820bbbe89dee9e6de2e7d5f72f43d1d5114cedf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -91,6 +91,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -92,6 +92,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
||||
@@ -16,7 +16,7 @@ index 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c1
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, true));
|
||||
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
|
||||
@@ -307,6 +308,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -315,6 +316,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
|
||||
this.playSound(SoundEvents.IRON_GOLEM_REPAIR, 1.0F, f1);
|
||||
itemstack.consume(1, player);
|
||||
@@ -25,10 +25,10 @@ index 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c1
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0c8a4ae5aaf472fcabafd9fdcf10aca3d3ba8e82..77fc605bac101503a763ed4b28a2dc733ef950bb 100644
|
||||
index 148b07122ab6e16152916fcbc19aad862b5afb58..1f52afb311629bceac13bbedda0f2ec7d1b7bb46 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1411,6 +1411,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1394,6 +1394,8 @@ public class PurpurWorldConfig {
|
||||
public boolean ironGolemCanSwim = false;
|
||||
public double ironGolemMaxHealth = 100.0D;
|
||||
public boolean ironGolemTakeDamageFromWater = false;
|
||||
@@ -37,7 +37,7 @@ index 0c8a4ae5aaf472fcabafd9fdcf10aca3d3ba8e82..77fc605bac101503a763ed4b28a2dc73
|
||||
private void ironGolemSettings() {
|
||||
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
|
||||
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
|
||||
@@ -1423,6 +1425,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1406,6 +1408,8 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
|
||||
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Breedable parrots
|
||||
|
||||
|
||||
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 490d7f8ac402f50a2f2f90ca032169784a402c0f..65be3dd9bc6994cac828ed45b74a577b65b7118a 100644
|
||||
index c4aa5b254ad2a1b82f8f738ebf64a5a985857b36..e486b3a73277582bc9c63b6f8ed4dfd995e34cb9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -221,6 +221,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
protected void registerGoals() {
|
||||
//this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); // Purpur - move down
|
||||
//this.goalSelector.addGoal(0, new TamableAnimal.TamableAnimalPanicGoal(1.25D)); // Purpur - move down
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
+ if (this.level().purpurConfig.parrotBreedable) this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.BreedGoal(this, 1.0D)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
@@ -48,12 +48,12 @@ index 490d7f8ac402f50a2f2f90ca032169784a402c0f..65be3dd9bc6994cac828ed45b74a577b
|
||||
+ return world.purpurConfig.parrotBreedable ? EntityType.PARROT.create(world) : null; // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 77fc605bac101503a763ed4b28a2dc733ef950bb..9f784d1523180d7444ea56e1741907c141191b1a 100644
|
||||
index 1f52afb311629bceac13bbedda0f2ec7d1b7bb46..a2f1d862655e3df73367c66f71b85b96778a2fb8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1581,6 +1581,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1564,6 +1564,7 @@ public class PurpurWorldConfig {
|
||||
public double parrotMaxY = 320D;
|
||||
public double parrotMaxHealth = 6.0D;
|
||||
public boolean parrotTakeDamageFromWater = false;
|
||||
@@ -61,7 +61,7 @@ index 77fc605bac101503a763ed4b28a2dc733ef950bb..9f784d1523180d7444ea56e1741907c1
|
||||
private void parrotSettings() {
|
||||
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
|
||||
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
|
||||
@@ -1593,6 +1594,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1576,6 +1577,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
|
||||
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable powered rail boost modifier
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
index 97172e9c53c381d451111227feb4d1fa19d38ad8..e7a1ce585c9e552e6f9ce9acd26fdfe5c43e0b5d 100644
|
||||
index 9ad276a73cba04edbe48f828031a15727d768a5b..337bd2011c471361653c317004f8380c9fddfc47 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -673,7 +673,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -18,10 +18,10 @@ index 97172e9c53c381d451111227feb4d1fa19d38ad8..e7a1ce585c9e552e6f9ce9acd26fdfe5
|
||||
Vec3 vec3d5 = this.getDeltaMovement();
|
||||
double d21 = vec3d5.x;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 77f8952da7ee8476b685e6aef1f8e2441bca068e..c283a8aec6dfea3f9b84d47cf6abf568be2a73da 100644
|
||||
index a2f1d862655e3df73367c66f71b85b96778a2fb8..6f3e36d2fc1e1a163dbdf647a4f8bdda4ccb5626 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -275,6 +275,7 @@ public class PurpurWorldConfig {
|
||||
@@ -260,6 +260,7 @@ public class PurpurWorldConfig {
|
||||
public boolean minecartControllableFallDamage = true;
|
||||
public double minecartControllableBaseSpeed = 0.1D;
|
||||
public Map<Block, Double> minecartControllableBlockSpeeds = new HashMap<>();
|
||||
@@ -29,7 +29,7 @@ index 77f8952da7ee8476b685e6aef1f8e2441bca068e..c283a8aec6dfea3f9b84d47cf6abf568
|
||||
private void minecartSettings() {
|
||||
if (PurpurConfig.version < 12) {
|
||||
boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere);
|
||||
@@ -327,6 +328,7 @@ public class PurpurWorldConfig {
|
||||
@@ -312,6 +313,7 @@ public class PurpurWorldConfig {
|
||||
set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D);
|
||||
set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D);
|
||||
}
|
||||
@@ -5,23 +5,23 @@ 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 579a9c7d914015ef74c6147f2e17962a7aea2a78..bc994bbc4c7b66e6365739acb896aaa81fbcbd7e 100644
|
||||
index 2578bfa9d31e04506d0e91da22913d3948f9656d..6716e8cc5eff93f019fe49f88faa724d8849f128 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1332,7 +1332,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1339,7 +1339,7 @@ public abstract class Player extends LivingEntity {
|
||||
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
|
||||
if (flag2) {
|
||||
damagesource = damagesource.critical(true); // Paper start - critical damage API
|
||||
- f *= 1.5F;
|
||||
+ f *= this.level().purpurConfig.playerCriticalDamageMultiplier; // Purpur
|
||||
}
|
||||
|
||||
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
|
||||
if (flag2) {
|
||||
- f *= 1.5F;
|
||||
+ f *= this.level().purpurConfig.playerCriticalDamageMultiplier; // Purpur
|
||||
}
|
||||
|
||||
f += f1;
|
||||
float f3 = f + f1;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c283a8aec6dfea3f9b84d47cf6abf568be2a73da..a7d95013005c895676dbe8cc10f12dbcf689b29c 100644
|
||||
index 6f3e36d2fc1e1a163dbdf647a4f8bdda4ccb5626..550b73358bb6595ed0d0070322ec188f4ef01027 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -372,6 +372,7 @@ public class PurpurWorldConfig {
|
||||
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creativeOnePunch = false;
|
||||
public boolean playerSleepNearMonsters = false;
|
||||
public boolean playersSkipNight = true;
|
||||
@@ -29,7 +29,7 @@ index c283a8aec6dfea3f9b84d47cf6abf568be2a73da..a7d95013005c895676dbe8cc10f12dbc
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -391,6 +392,7 @@ public class PurpurWorldConfig {
|
||||
@@ -374,6 +375,7 @@ public class PurpurWorldConfig {
|
||||
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
|
||||
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
|
||||
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
|
||||
@@ -19,10 +19,10 @@ index fbe15cdd5b9bca2ab4b1e871abbbdbff49ade8a4..23d113842bf774bdc74e0dffcc97b642
|
||||
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a7d95013005c895676dbe8cc10f12dbcf689b29c..9c9fea719a90e49147b6c2ae342a1437ea8b9be3 100644
|
||||
index 550b73358bb6595ed0d0070322ec188f4ef01027..46d64697324cde8c2115e3fc1f93402bd6169f8a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -538,6 +538,11 @@ public class PurpurWorldConfig {
|
||||
@@ -521,6 +521,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config for unverified username message
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
index b656741eb68adeb04bf995f1045902cb6bd5f2e7..3b4fadb37eafb2f7b0ce4d6b276d2fdaa8287521 100644
|
||||
index 0fc30ce511f449d2a3ddab28c86f7e388223ece1..0055a9c5446a2d6b8aa9c6903092e4f82af5ee32 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
@@ -315,7 +315,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
|
||||
@@ -18,7 +18,7 @@ index b656741eb68adeb04bf995f1045902cb6bd5f2e7..3b4fadb37eafb2f7b0ce4d6b276d2fda
|
||||
}
|
||||
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 6b94bc901a6394434da3fd7c4737b87916c69908..1b2fdefed6b01719211b29119b6beb1baa77b497 100644
|
||||
index e55db78a18a79a5de7320d8902ea2b9e3f6e9880..e6eabe37e65caec92df3ab446f2872875d198f96 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -184,6 +184,7 @@ public class PurpurConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Make anvil cumulative cost configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index 17067510990f575bf638f6a95ed0d964f6e94dc5..2747f04e657154362af55eef1dd50455e02af371 100644
|
||||
index 26951cc5fb64a8d6c99d450dbe236f28b56e44a7..b57f3c2eb0c23798ee3026b4576401fa83e4352c 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -391,7 +391,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -18,7 +18,7 @@ index 17067510990f575bf638f6a95ed0d964f6e94dc5..2747f04e657154362af55eef1dd50455
|
||||
|
||||
public boolean setItemName(String newItemName) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 1b2fdefed6b01719211b29119b6beb1baa77b497..b10e0de76f618c545294873038ce29ee0c486d24 100644
|
||||
index e6eabe37e65caec92df3ab446f2872875d198f96..04be61a14d33dad94d7193c13ccefdd05a4620d0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -269,6 +269,7 @@ public class PurpurConfig {
|
||||
@@ -36,4 +36,4 @@ index 1b2fdefed6b01719211b29119b6beb1baa77b497..b10e0de76f618c545294873038ce29ee
|
||||
+ anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);
|
||||
}
|
||||
|
||||
public static boolean allowInfinityMending = false;
|
||||
public static boolean allowUnsafeEnchants = false;
|
||||
@@ -5,10 +5,10 @@ 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 0978f519177ce2f0991402dafb9a22c5a8686168..91c013f7ab58f570d0ebe2773932fcdb49344b3c 100644
|
||||
index af49371612b56f6e191c580cd54a80e5e77989a3..26c2473f9cbcaaeefd5e1a60a62bd6e77faf6709 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -395,7 +395,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -406,7 +406,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
|
||||
boolean wantsToEnterHive() {
|
||||
if (this.stayOutOfHiveCountdown <= 0 && !this.beePollinateGoal.isPollinating() && !this.hasStung() && this.getTarget() == null) {
|
||||
@@ -31,10 +31,10 @@ index f52823146944d333f2d050e90261b570ba66f5dd..d8efb00c325448d566c59418fe22268c
|
||||
return false;
|
||||
} else {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 877084314fa51292ed597b073a2d4ec05854ddb4..e4148482239d8a5db7f02aa5678929b13b58b94d 100644
|
||||
index 46d64697324cde8c2115e3fc1f93402bd6169f8a..c7cbb28870e3640f88c5b2b33f89212580f1c652 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -778,6 +778,8 @@ public class PurpurWorldConfig {
|
||||
@@ -761,6 +761,8 @@ public class PurpurWorldConfig {
|
||||
public double beeMaxHealth = 10.0D;
|
||||
public int beeBreedingTicks = 6000;
|
||||
public boolean beeTakeDamageFromWater = false;
|
||||
@@ -43,7 +43,7 @@ index 877084314fa51292ed597b073a2d4ec05854ddb4..e4148482239d8a5db7f02aa5678929b1
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
@@ -791,6 +793,8 @@ public class PurpurWorldConfig {
|
||||
@@ -774,6 +776,8 @@ public class PurpurWorldConfig {
|
||||
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
|
||||
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
|
||||
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);
|
||||
@@ -6,14 +6,14 @@ 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 0eea9e29170a365e96659bcea2dea283d6f1ceda..ed2b8138d23e94b5471181396f290c530e29254b 100644
|
||||
index def6b00d9ce89120c8ad99516c733a895eba9473..3ba86e5b66ff4d3d4c8675f9b084b91ab034eeb4 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 SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -461,6 +461,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
|
||||
+ // Purpur start - copied from Mob
|
||||
+ // copied from Mob
|
||||
+ public boolean isSunBurnTick() {
|
||||
+ if (this.level().isDay() && !this.level().isClientSide) {
|
||||
+ float f = this.getLightLevelDependentMagicValue();
|
||||
@@ -28,14 +28,14 @@ index 0eea9e29170a365e96659bcea2dea283d6f1ceda..ed2b8138d23e94b5471181396f290c53
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
public final boolean hardCollides() {
|
||||
return this.hardCollides;
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
public Entity(EntityType<?> type, Level world) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c540e6823 100644
|
||||
index 42f2749f78af7de468c07b49c7e61063e74ce0de..25b3fe2eb700a4a957957fa0be711d2a27b76597 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -274,6 +274,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -286,6 +286,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 b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -842,6 +843,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -816,6 +817,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
|
||||
nbt.put("Brain", nbtbase);
|
||||
});
|
||||
@@ -51,7 +51,7 @@ index b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -929,6 +931,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -904,6 +906,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
|
||||
}
|
||||
|
||||
@@ -63,27 +63,33 @@ index b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3560,6 +3567,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3580,6 +3587,33 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
+ // Purpur start - copied from Zombie
|
||||
+ if (this.isAlive()) {
|
||||
+ boolean flag = this.shouldBurnInDay() && this.isSunBurnTick();
|
||||
+ boolean flag = shouldBurnInDay && this.isSunBurnTick(); // Paper - shouldBurnInDay API
|
||||
+
|
||||
+ if (flag) {
|
||||
+ ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||
+
|
||||
+ if (!itemstack.isEmpty()) {
|
||||
+ if (itemstack.isDamageableItem()) {
|
||||
+ Item item = itemstack.getItem();
|
||||
+
|
||||
+ itemstack.setDamageValue(itemstack.getDamageValue() + this.random.nextInt(2));
|
||||
+ if (itemstack.getDamageValue() >= itemstack.getMaxDamage()) {
|
||||
+ this.broadcastBreakEvent(EquipmentSlot.HEAD);
|
||||
+ this.onEquippedItemBroken(item, EquipmentSlot.HEAD);
|
||||
+ this.setItemSlot(EquipmentSlot.HEAD, ItemStack.EMPTY);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ flag = false;
|
||||
+ }
|
||||
+
|
||||
+ if (flag) {
|
||||
+ this.igniteForSeconds(8);
|
||||
+ this.igniteForSeconds(8.0F);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
@@ -92,11 +98,11 @@ index b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c
|
||||
|
||||
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 d4325d9a55f244d96ad1dded9f62b64834dd56c6..2fa19bf199eb7736a97737e0712fd300d04d35fc 100644
|
||||
index 7535f28c2e181363a7bd4874a14244f9cb0a06fe..495476f4ba65db707af017679fd183acf2ee9499 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1880,17 +1880,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
|
||||
}
|
||||
@@ -1773,17 +1773,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
protected void playAttackSound() {}
|
||||
|
||||
public boolean isSunBurnTick() {
|
||||
- if (this.level().isDay() && !this.level().isClientSide) {
|
||||
@@ -115,10 +121,10 @@ index d4325d9a55f244d96ad1dded9f62b64834dd56c6..2fa19bf199eb7736a97737e0712fd300
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf1581ad508f 100644
|
||||
index 5c1aa5859ac411098054be9f52bac0860ee667a5..f56580bdae043fa4e5e195481ae3d344fc725621 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
@@ -65,6 +65,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -66,6 +66,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
protected AbstractSkeleton(EntityType<? extends AbstractSkeleton> type, Level world) {
|
||||
super(type, world);
|
||||
this.reassessWeaponGoal();
|
||||
@@ -126,7 +132,7 @@ index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf15
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,35 +96,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -96,37 +97,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
abstract SoundEvent getStepSound();
|
||||
|
||||
// Paper start - shouldBurnInDay API
|
||||
@@ -145,9 +151,11 @@ index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf15
|
||||
-
|
||||
- if (!itemstack.isEmpty()) {
|
||||
- if (itemstack.isDamageableItem()) {
|
||||
- Item item = itemstack.getItem();
|
||||
-
|
||||
- itemstack.setDamageValue(itemstack.getDamageValue() + this.random.nextInt(2));
|
||||
- if (itemstack.getDamageValue() >= itemstack.getMaxDamage()) {
|
||||
- this.broadcastBreakEvent(EquipmentSlot.HEAD);
|
||||
- this.onEquippedItemBroken(item, EquipmentSlot.HEAD);
|
||||
- this.setItemSlot(EquipmentSlot.HEAD, ItemStack.EMPTY);
|
||||
- }
|
||||
- }
|
||||
@@ -156,7 +164,7 @@ index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf15
|
||||
- }
|
||||
-
|
||||
- if (flag) {
|
||||
- this.igniteForSeconds(8);
|
||||
- this.igniteForSeconds(8.0F);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
@@ -164,7 +172,7 @@ index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf15
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -238,7 +218,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -242,7 +220,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
this.reassessWeaponGoal();
|
||||
// Paper start - shouldBurnInDay API
|
||||
if (nbt.contains("Paper.ShouldBurnInDay")) {
|
||||
@@ -173,7 +181,7 @@ index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf15
|
||||
}
|
||||
// Paper end - shouldBurnInDay API
|
||||
}
|
||||
@@ -247,7 +227,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -251,7 +229,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
@@ -204,7 +212,7 @@ index cb96bd5769159e6c25968673ea07cd6d107cff46..440c90feeae3a55c98e2011ecb27c28d
|
||||
|
||||
@Override
|
||||
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 c52d40eb33a16e428c016a902faeb62aea0fd727..bebc6f9f7e49e9dd34fa295d9ce3e8397feb280c 100644
|
||||
index 554e01cf4fb3b15549c8c381274014c4735e08c6..df85753709271a6ad1f802da63f189200ead9a3a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -59,6 +59,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -225,7 +233,7 @@ index c52d40eb33a16e428c016a902faeb62aea0fd727..bebc6f9f7e49e9dd34fa295d9ce3e839
|
||||
- if (this.isAlive() && (burnFromDaylight || burnFromLightSource)) { // Paper - shouldBurnInDay API
|
||||
- // Purpur end
|
||||
- if (getRider() == null || !this.isControllable()) // Purpur
|
||||
- this.igniteForSeconds(8);
|
||||
- this.igniteForSeconds(8.0F);
|
||||
- }
|
||||
-
|
||||
+ // Purpur - moved down to shouldBurnInDay()
|
||||
@@ -250,7 +258,7 @@ index c52d40eb33a16e428c016a902faeb62aea0fd727..bebc6f9f7e49e9dd34fa295d9ce3e839
|
||||
// Paper end
|
||||
}
|
||||
|
||||
@@ -356,8 +349,15 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -356,8 +349,20 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return this.spawningEntity;
|
||||
}
|
||||
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
|
||||
@@ -260,19 +268,24 @@ index c52d40eb33a16e428c016a902faeb62aea0fd727..bebc6f9f7e49e9dd34fa295d9ce3e839
|
||||
+ // private boolean shouldBurnInDay = true; // Purpur - moved to LivingEntity - keep methods for ABI compatibility
|
||||
+ // Purpur start
|
||||
+ public boolean shouldBurnInDay() {
|
||||
+ boolean burnFromDaylight = this.shouldBurnInDay && this.level().purpurConfig.phantomBurnInDaylight;
|
||||
+ // Purpur start
|
||||
+ boolean burnFromDaylight = this.shouldBurnInDay && this.isSunBurnTick() && this.level().purpurConfig.phantomBurnInDaylight;
|
||||
+ boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level().getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight;
|
||||
+ return burnFromDaylight || burnFromLightSource;
|
||||
+ if (this.isAlive() && (burnFromDaylight || burnFromLightSource)) { // Paper - shouldBurnInDay API
|
||||
+ // Purpur end
|
||||
+ if (getRider() == null || !this.isControllable()) // Purpur
|
||||
+ this.igniteForSeconds(8.0F);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur End
|
||||
public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; }
|
||||
// Paper end
|
||||
|
||||
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 de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86048eb85b 100644
|
||||
index 1c2291c8a20541cc1e306efdd5263e5d8b3e0b16..c8a664447f19e437eb7c615563add92715be9650 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -93,11 +93,12 @@ public class Zombie extends Monster {
|
||||
@@ -97,11 +97,12 @@ public class Zombie extends Monster {
|
||||
private int inWaterTime;
|
||||
public int conversionTime;
|
||||
private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field
|
||||
@@ -286,7 +299,7 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
}
|
||||
|
||||
public Zombie(Level world) {
|
||||
@@ -293,30 +294,7 @@ public class Zombie extends Monster {
|
||||
@@ -297,32 +298,7 @@ public class Zombie extends Monster {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -298,9 +311,11 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
-
|
||||
- if (!itemstack.isEmpty()) {
|
||||
- if (itemstack.isDamageableItem()) {
|
||||
- Item item = itemstack.getItem();
|
||||
-
|
||||
- itemstack.setDamageValue(itemstack.getDamageValue() + this.random.nextInt(2));
|
||||
- if (itemstack.getDamageValue() >= itemstack.getMaxDamage()) {
|
||||
- this.broadcastBreakEvent(EquipmentSlot.HEAD);
|
||||
- this.onEquippedItemBroken(item, EquipmentSlot.HEAD);
|
||||
- this.setItemSlot(EquipmentSlot.HEAD, ItemStack.EMPTY);
|
||||
- }
|
||||
- }
|
||||
@@ -309,7 +324,7 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
- }
|
||||
-
|
||||
- if (flag) {
|
||||
- this.igniteForSeconds(8);
|
||||
- this.igniteForSeconds(8.0F);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
@@ -318,7 +333,7 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -354,6 +332,7 @@ public class Zombie extends Monster {
|
||||
@@ -360,6 +336,7 @@ public class Zombie extends Monster {
|
||||
|
||||
}
|
||||
|
||||
@@ -326,7 +341,7 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
public boolean isSunSensitive() {
|
||||
return this.shouldBurnInDay; // Paper - Add more Zombie API
|
||||
}
|
||||
@@ -477,7 +456,7 @@ public class Zombie extends Monster {
|
||||
@@ -488,7 +465,7 @@ public class Zombie extends Monster {
|
||||
nbt.putBoolean("CanBreakDoors", this.canBreakDoors());
|
||||
nbt.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1);
|
||||
nbt.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1);
|
||||
@@ -335,7 +350,7 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -491,7 +470,7 @@ public class Zombie extends Monster {
|
||||
@@ -502,7 +479,7 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Paper start - Add more Zombie API
|
||||
if (nbt.contains("Paper.ShouldBurnInDay")) {
|
||||
@@ -345,10 +360,10 @@ index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86
|
||||
// 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 befe3372d5f1550b7bde3b63b5e7aef9035c5379..3c674ecd3b80501047b4593e8872034287defd2e 100644
|
||||
index 3629a6f99e99ca686446a23eea0329771c4d11cc..4c1303c5b9f631efd9497cf893a6ca0348157f2c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -84,6 +84,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -86,6 +86,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
||||
}
|
||||
|
||||
@@ -361,10 +376,10 @@ index befe3372d5f1550b7bde3b63b5e7aef9035c5379..3c674ecd3b80501047b4593e88720342
|
||||
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 4a46f5b50ed82175bb2efab3acdf279ded173e5e..b95d355ede8689af1f7f5a0424b5274e38839756 100644
|
||||
index 386647f6000c71c59ab8d7875219eefdc5a3d7ef..88be8ebe619f2e42bdffab534da4f269b802cf41 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1187,5 +1187,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1188,5 +1188,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
if (slot == null) return;
|
||||
getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
|
||||
}
|
||||
@@ -72,10 +72,10 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b3d24e076aef331f26ed5035f2015680f4a5c732..e22dc10989d83642c4714aef97fbbd4a82d68c11 100644
|
||||
index c7cbb28870e3640f88c5b2b33f89212580f1c652..58a92d771b8ea5562c10d2149e694a3e84aae6b1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -331,6 +331,21 @@ public class PurpurWorldConfig {
|
||||
@@ -316,6 +316,21 @@ public class PurpurWorldConfig {
|
||||
poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Beacon Activation Range Configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
|
||||
index a6ffbbc1b5021564864e42c0756342352c2b8290..2b9cc89a2e71b523c90bbfa987b0f8352efff95a 100644
|
||||
index 814e70f558d7a6186233da0ff86c94c95d390e09..d1fb77d83d48183a9a37dbeec7bb0fda623d7e9b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
|
||||
@@ -92,6 +92,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
|
||||
@@ -26,10 +26,10 @@ index a6ffbbc1b5021564864e42c0756342352c2b8290..2b9cc89a2e71b523c90bbfa987b0f835
|
||||
} else {
|
||||
return effectRange;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e22dc10989d83642c4714aef97fbbd4a82d68c11..c27e8ad0e401499105ed3db2ef7b73a6fda8fb37 100644
|
||||
index 58a92d771b8ea5562c10d2149e694a3e84aae6b1..8e30b0bec3ffb54328110cdc726234a48f28f175 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -505,6 +505,17 @@ public class PurpurWorldConfig {
|
||||
@@ -488,6 +488,17 @@ public class PurpurWorldConfig {
|
||||
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index bcdef2c9bb116409445a4ef65c5e407c1003a55d..1dc58b41d3963c2adc58e79cd6db7e146ac049ad 100644
|
||||
index 04719932fc9291d09b20c285c5516c06cfbc6693..6ee3292a5ca8421226be0afef73cbb1484b4311f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1182,7 +1182,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -806,7 +806,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
return holder.is(PoiTypes.LIGHTNING_ROD);
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
@@ -18,7 +18,7 @@ index bcdef2c9bb116409445a4ef65c5e407c1003a55d..1dc58b41d3963c2adc58e79cd6db7e14
|
||||
return optional.map((blockposition1) -> {
|
||||
return blockposition1.above(1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index b10e0de76f618c545294873038ce29ee0c486d24..f3f8ca5f2b391860b2134e06784819aa0e78321e 100644
|
||||
index 04be61a14d33dad94d7193c13ccefdd05a4620d0..2e886467a77857bcbc156443068ef4b19815e8df 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -270,6 +270,7 @@ public class PurpurConfig {
|
||||
@@ -36,4 +36,4 @@ index b10e0de76f618c545294873038ce29ee0c486d24..f3f8ca5f2b391860b2134e06784819aa
|
||||
+ lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange);
|
||||
}
|
||||
|
||||
public static boolean allowInfinityMending = false;
|
||||
public static boolean allowUnsafeEnchants = false;
|
||||
@@ -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 bc994bbc4c7b66e6365739acb896aaa81fbcbd7e..ea3252a70c68f3c228417d8ed6d19d5669abb5fb 100644
|
||||
index 6716e8cc5eff93f019fe49f88faa724d8849f128..4a5a18443db0f7c69b61db2ded63355ef4d72d9a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -196,6 +196,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -197,6 +197,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 bc994bbc4c7b66e6365739acb896aaa81fbcbd7e..ea3252a70c68f3c228417d8ed6d19d56
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
@@ -271,6 +272,12 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -272,6 +273,12 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -30,9 +30,9 @@ index bc994bbc4c7b66e6365739acb896aaa81fbcbd7e..ea3252a70c68f3c228417d8ed6d19d56
|
||||
this.noPhysics = this.isSpectator();
|
||||
if (this.isSpectator()) {
|
||||
this.setOnGround(false);
|
||||
@@ -2362,7 +2369,7 @@ public abstract class Player extends LivingEntity {
|
||||
public ItemStack eat(Level world, ItemStack stack) {
|
||||
this.getFoodData().eat(stack);
|
||||
@@ -2369,7 +2376,7 @@ public abstract class Player extends LivingEntity {
|
||||
public ItemStack eat(Level world, ItemStack stack, FoodProperties foodComponent) {
|
||||
this.getFoodData().eat(stack, foodComponent); // CraftBukkit
|
||||
this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
|
||||
- world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ // world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); // Purpur - moved to tick()
|
||||
@@ -40,10 +40,10 @@ index bc994bbc4c7b66e6365739acb896aaa81fbcbd7e..ea3252a70c68f3c228417d8ed6d19d56
|
||||
CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
index b89860d451d92ddda64b7e4144542b7fc5fd86f0..08a6cca64ddd49826a0bbddd7711187c73bb4997 100644
|
||||
index bd3f78e6453cfe18aa3da38176b04d734d83bb4b..515dd3b769917c4aa60ce180ef24f38ca12e6848 100644
|
||||
--- a/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
+++ b/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
@@ -38,7 +38,9 @@ public class FoodData {
|
||||
@@ -39,7 +39,9 @@ public class FoodData {
|
||||
}
|
||||
|
||||
public void eat(int food, float saturationModifier) {
|
||||
@@ -52,12 +52,12 @@ index b89860d451d92ddda64b7e4144542b7fc5fd86f0..08a6cca64ddd49826a0bbddd7711187c
|
||||
+ if (this.entityhuman.level().purpurConfig.playerBurpWhenFull && this.foodLevel == 20 && oldValue < 20) this.entityhuman.burpDelay = this.entityhuman.level().purpurConfig.playerBurpDelay; // Purpur
|
||||
}
|
||||
|
||||
public void eat(ItemStack stack) {
|
||||
public void eat(FoodProperties foodComponent) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c27e8ad0e401499105ed3db2ef7b73a6fda8fb37..1c2aec3ddbe6d9dd0ae9ce4d074092ed0555d711 100644
|
||||
index 8e30b0bec3ffb54328110cdc726234a48f28f175..c4ce94b55e561cd99b680afd753393fc6bda8348 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -388,6 +388,8 @@ public class PurpurWorldConfig {
|
||||
@@ -372,6 +372,8 @@ public class PurpurWorldConfig {
|
||||
public boolean playerSleepNearMonsters = false;
|
||||
public boolean playersSkipNight = true;
|
||||
public double playerCriticalDamageMultiplier = 1.5D;
|
||||
@@ -66,7 +66,7 @@ index c27e8ad0e401499105ed3db2ef7b73a6fda8fb37..1c2aec3ddbe6d9dd0ae9ce4d074092ed
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -408,6 +410,8 @@ public class PurpurWorldConfig {
|
||||
@@ -391,6 +393,8 @@ public class PurpurWorldConfig {
|
||||
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
|
||||
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
|
||||
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
|
||||
@@ -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 f2a7eba2618ea9c1acaf93c0ef8f6f5f737de6fe..d20a7a79e27db1092ff78910df5d45982971cc3e 100644
|
||||
index b6289dbad3d2a840dfef9505127a343f032f1da5..4c639d3ea0ed99592fcd04381a314ead19ed4ab4 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 {
|
||||
@@ -747,7 +747,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;
|
||||
@@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options
|
||||
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
|
||||
|
||||
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 836cd735f343312c020f6498e078cf3bf420d3cb..796f0a3d8dc8faf202e912fe44afb898d286a895 100644
|
||||
index ff6a91caa9bd7fa90d71a2014354c67570d4fccb..fde6bae8a5d9eba7ec87c73047a6e3f91629828e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -510,12 +510,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -53,10 +53,10 @@ index 836cd735f343312c020f6498e078cf3bf420d3cb..796f0a3d8dc8faf202e912fe44afb898
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/item/DyeColor.java b/src/main/java/net/minecraft/world/item/DyeColor.java
|
||||
index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433cb3ee2cbd 100644
|
||||
index 0d04a0107bd1a8a2b9aeb4be55025cd554e8fb79..a050d76233e179a1456b83ccc02bb9a55d1cec84 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/DyeColor.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/DyeColor.java
|
||||
@@ -105,4 +105,10 @@ public enum DyeColor implements StringRepresentable {
|
||||
@@ -103,4 +103,10 @@ public enum DyeColor implements StringRepresentable {
|
||||
public String getSerializedName() {
|
||||
return this.name;
|
||||
}
|
||||
@@ -68,10 +68,10 @@ index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433c
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6fdc949215bbc7a0e77dd3b3b5e16e5ecf34b6d8..c61fc22105be2c70a06bb88aa1912fa5349d6f60 100644
|
||||
index c4ce94b55e561cd99b680afd753393fc6bda8348..7029a053ac83ee579cb570ccc215aec07e22b25b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1932,6 +1932,11 @@ public class PurpurWorldConfig {
|
||||
@@ -1915,6 +1915,11 @@ public class PurpurWorldConfig {
|
||||
public boolean shulkerControllable = true;
|
||||
public double shulkerMaxHealth = 30.0D;
|
||||
public boolean shulkerTakeDamageFromWater = false;
|
||||
@@ -83,7 +83,7 @@ index 6fdc949215bbc7a0e77dd3b3b5e16e5ecf34b6d8..c61fc22105be2c70a06bb88aa1912fa5
|
||||
private void shulkerSettings() {
|
||||
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
|
||||
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
|
||||
@@ -1943,6 +1948,11 @@ public class PurpurWorldConfig {
|
||||
@@ -1926,6 +1931,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
|
||||
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Eating glow berries adds glow effect
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index 6467358f5fdf4cd4f7c1e2cc65c834a9da39596a..42b322879629afb2d2fc64a215f010f5d5ce9e02 100644
|
||||
index 4eef61323ba54f513e6f251ef7c804b2c91ff477..6b2235281dca67a80cb651e9f8e9bf2556979276 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -1909,7 +1909,7 @@ public class Items {
|
||||
@@ -1919,7 +1919,7 @@ public class Items {
|
||||
"sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, new Item.Properties().food(Foods.SWEET_BERRIES))
|
||||
);
|
||||
public static final Item GLOW_BERRIES = registerItem(
|
||||
@@ -18,10 +18,10 @@ index 6467358f5fdf4cd4f7c1e2cc65c834a9da39596a..42b322879629afb2d2fc64a215f010f5
|
||||
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
|
||||
public static final Item SOUL_CAMPFIRE = registerBlock(
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 444ae36042e5d5bf2bd3ba7348882304825b5f06..75903da7236f6f57c4978d33cd8ac15a4f7d7a62 100644
|
||||
index 7029a053ac83ee579cb570ccc215aec07e22b25b..e9fd469cad81b04a74dfa03ec9f5cca7b78ddd5c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -220,6 +220,7 @@ public class PurpurWorldConfig {
|
||||
@@ -205,6 +205,7 @@ public class PurpurWorldConfig {
|
||||
public int enderPearlCooldown = 20;
|
||||
public int enderPearlCooldownCreative = 20;
|
||||
public float enderPearlEndermiteChance = 0.05F;
|
||||
@@ -29,7 +29,7 @@ index 444ae36042e5d5bf2bd3ba7348882304825b5f06..75903da7236f6f57c4978d33cd8ac15a
|
||||
private void itemSettings() {
|
||||
itemImmuneToCactus.clear();
|
||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||
@@ -265,6 +266,7 @@ public class PurpurWorldConfig {
|
||||
@@ -250,6 +251,7 @@ public class PurpurWorldConfig {
|
||||
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
|
||||
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
||||
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
||||
@@ -26,10 +26,10 @@ index f037d50f26f7532f11a71790448de7a71644b6ca..b3a79dc4357ad4392101353fbc99aac1
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a3f6823471d7d93e2759fc8d905213cb53a01e9c..ab8317fd0b1714ff8c0aa18ddbd2fcd194b5f4d4 100644
|
||||
index e9fd469cad81b04a74dfa03ec9f5cca7b78ddd5c..3eb73f0817ccdfdfc88ff819b5338e0fc8391f92 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1078,6 +1078,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1061,6 +1061,7 @@ public class PurpurWorldConfig {
|
||||
public double drownedJockeyChance = 0.05D;
|
||||
public boolean drownedJockeyTryExistingChickens = true;
|
||||
public boolean drownedTakeDamageFromWater = false;
|
||||
@@ -37,7 +37,7 @@ index a3f6823471d7d93e2759fc8d905213cb53a01e9c..ab8317fd0b1714ff8c0aa18ddbd2fcd1
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
||||
@@ -1093,6 +1094,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1076,6 +1077,7 @@ public class PurpurWorldConfig {
|
||||
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
|
||||
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
|
||||
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable hunger starvation damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
index 08a6cca64ddd49826a0bbddd7711187c73bb4997..dd72d6a79139ff33f26a32b71283ce0b8d084ecc 100644
|
||||
index 515dd3b769917c4aa60ce180ef24f38ca12e6848..c7ad716f607afe382436d088a2b2e622e02a0671 100644
|
||||
--- a/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
+++ b/src/main/java/net/minecraft/world/food/FoodData.java
|
||||
@@ -107,7 +107,7 @@ public class FoodData {
|
||||
@@ -18,10 +18,10 @@ index 08a6cca64ddd49826a0bbddd7711187c73bb4997..dd72d6a79139ff33f26a32b71283ce0b
|
||||
|
||||
this.tickTimer = 0;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ab8317fd0b1714ff8c0aa18ddbd2fcd194b5f4d4..85e32ea2fa7b7da97848e98b398674281e50d3d2 100644
|
||||
index 3eb73f0817ccdfdfc88ff819b5338e0fc8391f92..7eac431d91eea903106f39c4d6210b5dde01b9a8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2591,4 +2591,9 @@ public class PurpurWorldConfig {
|
||||
@@ -2570,4 +2570,9 @@ public class PurpurWorldConfig {
|
||||
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
|
||||
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add uptime command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 6e4274ac868e744c63e6faece2bbf3713f47fce0..f11d6bb515217088ef1192653998a77ddce67edf 100644
|
||||
index 023f936a71c657c152fc38c262d59bb3cd5292d6..a9180b1ce021f6d4d60e43bc04e863be99daf9d3 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -255,6 +255,7 @@ public class Commands {
|
||||
@@ -253,6 +253,7 @@ public class Commands {
|
||||
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
@@ -17,10 +17,10 @@ index 6e4274ac868e744c63e6faece2bbf3713f47fce0..f11d6bb515217088ef1192653998a77d
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 9481d4d4b839dca720e1ce2a2feadc7e4a03cc56..bac978e042a1049cc66048a951b068793b855427 100644
|
||||
index 2c64b5f4a357974554c7f33ccc212cfde197f208..fa6bf262da81837c7ff7b115a0a7b4a7f266037a 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -297,6 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public OptionSet options;
|
||||
public org.bukkit.command.ConsoleCommandSender console;
|
||||
public static int currentTick; // Paper - improve tick loop
|
||||
@@ -29,7 +29,7 @@ index 9481d4d4b839dca720e1ce2a2feadc7e4a03cc56..bac978e042a1049cc66048a951b06879
|
||||
public int autosavePeriod;
|
||||
// Paper - don't store the vanilla dispatcher
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 60de7cdcee84ba69bc172cee0587e19bb7e5edbc..1578f7a30e575a353a8a7ac286ab4e212dc3f9cc 100644
|
||||
index 2e886467a77857bcbc156443068ef4b19815e8df..c77691aeb9d0c35fe042a6e375e12d042091d17a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -184,6 +184,7 @@ public class PurpurConfig {
|
||||
@@ -5,50 +5,54 @@ Subject: [PATCH] Tool actionable options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
index 9fd2d97ff0e05578a3e6a0b86dc1974691845c5d..58343722399404530d497648155dbc254d6a865a 100644
|
||||
index f005ea92449cf5e249ff64f4791c3bc6b8635528..ade1a0dac14bb3adc26bb103fc0ce9629fe973c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
@@ -56,13 +56,15 @@ public class AxeItem extends DiggerItem {
|
||||
Level level = context.getLevel();
|
||||
BlockPos blockPos = context.getClickedPos();
|
||||
Player player = context.getPlayer();
|
||||
- Optional<BlockState> optional = this.evaluateNewBlockState(level, blockPos, player, level.getBlockState(blockPos));
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional = this.evaluateActionable(level, blockPos, player, level.getBlockState(blockPos)); // Purpur
|
||||
if (optional.isEmpty()) {
|
||||
@@ -60,13 +60,15 @@ public class AxeItem extends DiggerItem {
|
||||
if (playerHasShieldUseIntent(context)) {
|
||||
return InteractionResult.PASS;
|
||||
} else {
|
||||
+ org.purpurmc.purpur.tool.Actionable actionable = optional.get(); // Purpur
|
||||
+ BlockState state = actionable.into().withPropertiesOf(level.getBlockState(blockPos)); // Purpur
|
||||
ItemStack itemStack = context.getItemInHand();
|
||||
// Paper start - EntityChangeBlockEvent
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional.get())) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, state)) { // Purpur
|
||||
- Optional<BlockState> optional = this.evaluateNewBlockState(level, blockPos, player, level.getBlockState(blockPos));
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional = this.evaluateActionable(level, blockPos, player, level.getBlockState(blockPos)); // Purpur
|
||||
if (optional.isEmpty()) {
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
// Paper end
|
||||
@@ -70,32 +72,41 @@ public class AxeItem extends DiggerItem {
|
||||
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
|
||||
}
|
||||
} else {
|
||||
+ org.purpurmc.purpur.tool.Actionable actionable = optional.get(); // Purpur
|
||||
+ BlockState state = actionable.into().withPropertiesOf(level.getBlockState(blockPos)); // Purpur
|
||||
ItemStack itemStack = context.getItemInHand();
|
||||
// Paper start - EntityChangeBlockEvent
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional.get())) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, state)) { // Purpur
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
// Paper end
|
||||
@@ -74,13 +76,20 @@ public class AxeItem extends DiggerItem {
|
||||
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
|
||||
}
|
||||
|
||||
- level.setBlock(blockPos, optional.get(), 11);
|
||||
- level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, optional.get()));
|
||||
+ // Purpur start
|
||||
+ level.setBlock(blockPos, state, 11);
|
||||
+ actionable.drops().forEach((drop, chance) -> {
|
||||
+ if (level.random.nextDouble() < chance) {
|
||||
+ Block.popResourceFromFace(level, blockPos, context.getClickedFace(), new ItemStack(drop));
|
||||
+ }
|
||||
+ });
|
||||
+ level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state));
|
||||
+ // Purpur end
|
||||
if (player != null) {
|
||||
itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(context.getHand()));
|
||||
}
|
||||
- level.setBlock(blockPos, optional.get(), 11);
|
||||
- level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, optional.get()));
|
||||
+ // Purpur start
|
||||
+ level.setBlock(blockPos, state, 11);
|
||||
+ actionable.drops().forEach((drop, chance) -> {
|
||||
+ if (level.random.nextDouble() < chance) {
|
||||
+ Block.popResourceFromFace(level, blockPos, context.getClickedFace(), new ItemStack(drop));
|
||||
+ }
|
||||
+ });
|
||||
+ level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state));
|
||||
+ // Purpur end
|
||||
if (player != null) {
|
||||
itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(context.getHand()));
|
||||
}
|
||||
|
||||
- return InteractionResult.sidedSuccess(level.isClientSide);
|
||||
+ return InteractionResult.SUCCESS; // Purpur - force arm swing
|
||||
- return InteractionResult.sidedSuccess(level.isClientSide);
|
||||
+ return InteractionResult.SUCCESS; // Purpur - force arm swing
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,22 +99,24 @@ public class AxeItem extends DiggerItem {
|
||||
return context.getHand().equals(InteractionHand.MAIN_HAND) && player.getOffhandItem().is(Items.SHIELD) && !player.isSecondaryUseActive();
|
||||
}
|
||||
|
||||
- private Optional<BlockState> evaluateNewBlockState(Level world, BlockPos pos, @Nullable Player player, BlockState state) {
|
||||
- Optional<BlockState> optional = this.getStripped(state);
|
||||
@@ -153,10 +157,10 @@ index 24f6a158e4759aac3be8da4cf5e0d40bd295355b..6b7dbb570f8a698c87c6bce992d84d87
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a9a2b09b985e3e4eb69d4ae16dfd40f46be936d6..e653a0cf4a4350d0faac21fab7681863fe2c75e0 100644
|
||||
index 7eac431d91eea903106f39c4d6210b5dde01b9a8..f4bc09f96a1f203e9c7a5989e285c87dc3802bff 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -504,6 +504,280 @@ public class PurpurWorldConfig {
|
||||
@@ -487,6 +487,280 @@ public class PurpurWorldConfig {
|
||||
snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index d606c15385273796fbbd2b503cda6e262be358b2..4934e912653361dc4af8306d3747850c0c0f4554 100644
|
||||
index 29ff737c0dd267710f852e50ac64a0eea7f8738b..f738558904389a4a5948cc936680907e5ebec749 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -476,6 +476,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -497,6 +497,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
world.isBlockPlaceCancelled = true; // Paper - prevent calling cleanup logic when undoing a block place upon a cancelled BlockPlaceEvent
|
||||
for (BlockState blockstate : blocks) {
|
||||
blockstate.update(true, false);
|
||||
@@ -16,7 +16,7 @@ index d606c15385273796fbbd2b503cda6e262be358b2..4934e912653361dc4af8306d3747850c
|
||||
}
|
||||
world.isBlockPlaceCancelled = false; // Paper - prevent calling cleanup logic when undoing a block place upon a cancelled BlockPlaceEvent
|
||||
world.preventPoiUpdated = false;
|
||||
@@ -508,6 +509,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -529,6 +530,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
|
||||
block.onPlace(world, newblockposition, oldBlock, true, context); // Paper - pass context
|
||||
}
|
||||
@@ -25,10 +25,10 @@ index d606c15385273796fbbd2b503cda6e262be358b2..4934e912653361dc4af8306d3747850c
|
||||
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
index cf8b8c8efd1c9c81eb5f02d75bd75875eb66771f..6f7e90d406b088fee0eb254f8042bd404d8f36fa 100644
|
||||
index 45704653310efe9cb755a644674b54b8722c2c84..1ef3b68d71c33ffb248a4b88fcfdc98a0360c4aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -438,7 +438,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -437,7 +437,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
} // Paper - fix drops not preventing stats/food exhaustion
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 fa81b12fc38a20b8ec39155259fb75c18ff9f0ae..8b08476457a6ead1a3c3e2ab35d08a8e0625c43e 100644
|
||||
index a820bbbe89dee9e6de2e7d5f72f43d1d5114cedf..08bdfdecf5c1ecff823ece44c0bef9d09286459a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -56,6 +56,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -57,6 +57,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
private int remainingPersistentAngerTime;
|
||||
@Nullable
|
||||
private UUID persistentAngerTarget;
|
||||
@@ -16,7 +16,7 @@ index fa81b12fc38a20b8ec39155259fb75c18ff9f0ae..8b08476457a6ead1a3c3e2ab35d08a8e
|
||||
|
||||
public IronGolem(EntityType<? extends IronGolem> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -88,6 +89,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -89,6 +90,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
return this.level().purpurConfig.ironGolemTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ index fa81b12fc38a20b8ec39155259fb75c18ff9f0ae..8b08476457a6ead1a3c3e2ab35d08a8e
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
||||
@@ -165,6 +175,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -166,6 +176,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
nbt.putBoolean("PlayerCreated", this.isPlayerCreated());
|
||||
@@ -40,7 +40,7 @@ index fa81b12fc38a20b8ec39155259fb75c18ff9f0ae..8b08476457a6ead1a3c3e2ab35d08a8e
|
||||
this.addPersistentAngerSaveData(nbt);
|
||||
}
|
||||
|
||||
@@ -172,6 +183,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -173,6 +184,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
this.setPlayerCreated(nbt.getBoolean("PlayerCreated"));
|
||||
@@ -93,7 +93,7 @@ index 9f20eae7449c670b913cc3bbe1a89254a1d8cde2..8f2348a7fe830a85985ce2b19cb2a915
|
||||
}
|
||||
|
||||
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 6752a0039fac041e9bdd25327cdf20d3f1922bd6..01d193d2584b62897687bd088fb590de8a4ab279 100644
|
||||
index 962ab1025f42734c11e3ce4c792d17958b14bdfe..0a8466fa93d4955c3d9a1d5a57eeb0751d20a8d4 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
|
||||
@@ -88,6 +88,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -232,7 +232,7 @@ index 4ce2373ff71c3c1b8951646e057587a3ab09e145..4f7f6cf6ca24406570d2d29dc63dc894
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
index 7a8ce6956db56061af93ba9761f5d1057a90bc49..6d286b23806666f7b00ac88c5922144649f8a041 100644
|
||||
index 955948f6ec096304671a98f7241930fa91565711..14ffecadeeebd65207799f1dcc189e5ac0261c2a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
@@ -99,4 +99,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 154c9b0e747c38e55e6b2f4658c2add452a65ae4..7a18a6f0c88ba4e8a15606aae4839ed3150b7f4d 100644
|
||||
index 6ee3292a5ca8421226be0afef73cbb1484b4311f..d54a242fbfce347f652d03f8eeac2f990168b809 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1231,11 +1231,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -855,11 +855,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (this.canSleepThroughNights()) {
|
||||
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
@@ -38,10 +38,10 @@ index 154c9b0e747c38e55e6b2f4658c2add452a65ae4..7a18a6f0c88ba4e8a15606aae4839ed3
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index af27cd5c111acfb99e8a6e1071181a89b94f7c25..00572e66b50d9e6489871f629e45c36b0ca47715 100644
|
||||
index 5b3ffa3aa96dffba149c0fa8d7fb62cc36f8a4a0..598af66601624687f000b74307863e18a56faa27 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1547,7 +1547,19 @@ public class ServerPlayer extends Player {
|
||||
@@ -1534,7 +1534,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
});
|
||||
|
||||
if (!this.serverLevel().canSleepThroughNights()) {
|
||||
@@ -63,7 +63,7 @@ index af27cd5c111acfb99e8a6e1071181a89b94f7c25..00572e66b50d9e6489871f629e45c36b
|
||||
|
||||
((ServerLevel) this.level()).updateSleepingPlayerList();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 1578f7a30e575a353a8a7ac286ab4e212dc3f9cc..297e02900adb7251cc0449db47490d26dec3f62f 100644
|
||||
index c77691aeb9d0c35fe042a6e375e12d042091d17a..74b1153454ae75653706913c993781c462d95689 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -186,6 +186,9 @@ public class PurpurConfig {
|
||||
@@ -18,10 +18,10 @@ index 3253361d91e2a2e68d354eaf3dd3e3cd486e191d..2649188930653610b8aaaeb18797c808
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e653a0cf4a4350d0faac21fab7681863fe2c75e0..2a05ee4d6d609fb0ab1837d2add45ffba68603fe 100644
|
||||
index f4bc09f96a1f203e9c7a5989e285c87dc3802bff..7f4f2f4812d1b2c2ee6875de38954de5faeea530 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -221,6 +221,7 @@ public class PurpurWorldConfig {
|
||||
@@ -206,6 +206,7 @@ public class PurpurWorldConfig {
|
||||
public int enderPearlCooldownCreative = 20;
|
||||
public float enderPearlEndermiteChance = 0.05F;
|
||||
public int glowBerriesEatGlowDuration = 0;
|
||||
@@ -29,7 +29,7 @@ index e653a0cf4a4350d0faac21fab7681863fe2c75e0..2a05ee4d6d609fb0ab1837d2add45ffb
|
||||
private void itemSettings() {
|
||||
itemImmuneToCactus.clear();
|
||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||
@@ -267,6 +268,7 @@ public class PurpurWorldConfig {
|
||||
@@ -252,6 +253,7 @@ public class PurpurWorldConfig {
|
||||
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
||||
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
||||
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
|
||||
@@ -24,10 +24,10 @@ index 8240c32d676a88aa23dcd052ee0136767e54fb0d..372c4ab9d390d5afd98947f21c79aae0
|
||||
if (i != -1) {
|
||||
world.scheduleTick(blockposition, (Block) this, i);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2a05ee4d6d609fb0ab1837d2add45ffba68603fe..220787aa0d3d144d2fa4296463af3c6b9ed0cf00 100644
|
||||
index 7f4f2f4812d1b2c2ee6875de38954de5faeea530..9ebc34a3ec7eaa4210c10186db6939ae744bc628 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -819,6 +819,22 @@ public class PurpurWorldConfig {
|
||||
@@ -802,6 +802,22 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 458c14d4f298137ef1a333368644568a2c8a0b09..0460bdb52ce6b29cf57ef8f2d7f430e761c82d85 100644
|
||||
index 4a5a18443db0f7c69b61db2ded63355ef4d72d9a..5a9abf3cb9448f922c7d87a48fa50337e35c2c34 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2073,6 +2073,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2079,6 +2079,13 @@ public abstract class Player extends LivingEntity {
|
||||
return slot != EquipmentSlot.BODY;
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ index 458c14d4f298137ef1a333368644568a2c8a0b09..0460bdb52ce6b29cf57ef8f2d7f430e7
|
||||
if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) {
|
||||
if (this.getShoulderEntityLeft().isEmpty()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 220787aa0d3d144d2fa4296463af3c6b9ed0cf00..ee356e3174791f3c54abb8ddbf30694a3e9a87dc 100644
|
||||
index 9ebc34a3ec7eaa4210c10186db6939ae744bc628..04b68b2dfb67e312352b7d27719116c27ada56bf 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
|
||||
@@ -378,6 +378,7 @@ public class PurpurWorldConfig {
|
||||
public double playerCriticalDamageMultiplier = 1.5D;
|
||||
public int playerBurpDelay = 10;
|
||||
public boolean playerBurpWhenFull = false;
|
||||
@@ -34,7 +34,7 @@ index 220787aa0d3d144d2fa4296463af3c6b9ed0cf00..ee356e3174791f3c54abb8ddbf30694a
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -416,6 +417,7 @@ public class PurpurWorldConfig {
|
||||
@@ -399,6 +400,7 @@ public class PurpurWorldConfig {
|
||||
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
|
||||
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
|
||||
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
|
||||
|
||||
|
||||
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 b361c6b4ca17b9d466555037235a5660caa5c9bd..21a570d09ad3e19e6c709ff1152db7d204648122 100644
|
||||
index f2e21c9d3cefb635c4eb583ac9355b46675c94e7..2855efc4670c58219ca1e78770ac289ab1421801 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -434,6 +434,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -436,6 +436,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
} else {
|
||||
flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount);
|
||||
|
||||
@@ -17,10 +17,10 @@ index b361c6b4ca17b9d466555037235a5660caa5c9bd..21a570d09ad3e19e6c709ff1152db7d2
|
||||
for (int i = 0; i < 64; ++i) {
|
||||
if (this.teleport()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b94ad1875401682430b1336985d1c02c8ee05bef..42b12cadcfa4c8add6fca32db1a4e86c44ea9700 100644
|
||||
index 04b68b2dfb67e312352b7d27719116c27ada56bf..43ff6a697d60e66f9ec9b0cee302436bcaa87b90 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1449,6 +1449,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1432,6 +1432,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
|
||||
public boolean endermanIgnorePlayerDragonHead = false;
|
||||
public boolean endermanDisableStareAggro = false;
|
||||
@@ -28,7 +28,7 @@ index b94ad1875401682430b1336985d1c02c8ee05bef..42b12cadcfa4c8add6fca32db1a4e86c
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1454,6 +1455,7 @@ public class PurpurWorldConfig {
|
||||
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
|
||||
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
|
||||
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add compass command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 2afedee0f62f71bc5cdd7e54d73dd5bb84072a18..157a8cd3599a196f1c12f56ad4c5aa68898a1960 100644
|
||||
index a9180b1ce021f6d4d60e43bc04e863be99daf9d3..89cfef3a5c466a8f508cce1aa37ec6b01432eb35 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -257,6 +257,7 @@ public class Commands {
|
||||
@@ -255,6 +255,7 @@ public class Commands {
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
@@ -17,18 +17,18 @@ index 2afedee0f62f71bc5cdd7e54d73dd5bb84072a18..157a8cd3599a196f1c12f56ad4c5aa68
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 00572e66b50d9e6489871f629e45c36b0ca47715..03a1eceaed065b7f33d830414136ed3c07c2034c 100644
|
||||
index 598af66601624687f000b74307863e18a56faa27..3dff1bb3a847cf121155b815cd9b6491b50029c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -300,6 +300,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -298,6 +298,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
|
||||
public boolean purpurClient = false; // Purpur
|
||||
private boolean tpsBar = false; // Purpur
|
||||
+ private boolean compassBar = false; // Purpur
|
||||
|
||||
// Paper start - replace player chunk loader
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
@@ -612,6 +613,7 @@ public class ServerPlayer extends Player {
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
@@ -568,6 +569,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
}
|
||||
|
||||
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
|
||||
@@ -36,7 +36,7 @@ index 00572e66b50d9e6489871f629e45c36b0ca47715..03a1eceaed065b7f33d830414136ed3c
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -689,6 +691,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -645,6 +647,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
}
|
||||
|
||||
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
|
||||
@@ -44,7 +44,7 @@ index 00572e66b50d9e6489871f629e45c36b0ca47715..03a1eceaed065b7f33d830414136ed3c
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -3018,5 +3021,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -3046,5 +3049,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
|
||||
public void tpsBar(boolean tpsBar) {
|
||||
this.tpsBar = tpsBar;
|
||||
}
|
||||
@@ -59,7 +59,7 @@ index 00572e66b50d9e6489871f629e45c36b0ca47715..03a1eceaed065b7f33d830414136ed3c
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 297e02900adb7251cc0449db47490d26dec3f62f..899abbef0b6f458b560e9dd329cb95dfb8af3146 100644
|
||||
index 74b1153454ae75653706913c993781c462d95689..c1e7dc324237eea16e88a1fc636d5bcdf49a2b0c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -255,6 +255,11 @@ public class PurpurConfig {
|
||||
@@ -89,10 +89,10 @@ index 297e02900adb7251cc0449db47490d26dec3f62f..899abbef0b6f458b560e9dd329cb95df
|
||||
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
|
||||
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0f5bb7e220fc4381445e9aaef19882dd4b27987b..b66224c74eeb7b60ded96edb08d323002c355db6 100644
|
||||
index 43ff6a697d60e66f9ec9b0cee302436bcaa87b90..016dc535a8b50a77be3b2cdef39d3130cba1b601 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -222,6 +222,7 @@ public class PurpurWorldConfig {
|
||||
@@ -207,6 +207,7 @@ public class PurpurWorldConfig {
|
||||
public float enderPearlEndermiteChance = 0.05F;
|
||||
public int glowBerriesEatGlowDuration = 0;
|
||||
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
|
||||
@@ -100,7 +100,7 @@ index 0f5bb7e220fc4381445e9aaef19882dd4b27987b..b66224c74eeb7b60ded96edb08d32300
|
||||
private void itemSettings() {
|
||||
itemImmuneToCactus.clear();
|
||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||
@@ -269,6 +270,7 @@ public class PurpurWorldConfig {
|
||||
@@ -254,6 +255,7 @@ public class PurpurWorldConfig {
|
||||
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
||||
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
|
||||
shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);
|
||||
@@ -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 e8f47e60ada57e5da997186da256538c540e6823..c1e275fb53c4c173d80ae27087048f0f3902c2ad 100644
|
||||
index 25b3fe2eb700a4a957957fa0be711d2a27b76597..b08851827656f644a560b084aed10087665153db 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2980,6 +2980,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2983,6 +2983,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
@@ -17,10 +17,10 @@ index e8f47e60ada57e5da997186da256538c540e6823..c1e275fb53c4c173d80ae27087048f0f
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b66224c74eeb7b60ded96edb08d323002c355db6..36a59f1107a59fc25c48774184ebaba3254a5027 100644
|
||||
index 016dc535a8b50a77be3b2cdef39d3130cba1b601..6d85f73fdd1545fe15de1c201999a5cb6b3112aa 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -182,12 +182,14 @@ public class PurpurWorldConfig {
|
||||
@@ -178,12 +178,14 @@ public class PurpurWorldConfig {
|
||||
public boolean elytraIgnoreUnbreaking = false;
|
||||
public int elytraDamagePerFireworkBoost = 0;
|
||||
public int elytraDamagePerTridentBoost = 0;
|
||||
@@ -18,10 +18,10 @@ index b38fbe5121f293f425d7673a6ce49b11d0ced0d9..2a74f42672b92393b52a61c27c5b8af7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7a2a3243e6d1e22dcbd57674db06bf7cb42abfed..4513d3e5441e1b68e890836e168c64e9b363f466 100644
|
||||
index 6d85f73fdd1545fe15de1c201999a5cb6b3112aa..c630b50ce74c3226929ec1ca6ca61bda66439861 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -369,6 +369,11 @@ public class PurpurWorldConfig {
|
||||
@@ -354,6 +354,11 @@ public class PurpurWorldConfig {
|
||||
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Customizeable Zombie Villager curing times
|
||||
|
||||
|
||||
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 2ec3a09135f85a5de68e77511f3f213adf08712c..d909138942212ee090ff513b1817414c93457425 100644
|
||||
index 3c4cff3f095cdf2dd74df7bf4bb8f3d5600b342d..9bb75b49ea2d0bd8aafbe537b65f86eb04f6cfe2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -222,7 +222,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -225,7 +225,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
if (this.hasEffect(MobEffects.WEAKNESS)) {
|
||||
itemstack.consume(1, player);
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -18,10 +18,10 @@ index 2ec3a09135f85a5de68e77511f3f213adf08712c..d909138942212ee090ff513b1817414c
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3a819f6ca87f4f7e4a2354a273714818009d3bd7..b47a8a0f9da5bb92ed20c9f98c375b2deac826d4 100644
|
||||
index c630b50ce74c3226929ec1ca6ca61bda66439861..a72707d512434e90f1ce076ba86946cbf6915a2d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2852,6 +2852,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2831,6 +2831,8 @@ public class PurpurWorldConfig {
|
||||
public double zombieVillagerJockeyChance = 0.05D;
|
||||
public boolean zombieVillagerJockeyTryExistingChickens = true;
|
||||
public boolean zombieVillagerTakeDamageFromWater = false;
|
||||
@@ -30,7 +30,7 @@ index 3a819f6ca87f4f7e4a2354a273714818009d3bd7..b47a8a0f9da5bb92ed20c9f98c375b2d
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -2867,6 +2869,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2846,6 +2848,8 @@ public class PurpurWorldConfig {
|
||||
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
|
||||
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
|
||||
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
|
||||
@@ -30,10 +30,10 @@ index a676ccfa6b02e8986df6f6a2e04cbb06b3edd0ff..6fe44572e34ad3e3a1851e73138bd8b7
|
||||
if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) {
|
||||
return false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 69753e7dc0fbc59a6e9d84479a5141a740e2fd15..b69e224dc04758fec2bd0a2631848f4dc5a67b85 100644
|
||||
index a72707d512434e90f1ce076ba86946cbf6915a2d..1585bf88785f132df354540caf3fa7901d2d7985 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1005,9 +1005,13 @@ public class PurpurWorldConfig {
|
||||
@@ -988,9 +988,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
public int spongeAbsorptionArea = 65;
|
||||
public int spongeAbsorptionRadius = 6;
|
||||
@@ -5,7 +5,7 @@ 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 01d193d2584b62897687bd088fb590de8a4ab279..a030fe21a88a9486cc8367710a96af67c761635c 100644
|
||||
index 0a8466fa93d4955c3d9a1d5a57eeb0751d20a8d4..adfadd75f29a82f606824f7d98f3abec8e8591c3 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
|
||||
@@ -18,10 +18,10 @@ index 01d193d2584b62897687bd088fb590de8a4ab279..a030fe21a88a9486cc8367710a96af67
|
||||
// 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 b86fe53c03a5af5cf0de6e749345cf86d82b4342..c2a6fa99729edf2926d437c2ef676966445501f2 100644
|
||||
index 1585bf88785f132df354540caf3fa7901d2d7985..a4f69c7695c41ed23b230ee9592d28c3c42a50ef 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2697,6 +2697,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2676,6 +2676,7 @@ public class PurpurWorldConfig {
|
||||
public boolean witherTakeDamageFromWater = false;
|
||||
public boolean witherCanRideVehicles = false;
|
||||
public float witherExplosionRadius = 1.0F;
|
||||
@@ -29,7 +29,7 @@ index b86fe53c03a5af5cf0de6e749345cf86d82b4342..c2a6fa99729edf2926d437c2ef676966
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2718,6 +2719,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2697,6 +2698,7 @@ public class PurpurWorldConfig {
|
||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
||||
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
|
||||
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
|
||||
@@ -18,10 +18,10 @@ index ff4dda48116a2969704b355ff96407ba869b466e..9200d75b05ce535f7b7f5c1572cd8f62
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index eb64ddde8162833ae522ea88befc2c837a3e6b53..27f34e56820351223707c305f67c5e50aadbbe4f 100644
|
||||
index a4f69c7695c41ed23b230ee9592d28c3c42a50ef..f68542446cdfc9b0f7741abe4b901b8f0ac9f259 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -846,6 +846,11 @@ public class PurpurWorldConfig {
|
||||
@@ -829,6 +829,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f24f9d3a1bb5587f26ce396238c5d6f564dda6e7..6ce7f636a24a096e451d31f8ea529e49efb3399a 100644
|
||||
index f68542446cdfc9b0f7741abe4b901b8f0ac9f259..f9fed1bc4251b286b7a0638362ec15549335a6aa 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2918,4 +2918,27 @@ public class PurpurWorldConfig {
|
||||
@@ -2895,4 +2895,27 @@ public class PurpurWorldConfig {
|
||||
private void hungerSettings() {
|
||||
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
|
||||
}
|
||||
@@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3
|
||||
|
||||
if (dripChance < f1) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6ce7f636a24a096e451d31f8ea529e49efb3399a..829bff6c8ba4e97b9ff72847e312c33e4f9c3cfb 100644
|
||||
index f9fed1bc4251b286b7a0638362ec15549335a6aa..7a48f6a49caace49c7759839c128764028afeba3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2941,4 +2941,15 @@ public class PurpurWorldConfig {
|
||||
@@ -2918,4 +2918,15 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
conduitBlocks = conduitBlockList.toArray(Block[]::new);
|
||||
}
|
||||
@@ -18,10 +18,10 @@ index d5004290e40a1ff5e0fcfe75f8da34ae15962359..31ae0f466ae522d767907ec5066b2669
|
||||
&& pathType != PathType.POWDER_SNOW) {
|
||||
node = this.tryJumpOn(x, y, z, maxYStep, prevFeetY, direction, nodeType, mutableBlockPos);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0227caeb0efa2b9aa1d9e8cb1cb13997ebbb7a1c..c5e32e0e1865cdbd81b9077038717dab4db46f4d 100644
|
||||
index 7a48f6a49caace49c7759839c128764028afeba3..27c618b482d379277a88222c3e4a0c330fde5cfe 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -138,6 +138,7 @@ public class PurpurWorldConfig {
|
||||
@@ -136,6 +136,7 @@ public class PurpurWorldConfig {
|
||||
public double voidDamageDealt = 4.0D;
|
||||
public int raidCooldownSeconds = 0;
|
||||
public int animalBreedingCooldownSeconds = 0;
|
||||
@@ -29,7 +29,7 @@ index 0227caeb0efa2b9aa1d9e8cb1cb13997ebbb7a1c..c5e32e0e1865cdbd81b9077038717dab
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
|
||||
@@ -159,6 +160,7 @@ public class PurpurWorldConfig {
|
||||
@@ -155,6 +156,7 @@ public class PurpurWorldConfig {
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
|
||||
Reference in New Issue
Block a user