geforkt von Mirrors/Paper
f243a4024d
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
94 Zeilen
4.6 KiB
Diff
94 Zeilen
4.6 KiB
Diff
From ba42a80cc0bcbcbf2a8d3ecf0782b9acdc8c499e Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
Date: Sat, 7 Mar 2015 22:03:47 -0600
|
|
Subject: [PATCH] Drop falling block entities that are above the specified
|
|
height
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
index ce91553..ef93776 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
|
@@ -69,6 +69,17 @@ public class EntityFallingBlock extends Entity {
|
|
|
|
this.motY -= 0.03999999910593033D;
|
|
this.move(this.motX, this.motY, this.motZ);
|
|
+
|
|
+ // PaperSpigot start - Drop falling blocks above the specified height
|
|
+ if (this.world.paperSpigotConfig.fallingBlockHeightNerf != 0 && this.locY > this.world.paperSpigotConfig.fallingBlockHeightNerf) {
|
|
+ if (this.dropItem) {
|
|
+ this.a(new ItemStack(block, 1, block.getDropData(this.block)), 0.0F);
|
|
+ }
|
|
+
|
|
+ this.die();
|
|
+ }
|
|
+ // PaperSpigot end
|
|
+
|
|
this.motX *= 0.9800000190734863D;
|
|
this.motY *= 0.9800000190734863D;
|
|
this.motZ *= 0.9800000190734863D;
|
|
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
index b7703a0..dcc02b7 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -146,4 +146,56 @@ public class PaperSpigotWorldConfig
|
|
keepSpawnInMemory = getBoolean( "keep-spawn-loaded", true );
|
|
log( "Keep spawn chunk loaded: " + keepSpawnInMemory );
|
|
}
|
|
+
|
|
+ public int fallingBlockHeightNerf;
|
|
+ private void fallingBlockheightNerf()
|
|
+ {
|
|
+ // TODO: Remove migrations after most users have upgraded.
|
|
+ if ( PaperSpigotConfig.version < 8 )
|
|
+ {
|
|
+ // Migrate default value
|
|
+
|
|
+ int heightNerf = config.getInt( "world-settings.default.falling-block-height-nerf", 0 );
|
|
+ if ( heightNerf == 0 ) heightNerf = config.getInt( "world-settings.default.tnt-entity-height-nerf", 0 );
|
|
+ if ( heightNerf == 0 ) heightNerf = config.getInt( "world-settings.default.tnt-gameplay.tnt-entity-height-limit", 0 );
|
|
+ if ( heightNerf != 0 ) config.set( "world-settings.default.falling-block-height-nerf", heightNerf );
|
|
+
|
|
+ if ( config.contains( "world-settings.default.tnt-entity-height-nerf" ) )
|
|
+ {
|
|
+ config.getDefaults().set( "world-settings.default.tnt-entity-height-nerf", null );
|
|
+ config.set( "world-settings.default.tnt-entity-height-nerf", null );
|
|
+ }
|
|
+
|
|
+ if ( config.contains( "world-settings.default.tnt-gameplay.tnt-entity-height-limit" ) )
|
|
+ {
|
|
+ config.getDefaults().set( "world-settings.default.tnt-gameplay.tnt-entity-height-limit", null );
|
|
+ config.set( "world-settings.default.tnt-gameplay.tnt-entity-height-limit", null );
|
|
+ }
|
|
+
|
|
+ // Migrate world setting
|
|
+
|
|
+ heightNerf = config.getInt( "world-settings." + worldName + ".falling-block-height-nerf" );
|
|
+ if ( heightNerf == 0 ) heightNerf = config.getInt( "world-settings." + worldName + ".tnt-entity-height-nerf", 0 );
|
|
+ if ( heightNerf == 0 ) heightNerf = config.getInt( "world-settings." + worldName + ".tnt-gameplay.tnt-entity-height-limit", 0 );
|
|
+ if ( heightNerf != 0 ) config.set( "world-settings." + worldName + ".falling-block-height-nerf", heightNerf );
|
|
+
|
|
+ if ( config.contains( "world-settings." + worldName + ".tnt-entity-height-nerf" ) )
|
|
+ {
|
|
+ config.getDefaults().set( "world-settings." + worldName + ".tnt-entity-height-nerf", null );
|
|
+ config.set( "world-settings." + worldName + ".tnt-entity-height-nerf", null);
|
|
+ }
|
|
+
|
|
+ if ( config.contains( "world-settings." + worldName + ".tnt-gameplay.tnt-entity-height-limit" ) )
|
|
+ {
|
|
+ config.getDefaults().set( "world-settings." + worldName + ".tnt-gameplay.tnt-entity-height-limit", null );
|
|
+ config.set( "world-settings." + worldName + ".tnt-gameplay.tnt-entity-height-limit", null );
|
|
+ }
|
|
+ }
|
|
+
|
|
+ fallingBlockHeightNerf = getInt( "falling-block-height-nerf", 0 );
|
|
+ if ( fallingBlockHeightNerf != 0 )
|
|
+ {
|
|
+ log( "Falling Block Height Limit set to Y: " + fallingBlockHeightNerf );
|
|
+ }
|
|
+ }
|
|
}
|
|
--
|
|
2.5.1
|
|
|