Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: eb2e6578 SPIGOT-5116: Fix concurrent modification exception inside ChunkMapDistance 989f9b3d SPIGOT-4849: Fix server crash when accessing chunks during chunk load/unload/populate events f554183c SPIGOT-5171: Don't fire PlayerTeleportEvent if not actually moving 2349feb8 SPIGOT-5163: Cancelling PlayerBucketFillEvent visually removes the targeted block Spigot Changes: 9a643a6a Remove DataWatcher Locking
59 lines
3.4 KiB
Diff
59 lines
3.4 KiB
Diff
From 7a007d2550ff79c4527828c92933958978c49ad5 Mon Sep 17 00:00:00 2001
|
|
From: kashike <kashike@vq.lc>
|
|
Date: Thu, 21 Apr 2016 23:51:55 -0700
|
|
Subject: [PATCH] Add ability to configure frosted_ice properties
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index aeeb7c24e..409a84b52 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -250,4 +250,14 @@ public class PaperWorldConfig {
|
|
private void useVanillaScoreboardColoring() {
|
|
useVanillaScoreboardColoring = getBoolean("use-vanilla-world-scoreboard-name-coloring", false);
|
|
}
|
|
+
|
|
+ public boolean frostedIceEnabled = true;
|
|
+ public int frostedIceDelayMin = 20;
|
|
+ public int frostedIceDelayMax = 40;
|
|
+ private void frostedIce() {
|
|
+ this.frostedIceEnabled = this.getBoolean("frosted-ice.enabled", this.frostedIceEnabled);
|
|
+ this.frostedIceDelayMin = this.getInt("frosted-ice.delay.min", this.frostedIceDelayMin);
|
|
+ this.frostedIceDelayMax = this.getInt("frosted-ice.delay.max", this.frostedIceDelayMax);
|
|
+ log("Frosted Ice: " + (this.frostedIceEnabled ? "enabled" : "disabled") + " / delay: min=" + this.frostedIceDelayMin + ", max=" + this.frostedIceDelayMax);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/BlockIceFrost.java b/src/main/java/net/minecraft/server/BlockIceFrost.java
|
|
index 1a0c2eeaa..39c3bbc9c 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockIceFrost.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockIceFrost.java
|
|
@@ -13,6 +13,7 @@ public class BlockIceFrost extends BlockIce {
|
|
|
|
@Override
|
|
public void tick(IBlockData iblockdata, World world, BlockPosition blockposition, Random random) {
|
|
+ if (!world.paperConfig.frostedIceEnabled) return; // Paper - add ability to disable frosted ice
|
|
if ((random.nextInt(3) == 0 || this.a(world, blockposition, 4)) && world.getLightLevel(blockposition) > 11 - (Integer) iblockdata.get(BlockIceFrost.a) - iblockdata.b((IBlockAccess) world, blockposition) && this.e(iblockdata, world, blockposition)) {
|
|
BlockPosition.PooledBlockPosition blockposition_pooledblockposition = BlockPosition.PooledBlockPosition.r();
|
|
Throwable throwable = null;
|
|
@@ -28,7 +29,7 @@ public class BlockIceFrost extends BlockIce {
|
|
IBlockData iblockdata1 = world.getType(blockposition_pooledblockposition);
|
|
|
|
if (iblockdata1.getBlock() == this && !this.e(iblockdata1, world, blockposition_pooledblockposition)) {
|
|
- world.getBlockTickList().a(blockposition_pooledblockposition, this, MathHelper.nextInt(random, 20, 40));
|
|
+ world.getBlockTickList().a(blockposition_pooledblockposition, this, MathHelper.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
|
|
}
|
|
}
|
|
} catch (Throwable throwable1) {
|
|
@@ -50,7 +51,7 @@ public class BlockIceFrost extends BlockIce {
|
|
}
|
|
|
|
} else {
|
|
- world.getBlockTickList().a(blockposition, this, MathHelper.nextInt(random, 20, 40));
|
|
+ world.getBlockTickList().a(blockposition, this, MathHelper.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
|
|
}
|
|
}
|
|
|
|
--
|
|
2.22.0
|
|
|