mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@fcedb49 Update spark-paper PaperMC/Paper@956b3d1 Ensure MaterialChoice materials are items (#11325) PaperMC/Paper@5625051 Prevent duplicate pickup event for piglins (#11322) PaperMC/Paper@94444ce Fix incorrect timestamp in region file header recalculation (#11318) PaperMC/Paper@5b2c43e Remove set damage lootable item function from compasses (#11317) PaperMC/Paper@5167856 Fix despawn ranges by defaulting to an ellipsoid shape (#11312) PaperMC/Paper@e2da65c Deprecate API relating to menu title changes (#11309) PaperMC/Paper@ad4c524 Properly destroy placed blocks on the end platform (#11292) PaperMC/Paper@374d9c8 Add a method to reset Lodestone compasses back to normal ones (#11308) PaperMC/Paper@dd8c70a Ensure TabCompleteEvent always has a mutable backing list. (#11302) PaperMC/Paper@a7b8d95 Add enchantment seed update API (#11282) PaperMC/Paper@789a267 Re-implement maxLeashDistance world conf and call missing event (#11301)
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
|||||||
version = 1.21.1-R0.1-SNAPSHOT
|
version = 1.21.1-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion = 1.21.1
|
mcVersion = 1.21.1
|
||||||
paperCommit = 2fdb2e9dcdfb127cb99134f9bec60dcc2a6954d2
|
paperCommit = 789a267e93240f9e918014dd88bab89fe50a64d3
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 421f6b3dc8890d63d2e7aa774d0bf8f7e15890ab..fd1ac5dbc39068d4332fd264f3359e4845e529e1 100644
|
index 3588770a9ea6ee0a9508b218758650f43d994715..181784e18cd321f959845abdc0982e934f67a702 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||||
@@ -1425,7 +1425,7 @@ index b13057c0792067cc6b0abdf0d64a9be2cc9389a4..427ac2a5e90ad80328a07af27552b6b3
|
|||||||
final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
|
final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
|
||||||
if (!this.cserver.isPrimaryThread() && pageMax.enabled()) {
|
if (!this.cserver.isPrimaryThread() && pageMax.enabled()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 490ee48346395fcbaf2eb0151e9248f18974fea6..3f7812c55dae82433336d6e091aa83434615fa04 100644
|
index e0827d8bb3fa17d4f590a5342ff41a514f623e68..de5276b9ba5b3cd2f565714995e86edd4447c1ca 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -429,6 +429,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -429,6 +429,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -1634,7 +1634,7 @@ index ccd9dff20a60f019e0c320acfb526b8bf3e5f806..ce0d28cafcae0b7edc861749a1652ecc
|
|||||||
if (this.isSpectator()) {
|
if (this.isSpectator()) {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index f36a814bfd90af6457171512c131601b19905737..16fbbfd47c494d9fdea844cdb767dd9f6fe5e171 100644
|
index 763abeea3f14f15c27d600e0bdae44b387687bb4..1f3a55d34f58964fb1f642ad59c9d7b7aa6fa4ff 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -232,14 +232,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -232,14 +232,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -1656,7 +1656,7 @@ index f36a814bfd90af6457171512c131601b19905737..16fbbfd47c494d9fdea844cdb767dd9f
|
|||||||
this.targetSelector.tick();
|
this.targetSelector.tick();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -932,16 +934,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -929,16 +931,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
|
|
||||||
if (i % 2 != 0 && this.tickCount > 1) {
|
if (i % 2 != 0 && this.tickCount > 1) {
|
||||||
gameprofilerfiller.push("targetSelector");
|
gameprofilerfiller.push("targetSelector");
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ index 427ac2a5e90ad80328a07af27552b6b380c8f3f1..8345c9b767d9dabbaeb8bcc09cefd3a2
|
|||||||
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)) {
|
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||||
entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 9dd838972d83196dfda620b223ea17fbf7c125a4..5d2d310da657963b830efa7de2486180736613f0 100644
|
index e2907879dbe758ffe728d77ebde434b1e7382a96..cdd289a8a7e2560765c2e873e9d7eb698c9df273 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -259,7 +259,7 @@ index ce0d28cafcae0b7edc861749a1652ecc08d298b5..e7b9f129a31c57df65e9be082de1d2f3
|
|||||||
// Paper end - Add EntityMoveEvent
|
// Paper end - Add EntityMoveEvent
|
||||||
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 16fbbfd47c494d9fdea844cdb767dd9f6fe5e171..b45cefa0455ee5634b0b719bf93f7ab728d63eb0 100644
|
index 1f3a55d34f58964fb1f642ad59c9d7b7aa6fa4ff..ebf2541c0d17c0940d78162a4015145bbebc51cf 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -160,8 +160,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -160,8 +160,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -273,7 +273,7 @@ index 16fbbfd47c494d9fdea844cdb767dd9f6fe5e171..b45cefa0455ee5634b0b719bf93f7ab7
|
|||||||
this.jumpControl = new JumpControl(this);
|
this.jumpControl = new JumpControl(this);
|
||||||
this.bodyRotationControl = this.createBodyControl();
|
this.bodyRotationControl = this.createBodyControl();
|
||||||
this.navigation = this.createNavigation(world);
|
this.navigation = this.createNavigation(world);
|
||||||
@@ -1517,7 +1517,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1514,7 +1514,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||||
|
|
||||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||||
@@ -282,7 +282,7 @@ index 16fbbfd47c494d9fdea844cdb767dd9f6fe5e171..b45cefa0455ee5634b0b719bf93f7ab7
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isWithinRestriction() {
|
public boolean isWithinRestriction() {
|
||||||
@@ -1815,4 +1815,56 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1812,4 +1812,56 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
|
|
||||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ index 24507ece498ccaa2bed7b4ab53ae9c90e734ad54..cc770ba7f87fcb1e9027b4f120210809
|
|||||||
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
|
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||||
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
|
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index b45cefa0455ee5634b0b719bf93f7ab728d63eb0..349e9121d72f572e3e54e98aea50489f02fa4522 100644
|
index ebf2541c0d17c0940d78162a4015145bbebc51cf..0d93a8cbf15fa84f422d61adddb420ba5dcb226a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -146,6 +146,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -146,6 +146,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -85,7 +85,7 @@ index b45cefa0455ee5634b0b719bf93f7ab728d63eb0..349e9121d72f572e3e54e98aea50489f
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1756,6 +1784,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1753,6 +1781,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
this.playAttackSound();
|
this.playAttackSound();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 349e9121d72f572e3e54e98aea50489f02fa4522..175da1a128f9b53c6d61e936a18299a9fa2b9c29 100644
|
index 0d93a8cbf15fa84f422d61adddb420ba5dcb226a..d9743c9e0026d1f858aacc6a78dc39f144360b96 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -1444,7 +1444,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1441,7 +1441,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
attributemodifiable.addPermanentModifier(new AttributeModifier(Mob.RANDOM_SPAWN_BONUS_ID, randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.ADD_MULTIPLIED_BASE));
|
attributemodifiable.addPermanentModifier(new AttributeModifier(Mob.RANDOM_SPAWN_BONUS_ID, randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.ADD_MULTIPLIED_BASE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
Co-authored by: Encode42 <me@encode42.dev>
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index cc4bb21903a44a7a06176274bfdaddd3626f78c7..543fc2aeee9fa16a5493b947e49d37ff678935df 100644
|
index 4bdfeb5756b31cfadb505228fc4f9f01fb0c2441..13c3217a4cfa1c528947cfed642028fae2922f34 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -559,6 +559,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -559,6 +559,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -100,10 +100,10 @@ index 3c7331f3e5fa62e880a09a5d37c4bf041a8ae943..1602b6f4bc7766b3316e68287bbf549b
|
|||||||
|
|
||||||
public boolean isSensitiveToWater() {
|
public boolean isSensitiveToWater() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 5b082de9dc36eeb6d4432d00803880983b2dac5d..3150041b72d3a4fe01a0ca6f2ddb3003f4edfff4 100644
|
index 70ace6f2a42c0d4181cb22a08dd923bd77c08295..518968c03e4e7ae99c2e40f6164c89ad27bad697 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -1791,17 +1791,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1788,17 +1788,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
protected void playAttackSound() {}
|
protected void playAttackSound() {}
|
||||||
|
|
||||||
public boolean isSunBurnTick() {
|
public boolean isSunBurnTick() {
|
||||||
|
|||||||
@@ -1073,7 +1073,7 @@ index a715ecf4a8ac91d3e5e5c6269d89e54b2c1cd279..223c3665126c576eddb1a8f7c9f5bc60
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 74c5b87a2a382e37db7e4c12470badcf9e07cf54..9911d937ddaa456157aeacfe3178ab7d10fa5a3b 100644
|
index e0a461b84ac51910a1ede99d162e9674f4899b79..61f193c17d08ba5cdfb653b8f2488c8fca069854 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -889,7 +889,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -889,7 +889,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -1289,7 +1289,7 @@ index 273ba284ef4f515ac7ca276264e17e04cdbe5b2e..943b4e93d1cfbb6b5d933851b2494fb6
|
|||||||
// Purpur start
|
// Purpur start
|
||||||
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 3150041b72d3a4fe01a0ca6f2ddb3003f4edfff4..f17127b92115ed08ad5936d0be10ab8dd5b9bffb 100644
|
index 518968c03e4e7ae99c2e40f6164c89ad27bad697..4b4bdaf8c43e15ba953c160a003a719aaf730318 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -370,13 +370,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -370,13 +370,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -1326,7 +1326,7 @@ index 3150041b72d3a4fe01a0ca6f2ddb3003f4edfff4..f17127b92115ed08ad5936d0be10ab8d
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Vec3i getPickupReach() {
|
protected Vec3i getPickupReach() {
|
||||||
@@ -953,48 +953,48 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -950,48 +950,48 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Paper end - Allow nerfed mobs to jump and float
|
// Paper end - Allow nerfed mobs to jump and float
|
||||||
|
|||||||
Reference in New Issue
Block a user