mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
269/273
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
group = org.purpurmc.purpur
|
||||
version = 1.19-R0.1-SNAPSHOT
|
||||
|
||||
paperCommit = 7a165c9c5dfc68678a03a4676a18914a10cd01f6
|
||||
paperCommit = a02874e014462bfdad18d2bea02ce2dd10047775
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Build System Changes
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index ac0a4aea48436201b5712b166413bb7dc0d0b9d8..6326d99ed2fb157da200bb53d67a639a2c3d6cc1 100644
|
||||
index 921b301de020ce73126ca518556b3435e776783d..40b21b114a52a0388d7c9b805c90c27e88d98cd0 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -93,6 +93,8 @@ tasks.jar {
|
||||
@@ -94,6 +94,8 @@ tasks.jar {
|
||||
}
|
||||
|
||||
tasks.withType<Javadoc> {
|
||||
|
||||
@@ -123,10 +123,10 @@ index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd0
|
||||
return this.isFireSource;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 87a2228c5c5038153935184f0e4a2f11053b202d..8c74d436f3f5ffa47ab8991035339c4206df8c43 100644
|
||||
index 0473a4d80f58538ea3cabcd38684339b27c1d29c..4ac33be263c3380a1ccc01affe3e20d46badd46e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3696,6 +3696,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3732,6 +3732,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..56536c39bccfe097f8227c74a0d16799
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index ac70a4e739d8d0de09e27dcbf463a41ef56a2a9f..8184fcc7c2ec8e3fdfeb7d089860e7aa9c17ac4e 100644
|
||||
index 7c7d98d889fe799990b1bb5c416be50719c21194..50cbdd0e38b61a8290d6689d5fb9c7d13285ec34 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1531,6 +1531,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -34,7 +34,7 @@ index ac70a4e739d8d0de09e27dcbf463a41ef56a2a9f..8184fcc7c2ec8e3fdfeb7d089860e7aa
|
||||
|
||||
this.profiler.push(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 31fadaf364bf52018132df5ea721e0303ba5b65a..805025d7b446110a6949635a7064d05fb51638fd 100644
|
||||
index 443ef9d81e769c26ebd5a7d72078ed0f43306a7e..f678861adc54cb00c9e2b7695c20f0e0f44bc7a6 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -216,6 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -79,10 +79,10 @@ index a7bc4eefd73337bfabb84032cd98aba42f5870fd..076c482e6844f6a188267556cd8fbcc5
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddEntityPacket(entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 8c74d436f3f5ffa47ab8991035339c4206df8c43..8f8740b40a37e91eedc3496985ba0d2964cbafe5 100644
|
||||
index 4ac33be263c3380a1ccc01affe3e20d46badd46e..4b01ef01efe128cdeac548c592f62d72c9e0169e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -320,7 +320,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -356,7 +356,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -91,7 +91,7 @@ index 8c74d436f3f5ffa47ab8991035339c4206df8c43..8f8740b40a37e91eedc3496985ba0d29
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2687,6 +2687,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2723,6 +2723,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ index 8c74d436f3f5ffa47ab8991035339c4206df8c43..8f8740b40a37e91eedc3496985ba0d29
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2727,6 +2733,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2763,6 +2769,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -119,7 +119,7 @@ index 8c74d436f3f5ffa47ab8991035339c4206df8c43..8f8740b40a37e91eedc3496985ba0d29
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4395,4 +4409,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4431,4 +4445,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -818,7 +818,7 @@ index bd048cc30046f19f9eee89c6ba45d0816a160e67..2c6e1a970d8922047a186fc7eb82abd7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
index 4e42bcb48c75c816e89e652c898242a9bd8c9d5a..dd59f83fd6adff8d1ade76aac6f3563bfbea15b1 100644
|
||||
index ab86bfdaebe9b8791f0cfa6e0c61f80c8f891a93..cc73dffbeb8a118de2b913c6f9d40c61f94dabbd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -95,6 +95,31 @@ public class Cat extends TamableAnimal {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index be3545469c486f1dd6de42bb29a82a339d5a6a22..4ae9c7c0446fdb051ff976645dfa1b9f783bed3a 100644
|
||||
index cbd0f1ef7b3dad972b2e1f4b1d35c1f66ca9854f..10c46a38e55463f584afc69bd6af91ee96862fd8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1796,6 +1796,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1832,6 +1832,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
this.setYHeadRot(yaw); // Paper - Update head rotation
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 4ae9c7c0446fdb051ff976645dfa1b9f783bed3a..2407d40149572c9b74d0513dd945c21e993d8b50 100644
|
||||
index 10c46a38e55463f584afc69bd6af91ee96862fd8..7735941f4a23e1baffc97055853bb88ef99954f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -815,7 +815,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -851,7 +851,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2407d40149572c9b74d0513dd945c21e993d8b50..04e0103c8345741d459a7acea4d30962bbcc0bbd 100644
|
||||
index 7735941f4a23e1baffc97055853bb88ef99954f3..6845db2405f1bc324aad9d1945dbd0c0ce6a69f8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4450,5 +4450,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4486,5 +4486,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 04e0103c8345741d459a7acea4d30962bbcc0bbd..ecc13aa9328eb02114f7b0db8ff2ca38dee2c608 100644
|
||||
index 6845db2405f1bc324aad9d1945dbd0c0ce6a69f8..f5377087edd30e5ce8f68bebbba76c36f7cc0f6a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3979,6 +3979,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4015,6 +4015,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ecc13aa9328eb02114f7b0db8ff2ca38dee2c608..1b2edc78ca8b0c734d4fb1e9dfa369c1c1abede6 100644
|
||||
index f5377087edd30e5ce8f68bebbba76c36f7cc0f6a..3097e87cece6aad796be215d524d9cb30fcc21c9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2799,7 +2799,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2835,7 +2835,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index ecc13aa9328eb02114f7b0db8ff2ca38dee2c608..1b2edc78ca8b0c734d4fb1e9dfa369c1
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3464,7 +3464,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3500,7 +3500,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1b2edc78ca8b0c734d4fb1e9dfa369c1c1abede6..57af4ce3c47ffcad7fe046218ebc915ab17cd40a 100644
|
||||
index 3097e87cece6aad796be215d524d9cb30fcc21c9..d0b8fd430a76a55cd179b92b38eb61df7ac6f04a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1648,7 +1648,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1684,7 +1684,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 730a2f16fe9fea9662edf502419ad57387169c8f..ca1b2d02ec7a51fe2bee5037c09a0fdc
|
||||
// CraftBukkit end
|
||||
this.setLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 57af4ce3c47ffcad7fe046218ebc915ab17cd40a..a7bd8be272376c4ec15603ee1dbc90cbbf455416 100644
|
||||
index d0b8fd430a76a55cd179b92b38eb61df7ac6f04a..3be125765c069a0c7a78e151426b26964f388a92 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2796,12 +2796,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2832,12 +2832,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index a7bd8be272376c4ec15603ee1dbc90cbbf455416..9b90757dbe6689366b9ad03264a21b608e6ec55c 100644
|
||||
index 3be125765c069a0c7a78e151426b26964f388a92..07d5609825a8b3c635043d95a3c6fc3b0e0bafec 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3027,7 +3027,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3063,7 +3063,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 9b90757dbe6689366b9ad03264a21b608e6ec55c..36d8613464803d84fa4c233613acc6921886962b 100644
|
||||
index 07d5609825a8b3c635043d95a3c6fc3b0e0bafec..49f6bf5ab0baf318d75a85b92db4ecc61b7028fd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4463,5 +4463,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4499,5 +4499,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 36d8613464803d84fa4c233613acc6921886962b..0457a83fef4147623c8478dcb3aafb52d64a55e8 100644
|
||||
index 49f6bf5ab0baf318d75a85b92db4ecc61b7028fd..1c59160a9848d3580b8075100a49bc854e9a43da 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2847,7 +2847,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2883,7 +2883,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -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 84d77fee05eda89cdd37be281e771415dcfabda4..5017b30b5714a47b54a00bc9da28bf57f06a6b3f 100644
|
||||
index 520c76a7a2baa3091224c96580a861a635ea11f2..146e6f819de67a52125675f3afdda214ddaecef9 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -392,6 +392,7 @@ public final class ItemStack {
|
||||
@@ -404,6 +404,7 @@ public final class ItemStack {
|
||||
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
|
||||
for (BlockState blockstate : blocks) {
|
||||
blockstate.update(true, false);
|
||||
@@ -16,7 +16,7 @@ index 84d77fee05eda89cdd37be281e771415dcfabda4..5017b30b5714a47b54a00bc9da28bf57
|
||||
}
|
||||
world.preventPoiUpdated = false;
|
||||
|
||||
@@ -421,6 +422,7 @@ public final class ItemStack {
|
||||
@@ -433,6 +434,7 @@ public final class ItemStack {
|
||||
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
|
||||
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext
|
||||
}
|
||||
@@ -25,10 +25,10 @@ index 84d77fee05eda89cdd37be281e771415dcfabda4..5017b30b5714a47b54a00bc9da28bf57
|
||||
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 a80f4dc0a642c744223a155232291ace6e007636..5dede264fc3cb045b6330e35123b5b416c1b1f56 100644
|
||||
index 218ecfad4322e60274f9d9b14e32aa2b155b1bc5..080789515ca32ada386f9342d0ee819242573811 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 {
|
||||
@@ -440,7 +440,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
Block.dropResources(state, world, pos, blockEntity, player, stack);
|
||||
}
|
||||
|
||||
@@ -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 df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a6154750cfe21d 100644
|
||||
index 6e4cb77ed0f0aefb2ce403f8ede0d3c04ebef833..ebcc5527e1df12dfc682a5558f1e8a2da13d8216 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -64,6 +64,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -63,6 +63,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
private int remainingPersistentAngerTime;
|
||||
@Nullable
|
||||
private UUID persistentAngerTarget;
|
||||
@@ -16,7 +16,7 @@ index df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a61547
|
||||
|
||||
public IronGolem(EntityType<? extends IronGolem> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -95,6 +96,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -94,6 +95,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
public boolean isSensitiveToWater() {
|
||||
return this.level.purpurConfig.ironGolemTakeDamageFromWater;
|
||||
}
|
||||
@@ -32,7 +32,7 @@ index df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a61547
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -180,6 +190,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -179,6 +189,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 df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a61547
|
||||
this.addPersistentAngerSaveData(nbt);
|
||||
}
|
||||
|
||||
@@ -187,6 +198,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -186,6 +197,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
this.setPlayerCreated(nbt.getBoolean("PlayerCreated"));
|
||||
@@ -49,7 +49,7 @@ index df99dca1b3e2871dc365780fde52e93fb2170ef5..1f90c7e164848f08ff6c4aacf0a61547
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 16ecfd25dc2b2e450410cff17e75354fec7dc4bc..c98e5b2cb54d4be5746d3bac0551ec743a656cbf 100644
|
||||
index 069f90f113aeaa61236c86a07463c4190fc36c4e..a407254b527b9d39c03d1ceb5f685868f2ebb786 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -93,7 +93,7 @@ index 16ecfd25dc2b2e450410cff17e75354fec7dc4bc..c98e5b2cb54d4be5746d3bac0551ec74
|
||||
}
|
||||
|
||||
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 b947a9af4c3387aec9b7e62d5899fdae1ccfedbb..0ecd5c20b1d571ac1e147df0c854412b5c9f3741 100644
|
||||
index 3cdf02e3376a24afe7fff9ebb981f7ffffa4cc1f..8b47c7bdf900a75fee842a27eb415314439fcbb2 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
|
||||
@@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -5,15 +5,15 @@ 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 24b800d99fda57154c23352b1c8889f7cd2cba36..d85249f7944e548f360712212166cdf7ecbf475c 100644
|
||||
index e584bcdca9ed8e3ccb3969b45011df3eb7624689..cbfc31d4b3aac2b681034106d8979a8779d529a5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -964,11 +964,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -962,11 +962,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);
|
||||
- TranslatableComponent chatmessage;
|
||||
+ Component chatmessage; // Purpur
|
||||
- MutableComponent ichatmutablecomponent;
|
||||
+ Component ichatmutablecomponent;
|
||||
|
||||
if (this.sleepStatus.areEnoughSleeping(i)) {
|
||||
+ // Purpur start
|
||||
@@ -21,26 +21,24 @@ index 24b800d99fda57154c23352b1c8889f7cd2cba36..d85249f7944e548f360712212166cdf7
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.sleepSkippingNight.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.sleepSkippingNight));
|
||||
+ ichatmutablecomponent = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.sleepSkippingNight));
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
chatmessage = new TranslatableComponent("sleep.skipping_night");
|
||||
ichatmutablecomponent = Component.translatable("sleep.skipping_night");
|
||||
} else {
|
||||
+ // Purpur start
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent.isBlank()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent,
|
||||
+ ichatmutablecomponent = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent,
|
||||
+ net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("count", Integer.toString(this.sleepStatus.amountSleeping())),
|
||||
+ net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.parsed("total", Integer.toString(this.sleepStatus.sleepersNeeded(i)))));
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
chatmessage = new TranslatableComponent("sleep.players_sleeping", new Object[]{this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(i)});
|
||||
ichatmutablecomponent = Component.translatable("sleep.players_sleeping", this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(i));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 4949c3bc2066e790364db631e7f801c1e83d01e9..d993b5dc4428ed1c156359db7efa4a4f9b449f12 100644
|
||||
index b2604ae34c141ce69b3e1df72543aa942a9c9f0e..5665689a93b3feb1c3622c9447f07a22cb57bbe8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -180,6 +180,8 @@ public class PurpurConfig {
|
||||
@@ -60,4 +58,4 @@ index 4949c3bc2066e790364db631e7f801c1e83d01e9..d993b5dc4428ed1c156359db7efa4a4f
|
||||
+ sleepingPlayersPercent = getString("settings.messages.sleeping-players-percent", sleepingPlayersPercent);
|
||||
}
|
||||
|
||||
public static String deathMsgStonecutter = "<player> has sawed themself in half";
|
||||
public static String deathMsgRunWithScissors = "<player> slipped and fell on their shears";
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] option to disable shulker box items from dropping contents
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
index 8f3b9b8784f0d7b137a1ad87655ee8bad801b59d..8a5f6d955577a8f8a63a846169a63fe9685b6321 100644
|
||||
index 62d6c5b7590ff4faef5d8c7a8be03155b7338480..72d94c79db5a6d0d41220b34ba6a1787b66a6cfd 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
@@ -294,7 +294,7 @@ public class BlockItem extends Item {
|
||||
@@ -19,7 +19,7 @@ index 8f3b9b8784f0d7b137a1ad87655ee8bad801b59d..8a5f6d955577a8f8a63a846169a63fe9
|
||||
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 719612684b4d5f72589576bb69c2d6c908bdc485..0b14878546df0217fa83eabfc26f6ede84f8ebb2 100644
|
||||
index 22648636601e60b43743509f597f5ac650d309fa..6826a2bc2a359140e562b5e3278b31d878216bd6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -213,6 +213,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Silk touchable budding amethyst
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BuddingAmethystBlock.java b/src/main/java/net/minecraft/world/level/block/BuddingAmethystBlock.java
|
||||
index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb02894080d631594 100644
|
||||
index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a902fcafd6a 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BuddingAmethystBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BuddingAmethystBlock.java
|
||||
@@ -53,4 +53,14 @@ public class BuddingAmethystBlock extends AmethystBlock {
|
||||
@@ -24,7 +24,7 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0b14878546df0217fa83eabfc26f6ede84f8ebb2..a755dbab717e6899d57558c7c7f0b17d40ce09fa 100644
|
||||
index 6826a2bc2a359140e562b5e3278b31d878216bd6..3a9cb286cc53011cf50d00098fc2e02e58929be4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -691,6 +691,11 @@ public class PurpurWorldConfig {
|
||||
@@ -39,7 +39,7 @@ index 0b14878546df0217fa83eabfc26f6ede84f8ebb2..a755dbab717e6899d57558c7c7f0b17d
|
||||
public boolean chestOpenWithBlockOnTop = false;
|
||||
private void chestSettings() {
|
||||
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
|
||||
@@ -2683,3 +2688,4 @@ public class PurpurWorldConfig {
|
||||
@@ -2665,3 +2670,4 @@ public class PurpurWorldConfig {
|
||||
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ PARTIAL: big_dripleaf with PARTIAL tilt will change to FULL tilt after 10 ticks
|
||||
UNSTABLE: big_dripleaf with FULL tilt will change back to no tilt after 100 ticks
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
|
||||
index 45a5343c1109c63ce7864327837979282b904367..042128d6982481fedf8e6ad523cff98fae7dec28 100644
|
||||
index 63aa6b82ba21ec8e8f362b390063e4e275a979a5..81ed6e69494337f402a6d9f854fb26fa1ac6acb2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
|
||||
@@ -236,7 +236,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone
|
||||
@@ -24,7 +24,7 @@ index 45a5343c1109c63ce7864327837979282b904367..042128d6982481fedf8e6ad523cff98f
|
||||
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 a755dbab717e6899d57558c7c7f0b17d40ce09fa..6960ee951bc3980c18a101e1285411e40572f9c8 100644
|
||||
index 3a9cb286cc53011cf50d00098fc2e02e58929be4..a8a9c96520340041290ab0ccb0a717bad3cf2fb6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -691,6 +691,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 2d6c0fc0a10c9e31352308ea8a47e3c283775c1b..3198cc253cc7d88ff29a8f5cfb3e7bc01886e408 100644
|
||||
index 64ab2ff61d5611574d11a32e7887e48e673a86c4..487008568a71219b2a88124d34326d617142f003 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2031,6 +2031,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2085,6 +2085,11 @@ public abstract class Player extends LivingEntity {
|
||||
return this.inventory.armor;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ index 2d6c0fc0a10c9e31352308ea8a47e3c283775c1b..3198cc253cc7d88ff29a8f5cfb3e7bc0
|
||||
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 6960ee951bc3980c18a101e1285411e40572f9c8..38232e48fd7e415b2403d96c04170c18691afa1c 100644
|
||||
index a8a9c96520340041290ab0ccb0a717bad3cf2fb6..fd141a7e78e8b59266e0a5b7969187c21ea0d3ae 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -387,6 +387,7 @@ public class PurpurWorldConfig {
|
||||
@@ -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 8713db4986d6db80c3422ead4f99203283e22e40..425a2cab66ce456b8e034b008d2cb82ecba62004 100644
|
||||
index 3bf86f01a32237efb9b95fc9cd3ca0a570c6dcff..fd4961b29e05e57ec68550eb9a7531eebc55e2c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -410,7 +410,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -408,7 +408,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
return false;
|
||||
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
} else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
@@ -18,10 +18,10 @@ index 8713db4986d6db80c3422ead4f99203283e22e40..425a2cab66ce456b8e034b008d2cb82e
|
||||
boolean flag;
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 38232e48fd7e415b2403d96c04170c18691afa1c..e213ab6708ab18568cae1387c4c0608f2f23af5c 100644
|
||||
index fd141a7e78e8b59266e0a5b7969187c21ea0d3ae..d02663b591c7106205778f2cb5b84d376d798c43 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1290,6 +1290,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1276,6 +1276,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
|
||||
public boolean endermanIgnorePlayerDragonHead = false;
|
||||
public boolean endermanDisableStareAggro = false;
|
||||
@@ -29,7 +29,7 @@ index 38232e48fd7e415b2403d96c04170c18691afa1c..e213ab6708ab18568cae1387c4c0608f
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -1312,6 +1313,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1298,6 +1299,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 9e7cc8bf867b6e4f86b55e1f1d3a1cb6233c90f1..7c30d8d61a8e82d8a1f61451090e9bbbca933d2a 100644
|
||||
index 174d4e18743f4388ac6aec6875adf6ac88f32bcd..9ceac20e1b4c340a4207653da7df495b906d0509 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -212,6 +212,7 @@ public class Commands {
|
||||
@@ -210,6 +210,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,10 +17,10 @@ index 9e7cc8bf867b6e4f86b55e1f1d3a1cb6233c90f1..7c30d8d61a8e82d8a1f61451090e9bbb
|
||||
|
||||
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 af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204a95f6fbc 100644
|
||||
index ee95f92443a313852ebb880af302899c18394a15..5da0ea40642d35a32e47ca0465aa3475bad36b6b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -256,6 +256,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -263,6 +263,7 @@ public class ServerPlayer extends Player {
|
||||
public boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
private boolean tpsBar = false; // Purpur
|
||||
@@ -28,7 +28,7 @@ index af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204
|
||||
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
@@ -478,6 +479,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -485,6 +486,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
|
||||
@@ -36,7 +36,7 @@ index af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -539,6 +541,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -546,6 +548,7 @@ public class ServerPlayer extends Player {
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
|
||||
@@ -44,7 +44,7 @@ index af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -2588,5 +2591,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -2625,5 +2628,13 @@ public class ServerPlayer extends Player {
|
||||
public void tpsBar(boolean tpsBar) {
|
||||
this.tpsBar = tpsBar;
|
||||
}
|
||||
@@ -59,10 +59,10 @@ index af0cfc57bb941817c4d4bcb60e4f129971091265..0a345562354dc3f1e1366da96149d204
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index d993b5dc4428ed1c156359db7efa4a4f9b449f12..34f098aeb69bcbd79324386f3fe6a55146fa6f70 100644
|
||||
index 5665689a93b3feb1c3622c9447f07a22cb57bbe8..312d29bc2fff8553fd2b58b0b89670d336bcc79d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -265,6 +265,11 @@ public class PurpurConfig {
|
||||
@@ -263,6 +263,11 @@ public class PurpurConfig {
|
||||
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
|
||||
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
|
||||
public static int commandTPSBarTickInterval = 20;
|
||||
@@ -74,7 +74,7 @@ index d993b5dc4428ed1c156359db7efa4a4f9b449f12..34f098aeb69bcbd79324386f3fe6a551
|
||||
public static boolean commandGamemodeRequiresPermission = false;
|
||||
public static boolean hideHiddenPlayersFromEntitySelector = false;
|
||||
public static String uptimeFormat = "<days><hours><minutes><seconds>";
|
||||
@@ -287,6 +292,13 @@ public class PurpurConfig {
|
||||
@@ -285,6 +290,13 @@ public class PurpurConfig {
|
||||
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
|
||||
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
|
||||
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
|
||||
@@ -89,7 +89,7 @@ index d993b5dc4428ed1c156359db7efa4a4f9b449f12..34f098aeb69bcbd79324386f3fe6a551
|
||||
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 e213ab6708ab18568cae1387c4c0608f2f23af5c..7fb4ee9e72d001da6a372d91392a87cdff7bbf20 100644
|
||||
index d02663b591c7106205778f2cb5b84d376d798c43..30fd55d1ed21d7f994f9defa1c48a4983ba25a9b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -214,6 +214,7 @@ public class PurpurWorldConfig {
|
||||
@@ -7,10 +7,10 @@ Horses have a chance to stand (rear) when their ambient noise is played.
|
||||
This can happen while the horse is moving with a rider, which will cause the horse to suddenly stop for a moment.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 0be0c81f2b0a58eba75eb8559f78d8a58014d0ae..f7088aaf65ee5725e928845a634852119b403cef 100644
|
||||
index aaf1264886394b156bd7d80a2021d2e8294ade99..36910e03941171cbfa3c61b2aff7535a2920ce24 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -396,7 +396,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -398,7 +398,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@Nullable
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound() {
|
||||
@@ -20,10 +20,10 @@ index 0be0c81f2b0a58eba75eb8559f78d8a58014d0ae..f7088aaf65ee5725e928845a63485211
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 55f4ff90bd2f9f8138a9a352dd40dfbd1ee98073..9694150ed4832169ed12f8e95cf2d87ada688978 100644
|
||||
index 30fd55d1ed21d7f994f9defa1c48a4983ba25a9b..72c10c03f5c0c43fe7f68b647f5ee06d1fc057ef 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1507,6 +1507,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1493,6 +1493,7 @@ public class PurpurWorldConfig {
|
||||
public double horseMovementSpeedMax = 0.3375D;
|
||||
public int horseBreedingTicks = 6000;
|
||||
public boolean horseTakeDamageFromWater = false;
|
||||
@@ -31,7 +31,7 @@ index 55f4ff90bd2f9f8138a9a352dd40dfbd1ee98073..9694150ed4832169ed12f8e95cf2d87a
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -1524,6 +1525,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1510,6 +1511,7 @@ public class PurpurWorldConfig {
|
||||
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
|
||||
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
|
||||
horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater);
|
||||
@@ -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 2773267524a58219876a84aa44b97094e155883a..360aa9d2f9d5a8ecd0db36a3715825222fec018e 100644
|
||||
index b2036c0bd97126290c581b0c48e25d8f9d809584..18bff5cbbb4da87ea6d905402ac2494cd4778dcd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2828,6 +2828,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2839,6 +2839,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
@@ -17,7 +17,7 @@ index 2773267524a58219876a84aa44b97094e155883a..360aa9d2f9d5a8ecd0db36a371582522
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b481c3bf0311058307b1fc38d68047e48c4df44d..b03142997900921e6cf4c105262ff08678e87097 100644
|
||||
index 72c10c03f5c0c43fe7f68b647f5ee06d1fc057ef..afcda37ba58e364239fad9ab719188b6eab52b84 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -176,12 +176,14 @@ public class PurpurWorldConfig {
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Add Option for disable observer clocks
|
||||
Allow to disable observer clocks: https://www.spigotmc.org/attachments/observerclock-gif.365936/
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
|
||||
index 4a34a08a1d46e4d3020644a51d9e30a36a18791a..be28b5aba28383058548cfb68f98266415367968 100644
|
||||
index 7b45d6b9a005036ca5051d089a7be792eb87012f..8806c97ecc6bdd8a64c2d82bb2f58f46ac37c468 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
|
||||
@@ -64,6 +64,7 @@ public class ObserverBlock extends DirectionalBlock {
|
||||
@@ -18,7 +18,7 @@ index 4a34a08a1d46e4d3020644a51d9e30a36a18791a..be28b5aba28383058548cfb68f982664
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6edd607952f087ae41f62478003b76053b43fa57..8462308f580c6f9b07e5eb48f309fd912966c0d9 100644
|
||||
index afcda37ba58e364239fad9ab719188b6eab52b84..7afc9e3785b718a5eb756ac3b4478bf6905087df 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -359,6 +359,11 @@ public class PurpurWorldConfig {
|
||||
@@ -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 ba6875089c122baaf99f21cda5c65228c78e0fa1..6c559f78cc7eab34d6109c1926067720d964d42c 100644
|
||||
index c90cf19a4c29aa33c96a67bfab24cbbb56d783da..54b5749a5e40ed9042af1c4904afcdc4af157d82 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -218,7 +218,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -217,7 +217,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
|
||||
if (!this.level.isClientSide) {
|
||||
@@ -16,12 +16,12 @@ index ba6875089c122baaf99f21cda5c65228c78e0fa1..6c559f78cc7eab34d6109c1926067720
|
||||
+ this.startConverting(player.getUUID(), this.random.nextInt(level.purpurConfig.zombieVillagerCuringTimeMax - level.purpurConfig.zombieVillagerCuringTimeMin + 1) + level.purpurConfig.zombieVillagerCuringTimeMin); // Purpur
|
||||
}
|
||||
|
||||
this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition());
|
||||
return InteractionResult.SUCCESS;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 59cd244212822eea978625dcad475025dbff0c11..2b7d4eeda3244e32c19385dd81531cffc9b1a1d4 100644
|
||||
index 7afc9e3785b718a5eb756ac3b4478bf6905087df..d2b2c7bd740aff87713c1cdec295b2bc32325a8d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2669,6 +2669,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2651,6 +2651,8 @@ public class PurpurWorldConfig {
|
||||
public double zombieVillagerJockeyChance = 0.05D;
|
||||
public boolean zombieVillagerJockeyTryExistingChickens = true;
|
||||
public boolean zombieVillagerTakeDamageFromWater = false;
|
||||
@@ -30,7 +30,7 @@ index 59cd244212822eea978625dcad475025dbff0c11..2b7d4eeda3244e32c19385dd81531cff
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -2684,6 +2686,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2666,6 +2668,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);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option for sponges to work on lava
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
||||
index fe4fdd21ae22970ddd8c7f5cd72bdf88b9be0a20..bb05f4d5e0403f39198bff5285698a2a86010ac9 100644
|
||||
index d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829..df04a571ebd3c04bc7b58c1ee5661a1f03c69d2f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
||||
@@ -73,7 +73,7 @@ public class SpongeBlock extends Block {
|
||||
@@ -18,10 +18,10 @@ index fe4fdd21ae22970ddd8c7f5cd72bdf88b9be0a20..bb05f4d5e0403f39198bff5285698a2a
|
||||
++i;
|
||||
if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2b7d4eeda3244e32c19385dd81531cffc9b1a1d4..1bb12a3b52c997fa6d44f98ab73552ffaf87c595 100644
|
||||
index d2b2c7bd740aff87713c1cdec295b2bc32325a8d..54d6fbcd738dc84a1bc4234b8e89b00f500cf9c1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -900,9 +900,11 @@ public class PurpurWorldConfig {
|
||||
@@ -891,9 +891,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public int spongeAbsorptionArea = 64;
|
||||
public int spongeAbsorptionRadius = 6;
|
||||
@@ -32,4 +32,4 @@ index 2b7d4eeda3244e32c19385dd81531cffc9b1a1d4..1bb12a3b52c997fa6d44f98ab73552ff
|
||||
+ spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava);
|
||||
}
|
||||
|
||||
public float stonecutterDamage = 0.0F;
|
||||
public boolean turtleEggsBreakFromExpOrbs = true;
|
||||
@@ -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 0ecd5c20b1d571ac1e147df0c854412b5c9f3741..3e8f13020f56ce232518a6520d16e90744217938 100644
|
||||
index 8b47c7bdf900a75fee842a27eb415314439fcbb2..93b5df1b561a89ee2f7826662e70106cfbd1d271 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
|
||||
@@ -418,7 +418,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -18,10 +18,10 @@ index 0ecd5c20b1d571ac1e147df0c854412b5c9f3741..3e8f13020f56ce232518a6520d16e907
|
||||
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
|
||||
//int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1bb12a3b52c997fa6d44f98ab73552ffaf87c595..3e14e9ca693cd1649514e84f32951bf70e18863a 100644
|
||||
index 54d6fbcd738dc84a1bc4234b8e89b00f500cf9c1..7120d004cb6398c0b68fdf1608ad0f75111e2557 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2514,6 +2514,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2496,6 +2496,7 @@ public class PurpurWorldConfig {
|
||||
public boolean witherTakeDamageFromWater = false;
|
||||
public boolean witherCanRideVehicles = false;
|
||||
public float witherExplosionRadius = 1.0F;
|
||||
@@ -29,7 +29,7 @@ index 1bb12a3b52c997fa6d44f98ab73552ffaf87c595..3e14e9ca693cd1649514e84f32951bf7
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2535,6 +2536,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2517,6 +2518,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);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cactus breaks from solid neighbors config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
|
||||
index 4323e5cc2054804243e8e2f24fd5447280f218de..13e7f1c70e74577a5db84a37d6299204a0384c40 100644
|
||||
index 1a735974c784c545d7f25548964b25b38ecdc762..36671c0e63daca1f56f7bfec4aee7355badff999 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
|
||||
@@ -109,7 +109,7 @@ public class CactusBlock extends Block {
|
||||
@@ -18,7 +18,7 @@ index 4323e5cc2054804243e8e2f24fd5447280f218de..13e7f1c70e74577a5db84a37d6299204
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3e14e9ca693cd1649514e84f32951bf70e18863a..347b0ffe2bb47a08d781f9e0e970005b33138960 100644
|
||||
index 7120d004cb6398c0b68fdf1608ad0f75111e2557..79262b4ae6e15c2323ecc7901acf2c8bc0411a09 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -723,6 +723,11 @@ public class PurpurWorldConfig {
|
||||
@@ -5,18 +5,18 @@ Subject: [PATCH] Config to remove curse of binding with weakness
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
|
||||
index 111da6398bb561e58571e47743088ce80416234d..0a2c776b9b1da7d0d4481dd527e0068b170cac23 100644
|
||||
index 12643d60f4bfa8e07901aa0a556a1a245b0a7fb4..96a4a9f9b673a07630493290f5d5315e461b6166 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
|
||||
@@ -4,6 +4,7 @@ import com.mojang.datafixers.util.Pair;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.Container;
|
||||
+import net.minecraft.world.effect.MobEffects;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.Mob;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
@@ -88,7 +89,7 @@ public class InventoryMenu extends RecipeBookMenu<CraftingContainer> {
|
||||
@@ -96,7 +97,7 @@ public class InventoryMenu extends RecipeBookMenu<CraftingContainer> {
|
||||
public boolean mayPickup(Player playerEntity) {
|
||||
ItemStack itemstack = this.getItem();
|
||||
|
||||
@@ -26,7 +26,7 @@ index 111da6398bb561e58571e47743088ce80416234d..0a2c776b9b1da7d0d4481dd527e0068b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bb56401a3eea8046ed45c73dcd4d0638455955b5..8f8a8d00fe47a9dc0248c27122212de4e7b3fab3 100644
|
||||
index 79262b4ae6e15c2323ecc7901acf2c8bc0411a09..bac3d00594548f569a70d048cdd6bb10cd77f48b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -397,6 +397,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Conduit behavior configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
|
||||
index b7ec481bb9159bb203ff1688dd7f6b9f9199bccc..5d23659fd7b2507525f315d5cc808aa0ab5baaac 100644
|
||||
index 05eab04e4aec4151018f25b59f92ddbbb4c09f87..8db906e021ca57c7f2a1e7002647e5c50be180aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
|
||||
@@ -172,7 +172,7 @@ public class ConduitBlockEntity extends BlockEntity {
|
||||
@@ -44,10 +44,10 @@ index b7ec481bb9159bb203ff1688dd7f6b9f9199bccc..5d23659fd7b2507525f315d5cc808aa0
|
||||
}
|
||||
CraftEventFactory.blockDamage = null;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 6e77bd28c293537bc7a76b242f01fbb63110b53b..4ca41612b59a003189d12e1062688a6ba920d287 100644
|
||||
index bac3d00594548f569a70d048cdd6bb10cd77f48b..5164449fa33512e1848cbb591308e8b17ef5351e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2733,5 +2733,28 @@ public class PurpurWorldConfig {
|
||||
@@ -2715,5 +2715,28 @@ public class PurpurWorldConfig {
|
||||
private void hungerSettings() {
|
||||
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cauldron fill chances
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
||||
index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc298a02be 100644
|
||||
index 46846ac9981e447fc6886aecf82563378a4f5548..9122485755ce8aa6e6f4773a5fb1315c95533335 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
||||
@@ -29,7 +29,7 @@ public class CauldronBlock extends AbstractCauldronBlock {
|
||||
@@ -18,37 +18,39 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
||||
index 995e3bf2ee863902497ab40cb7cf3a14a22a6e19..0499d79e7882ba521f40851ba31b2a44240f40ec 100644
|
||||
index ef15adf66ea994d15a7d2718dd3d22cd07c31f98..dd87e3efdeafb211c1e44f8dc3348830ed7e22ad 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
||||
@@ -187,19 +187,19 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
|
||||
@@ -188,7 +188,7 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
|
||||
|
||||
@VisibleForTesting
|
||||
public static void maybeFillCauldron(BlockState state, ServerLevel world, BlockPos pos, float dripChance) {
|
||||
public static void maybeTransferFluid(BlockState state, ServerLevel world, BlockPos pos, float dripChance) {
|
||||
- if (dripChance <= 0.17578125F || dripChance <= 0.05859375F) {
|
||||
+ if (dripChance <= world.purpurConfig.cauldronDripstoneWaterFillChance || dripChance <= world.purpurConfig.cauldronDripstoneLavaFillChance) {
|
||||
+ if (dripChance <= world.purpurConfig.cauldronDripstoneWaterFillChance || dripChance <= world.purpurConfig.cauldronDripstoneLavaFillChance) { // Purpur
|
||||
if (PointedDripstoneBlock.isStalactiteStartPos(state, world, pos)) {
|
||||
Fluid fluidtype = PointedDripstoneBlock.getCauldronFillFluidType(world, pos);
|
||||
float f1;
|
||||
Optional<PointedDripstoneBlock.FluidInfo> optional = PointedDripstoneBlock.getFluidAboveStalactite(world, pos, state);
|
||||
|
||||
if (fluidtype == Fluids.WATER) {
|
||||
- f1 = 0.17578125F;
|
||||
+ f1 = world.purpurConfig.cauldronDripstoneWaterFillChance;
|
||||
} else {
|
||||
if (fluidtype != Fluids.LAVA) {
|
||||
return;
|
||||
@@ -197,13 +197,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
|
||||
float f1;
|
||||
|
||||
if (fluidtype == Fluids.WATER) {
|
||||
- f1 = 0.17578125F;
|
||||
+ f1 = world.purpurConfig.cauldronDripstoneWaterFillChance; // Purpur
|
||||
} else {
|
||||
if (fluidtype != Fluids.LAVA) {
|
||||
return;
|
||||
}
|
||||
|
||||
- f1 = 0.05859375F;
|
||||
+ f1 = world.purpurConfig.cauldronDripstoneLavaFillChance; // Purpur
|
||||
}
|
||||
|
||||
- f1 = 0.05859375F;
|
||||
+ f1 = world.purpurConfig.cauldronDripstoneLavaFillChance;
|
||||
}
|
||||
|
||||
if (dripChance < f1) {
|
||||
if (dripChance < f1) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4ca41612b59a003189d12e1062688a6ba920d287..cb28c0dc5a5733e759fc728bb458aaa38452ebea 100644
|
||||
index 5164449fa33512e1848cbb591308e8b17ef5351e..11a3ac969544df828a78dff97e5ca3411b16f98f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2756,5 +2756,16 @@ public class PurpurWorldConfig {
|
||||
@@ -2738,5 +2738,16 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
conduitBlocks = conduitBlockList.toArray(Block[]::new);
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to allow mobs to pathfind over rails
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
||||
index d7bdf3c2a5b99ff7adb3e960ff356a1fad169de0..3ca846cc78ec2ac8c9f840a9ac7f0b87b871f8d7 100644
|
||||
index ede91a2fbe67480d2b6bcdeb776f87da0b69bdae..444bec169c0cd5fe1a23f1d14fae1a10ca3d67c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
||||
@@ -240,7 +240,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
|
||||
@@ -249,7 +249,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
|
||||
}
|
||||
|
||||
if (blockPathTypes != BlockPathTypes.WALKABLE && (!this.isAmphibious() || blockPathTypes != BlockPathTypes.WATER)) {
|
||||
@@ -18,7 +18,7 @@ index d7bdf3c2a5b99ff7adb3e960ff356a1fad169de0..3ca846cc78ec2ac8c9f840a9ac7f0b87
|
||||
if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) {
|
||||
double g = (double)(x - direction.getStepX()) + 0.5D;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b8cf6e9037184d5945887748fb9fbfc8bcbc0f2a..a6909960d14de6c0ecea4f47902d73def5441ffa 100644
|
||||
index 11a3ac969544df828a78dff97e5ca3411b16f98f..38ec31046c2d883c133bd053d89c015d6ca0ced6 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 {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye
|
||||
|
||||
|
||||
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 edaa34c6c2c65df77c696b4654e64bcf37a3ff20..e63a27abef4b9aab0c2afbb92da994e8a11ac14a 100644
|
||||
index ada070d8e1a2d328c02455eb9e5ad056046bcd0a..691b59f784e34b061ea156a3236c09f24a2ea79b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -22,6 +22,8 @@ import net.minecraft.sounds.SoundSource;
|
||||
@@ -47,10 +47,10 @@ index edaa34c6c2c65df77c696b4654e64bcf37a3ff20..e63a27abef4b9aab0c2afbb92da994e8
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bf9a4047175bd22a25545d1e5feac6e475b8c436..24f78e964f39104be5f5eb6c961a7d98bfbeb362 100644
|
||||
index 38ec31046c2d883c133bd053d89c015d6ca0ced6..3b68fe0f5ec84600e4bfd722a0787ab52af973fd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2099,6 +2099,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2085,6 +2085,7 @@ public class PurpurWorldConfig {
|
||||
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
|
||||
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
|
||||
public boolean shulkerSpawnFromBulletRandomColor = false;
|
||||
@@ -58,7 +58,7 @@ index bf9a4047175bd22a25545d1e5feac6e475b8c436..24f78e964f39104be5f5eb6c961a7d98
|
||||
private void shulkerSettings() {
|
||||
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
|
||||
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
|
||||
@@ -2115,6 +2116,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2101,6 +2102,7 @@ public class PurpurWorldConfig {
|
||||
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
|
||||
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
|
||||
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);
|
||||
@@ -223,10 +223,10 @@ index 50927403d07954f3b930b39046866899a1b289e6..c544e411934832cabb230047632454ff
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index d1e4c0253800ca0aaf83f106353cfb4c5b99b3f8..e339c0109c38fde307573af50cb3746b5c7f5848 100644
|
||||
index 3747a3b47735a26a86651677579c20a5eb6a915f..09d1640e67a820aa9d05784b5fb005ef24242cc1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2111,6 +2111,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2073,6 +2073,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
@@ -24,10 +24,10 @@ index 4adfc26062b322443828e94e6b0943884a18846b..0d9ecca25bff63f3428ccf93e2789fca
|
||||
} else if (this.isFuel(itemstack1)) {
|
||||
if (!this.moveItemStackTo(itemstack1, 1, 2, false)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
index 99c207457ec9d1a1b7d9e7becfcc8aae383e93ae..158945281178c80495f1dc2125ea21a2cd6eeb90 100644
|
||||
index 800c80398acb007ae71b06d1a887aa159e866eda..abb90af5eb73eb9c4c73f52feef9a29cccb7bbb9 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
@@ -207,6 +207,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
|
||||
@@ -213,6 +213,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
|
||||
// Paper end
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ index 99c207457ec9d1a1b7d9e7becfcc8aae383e93ae..158945281178c80495f1dc2125ea21a2
|
||||
private int maxStack = MAX_STACK;
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index aec3440b25ca53f04361b7c256d63ff2beb5ba74..bdabc6ec495ca56848ad7b8cc7aef7e5788c7efa 100644
|
||||
index 6b9def09a1f7ccd6370c960723dea079addddeb5..41be109438f5cadebcf3088ff8cb6bdde2c1044b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1434,6 +1434,19 @@ public final class CraftServer implements Server {
|
||||
@@ -1405,6 +1405,19 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index d85249f7944e548f360712212166cdf7ecbf475c..77cb010bd8b67f436726dfe32e5dd3b897beff55 100644
|
||||
index cbfc31d4b3aac2b681034106d8979a8779d529a5..2f9f97ebd02aff41e1ab15fa1e3275e257f14863 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1125,6 +1125,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1121,6 +1121,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
private void resetWeatherCycle() {
|
||||
// CraftBukkit start
|
||||
@@ -16,7 +16,7 @@ index d85249f7944e548f360712212166cdf7ecbf475c..77cb010bd8b67f436726dfe32e5dd3b8
|
||||
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
|
||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
||||
@@ -1132,6 +1133,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1128,6 +1129,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.serverLevelData.setRainTime(0);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -25,7 +25,7 @@ index d85249f7944e548f360712212166cdf7ecbf475c..77cb010bd8b67f436726dfe32e5dd3b8
|
||||
// CraftBukkit start
|
||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 759ca5b6ac6269957b28ef2454e9fd89a9eafc8f..0af5fe7dc87551b1f0322e5955aca6a13fd8dfa2 100644
|
||||
index 3b68fe0f5ec84600e4bfd722a0787ab52af973fd..7aa7e6ccbe65b49a29f1938c4fd3c17ce7c24aac 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -133,6 +133,8 @@ public class PurpurWorldConfig {
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Chance for azalea blocks to grow into trees naturally
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java
|
||||
index ade4d3c56b02b82cf71c6d1b030209c5ba172957..f6273abc36944e2265e6776c57169776e5ea3850 100644
|
||||
index b04d224c23ed0039b86aa4169ce38c4f57cc1a7a..cdebea9c76572b51c424bd68ee6c770f4ae0ac13 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java
|
||||
@@ -42,6 +42,20 @@ public class AzaleaBlock extends BushBlock implements BonemealableBlock {
|
||||
|
||||
@Override
|
||||
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
|
||||
public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
|
||||
+ // Purpur start
|
||||
+ growTree(world, random, pos, state);
|
||||
+ }
|
||||
@@ -30,10 +30,10 @@ index ade4d3c56b02b82cf71c6d1b030209c5ba172957..f6273abc36944e2265e6776c57169776
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
index 71e494b949541284b0642dae4b20a6b3ec459828..625ad12e43cc651c986a3b45ce9a7c5be6b715ab 100644
|
||||
index 5dc3605fed7fb2ff8cc6c965d1bf99c462e0b14a..714fd2617f4fd2ab45d30fd1c0a0743bea1822ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
@@ -996,8 +996,8 @@ public class Blocks {
|
||||
@@ -1027,8 +1027,8 @@ public class Blocks {
|
||||
public static final Block CAVE_VINES = register("cave_vines", new CaveVinesBlock(BlockBehaviour.Properties.of(Material.PLANT).randomTicks().noCollission().lightLevel(CaveVines.emission(14)).instabreak().sound(SoundType.CAVE_VINES)));
|
||||
public static final Block CAVE_VINES_PLANT = register("cave_vines_plant", new CaveVinesPlantBlock(BlockBehaviour.Properties.of(Material.PLANT).noCollission().lightLevel(CaveVines.emission(14)).instabreak().sound(SoundType.CAVE_VINES)));
|
||||
public static final Block SPORE_BLOSSOM = register("spore_blossom", new SporeBlossomBlock(BlockBehaviour.Properties.of(Material.PLANT).instabreak().noCollission().sound(SoundType.SPORE_BLOSSOM)));
|
||||
@@ -45,7 +45,7 @@ index 71e494b949541284b0642dae4b20a6b3ec459828..625ad12e43cc651c986a3b45ce9a7c5b
|
||||
public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS)));
|
||||
public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF)));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b1545bf97518fd60b54a5a52aec9a2a1d88f3691..3b1d8e8663c5a377567ccd2946839fb3fd66a1f5 100644
|
||||
index 7aa7e6ccbe65b49a29f1938c4fd3c17ce7c24aac..d92a9d187fea8afc1ea0453addda99cd715c034e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -683,6 +683,11 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index f9f7afa0bf2989aaef2f0e8456fe3c93a226b6d0..00dee850e9ae93ed4e8209c67da2da6aac8ae22a 100644
|
||||
index 5204b8157a45468a314bbcd2703896b9316128ac..4fb8ced22cb9f106fbe39ca233a844a7effb824a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -547,6 +547,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -511,6 +511,7 @@ public class ServerPlayerGameMode {
|
||||
public InteractionHand interactHand;
|
||||
public ItemStack interactItemStack;
|
||||
public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) {
|
||||
@@ -16,7 +16,7 @@ index f9f7afa0bf2989aaef2f0e8456fe3c93a226b6d0..00dee850e9ae93ed4e8209c67da2da6a
|
||||
BlockPos blockposition = hitResult.getBlockPos();
|
||||
BlockState iblockdata = world.getBlockState(blockposition);
|
||||
InteractionResult enuminteractionresult = InteractionResult.PASS;
|
||||
@@ -640,4 +641,18 @@ public class ServerPlayerGameMode {
|
||||
@@ -604,4 +605,18 @@ public class ServerPlayerGameMode {
|
||||
public void setLevel(ServerLevel world) {
|
||||
this.level = world;
|
||||
}
|
||||
@@ -36,10 +36,10 @@ index f9f7afa0bf2989aaef2f0e8456fe3c93a226b6d0..00dee850e9ae93ed4e8209c67da2da6a
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index d1ff93ffb591bb7c5a905c4794d19e0dd179346e..44581f275fb2133e96599af6460ff5e841b7aa88 100644
|
||||
index 70b9a030a93946a1298ee9594fdd5217ef5a6bca..1c91159b2909d302c35ee8f074295bada7e50c36 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1980,6 +1980,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1997,6 +1997,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
@@ -48,7 +48,7 @@ index d1ff93ffb591bb7c5a905c4794d19e0dd179346e..44581f275fb2133e96599af6460ff5e8
|
||||
cancelled = event.useItemInHand() == Event.Result.DENY;
|
||||
} else {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5240abedf1d90471250fac0dad32252ba22f7855..30b988908f249cd370caafaaaca7ff032ec23ed5 100644
|
||||
index d92a9d187fea8afc1ea0453addda99cd715c034e..58ba485716b6d2141a8aa202cbd049c1ba7a4a1d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -404,6 +404,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 3cc3539f0664eeb048290f4d9b229a5d674fff3c..f41aadb12c2d661014c488b4fc52298668c95da0 100644
|
||||
index 1e95fa49a5dc8b756756924cbaf12d49ad33a274..89e3eec134868f727d776ee8144b291518a3931a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -79,6 +79,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -47,10 +47,10 @@ index 3cc3539f0664eeb048290f4d9b229a5d674fff3c..f41aadb12c2d661014c488b4fc522986
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 27662839ca797f13296bcad00575991be3fa646c..2fdd689519f4610d9845632a88807aad1093d2ed 100644
|
||||
index 58ba485716b6d2141a8aa202cbd049c1ba7a4a1d..e7757e0cf9f03b523ff60988998c018d13234633 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1196,6 +1196,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1182,6 +1182,7 @@ public class PurpurWorldConfig {
|
||||
public double dolphinMaxHealth = 10.0D;
|
||||
public boolean dolphinDisableTreasureSearching = false;
|
||||
public boolean dolphinTakeDamageFromWater = false;
|
||||
@@ -58,7 +58,7 @@ index 27662839ca797f13296bcad00575991be3fa646c..2fdd689519f4610d9845632a88807aad
|
||||
private void dolphinSettings() {
|
||||
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
|
||||
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
|
||||
@@ -1210,6 +1211,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1196,6 +1197,7 @@ public class PurpurWorldConfig {
|
||||
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
|
||||
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
|
||||
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);
|
||||
@@ -59,10 +59,10 @@ index 00eec3f51e62858e7b85b3340e76bf66bfd4370f..b5002526f20fb8ae52783a6ba95ccd2d
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2fdd689519f4610d9845632a88807aad1093d2ed..164a5485500a59008fda77e2d5e890e952ec4830 100644
|
||||
index e7757e0cf9f03b523ff60988998c018d13234633..302bcc8413d99be8d79c58c9ecabc5e2bd6e493b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1145,7 +1145,14 @@ public class PurpurWorldConfig {
|
||||
@@ -1131,7 +1131,14 @@ public class PurpurWorldConfig {
|
||||
public int cowFeedMushrooms = 0;
|
||||
public int cowBreedingTicks = 6000;
|
||||
public boolean cowTakeDamageFromWater = false;
|
||||
@@ -77,7 +77,7 @@ index 2fdd689519f4610d9845632a88807aad1093d2ed..164a5485500a59008fda77e2d5e890e9
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
|
||||
@@ -1158,6 +1165,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1144,6 +1151,8 @@ public class PurpurWorldConfig {
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
|
||||
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for beds to explode on villager sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index f810e1d00c084e9a1edaa367752c040032a58d75..8a4a18e87f5770addf4316ab9262895780396ba5 100644
|
||||
index ebc2a2f0518423dbc527d2b622d71320a56a34a9..c8a82fd10cadc27f394a7cde646a5a2e9eb39371 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -1176,6 +1176,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1078,6 +1078,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public void startSleeping(BlockPos pos) {
|
||||
@@ -22,7 +22,7 @@ index f810e1d00c084e9a1edaa367752c040032a58d75..8a4a18e87f5770addf4316ab92628957
|
||||
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error
|
||||
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 164a5485500a59008fda77e2d5e890e952ec4830..8f89e57f08570f5c93b7b764c60ae6180a1fd096 100644
|
||||
index 302bcc8413d99be8d79c58c9ecabc5e2bd6e493b..061e2a6c362c6a3d65520835b7f0b63d656def81 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -702,11 +702,13 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index d4dde82e28200df974b5a084f2d3d7780d8da1bf..4d39f68a0d0de84474ef96f10cb35e97db2fd9f8 100644
|
||||
index 9c8f26a7510c43e24b49660546d524f7bed85a5e..0a859842e16e2cd2dfc25f0fa9920966506dccdb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -316,7 +316,7 @@ public class Bat extends AmbientCreature {
|
||||
@@ -17,36 +17,36 @@ index d4dde82e28200df974b5a084f2d3d7780d8da1bf..4d39f68a0d0de84474ef96f10cb35e97
|
||||
b0 = 7;
|
||||
} else if (random.nextBoolean()) {
|
||||
return false;
|
||||
@@ -330,6 +330,7 @@ public class Bat extends AmbientCreature {
|
||||
private static boolean isSpookySeason = false;
|
||||
private static final int ONE_HOUR = 20 * 60 * 60;
|
||||
private static int lastSpookyCheck = -ONE_HOUR;
|
||||
@@ -326,6 +326,7 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
}
|
||||
|
||||
+ public static boolean isHalloweenSeason(Level level) { return level.purpurConfig.forceHalloweenSeason || isHalloween(); } // Purpur
|
||||
private static boolean isHalloween() {
|
||||
if (net.minecraft.server.MinecraftServer.currentTick - lastSpookyCheck > ONE_HOUR) {
|
||||
LocalDate localdate = LocalDate.now();
|
||||
int i = localdate.get(ChronoField.DAY_OF_MONTH);
|
||||
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 193622015c6d3dbff787061e13fa098a287bce0c..1c48ac2f0b6cfee952ce5e76d7d886034ef871c0 100644
|
||||
index fffdea563dbe48ce8c1b13cbe0d052940fa9f571..085b3b29942639dede102c8228e1124bb2e1be8f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
@@ -137,11 +137,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
@@ -140,11 +140,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
|
||||
this.reassessWeaponGoal();
|
||||
this.setCanPickUpLoot(this.level.paperConfig.skeletonsAlwaysCanPickUpLoot || this.random.nextFloat() < 0.55F * difficulty.getSpecialMultiplier()); // Paper
|
||||
this.setCanPickUpLoot(this.level.paperConfig.skeletonsAlwaysCanPickUpLoot || randomsource.nextFloat() < 0.55F * difficulty.getSpecialMultiplier()); // Paper
|
||||
if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) {
|
||||
- LocalDate localdate = LocalDate.now();
|
||||
- int i = localdate.get(ChronoField.DAY_OF_MONTH);
|
||||
- int j = localdate.get(ChronoField.MONTH_OF_YEAR);
|
||||
-
|
||||
- if (j == 10 && i == 31 && this.random.nextFloat() < 0.25F) {
|
||||
- if (j == 10 && i == 31 && randomsource.nextFloat() < 0.25F) {
|
||||
+ if (net.minecraft.world.entity.ambient.Bat.isHalloweenSeason(world.getMinecraftWorld()) && this.random.nextFloat() < this.level.purpurConfig.chanceHeadHalloweenOnEntity) { // Purpur
|
||||
this.setItemSlot(EquipmentSlot.HEAD, new ItemStack(this.random.nextFloat() < 0.1F ? Blocks.JACK_O_LANTERN : Blocks.CARVED_PUMPKIN));
|
||||
this.setItemSlot(EquipmentSlot.HEAD, new ItemStack(randomsource.nextFloat() < 0.1F ? Blocks.JACK_O_LANTERN : Blocks.CARVED_PUMPKIN));
|
||||
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
|
||||
}
|
||||
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 bc92a419f15d20f741dc6b7b218018c0c06ae6c2..9ece6bea001aa74b4f2c2971d6f27dc4b1168045 100644
|
||||
index 8f88e320d7165cb56172d6a1bfa4bf3c5c2a9162..5b91419948b8c08805fdf9c8bb70fd98eaa2ca7c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -580,11 +580,7 @@ public class Zombie extends Monster {
|
||||
@@ -585,11 +585,7 @@ public class Zombie extends Monster {
|
||||
}
|
||||
|
||||
if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) {
|
||||
@@ -54,16 +54,16 @@ index bc92a419f15d20f741dc6b7b218018c0c06ae6c2..9ece6bea001aa74b4f2c2971d6f27dc4
|
||||
- int i = localdate.get(ChronoField.DAY_OF_MONTH);
|
||||
- int j = localdate.get(ChronoField.MONTH_OF_YEAR);
|
||||
-
|
||||
- if (j == 10 && i == 31 && this.random.nextFloat() < 0.25F) {
|
||||
- if (j == 10 && i == 31 && randomsource.nextFloat() < 0.25F) {
|
||||
+ if (net.minecraft.world.entity.ambient.Bat.isHalloweenSeason(world.getMinecraftWorld()) && this.random.nextFloat() < this.level.purpurConfig.chanceHeadHalloweenOnEntity) { // Purpur
|
||||
this.setItemSlot(EquipmentSlot.HEAD, new ItemStack(this.random.nextFloat() < 0.1F ? Blocks.JACK_O_LANTERN : Blocks.CARVED_PUMPKIN));
|
||||
this.setItemSlot(EquipmentSlot.HEAD, new ItemStack(randomsource.nextFloat() < 0.1F ? Blocks.JACK_O_LANTERN : Blocks.CARVED_PUMPKIN));
|
||||
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 63fdfe796bc828046a54a8dd522a834a12860105..f111aa6439f785cc9ea396efe50ab06a159ee1b2 100644
|
||||
index 061e2a6c362c6a3d65520835b7f0b63d656def81..03e2531b7057eaa2c52c641ff311ca8654a35c19 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1525,6 +1525,13 @@ public class PurpurWorldConfig {
|
||||
@@ -1511,6 +1511,13 @@ public class PurpurWorldConfig {
|
||||
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config for grindstones
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
index 0bdf874ddb951daf8d469575a44144504472d12d..855ff86696d27f7029ec8bd2558207078a62525b 100644
|
||||
index 740b778ce14f241e509f17c3a84b9ed47cdeeebe..36a6db1752fbde0e071af0da8c212c5c834b5b2e 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
@@ -130,7 +130,7 @@ public class GrindstoneMenu extends AbstractContainerMenu {
|
||||
@@ -57,10 +57,10 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..855ff86696d27f7029ec8bd255820707
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index f59247132b92abafc20437f958b69a7964676423..147175986954fbcc66a960efd65c3f60cd6016d3 100644
|
||||
index 312d29bc2fff8553fd2b58b0b89670d336bcc79d..edbda0b79ecce794254dc8e3e6e0847a20cf8fde 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -319,6 +319,9 @@ public class PurpurConfig {
|
||||
@@ -317,6 +317,9 @@ public class PurpurConfig {
|
||||
public static int beeInsideBeeHive = 3;
|
||||
public static boolean anvilCumulativeCost = true;
|
||||
public static int lightningRodRange = 128;
|
||||
@@ -70,7 +70,7 @@ index f59247132b92abafc20437f958b69a7964676423..147175986954fbcc66a960efd65c3f60
|
||||
private static void blockSettings() {
|
||||
if (version < 3) {
|
||||
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
|
||||
@@ -353,6 +356,19 @@ public class PurpurConfig {
|
||||
@@ -351,6 +354,19 @@ public class PurpurConfig {
|
||||
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
|
||||
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);
|
||||
lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] UPnP Port Forwarding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 2d31d6beb1f98c05c8ff1ffca6f477328e692bbe..836028033093ea72c670afafeee4b81a421dd459 100644
|
||||
index 3cbfbfeccb6603dc8dc60d85b8db19b61a736b72..1facde28d476bbdb86e33aac3d4f2754fe89c36f 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -293,6 +293,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Spigot end
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
public boolean lagging = false; // Purpur
|
||||
@@ -16,8 +16,8 @@ index 2d31d6beb1f98c05c8ff1ffca6f477328e692bbe..836028033093ea72c670afafeee4b81a
|
||||
|
||||
public volatile Thread shutdownThread; // Paper
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
@@ -971,6 +972,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// CraftBukkit end
|
||||
@@ -926,6 +927,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
MinecraftServer.LOGGER.info("Stopping server");
|
||||
MinecraftTimings.stopServer(); // Paper
|
||||
+ // Purpur start
|
||||
@@ -32,10 +32,10 @@ index 2d31d6beb1f98c05c8ff1ffca6f477328e692bbe..836028033093ea72c670afafeee4b81a
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index f508eda7f689ef1a5743bda4d68a863f37108486..2a6d3c49a337b3815fdcc7624e90d875464bb7da 100644
|
||||
index 1a9b717c06ae93d996457399d35abb167a4c5f45..48d48ebd82a5a8caabadf92979d457a44408585c 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -293,6 +293,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -283,6 +283,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.warn("Perhaps a server is already running on that port?");
|
||||
return false;
|
||||
}
|
||||
@@ -67,10 +67,10 @@ index f508eda7f689ef1a5743bda4d68a863f37108486..2a6d3c49a337b3815fdcc7624e90d875
|
||||
// CraftBukkit start
|
||||
// this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 2657f8e49058f7801c2435d499e6133e912021ac..3462a34a7d8e2bbf4c19c02a0b9f19ad5ccdc00f 100644
|
||||
index edbda0b79ecce794254dc8e3e6e0847a20cf8fde..b4c7252e39a58312ed90e553a2a79a1ed768ce00 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -422,4 +422,9 @@ public class PurpurConfig {
|
||||
@@ -420,4 +420,9 @@ public class PurpurConfig {
|
||||
private static void tpsCatchup() {
|
||||
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Campfire option for lit when placed
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
|
||||
index b29d1fd37f3f265e01128ff6fb1d56da2280f6e0..9b8d7fac4cb70a9abcbed7371fd64358fb12fd10 100644
|
||||
index a4c44cb59dee29cf227dbb51bfc1576d89dfb2e3..551bacade8642e6aad17120d8a901bcc293f2eb2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
|
||||
@@ -123,7 +123,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
|
||||
@@ -18,7 +18,7 @@ index b29d1fd37f3f265e01128ff6fb1d56da2280f6e0..9b8d7fac4cb70a9abcbed7371fd64358
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 06f7a566d0f47a4f3345f9348869e2bd841db2a7..d6fa58516e0301399d5ba4bfbe0256c5076414c0 100644
|
||||
index 03e2531b7057eaa2c52c641ff311ca8654a35c19..d2485e5f86a4fb010daf867ea1ff293c137fd23e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -745,6 +745,11 @@ public class PurpurWorldConfig {
|
||||
@@ -46,7 +46,7 @@ index d5d84893c77b4e60a19032d765d76bfd24cbbb2b..ef265cec066ef3b84c2b3a4929af5183
|
||||
protected void onHit(HitResult hitResult) {
|
||||
super.onHit(hitResult);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0ce648f03aaa9e3e56ae01c3b5e5da941f9da9af..f8d5d37afe4ce8f884b927447b0875f3b6e08171 100644
|
||||
index d2485e5f86a4fb010daf867ea1ff293c137fd23e..ed943bcee4bcd988cff15e3121161e9d102e787d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -223,6 +223,9 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable zombie villagers cure
|
||||
|
||||
|
||||
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 6c559f78cc7eab34d6109c1926067720d964d42c..2ed3df59dbbb811a1b2c13c4a6eff9c602371149 100644
|
||||
index 54b5749a5e40ed9042af1c4904afcdc4af157d82..07c2ea2d16c9df6107247507fcd09025923a7798 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -212,7 +212,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -211,7 +211,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (itemstack.is(Items.GOLDEN_APPLE)) {
|
||||
@@ -18,10 +18,10 @@ index 6c559f78cc7eab34d6109c1926067720d964d42c..2ed3df59dbbb811a1b2c13c4a6eff9c6
|
||||
itemstack.shrink(1);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 21a4f4e4ddf8d9b27df012192db11344dfd44752..f1d8ddc36abfd278cc7d956f5fe980e0d1bcafeb 100644
|
||||
index ed943bcee4bcd988cff15e3121161e9d102e787d..8d620dad9c7995b4e8ed30188acfc9959e3e5d42 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2733,6 +2733,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2715,6 +2715,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieVillagerTakeDamageFromWater = false;
|
||||
public int zombieVillagerCuringTimeMin = 3600;
|
||||
public int zombieVillagerCuringTimeMax = 6000;
|
||||
@@ -29,7 +29,7 @@ index 21a4f4e4ddf8d9b27df012192db11344dfd44752..f1d8ddc36abfd278cc7d956f5fe980e0
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -2750,6 +2751,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2732,6 +2733,7 @@ public class PurpurWorldConfig {
|
||||
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
|
||||
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
|
||||
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
|
||||
@@ -7,7 +7,7 @@ Makes it so that when a BlockEntity is placed in the world and then broken,
|
||||
the dropped ItemStack retains any original custom display name/lore.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
index 8a5f6d955577a8f8a63a846169a63fe9685b6321..eb595d1b6ef59ca18ce1c3c3ccd2aa05242ebe65 100644
|
||||
index 72d94c79db5a6d0d41220b34ba6a1787b66a6cfd..fa12a9b6daa82dd032a86f78613a3c3cb32e9660 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
@@ -151,7 +151,24 @@ public class BlockItem extends Item {
|
||||
@@ -37,53 +37,49 @@ index 8a5f6d955577a8f8a63a846169a63fe9685b6321..eb595d1b6ef59ca18ce1c3c3ccd2aa05
|
||||
|
||||
@Nullable
|
||||
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 5dede264fc3cb045b6330e35123b5b416c1b1f56..10fa3a544d01ce3cdb72e72952073d86913bd65b 100644
|
||||
index 080789515ca32ada386f9342d0ee819242573811..cf8fc17acac23b02b86678e8732329d7a6135e46 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -20,6 +20,9 @@ import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.IdMapper;
|
||||
import net.minecraft.core.NonNullList;
|
||||
import net.minecraft.core.Registry;
|
||||
@@ -65,6 +65,13 @@ import net.minecraft.world.phys.shapes.Shapes;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
+// Purpur start
|
||||
+import net.minecraft.nbt.CompoundTag;
|
||||
+import net.minecraft.nbt.ListTag;
|
||||
+import net.minecraft.nbt.StringTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
@@ -27,6 +30,7 @@ import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.stats.Stats;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.util.Mth;
|
||||
+import net.minecraft.world.Nameable;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
@@ -325,7 +329,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
+// Purpur end
|
||||
+
|
||||
public class Block extends BlockBehaviour implements ItemLike {
|
||||
|
||||
private static final Logger LOGGER = LogUtils.getLogger();
|
||||
@@ -327,7 +334,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
public static void dropResources(BlockState state, LevelAccessor world, BlockPos pos, @Nullable BlockEntity blockEntity) {
|
||||
if (world instanceof ServerLevel) {
|
||||
Block.getDrops(state, (ServerLevel) world, pos, blockEntity).forEach((itemstack) -> {
|
||||
- Block.popResource((ServerLevel) world, pos, itemstack);
|
||||
+ Block.popResource((ServerLevel) world, pos, applyDisplayNameAndLoreFromTile(itemstack, blockEntity)); // Purpur
|
||||
});
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY);
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true);
|
||||
}
|
||||
@@ -341,7 +345,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -343,7 +350,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
io.papermc.paper.event.block.BlockBreakBlockEvent event = new io.papermc.paper.event.block.BlockBreakBlockEvent(org.bukkit.craftbukkit.block.CraftBlock.at(world, pos), org.bukkit.craftbukkit.block.CraftBlock.at(world, source), items);
|
||||
event.callEvent();
|
||||
for (var drop : event.getDrops()) {
|
||||
- popResource(world.getMinecraftWorld(), pos, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop));
|
||||
+ popResource(world.getMinecraftWorld(), pos, applyDisplayNameAndLoreFromTile(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop), blockEntity)); // Purpur
|
||||
}
|
||||
state.spawnAfterBreak(world.getMinecraftWorld(), pos, ItemStack.EMPTY);
|
||||
state.spawnAfterBreak(world.getMinecraftWorld(), pos, ItemStack.EMPTY, true);
|
||||
}
|
||||
@@ -352,13 +356,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -354,13 +361,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) {
|
||||
if (world instanceof ServerLevel) {
|
||||
Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, stack).forEach((itemstack1) -> {
|
||||
- Block.popResource(world, pos, itemstack1);
|
||||
+ Block.popResource(world, pos, applyDisplayNameAndLoreFromTile(itemstack1, blockEntity)); // Purpur
|
||||
});
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, stack);
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, stack, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -199,7 +195,7 @@ index b96d57b0bcf21508f8e03e96b7553eb486fdf212..d3de829a4ab5f5a127fb026a8cb4ef4e
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e953cba9d472ade2261011b8e5f8f340ca0c3b4e..90d31d52f7b2c8933c6703ab6d621b48ef801df0 100644
|
||||
index 8d620dad9c7995b4e8ed30188acfc9959e3e5d42..e29b7864457c951e62644a040f03e9af722914fd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -124,6 +124,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0a345562354dc3f1e1366da96149d204a95f6fbc..b717dad7145eeb7b4d1f6870779c1df9dea3261a 100644
|
||||
index 5da0ea40642d35a32e47ca0465aa3475bad36b6b..0d669ae74cf1528f2973b05da02c683807eaa967 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1501,6 +1501,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1510,6 +1510,7 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public void openTextEdit(SignBlockEntity sign) {
|
||||
@@ -17,32 +17,32 @@ index 0a345562354dc3f1e1366da96149d204a95f6fbc..b717dad7145eeb7b4d1f6870779c1df9
|
||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
|
||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 44581f275fb2133e96599af6460ff5e841b7aa88..5d930933dd3fdca91374eba8991275faebd86935 100644
|
||||
index 1c91159b2909d302c35ee8f074295bada7e50c36..dcf75f84070c8778fabea5f161bead0b96252497 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3195,11 +3195,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end
|
||||
@@ -3375,11 +3375,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
for (int i = 0; i < signText.size(); ++i) {
|
||||
FilteredText<Component> filteredtext = (signText.get(i)).map(Component::literal); // CraftBukkit - decompile error
|
||||
|
||||
- if (this.player.isTextFilteringEnabled()) {
|
||||
- lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(currentLine.getFiltered())));
|
||||
- } else {
|
||||
- lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(currentLine.getRaw())));
|
||||
- }
|
||||
+ String line = SharedConstants.filterText(this.player.isTextFilteringEnabled() ? currentLine.getFiltered() : currentLine.getRaw());
|
||||
- lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(filteredtext.filteredOrElse(CommonComponents.EMPTY).getString()))); // Paper - adventure
|
||||
+ // Purpur start
|
||||
+ String line = SharedConstants.filterText(this.player.isTextFilteringEnabled() ? filteredtext.filteredOrElse(CommonComponents.EMPTY).getString() : filteredtext.raw().getString());
|
||||
+ if (worldserver.purpurConfig.signAllowColors) {
|
||||
+ if (player.hasPermission("purpur.sign.color")) line = line.replaceAll("(?i)&([0-9a-fr])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.style")) line = line.replaceAll("(?i)&([l-or])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.magic")) line = line.replaceAll("(?i)&([kr])", "\u00a7$1");
|
||||
+ lines.add(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(line));
|
||||
+ } else
|
||||
} else {
|
||||
- lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(filteredtext.raw().getString()))); // Paper - adventure
|
||||
+ lines.add(net.kyori.adventure.text.Component.text(line));
|
||||
}
|
||||
+ // Purpur end
|
||||
}
|
||||
SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.player.getBukkitEntity(), lines);
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
index d5bcc81a809e3c733c6fc11309bcf0913860edf6..1846aeffc9ad24405ddce0e727552fa6df6e3997 100644
|
||||
index 504ee81804f3b55590ee053f50481774524bb9b1..2d5f25380a4f846a3327ac0a331cc8cc8fde3149 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
|
||||
@@ -186,6 +186,23 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
|
||||
@@ -70,10 +70,10 @@ index d5bcc81a809e3c733c6fc11309bcf0913860edf6..1846aeffc9ad24405ddce0e727552fa6
|
||||
public CompoundTag getUpdateTag() {
|
||||
return this.saveWithoutMetadata();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 90d31d52f7b2c8933c6703ab6d621b48ef801df0..52d451bec22ad9667ec736715131030df75a022a 100644
|
||||
index e29b7864457c951e62644a040f03e9af722914fd..7049742009d6deb4e05588c06e50daddc1258e5f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -924,8 +924,10 @@ public class PurpurWorldConfig {
|
||||
@@ -915,8 +915,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean signRightClickEdit = false;
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
|
||||
index effee89e308c9a663938ac5b00a8c6512ce407c2..702f1b804df86e7df497ba65e0c51f05d3491860 100644
|
||||
index 6659a96b3638265f128a352cc9f12629874bfb4b..5019fd602a913b01ea6b6278c73164c50a154476 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
|
||||
@@ -88,4 +88,11 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
|
||||
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
|
||||
public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
|
||||
world.setBlock(pos, (BlockState) state.setValue(CaveVinesBlock.BERRIES, true), 2);
|
||||
}
|
||||
+
|
||||
@@ -21,7 +21,7 @@ index effee89e308c9a663938ac5b00a8c6512ce407c2..702f1b804df86e7df497ba65e0c51f05
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
|
||||
index 8e642ff6d387e05f900acfc3cf6cfa5975bf69e4..c17bfbd26ad70010ca6c3553970b3fdbf704d1b7 100644
|
||||
index 4d1e1cf4c541793492a02681087a6242e7977acd..7e776115872873b13af4352791ef23630c10f3ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
|
||||
@@ -38,6 +38,8 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
|
||||
@@ -31,7 +31,7 @@ index 8e642ff6d387e05f900acfc3cf6cfa5975bf69e4..c17bfbd26ad70010ca6c3553970b3fdb
|
||||
+ public abstract int getMaxGrowthAge(ServerLevel world); // Purpur
|
||||
+
|
||||
@Override
|
||||
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) {
|
||||
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
|
||||
// Paper start
|
||||
@@ -53,7 +55,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
|
||||
} else {
|
||||
@@ -44,7 +44,7 @@ index 8e642ff6d387e05f900acfc3cf6cfa5975bf69e4..c17bfbd26ad70010ca6c3553970b3fdb
|
||||
|
||||
@@ -121,13 +123,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
|
||||
@Override
|
||||
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
|
||||
public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
|
||||
BlockPos blockposition1 = pos.relative(this.growthDirection);
|
||||
- int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, 25);
|
||||
+ int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, getMaxGrowthAge(world));
|
||||
@@ -59,17 +59,17 @@ index 8e642ff6d387e05f900acfc3cf6cfa5975bf69e4..c17bfbd26ad70010ca6c3553970b3fdb
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
|
||||
index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..9ddd25648c70ec1608609f4a63f4df53805c8732 100644
|
||||
index bc66fa91ec3e13431d5d9b6e17935cab73066be7..171eeab0c395af77725f3e62ef9594a1c22f381f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
|
||||
@@ -4,6 +4,7 @@ import java.util.Random;
|
||||
@@ -3,6 +3,7 @@ package net.minecraft.world.level.block;
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.tags.FluidTags;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@@ -64,4 +65,11 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta
|
||||
public FluidState getFluidState(BlockState state) {
|
||||
return Fluids.WATER.getSource(false);
|
||||
@@ -83,17 +83,17 @@ index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..9ddd25648c70ec1608609f4a63f4df53
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
|
||||
index bc9813ad36d95d90eafe51afa27857937b6eecc6..23f4663cb3760097b464ee310682bd6f1bfae580 100644
|
||||
index 6866605c7ef5361b21130a19a59c3fa3660dfb19..e8fe6959b96e4f4669adffd8b56f4f3204721a7e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.level.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.core.Direction;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
@@ -5,6 +5,7 @@ import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
+import net.minecraft.server.level.ServerLevel; // Purpur
|
||||
|
||||
public class TwistingVinesBlock extends GrowingPlantHeadBlock {
|
||||
public static final VoxelShape SHAPE = Block.box(4.0D, 0.0D, 4.0D, 12.0D, 15.0D, 12.0D);
|
||||
@@ -27,4 +28,11 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock {
|
||||
protected boolean canGrowInto(BlockState state) {
|
||||
return NetherVines.isValidGrowthState(state);
|
||||
@@ -107,17 +107,17 @@ index bc9813ad36d95d90eafe51afa27857937b6eecc6..23f4663cb3760097b464ee310682bd6f
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
|
||||
index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..913818656f058990270ed1e4303da1c45bd70c8d 100644
|
||||
index e5c135ec059746b75fe58516809584221285cdbe..b09ccc493c7503aa99a64d760b5bc769aa62095b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.level.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.core.Direction;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
@@ -5,6 +5,7 @@ import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
+import net.minecraft.server.level.ServerLevel; // Purpur
|
||||
|
||||
public class WeepingVinesBlock extends GrowingPlantHeadBlock {
|
||||
protected static final VoxelShape SHAPE = Block.box(4.0D, 9.0D, 4.0D, 12.0D, 16.0D, 12.0D);
|
||||
@@ -27,4 +28,11 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock {
|
||||
protected boolean canGrowInto(BlockState state) {
|
||||
return NetherVines.isValidGrowthState(state);
|
||||
@@ -131,7 +131,7 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..913818656f058990270ed1e4303da1c4
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9f3e5b797bbb00035093915a8a6277b3be4fb9b8..193b88dfce1b6db8687ce4552bb6cd26fdee23f0 100644
|
||||
index 7049742009d6deb4e05588c06e50daddc1258e5f..dad9ee9b52a152bd64f116e83ed95e29c62003ad 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -768,6 +768,11 @@ public class PurpurWorldConfig {
|
||||
@@ -146,7 +146,7 @@ index 9f3e5b797bbb00035093915a8a6277b3be4fb9b8..193b88dfce1b6db8687ce4552bb6cd26
|
||||
public boolean dispenserApplyCursedArmor = true;
|
||||
public boolean dispenserPlaceAnvils = false;
|
||||
private void dispenserSettings() {
|
||||
@@ -864,6 +869,16 @@ public class PurpurWorldConfig {
|
||||
@@ -862,6 +867,16 @@ public class PurpurWorldConfig {
|
||||
mobsSpawnOnBlueIce = getBoolean("blocks.blue_ice.allow-mob-spawns", mobsSpawnOnBlueIce);
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ index 9f3e5b797bbb00035093915a8a6277b3be4fb9b8..193b88dfce1b6db8687ce4552bb6cd26
|
||||
public boolean lavaInfinite = false;
|
||||
public int lavaInfiniteRequiredSources = 2;
|
||||
public int lavaSpeedNether = 10;
|
||||
@@ -965,6 +980,16 @@ public class PurpurWorldConfig {
|
||||
@@ -951,6 +966,16 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing);
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ index 9f3e5b797bbb00035093915a8a6277b3be4fb9b8..193b88dfce1b6db8687ce4552bb6cd26
|
||||
public boolean waterInfinite = true;
|
||||
public int waterInfiniteRequiredSources = 2;
|
||||
private void waterSources() {
|
||||
@@ -972,6 +997,16 @@ public class PurpurWorldConfig {
|
||||
@@ -958,6 +983,16 @@ public class PurpurWorldConfig {
|
||||
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,42 +5,42 @@ Subject: [PATCH] Potion NamespacedKey
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/effect/MobEffectInstance.java b/src/main/java/net/minecraft/world/effect/MobEffectInstance.java
|
||||
index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a34682e5a 100644
|
||||
index 2faf634994f355ef1bf07fc70f1a0f4451db5fcc..aa34db072f496e53abef7541156ddf8d2ef0c1c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/effect/MobEffectInstance.java
|
||||
+++ b/src/main/java/net/minecraft/world/effect/MobEffectInstance.java
|
||||
@@ -6,6 +6,7 @@ import javax.annotation.Nullable;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@@ -13,6 +13,7 @@ import net.minecraft.util.ExtraCodecs;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import org.slf4j.Logger;
|
||||
+import org.bukkit.NamespacedKey;
|
||||
|
||||
public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
private static final Logger LOGGER = LogUtils.getLogger();
|
||||
@@ -17,6 +18,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -24,6 +25,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
private boolean visible;
|
||||
private boolean showIcon;
|
||||
@Nullable
|
||||
+ private NamespacedKey key; // Purpur - add key
|
||||
private MobEffectInstance hiddenEffect;
|
||||
private Optional<MobEffectInstance.FactorData> factorData;
|
||||
|
||||
public MobEffectInstance(MobEffect type) {
|
||||
@@ -40,12 +42,27 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -48,12 +50,27 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
}
|
||||
|
||||
public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable MobEffectInstance hiddenEffect) {
|
||||
public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable MobEffectInstance hiddenEffect, Optional<MobEffectInstance.FactorData> factorCalculationData) {
|
||||
+ // Purpur start
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showIcon, (NamespacedKey)null, hiddenEffect);
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showIcon, (NamespacedKey)null, hiddenEffect, factorCalculationData);
|
||||
+ }
|
||||
+
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, @Nullable NamespacedKey key) {
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showParticles, key, (MobEffectInstance)null);
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, @Nullable NamespacedKey key, Optional<MobEffectInstance.FactorData> factorCalculationData) {
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showParticles, key, (MobEffectInstance)null, factorCalculationData);
|
||||
+ }
|
||||
+
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable NamespacedKey key) {
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showIcon, key, (MobEffectInstance)null);
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable NamespacedKey key, Optional<MobEffectInstance.FactorData> factorCalculationData) {
|
||||
+ this(type, duration, amplifier, ambient, showParticles, showIcon, key, (MobEffectInstance)null, factorCalculationData);
|
||||
+ }
|
||||
+
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable NamespacedKey key, @Nullable MobEffectInstance hiddenEffect) { // Purpur - add key
|
||||
+ public MobEffectInstance(MobEffect type, int duration, int amplifier, boolean ambient, boolean showParticles, boolean showIcon, @Nullable NamespacedKey key, @Nullable MobEffectInstance hiddenEffect, Optional<MobEffectInstance.FactorData> factorCalculationData) { // Purpur - add key
|
||||
+ // Purpur end
|
||||
this.effect = type;
|
||||
this.duration = duration;
|
||||
@@ -50,9 +50,9 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
this.showIcon = showIcon;
|
||||
+ this.key = key; // Purpur - add key
|
||||
this.hiddenEffect = hiddenEffect;
|
||||
this.factorData = factorCalculationData;
|
||||
}
|
||||
|
||||
@@ -60,6 +77,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -74,6 +91,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
this.ambient = that.ambient;
|
||||
this.visible = that.visible;
|
||||
this.showIcon = that.showIcon;
|
||||
@@ -60,7 +60,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
}
|
||||
|
||||
public boolean update(MobEffectInstance that) {
|
||||
@@ -104,6 +122,13 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -126,6 +144,13 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
bl = true;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
return bl;
|
||||
}
|
||||
|
||||
@@ -131,6 +156,17 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -153,6 +178,17 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
return this.showIcon;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
public boolean tick(LivingEntity entity, Runnable overwriteCallback) {
|
||||
if (this.duration > 0) {
|
||||
if (this.effect.isDurationEffectTick(this.duration, this.amplifier)) {
|
||||
@@ -184,6 +220,12 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -209,6 +245,12 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
string = string + ", Show Icon: false";
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
return string;
|
||||
}
|
||||
|
||||
@@ -195,7 +237,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -220,7 +262,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
return false;
|
||||
} else {
|
||||
MobEffectInstance mobEffectInstance = (MobEffectInstance)object;
|
||||
@@ -114,7 +114,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,6 +261,11 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -244,6 +286,11 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
nbt.putBoolean("Ambient", this.isAmbient());
|
||||
nbt.putBoolean("ShowParticles", this.isVisible());
|
||||
nbt.putBoolean("ShowIcon", this.showIcon());
|
||||
@@ -126,7 +126,7 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
if (this.hiddenEffect != null) {
|
||||
CompoundTag compoundTag = new CompoundTag();
|
||||
this.hiddenEffect.save(compoundTag);
|
||||
@@ -248,12 +295,19 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
@@ -278,6 +325,13 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
bl3 = nbt.getBoolean("ShowIcon");
|
||||
}
|
||||
|
||||
@@ -140,10 +140,12 @@ index b84610d00f710c656d9eaf85b80e796f8be4bca3..390a70b9d9aa40a2511ab6588df2833a
|
||||
MobEffectInstance mobEffectInstance = null;
|
||||
if (nbt.contains("HiddenEffect", 10)) {
|
||||
mobEffectInstance = loadSpecifiedEffect(type, nbt.getCompound("HiddenEffect"));
|
||||
@@ -290,7 +344,7 @@ public class MobEffectInstance implements Comparable<MobEffectInstance> {
|
||||
optional = Optional.empty();
|
||||
}
|
||||
|
||||
- return new MobEffectInstance(type, j, i < 0 ? 0 : i, bl, bl2, bl3, mobEffectInstance);
|
||||
+ return new MobEffectInstance(type, j, i < 0 ? 0 : i, bl, bl2, bl3, key, mobEffectInstance); // Purpur - add key
|
||||
- return new MobEffectInstance(type, j, Math.max(i, 0), bl, bl2, bl3, mobEffectInstance, optional);
|
||||
+ return new MobEffectInstance(type, j, Math.max(i, 0), bl, bl2, bl3, key, mobEffectInstance, optional); // Purpur - add key
|
||||
}
|
||||
|
||||
public void setNoCounter(boolean permanent) {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Grindstone API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
index 66d1b438227e004d7ffb6e7c5d0cd3e6da3d2a49..a884b00d3ebd5cd89bd870b84afea136bdc79a10 100644
|
||||
index 36a6db1752fbde0e071af0da8c212c5c834b5b2e..f22dadd89a5f0e4171e3c6b9d9b87d1ca958b0df 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
@@ -96,8 +96,9 @@ public class GrindstoneMenu extends AbstractContainerMenu {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option to prevent spiders from climbing world border
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2c60091945aa3510d34c21b31827cb0b7f302ec2..7c82a0a596357ce118918fb5b86a0c13dea9e0ea 100644
|
||||
index 1c59160a9848d3580b8075100a49bc854e9a43da..53d0ccf95a6e07a00918f05ddaeeca699737d2eb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -243,6 +243,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -299,6 +299,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean verticalCollision;
|
||||
public boolean verticalCollisionBelow;
|
||||
public boolean minorHorizontalCollision;
|
||||
@@ -16,7 +16,7 @@ index 2c60091945aa3510d34c21b31827cb0b7f302ec2..7c82a0a596357ce118918fb5b86a0c13
|
||||
public boolean hurtMarked;
|
||||
protected Vec3 stuckSpeedMultiplier;
|
||||
@Nullable
|
||||
@@ -1341,7 +1342,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1377,7 +1378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, true,
|
||||
false, false, null, null);
|
||||
|
||||
@@ -26,7 +26,7 @@ index 2c60091945aa3510d34c21b31827cb0b7f302ec2..7c82a0a596357ce118918fb5b86a0c13
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
index 177f9fe0d0a10e5d3644805751f2050fe984fde7..07dc3b10a275895f23fcf50720ef25faea358c58 100644
|
||||
index 194b6a976e032ddf3e4cbdffdd68dbb9a48ec720..644df87ec14394678eb00ea6b36305db9190d5dd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -118,7 +118,7 @@ public class Spider extends Monster {
|
||||
@@ -39,10 +39,10 @@ index 177f9fe0d0a10e5d3644805751f2050fe984fde7..07dc3b10a275895f23fcf50720ef25fa
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d28424cc74068904f0a3479789307f9529b03efa..b7edb6045624efa24929ab3d3b583b5237e7015c 100644
|
||||
index 2c3c65c9eed0a21d33c7e1958a7660cfb75d57f8..19822b3807a08c75d2d8039d0783ec7cc371aca9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2462,6 +2462,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2448,6 +2448,7 @@ public class PurpurWorldConfig {
|
||||
public double spiderMaxHealth = 16.0D;
|
||||
public boolean spiderTakeDamageFromWater = false;
|
||||
public boolean spiderAlwaysDropExp = false;
|
||||
@@ -50,7 +50,7 @@ index d28424cc74068904f0a3479789307f9529b03efa..b7edb6045624efa24929ab3d3b583b52
|
||||
private void spiderSettings() {
|
||||
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
|
||||
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
|
||||
@@ -2474,6 +2475,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2460,6 +2461,7 @@ public class PurpurWorldConfig {
|
||||
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
|
||||
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
|
||||
spiderAlwaysDropExp = getBoolean("mobs.spider.always-drop-exp", spiderAlwaysDropExp);
|
||||
@@ -34,7 +34,7 @@ index 03fde6e47c4a347c62fe9b4a3351769aedf874f6..3eb95e9b4870b7dd782f676f50e381bf
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
index e054edf9e7c4eef231e155516433c6faeb2ca540..8f035b1f1486f0e4d00e586fccf1a008ef8aaf36 100644
|
||||
index 38bc19edc2dcfa33b3191cfa3b69f00de13a5c4a..bf6db3182c1f021aacd55c42daad6fc2137622ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
@@ -199,4 +199,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||
@@ -54,7 +54,7 @@ index e054edf9e7c4eef231e155516433c6faeb2ca540..8f035b1f1486f0e4d00e586fccf1a008
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||
index cc8e94dc7ad93a9b7cf71315f5910daa35bc0778..c0ef9c9c438a2716f5d2cd589a0b4e8538b5b347 100644
|
||||
index d1d10a7a62c7372634e22d6df8fc7d085d051237..e6a37649900f55d7178f7cd876b71c5d33135ec1 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||
@@ -60,4 +60,15 @@ public class NetherWartBlock extends BushBlock {
|
||||
@@ -74,7 +74,7 @@ index cc8e94dc7ad93a9b7cf71315f5910daa35bc0778..c0ef9c9c438a2716f5d2cd589a0b4e85
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c684f8e65ae8e32c85d511030358c5b1cd56c003..19873560257005a4039454f53352f1817b79a520 100644
|
||||
index 19822b3807a08c75d2d8039d0783ec7cc371aca9..881ce9d1f084f8de86daa7669ce0badff4e582c2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -545,6 +545,8 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Shearing jeb produces random color wool
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 17d1a0b43b2d155535cf2483af4ba9dd09700c83..fbe71ed86553965aa9fc20b7d8e6fdefd1d85a60 100644
|
||||
index 63aeab7204ac954b2908207dc6e743d17aa27f2e..aa6f6e252f6f2933825b97bf1b9679fe206d6050 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -293,7 +293,7 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -18,10 +18,10 @@ index 17d1a0b43b2d155535cf2483af4ba9dd09700c83..fbe71ed86553965aa9fc20b7d8e6fdef
|
||||
|
||||
if (entityitem != null) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 19873560257005a4039454f53352f1817b79a520..ce431461ea8b55e5b3bf87c3a1a338a63acc578e 100644
|
||||
index 881ce9d1f084f8de86daa7669ce0badff4e582c2..98eb49d68ffa866247fc7672c087cbd955d76867 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2255,6 +2255,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2241,6 +2241,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepBypassMobGriefing = false;
|
||||
public boolean sheepTakeDamageFromWater = false;
|
||||
public boolean sheepAlwaysDropExp = false;
|
||||
@@ -29,7 +29,7 @@ index 19873560257005a4039454f53352f1817b79a520..ce431461ea8b55e5b3bf87c3a1a338a6
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -2269,6 +2270,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2255,6 +2256,7 @@ public class PurpurWorldConfig {
|
||||
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
|
||||
sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater);
|
||||
sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Turtle eggs random tick crack chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index 08401d2908e41d1ce3968ab085c4c376da33181f..09438e86f7228336f6376118ec2476247f477841 100644
|
||||
index 4907e0acb7d01b7f57b75579e58ce743e3e000bb..5e6df1d6cbaecb986d1b8d382fe673a2cbb76115 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -11,13 +11,11 @@ import net.minecraft.world.entity.Entity;
|
||||
@@ -22,7 +22,7 @@ index 08401d2908e41d1ce3968ab085c4c376da33181f..09438e86f7228336f6376118ec247624
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@@ -157,7 +155,7 @@ public class TurtleEggBlock extends Block {
|
||||
@@ -162,7 +160,7 @@ public class TurtleEggBlock extends Block {
|
||||
private boolean shouldUpdateHatchLevel(Level world) {
|
||||
float f = world.getTimeOfDay(1.0F);
|
||||
|
||||
@@ -32,10 +32,10 @@ index 08401d2908e41d1ce3968ab085c4c376da33181f..09438e86f7228336f6376118ec247624
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ce431461ea8b55e5b3bf87c3a1a338a63acc578e..7017a397dc2a3e27376c95983cedcd6313ca8ebd 100644
|
||||
index 98eb49d68ffa866247fc7672c087cbd955d76867..5dfab4b06ac52424a4a45a12ec435d6d6330cbcc 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -977,11 +977,13 @@ public class PurpurWorldConfig {
|
||||
@@ -963,11 +963,13 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleEggsBreakFromItems = true;
|
||||
public boolean turtleEggsBreakFromMinecarts = true;
|
||||
public boolean turtleEggsBypassMobGriefing = false;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 360aa9d2f9d5a8ecd0db36a3715825222fec018e..f8c7eb51608fcf91de3da03afd9ffd34dbedaffc 100644
|
||||
index 18bff5cbbb4da87ea6d905402ac2494cd4778dcd..1919ae2551e29249fa3e6c85b5ed842540bbbded 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -992,9 +992,17 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1017,9 +1017,17 @@ public abstract class LivingEntity extends Entity {
|
||||
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||
EntityType<?> entitytypes = entity.getType();
|
||||
|
||||
@@ -29,10 +29,10 @@ index 360aa9d2f9d5a8ecd0db36a3715825222fec018e..f8c7eb51608fcf91de3da03afd9ffd34
|
||||
// Purpur start
|
||||
if (entity instanceof LivingEntity entityliving) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a16010210a33 100644
|
||||
index 5dfab4b06ac52424a4a45a12ec435d6d6330cbcc..16652ffffb714a232ef1ca6ca877adf312888e9b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1256,6 +1256,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1242,6 +1242,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperExplodeWhenKilled = false;
|
||||
public boolean creeperHealthRadius = false;
|
||||
public boolean creeperAlwaysDropExp = false;
|
||||
@@ -40,7 +40,7 @@ index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a160
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -1273,6 +1274,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1259,6 +1260,7 @@ public class PurpurWorldConfig {
|
||||
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
|
||||
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
|
||||
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
|
||||
@@ -48,7 +48,7 @@ index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a160
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -2335,6 +2337,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2321,6 +2323,7 @@ public class PurpurWorldConfig {
|
||||
public double skeletonMaxHealth = 20.0D;
|
||||
public boolean skeletonTakeDamageFromWater = false;
|
||||
public boolean skeletonAlwaysDropExp = false;
|
||||
@@ -56,7 +56,7 @@ index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a160
|
||||
private void skeletonSettings() {
|
||||
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
|
||||
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
|
||||
@@ -2347,6 +2350,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2333,6 +2336,7 @@ public class PurpurWorldConfig {
|
||||
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
|
||||
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
|
||||
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
|
||||
@@ -64,7 +64,7 @@ index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a160
|
||||
}
|
||||
|
||||
public boolean skeletonHorseRidableInWater = true;
|
||||
@@ -2860,6 +2864,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2842,6 +2846,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieBypassMobGriefing = false;
|
||||
public boolean zombieTakeDamageFromWater = false;
|
||||
public boolean zombieAlwaysDropExp = false;
|
||||
@@ -72,7 +72,7 @@ index 7017a397dc2a3e27376c95983cedcd6313ca8ebd..978be4f1f14a8fe647ea31ff2002a160
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -2878,6 +2883,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2860,6 +2865,7 @@ public class PurpurWorldConfig {
|
||||
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
|
||||
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
|
||||
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
index 03eb7933f309b30fa8c243f4dd0a292b850bfda0..00a5731e7b1e2b84453e6d1416dce8bd9e1b1b10 100644
|
||||
index 6ee6a35006a3d479ce916b3be297e3c1e38d7a8c..84a4853fe19817e6f95b16d563d819613ec45ac2 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
@@ -233,6 +233,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener
|
||||
@@ -270,6 +270,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index 03eb7933f309b30fa8c243f4dd0a292b850bfda0..00a5731e7b1e2b84453e6d1416dce8bd
|
||||
char c = in.charAt(i);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 3462a34a7d8e2bbf4c19c02a0b9f19ad5ccdc00f..73b4aeb50ba60e5708bca6a7762b8c44be9c9287 100644
|
||||
index b4c7252e39a58312ed90e553a2a79a1ed768ce00..1056b13937bebc5a8f20b78b0fdb7601d50a320e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -427,4 +427,11 @@ public class PurpurConfig {
|
||||
@@ -425,4 +425,11 @@ public class PurpurConfig {
|
||||
private static void networkSettings() {
|
||||
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
||||
}
|
||||
@@ -37,7 +37,7 @@ index 5e8cc5cfac8888628c6d513148f41be09ca65a2c..a089fc61ec09be6b7490375489178dc6
|
||||
boolean readyForShearing();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 48459f6c9a9d7112ef335725e1989883a892c9d7..abd93b9b1edd9166cf17852a547a9d0d99909871 100644
|
||||
index d5af092d9889357f250f4e1fdf32a386d26f1855..ecc36d8800427715c86060a1f29a292a475757a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -165,7 +165,7 @@ public class MushroomCow extends Cow implements Shearable {
|
||||
@@ -46,7 +46,7 @@ index 48459f6c9a9d7112ef335725e1989883a892c9d7..abd93b9b1edd9166cf17852a547a9d0d
|
||||
// CraftBukkit end
|
||||
- this.shear(SoundSource.PLAYERS);
|
||||
+ this.shear(SoundSource.PLAYERS, net.minecraft.world.item.enchantment.EnchantmentHelper.getMobLooting(player)); // Purpur
|
||||
this.gameEvent(GameEvent.SHEAR, (Entity) player);
|
||||
this.gameEvent(GameEvent.SHEAR, player);
|
||||
if (!this.level.isClientSide) {
|
||||
itemstack.hurtAndBreak(1, player, (entityhuman1) -> {
|
||||
@@ -208,7 +208,7 @@ public class MushroomCow extends Cow implements Shearable {
|
||||
@@ -68,7 +68,7 @@ index 48459f6c9a9d7112ef335725e1989883a892c9d7..abd93b9b1edd9166cf17852a547a9d0d
|
||||
ItemEntity entityitem = new ItemEntity(this.level, this.getX(), this.getY(1.0D), this.getZ(), new ItemStack(this.getMushroomType().blockState.getBlock()));
|
||||
EntityDropItemEvent event = new EntityDropItemEvent(this.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index fbe71ed86553965aa9fc20b7d8e6fdefd1d85a60..d61204c8aaef5e0e4e79096b6469ce3f6e8f92af 100644
|
||||
index aa6f6e252f6f2933825b97bf1b9679fe206d6050..954a12c23da96a07cd175f6f2eb28e8c5d2a8c3d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -271,7 +271,7 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -77,7 +77,7 @@ index fbe71ed86553965aa9fc20b7d8e6fdefd1d85a60..d61204c8aaef5e0e4e79096b6469ce3f
|
||||
// CraftBukkit end
|
||||
- this.shear(SoundSource.PLAYERS);
|
||||
+ this.shear(SoundSource.PLAYERS, net.minecraft.world.item.enchantment.EnchantmentHelper.getMobLooting(player)); // Purpur
|
||||
this.gameEvent(GameEvent.SHEAR, (Entity) player);
|
||||
this.gameEvent(GameEvent.SHEAR, player);
|
||||
itemstack.hurtAndBreak(1, player, (entityhuman1) -> {
|
||||
entityhuman1.broadcastBreakEvent(hand);
|
||||
@@ -286,10 +286,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -94,19 +94,19 @@ index fbe71ed86553965aa9fc20b7d8e6fdefd1d85a60..d61204c8aaef5e0e4e79096b6469ce3f
|
||||
for (int j = 0; j < i; ++j) {
|
||||
this.forceDrops = true; // CraftBukkit
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 83906fbb59d678451f93e6335aa674a7ff6bc9b1..908df941020d0f4aed1fe0827f7649056354f5d4 100644
|
||||
index d5cef133b9d6551652b7429d39c593f34c794f00..00d86c57fabbb464a156dfaceadccd978f0d149c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -200,7 +200,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -205,7 +205,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
return tryRide(player, hand); // Purpur
|
||||
}
|
||||
// CraftBukkit end
|
||||
- this.shear(SoundSource.PLAYERS);
|
||||
+ this.shear(SoundSource.PLAYERS, net.minecraft.world.item.enchantment.EnchantmentHelper.getMobLooting(player)); // Purpur
|
||||
this.gameEvent(GameEvent.SHEAR, (Entity) player);
|
||||
this.gameEvent(GameEvent.SHEAR, player);
|
||||
if (!this.level.isClientSide) {
|
||||
itemstack.hurtAndBreak(1, player, (entityhuman1) -> {
|
||||
@@ -223,12 +223,13 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -228,12 +228,13 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -158,10 +158,10 @@ index 6b8a1535086aae7e4e3229d05615fb903188f507..60af917083de1b790b1d93d61835a669
|
||||
public int getMinCost(int level) {
|
||||
return 15 + (level - 1) * 9;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 73b4aeb50ba60e5708bca6a7762b8c44be9c9287..9ea922b7b41b1805d94ea18f437dd52fd756a821 100644
|
||||
index 1056b13937bebc5a8f20b78b0fdb7601d50a320e..db890f02f1b2359aecc8becf6a1caddf07cc7ce4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -373,6 +373,7 @@ public class PurpurConfig {
|
||||
@@ -371,6 +371,7 @@ public class PurpurConfig {
|
||||
|
||||
public static boolean allowInfinityMending = false;
|
||||
public static boolean allowCrossbowInfinity = false;
|
||||
@@ -169,7 +169,7 @@ index 73b4aeb50ba60e5708bca6a7762b8c44be9c9287..9ea922b7b41b1805d94ea18f437dd52f
|
||||
public static boolean allowUnsafeEnchants = false;
|
||||
public static boolean allowUnsafeEnchantCommand = false;
|
||||
private static void enchantmentSettings() {
|
||||
@@ -383,6 +384,7 @@ public class PurpurConfig {
|
||||
@@ -381,6 +382,7 @@ public class PurpurConfig {
|
||||
}
|
||||
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
|
||||
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop bees from dying after stinging
|
||||
|
||||
|
||||
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 02fc6bb52419b75f04092b33e15e0ab1ea7a7b1a..2a1785a6758a030bc554accfba35d82974fc1fa7 100644
|
||||
index dcffd24a40766a18e9f70753dd95dff88330cb30..3cf1f1094c4444797bd615e57a3f885df1a94144 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -454,6 +454,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -455,6 +455,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.hurt(DamageSource.DROWN, 1.0F);
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index 02fc6bb52419b75f04092b33e15e0ab1ea7a7b1a..2a1785a6758a030bc554accfba35d829
|
||||
++this.timeSinceSting;
|
||||
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, (int) 1, (int) 1200)) == 0) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 978be4f1f14a8fe647ea31ff2002a16010210a33..18611782bc89ea034565709530637838e5327eb7 100644
|
||||
index 16652ffffb714a232ef1ca6ca877adf312888e9b..ff48b818df8d2f2f9ca399257242f47e78cbc5e9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1076,6 +1076,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1062,6 +1062,7 @@ public class PurpurWorldConfig {
|
||||
public boolean beeCanWorkAtNight = false;
|
||||
public boolean beeCanWorkInRain = false;
|
||||
public boolean beeAlwaysDropExp = false;
|
||||
@@ -28,7 +28,7 @@ index 978be4f1f14a8fe647ea31ff2002a16010210a33..18611782bc89ea034565709530637838
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
@@ -1092,6 +1093,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1078,6 +1079,7 @@ public class PurpurWorldConfig {
|
||||
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
|
||||
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
|
||||
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 836028033093ea72c670afafeee4b81a421dd459..20cdc0eb26fd53a4193b39171982dfa255d355bf 100644
|
||||
index 1facde28d476bbdb86e33aac3d4f2754fe89c36f..5d64310a6705bda4781257a856647301e7c6ff68 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1099,6 +1099,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1054,6 +1054,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||
@@ -17,12 +17,12 @@ index 836028033093ea72c670afafeee4b81a421dd459..20cdc0eb26fd53a4193b39171982dfa2
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 2a6d3c49a337b3815fdcc7624e90d875464bb7da..20f016e24b679af2651dc84819b1c62d2937b77b 100644
|
||||
index 48d48ebd82a5a8caabadf92979d457a44408585c..0c5a4bb23f115ef7d98a4908f7a15031a544289b 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -386,6 +386,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -375,6 +375,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
}
|
||||
|
||||
if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish
|
||||
org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur
|
||||
+ org.purpurmc.purpur.task.BeehiveTask.instance().register(); // Purpur
|
||||
return true;
|
||||
@@ -22,7 +22,7 @@ Value set -> Actual fall distance needed to trample
|
||||
6.0 -> 6.75
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index 29a538964d31527c9d10e25716e99ac22775119d..4871afa8f86f2945dc35fb55c709d91c28a15120 100644
|
||||
index e5a3e3a4367dfb924624a913b816b3fd56e3fefd..7068cb39ab264fa0c65febff01236b8de564b883 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -98,7 +98,7 @@ public class FarmBlock extends Block {
|
||||
@@ -35,7 +35,7 @@ index 29a538964d31527c9d10e25716e99ac22775119d..4871afa8f86f2945dc35fb55c709d91c
|
||||
org.bukkit.event.Cancellable cancellable;
|
||||
if (entity instanceof Player) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 18611782bc89ea034565709530637838e5327eb7..248ed206c8cfdf1dc3363a8f8a930a7d6acea97f 100644
|
||||
index ff48b818df8d2f2f9ca399257242f47e78cbc5e9..81f7e2bebd0a0b5347057edc27c95c31d4f5fbcb 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -834,6 +834,7 @@ public class PurpurWorldConfig {
|
||||
@@ -24,10 +24,10 @@ index 37fe86f0f6ea006f658cd6a68757c1c12ae32eb7..d6ee7b9d2fafbe76d4705a182ae1a0e9
|
||||
int i = this.repairPlayerItems(player, this.value);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 302db826868980d3ad617013413632f97ab6643a..64b4ce3dc8b5e43125f668f5fc00b3f9809c843a 100644
|
||||
index 487008568a71219b2a88124d34326d617142f003..490190360d9ed3d880bacd9a573accd34a21b718 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -622,7 +622,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -630,7 +630,7 @@ public abstract class Player extends LivingEntity {
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
Entity entity = (Entity) list.get(i);
|
||||
|
||||
@@ -37,7 +37,7 @@ index 302db826868980d3ad617013413632f97ab6643a..64b4ce3dc8b5e43125f668f5fc00b3f9
|
||||
} else if (!entity.isRemoved()) {
|
||||
this.touch(entity);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 248ed206c8cfdf1dc3363a8f8a930a7d6acea97f..0f03c0e7c9b22f0144730153eb70f82fe8df4a35 100644
|
||||
index 81f7e2bebd0a0b5347057edc27c95c31d4f5fbcb..b9d4912e24e647d0f0807a79abe8476363686b17 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -413,6 +413,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 77cb010bd8b67f436726dfe32e5dd3b897beff55..72df9c6d1ac2fef090b0532da079c607f79bce89 100644
|
||||
index 2f9f97ebd02aff41e1ab15fa1e3275e257f14863..5636ed6d8be06e67c00be610c0ce1e7e5b69df23 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2602,7 +2602,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -2652,7 +2652,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
// Spigot Start
|
||||
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
||||
// Paper start
|
||||
@@ -18,7 +18,7 @@ index 77cb010bd8b67f436726dfe32e5dd3b897beff55..72df9c6d1ac2fef090b0532da079c607
|
||||
}
|
||||
// Paper end
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 87d0af46eaf49f88f56e50ea52fcbb8ac93f11a9..0193ed7024b0283366aa7597006a8188673fbc69 100644
|
||||
index b9d4912e24e647d0f0807a79abe8476363686b17..e37d31a008c46eabd07b034df6c1df6e30df459d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -414,6 +414,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dont eat blocks in non ticking chunks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 1647627a02754f5bc8c0f86e467bd11369c24be3..c0bb015bd1ce923a5a2a805e68ae3d25cc252777 100644
|
||||
index 9f07b6bb89b2f7424d874aca8399c9a31f3bf669..c4677bac7a09133513cbeed9c712b93100783183 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -1778,7 +1778,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1830,7 +1830,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index 1647627a02754f5bc8c0f86e467bd11369c24be3..c0bb015bd1ce923a5a2a805e68ae3d25
|
||||
// tested and confirmed via System.nanoTime()
|
||||
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> playersInRange = reducedRange ? playerchunk.playersInMobSpawnRange : playerchunk.playersInChunkTickRange;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
index 8a4080a77bd5b73ac812e3ae67c6f21dcd270215..16e66ae7cf761fabb74a035e2fd8c28615365dc2 100644
|
||||
index 3a633f369af8005de3c06cfa715a42e3b248b2f0..a7b878f97128e530c5b47873dd226490d471406b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
@@ -32,6 +32,12 @@ public class EatBlockGoal extends Goal {
|
||||
@@ -31,6 +31,12 @@ public class EatBlockGoal extends Goal {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable phantom size
|
||||
|
||||
|
||||
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 3b14a9b0ae1d0dc918552c91cb8f82db7ac00cbf..32ba17f4098382cc8d8d278378ca00211209b8ae 100644
|
||||
index bc5d6300c2e5f6cf8fbad73096e8a6e5d279a873..0200766dbfefa31acbf8f017792bf908a048e59f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -272,7 +272,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -22,10 +22,10 @@ index 3b14a9b0ae1d0dc918552c91cb8f82db7ac00cbf..32ba17f4098382cc8d8d278378ca0021
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e9b1fccdde19d543dd02a08889dd37c6a8ebcb60..1fd070e037b8bbd358ce162a011cddc1a565385c 100644
|
||||
index e37d31a008c46eabd07b034df6c1df6e30df459d..653958f965833f1bd8c0375fdac422af9b52a2b9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1994,6 +1994,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1980,6 +1980,8 @@ public class PurpurWorldConfig {
|
||||
public boolean phantomFlamesOnSwoop = false;
|
||||
public boolean phantomTakeDamageFromWater = false;
|
||||
public boolean phantomAlwaysDropExp = false;
|
||||
@@ -34,7 +34,7 @@ index e9b1fccdde19d543dd02a08889dd37c6a8ebcb60..1fd070e037b8bbd358ce162a011cddc1
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||
@@ -2036,6 +2038,13 @@ public class PurpurWorldConfig {
|
||||
@@ -2022,6 +2024,13 @@ public class PurpurWorldConfig {
|
||||
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
|
||||
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
|
||||
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);
|
||||
@@ -51,10 +51,10 @@ index b16d9e2eaa589f19c563ee70b1a56d67dbcdecb0..71beab673f04cd051c46ea37f8c84731
|
||||
public static final FoodProperties BAKED_POTATO = (new FoodProperties.Builder()).nutrition(5).saturationMod(0.6F).build();
|
||||
public static final FoodProperties BEEF = (new FoodProperties.Builder()).nutrition(3).saturationMod(0.3F).meat().build();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index 513343d225a71e242b0f237eefcd25147709d9d1..1f65bba67cd4fab1dee115f24b213075c1d9c2a7 100644
|
||||
index 1ce51253b755c2ea4dca94c567935b074ffdbbd6..9814756a0a2aa11e15635954063c13550ad7cf0a 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -1164,6 +1164,13 @@ public class Items {
|
||||
@@ -1216,6 +1216,13 @@ public class Items {
|
||||
((BlockItem)item).registerBlocks(Item.BY_BLOCK, item);
|
||||
}
|
||||
|
||||
@@ -69,10 +69,10 @@ index 513343d225a71e242b0f237eefcd25147709d9d1..1f65bba67cd4fab1dee115f24b213075
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 9ea922b7b41b1805d94ea18f437dd52fd756a821..acf676c756ef6b99631f4fc8e0297548465c8fe0 100644
|
||||
index db890f02f1b2359aecc8becf6a1caddf07cc7ce4..5038d35ccb37a492d6a16242d876d18c02ccc35c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -436,4 +436,57 @@ public class PurpurConfig {
|
||||
@@ -434,4 +434,57 @@ public class PurpurConfig {
|
||||
String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
||||
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
||||
}
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Max joins per second
|
||||
When this option is set to true the `max-joins-per-tick` setting in paper.yml will be used per second instead of per tick
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
|
||||
index 9bbf990212ee55a267d0eb1e863618c50fa706da..76d177d27735e93bbac5f9cf0b3556e929d72317 100644
|
||||
index 7030c38980dbebfd374c2369294555650cf7880b..7a7b93d46650faa16f2e6df36c5363cf47db75ba 100644
|
||||
--- a/src/main/java/net/minecraft/network/Connection.java
|
||||
+++ b/src/main/java/net/minecraft/network/Connection.java
|
||||
@@ -544,11 +544,20 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -517,11 +517,20 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
private static final int MAX_PER_TICK = com.destroystokyo.paper.PaperConfig.maxJoinsPerTick; // Paper
|
||||
private static int joinAttemptsThisTick; // Paper
|
||||
private static int currTick; // Paper
|
||||
@@ -31,10 +31,10 @@ index 9bbf990212ee55a267d0eb1e863618c50fa706da..76d177d27735e93bbac5f9cf0b3556e9
|
||||
}
|
||||
// Paper end
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index acf676c756ef6b99631f4fc8e0297548465c8fe0..c8f9a0ac70840af6086f5ebd80066d43dccf8386 100644
|
||||
index 5038d35ccb37a492d6a16242d876d18c02ccc35c..c482f598c79c8ff32fdcdf8cd1ac7920f4050862 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -426,8 +426,10 @@ public class PurpurConfig {
|
||||
@@ -424,8 +424,10 @@ public class PurpurConfig {
|
||||
}
|
||||
|
||||
public static boolean useUPnP = false;
|
||||
@@ -9,10 +9,10 @@ This patch adds a config option to allow the minimum demand to instead
|
||||
be configurable.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 6d43867d149b9ce5356d5ad1fbe119de1af212df..59bfaf90d448223c5aee9b18d2915539f54f0d4b 100644
|
||||
index 05fb8c7f968b736c8430ab2ea56900c14485b10b..69ed8f31be96c438ed61416f566f41f0cce64cba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -534,7 +534,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -527,7 +527,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
while (iterator.hasNext()) {
|
||||
MerchantOffer merchantrecipe = (MerchantOffer) iterator.next();
|
||||
|
||||
@@ -22,7 +22,7 @@ index 6d43867d149b9ce5356d5ad1fbe119de1af212df..59bfaf90d448223c5aee9b18d2915539
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
|
||||
index c9cb0717c2793acd5b5870a6cc4d672d69a40026..9a402505375af2051673245ec0a1daf9f3a66dc7 100644
|
||||
index 8a9a701baabdaf066cd9b28c05430f673fcafb4e..17cc3237c7fc8ceda136b2371fabf6f004a991aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
|
||||
@@ -132,7 +132,12 @@ public class MerchantOffer {
|
||||
@@ -40,10 +40,10 @@ index c9cb0717c2793acd5b5870a6cc4d672d69a40026..9a402505375af2051673245ec0a1daf9
|
||||
|
||||
public ItemStack assemble() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1fd070e037b8bbd358ce162a011cddc1a565385c..e4e75914042b6e1024662ef59b2190865a879759 100644
|
||||
index 653958f965833f1bd8c0375fdac422af9b52a2b9..28174727b1c0b117b2f189cf6b088ef0d5c9a73f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2665,6 +2665,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2649,6 +2649,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerTakeDamageFromWater = false;
|
||||
public boolean villagerAllowTrading = true;
|
||||
public boolean villagerAlwaysDropExp = false;
|
||||
@@ -51,7 +51,7 @@ index 1fd070e037b8bbd358ce162a011cddc1a565385c..e4e75914042b6e1024662ef59b219086
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -2689,6 +2690,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2671,6 +2672,7 @@ public class PurpurWorldConfig {
|
||||
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
|
||||
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
|
||||
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
|
||||
140
patches/server/0259-Lobotomize-stuck-villagers.patch
Normal file
140
patches/server/0259-Lobotomize-stuck-villagers.patch
Normal file
@@ -0,0 +1,140 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Thu, 3 Dec 2020 17:56:18 -0600
|
||||
Subject: [PATCH] Lobotomize stuck villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 69ed8f31be96c438ed61416f566f41f0cce64cba..715003af5363d3163d78871ff360a142be66f037 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -140,6 +140,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return holder.is(PoiTypes.MEETING);
|
||||
});
|
||||
private final int brainTickOffset; // Purpur
|
||||
+ private boolean isLobotomized = false; public boolean isLobotomized() { return this.isLobotomized; } // Purpur
|
||||
+ private int notLobotomizedCount = 0; // Purpur
|
||||
|
||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||
this(entityType, world, VillagerType.PLAINS);
|
||||
@@ -196,6 +198,47 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected boolean isAlwaysExperienceDropper() {
|
||||
return this.level.purpurConfig.villagerAlwaysDropExp;
|
||||
}
|
||||
+
|
||||
+ private boolean checkLobotomized() {
|
||||
+ int interval = this.level.purpurConfig.villagerLobotomizeCheckInterval;
|
||||
+ if (this.notLobotomizedCount > 3) {
|
||||
+ // check half as often if not lobotomized for the last 3+ consecutive checks
|
||||
+ interval *= 2;
|
||||
+ }
|
||||
+ if ((this.level.getGameTime() + brainTickOffset) % interval == 0) {
|
||||
+ // offset Y for short blocks like dirt_path/farmland
|
||||
+ this.isLobotomized = !canTravelFrom(new BlockPos(getX(), getY() + 0.0625D, getZ()));
|
||||
+
|
||||
+ if (this.isLobotomized) {
|
||||
+ this.notLobotomizedCount = 0;
|
||||
+ } else {
|
||||
+ this.notLobotomizedCount++;
|
||||
+ }
|
||||
+ }
|
||||
+ return this.isLobotomized;
|
||||
+ }
|
||||
+
|
||||
+ private boolean canTravelFrom(BlockPos pos) {
|
||||
+ return canTravelTo(pos.east()) || canTravelTo(pos.west()) || canTravelTo(pos.north()) || canTravelTo(pos.south());
|
||||
+ }
|
||||
+
|
||||
+ private boolean canTravelTo(BlockPos pos) {
|
||||
+ net.minecraft.world.level.block.state.BlockState state = this.level.getBlockStateIfLoaded(pos);
|
||||
+ if (state == null) {
|
||||
+ // chunk not loaded
|
||||
+ return false;
|
||||
+ }
|
||||
+ net.minecraft.world.level.block.Block bottom = state.getBlock();
|
||||
+ if (bottom instanceof net.minecraft.world.level.block.FenceBlock ||
|
||||
+ bottom instanceof net.minecraft.world.level.block.FenceGateBlock ||
|
||||
+ bottom instanceof net.minecraft.world.level.block.WallBlock) {
|
||||
+ // bottom block is too tall to get over
|
||||
+ return false;
|
||||
+ }
|
||||
+ net.minecraft.world.level.block.Block top = level.getBlockState(pos.above()).getBlock();
|
||||
+ // only if both blocks have no collision
|
||||
+ return !bottom.hasCollision && !top.hasCollision;
|
||||
+ }
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -293,11 +336,25 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void mobTick(boolean inactive) {
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
// Purpur start
|
||||
+ if (this.level.purpurConfig.villagerLobotomizeEnabled) {
|
||||
+ // treat as inactive if lobotomized
|
||||
+ inactive = inactive || checkLobotomized();
|
||||
+ } else {
|
||||
+ // clean up state for API
|
||||
+ this.isLobotomized = false;
|
||||
+ }
|
||||
+
|
||||
boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||
if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
// Purpur end
|
||||
if (getRider() == null || !this.isControllable())// Purpur - only use brain if no rider
|
||||
if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
+ // Purpur start
|
||||
+ else if (this.isLobotomized && shouldRestock()) {
|
||||
+ // make sure we restock if needed when lobotomized
|
||||
+ restock();
|
||||
+ }
|
||||
+ // Purpur end
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
index f0b910df1ee471b4d72d97c6197ab14f2854976e..6ce32a52d621a0c2629568ea07e445f50160d97d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
@@ -194,4 +194,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
getHandle().getGossips().getReputations().clear();
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean isLobotomized() {
|
||||
+ return getHandle().isLobotomized();
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 28174727b1c0b117b2f189cf6b088ef0d5c9a73f..d30840676acecd8f40952359ba10ecf8567d54ab 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2650,6 +2650,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerAllowTrading = true;
|
||||
public boolean villagerAlwaysDropExp = false;
|
||||
public int villagerMinimumDemand = 0;
|
||||
+ public boolean villagerLobotomizeEnabled = false;
|
||||
+ public int villagerLobotomizeCheckInterval = 100;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -2673,6 +2675,17 @@ public class PurpurWorldConfig {
|
||||
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
|
||||
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
|
||||
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);
|
||||
+ if (PurpurConfig.version < 9) {
|
||||
+ boolean oldValue = getBoolean("mobs.villager.lobotomize-1x1", villagerLobotomizeEnabled);
|
||||
+ set("mobs.villager.lobotomize.enabled", oldValue);
|
||||
+ set("mobs.villager.lobotomize-1x1", null);
|
||||
+ }
|
||||
+ if (PurpurConfig.version < 27) {
|
||||
+ int oldValue = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
|
||||
+ set("mobs.villager.lobotomize.check-interval", oldValue == 60 ? 100 : oldValue);
|
||||
+ }
|
||||
+ villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
|
||||
+ villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option for villager display trade item
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java b/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java
|
||||
index 385f3df7044e3f03f17c3ec7484b268004a3def9..47f9832bbba6f9c6038aa96022c28bf023977b78 100644
|
||||
index 385f3df7044e3f03f17c3ec7484b268004a3def9..90ba6a3abf62e4b272fada96b554ca31f72921ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/ShowTradesToPlayer.java
|
||||
@@ -42,6 +42,7 @@ public class ShowTradesToPlayer extends Behavior<Villager> {
|
||||
@@ -17,10 +17,10 @@ index 385f3df7044e3f03f17c3ec7484b268004a3def9..47f9832bbba6f9c6038aa96022c28bf0
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 973cec1676fe533a8e4aa268aa15dda135d43367..ff2be61f790f39aae37794e7d7e4115073bfd716 100644
|
||||
index d30840676acecd8f40952359ba10ecf8567d54ab..4847a19105125d5083fe6bd990c85f2d3f874c82 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2668,6 +2668,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2652,6 +2652,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerMinimumDemand = 0;
|
||||
public boolean villagerLobotomizeEnabled = false;
|
||||
public int villagerLobotomizeCheckInterval = 100;
|
||||
@@ -28,7 +28,7 @@ index 973cec1676fe533a8e4aa268aa15dda135d43367..ff2be61f790f39aae37794e7d7e41150
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -2704,6 +2705,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2686,6 +2687,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
|
||||
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fill command max area option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/commands/FillCommand.java b/src/main/java/net/minecraft/server/commands/FillCommand.java
|
||||
index 5db7c22f3b2db4fc19af007ee45ad0e11fa5e9cb..9e80bcf237e8e968caa692ec386f7cc94023aba1 100644
|
||||
index 99fbb24dabe867ed4956a2996543107f58a57193..5c81c64540579fbacc335a3fadf4bf59f853dc39 100644
|
||||
--- a/src/main/java/net/minecraft/server/commands/FillCommand.java
|
||||
+++ b/src/main/java/net/minecraft/server/commands/FillCommand.java
|
||||
@@ -58,8 +58,10 @@ public class FillCommand {
|
||||
@@ -59,8 +59,10 @@ public class FillCommand {
|
||||
|
||||
private static int fillBlocks(CommandSourceStack source, BoundingBox range, BlockInput block, FillCommand.Mode mode, @Nullable Predicate<BlockInWorld> filter) throws CommandSyntaxException {
|
||||
int i = range.getXSpan() * range.getYSpan() * range.getZSpan();
|
||||
@@ -22,10 +22,10 @@ index 5db7c22f3b2db4fc19af007ee45ad0e11fa5e9cb..9e80bcf237e8e968caa692ec386f7cc9
|
||||
List<BlockPos> list = Lists.newArrayList();
|
||||
ServerLevel serverLevel = source.getLevel();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 231209f3ed97cd3dfa4fd3ccb9a84b234413107e..b291f3da1070e259a69a967156d4320e5a5aa0c8 100644
|
||||
index c482f598c79c8ff32fdcdf8cd1ac7920f4050862..8d4bd88270747bf905ce87573492382cb175d57b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -271,6 +271,7 @@ public class PurpurConfig {
|
||||
@@ -269,6 +269,7 @@ public class PurpurConfig {
|
||||
public static float commandCompassBarProgressPercent = 1.0F;
|
||||
public static int commandCompassBarTickInterval = 5;
|
||||
public static boolean commandGamemodeRequiresPermission = false;
|
||||
@@ -33,7 +33,7 @@ index 231209f3ed97cd3dfa4fd3ccb9a84b234413107e..b291f3da1070e259a69a967156d4320e
|
||||
public static boolean hideHiddenPlayersFromEntitySelector = false;
|
||||
public static String uptimeFormat = "<days><hours><minutes><seconds>";
|
||||
public static String uptimeDay = "%02d day, ";
|
||||
@@ -300,6 +301,7 @@ public class PurpurConfig {
|
||||
@@ -298,6 +299,7 @@ public class PurpurConfig {
|
||||
commandCompassBarTickInterval = getInt("settings.command.compass.tick-interval", commandCompassBarTickInterval);
|
||||
|
||||
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] MC-238526 - Fix spawner not spawning water animals correctly
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||
index c039b896ee85543c26a8ab76640080f539deaa4c..b79045402f490373d3d83d80aa8e3b94a2ac31ec 100644
|
||||
index 1b6d426b44e200b3634c0a9ac7c3a315841ada40..76fdea60535e357b380ebaf76f9739ea78347de8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
|
||||
@@ -83,6 +83,6 @@ public abstract class WaterAnimal extends PathfinderMob {
|
||||
@@ -17,10 +17,10 @@ index c039b896ee85543c26a8ab76640080f539deaa4c..b79045402f490373d3d83d80aa8e3b94
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a138f2067d1f747ef35add78027cd2aa2f191bb2..69318c141b2b05ba22100232f0b637f3ed53b7b7 100644
|
||||
index 4847a19105125d5083fe6bd990c85f2d3f874c82..9e040534c6e7154765ec126a6bbadb37de0350e5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -961,8 +961,10 @@ public class PurpurWorldConfig {
|
||||
@@ -952,8 +952,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean spawnerDeactivateByRedstone = false;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 27877223340647049f432138caf62326182c8bbb..8bef96dd28ffb2de00a8d3c50f158d5e537516e6 100644
|
||||
index 1919ae2551e29249fa3e6c85b5ed842540bbbded..4050734e4aaf8eec15080c9c6fe62802cc3d944c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1418,13 +1418,13 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1434,13 +1434,13 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
|
||||
@@ -38,7 +38,7 @@ index 7534889c4169cbd26f7e778cbd3be49bd2640c83..ca767d5a8ecb1d0c41ed149fd77eb2f4
|
||||
// Paper end
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 69318c141b2b05ba22100232f0b637f3ed53b7b7..ce375eaefbed62233db7bf95e23cd1c1a650d711 100644
|
||||
index 9e040534c6e7154765ec126a6bbadb37de0350e5..a38b75383704b910ca89de66b6058fb7825b9811 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -136,6 +136,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Anvil repair/damage options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/AnvilBlock.java b/src/main/java/net/minecraft/world/level/block/AnvilBlock.java
|
||||
index 61cadc946954a1e92bd9b395b87dcb83eef786c4..e398366f2021554248fda62a7199670b467e7b53 100644
|
||||
index 1b23352a9deae37f9c947fef1b1f8a2875507cfa..ad5aad3682926e2e8965bb87ad8d5381905ea666 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/AnvilBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/AnvilBlock.java
|
||||
@@ -55,6 +55,54 @@ public class AnvilBlock extends FallingBlock {
|
||||
@@ -54,6 +54,54 @@ public class AnvilBlock extends FallingBlock {
|
||||
|
||||
@Override
|
||||
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
|
||||
@@ -64,7 +64,7 @@ index 61cadc946954a1e92bd9b395b87dcb83eef786c4..e398366f2021554248fda62a7199670b
|
||||
return InteractionResult.SUCCESS;
|
||||
} else {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ce375eaefbed62233db7bf95e23cd1c1a650d711..a9d88e8d33f8950f5bd19e7a2d763fbeabee12c8 100644
|
||||
index a38b75383704b910ca89de66b6058fb7825b9811..11be49c97e805f6b16b9139abc701b7214ac0d2d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -699,8 +699,12 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable turtle egg trampling with feather falling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index 09438e86f7228336f6376118ec2476247f477841..8e6df41246c477a1b4a9159c458d0a34fe879ce5 100644
|
||||
index 5e6df1d6cbaecb986d1b8d382fe673a2cbb76115..6151226a88a9ca44955821521641e7884e724731 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -204,6 +204,10 @@ public class TurtleEggBlock extends Block {
|
||||
@@ -209,6 +209,10 @@ public class TurtleEggBlock extends Block {
|
||||
if (entity instanceof LivingEntity && !(entity instanceof Player)) {
|
||||
return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING);
|
||||
}
|
||||
@@ -20,10 +20,10 @@ index 09438e86f7228336f6376118ec2476247f477841..8e6df41246c477a1b4a9159c458d0a34
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a9d88e8d33f8950f5bd19e7a2d763fbeabee12c8..992a2e37fa093196165b67e88123e00100ae6208 100644
|
||||
index 11be49c97e805f6b16b9139abc701b7214ac0d2d..ccf56c1a804dad02faa16a8ba8efad2c3b3a59a2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -992,12 +992,14 @@ public class PurpurWorldConfig {
|
||||
@@ -978,12 +978,14 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleEggsBreakFromMinecarts = true;
|
||||
public boolean turtleEggsBypassMobGriefing = false;
|
||||
public int turtleEggsRandomTickCrackChance = 500;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index a999e4c82d7fe0ecf127f9132c29886d56c444e5..7471e59ad3362bc3d0bad6555fe29a9bb9ad74a6 100644
|
||||
index 146e6f819de67a52125675f3afdda214ddaecef9..4ec80c52cbee9b484e47a93551df4dbf62f6d83e 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -1151,7 +1151,7 @@ public final class ItemStack {
|
||||
@@ -1147,7 +1147,7 @@ public final class ItemStack {
|
||||
|
||||
ListTag nbttaglist = this.tag.getList("Enchantments", 10);
|
||||
|
||||
@@ -18,10 +18,10 @@ index a999e4c82d7fe0ecf127f9132c29886d56c444e5..7471e59ad3362bc3d0bad6555fe29a9b
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
||||
index 5422b68674b34d015c94194a974726ea67d07e49..77ccd9e38d916d6ae08e230958134e1cc4443f9e 100644
|
||||
index 4afa30753a90d9bbd3c71b21cb4a8deadf9ccb3b..1d79da7f8405f7dff3b2e10022a564a9cf2609eb 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
||||
@@ -45,7 +45,7 @@ public class EnchantmentHelper {
|
||||
@@ -46,7 +46,7 @@ public class EnchantmentHelper {
|
||||
}
|
||||
|
||||
public static int getEnchantmentLevel(CompoundTag nbt) {
|
||||
@@ -31,10 +31,10 @@ index 5422b68674b34d015c94194a974726ea67d07e49..77ccd9e38d916d6ae08e230958134e1c
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 659e93fb24124318367e5b4d0b144ca1443950e9..c5b18b8d4ad74764fdeb5a1e21231e212e808b99 100644
|
||||
index 8d4bd88270747bf905ce87573492382cb175d57b..127df4a4c5c84f5e260104a4cc8ef092f7cf9e07 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -378,6 +378,7 @@ public class PurpurConfig {
|
||||
@@ -376,6 +376,7 @@ public class PurpurConfig {
|
||||
public static boolean allowShearsLooting = false;
|
||||
public static boolean allowUnsafeEnchants = false;
|
||||
public static boolean allowUnsafeEnchantCommand = false;
|
||||
@@ -42,7 +42,7 @@ index 659e93fb24124318367e5b4d0b144ca1443950e9..c5b18b8d4ad74764fdeb5a1e21231e21
|
||||
private static void enchantmentSettings() {
|
||||
if (version < 5) {
|
||||
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
|
||||
@@ -389,6 +390,7 @@ public class PurpurConfig {
|
||||
@@ -387,6 +388,7 @@ public class PurpurConfig {
|
||||
allowShearsLooting = getBoolean("settings.enchantment.allow-looting-on-shears", allowShearsLooting);
|
||||
allowUnsafeEnchants = getBoolean("settings.enchantment.allow-unsafe-enchants", allowUnsafeEnchants);
|
||||
allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability
|
||||
@@ -8,10 +8,10 @@ Horses have a chance to stand when their hurt noise plays (i.e. when taking dama
|
||||
This patch adds an option to toggle this behaviour ('stand-when-hurt').
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index f7088aaf65ee5725e928845a634852119b403cef..443d1bdb352352909a1d8859ae2eb93b4331f45f 100644
|
||||
index 36910e03941171cbfa3c61b2aff7535a2920ce24..b252d9a254aedcdd67169e793b08dc093fd4829c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -386,7 +386,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -388,7 +388,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@Nullable
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
@@ -21,10 +21,10 @@ index f7088aaf65ee5725e928845a634852119b403cef..443d1bdb352352909a1d8859ae2eb93b
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 992a2e37fa093196165b67e88123e00100ae6208..aefbd3e53d3b608d58b6f051bc775eedb1edc397 100644
|
||||
index ccf56c1a804dad02faa16a8ba8efad2c3b3a59a2..7ff3ed217a9e4eaa9427c75993aff33515649e6a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1686,6 +1686,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1672,6 +1672,7 @@ public class PurpurWorldConfig {
|
||||
public int horseBreedingTicks = 6000;
|
||||
public boolean horseTakeDamageFromWater = false;
|
||||
public boolean horseStandWithRider = true;
|
||||
@@ -32,7 +32,7 @@ index 992a2e37fa093196165b67e88123e00100ae6208..aefbd3e53d3b608d58b6f051bc775eed
|
||||
public boolean horseAlwaysDropExp = false;
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
@@ -1705,6 +1706,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1691,6 +1692,7 @@ public class PurpurWorldConfig {
|
||||
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
|
||||
horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater);
|
||||
horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider);
|
||||
Reference in New Issue
Block a user