geforkt von Mirrors/Paper
53 Zeilen
3.5 KiB
Diff
53 Zeilen
3.5 KiB
Diff
|
From 0000000000000000000000000000000000000000 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 1942f5224aaebb18adb591d6f70a419cfc1a7bdd..5baccb8d50c135ab20c38ffd0690f585514ce5af 100644
|
||
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||
|
@@ -259,4 +259,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/world/level/block/FrostedIceBlock.java b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
||
|
index 0727cc36c99cb5ca5019c71f4540de76b78c7a80..ae2f5acd008d5d7163b56cb4a2d29354299959ca 100644
|
||
|
--- a/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
||
|
+++ b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
||
|
@@ -30,6 +30,7 @@ public class FrostedIceBlock extends IceBlock {
|
||
|
|
||
|
@Override
|
||
|
public void tick(BlockState state, ServerLevel world, BlockPos pos, Random random) {
|
||
|
+ if (!world.paperConfig.frostedIceEnabled) return; // Paper - add ability to disable frosted ice
|
||
|
if ((random.nextInt(3) == 0 || this.fewerNeigboursThan(world, pos, 4)) && world.getMaxLocalRawBrightness(pos) > 11 - (Integer) state.getValue(FrostedIceBlock.AGE) - state.getLightBlock((BlockGetter) world, pos) && this.slightlyMelt(state, (Level) world, pos)) {
|
||
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||
|
Direction[] aenumdirection = Direction.values();
|
||
|
@@ -42,12 +43,12 @@ public class FrostedIceBlock extends IceBlock {
|
||
|
BlockState iblockdata1 = world.getBlockState(blockposition_mutableblockposition);
|
||
|
|
||
|
if (iblockdata1.is((Block) this) && !this.slightlyMelt(iblockdata1, (Level) world, blockposition_mutableblockposition)) {
|
||
|
- world.getBlockTicks().scheduleTick(blockposition_mutableblockposition, this, Mth.nextInt(random, 20, 40));
|
||
|
+ world.getBlockTicks().scheduleTick(blockposition_mutableblockposition, this, Mth.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
|
||
|
}
|
||
|
}
|
||
|
|
||
|
} else {
|
||
|
- world.getBlockTicks().scheduleTick(pos, this, Mth.nextInt(random, 20, 40));
|
||
|
+ world.getBlockTicks().scheduleTick(pos, this, Mth.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
|
||
|
}
|
||
|
}
|
||
|
|