Fix skeleton horse spawn chance ignoring difficulty modifier if custom set

Also reduce diff
This commit is contained in:
Aikar 2016-05-30 12:50:57 -04:00
parent a272c3c0cb
commit 1aef85c2bb
10 changed files with 52 additions and 52 deletions

View file

@ -1,14 +1,14 @@
From 3bb349b42d4ab8cfd618900eb2bfd6eeaf8cf288 Mon Sep 17 00:00:00 2001
From a207b58ec71b1d845b1ee03aaa70387d4752259a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 22 Mar 2016 12:04:28 -0500
Subject: [PATCH] Configurable spawn chances for skeleton horses
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 3f8a47b..098eedd 100644
index 3f8a47b..5652108 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -288,4 +288,9 @@ public class PaperWorldConfig {
@@ -288,4 +288,12 @@ public class PaperWorldConfig {
}
log("Non Player Arrow Despawn Rate: " + nonPlayerArrowDespawnRate);
}
@ -16,24 +16,24 @@ index 3f8a47b..098eedd 100644
+ public double skeleHorseSpawnChance;
+ private void skeleHorseSpawnChance() {
+ skeleHorseSpawnChance = getDouble("skeleton-horse-thunder-spawn-chance", -1.0D); // -1.0D represents a "vanilla" state
+ if (skeleHorseSpawnChance < 0) {
+ skeleHorseSpawnChance = 0.05D; // Vanilla
+ }
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index c7e5226..6447d7b 100644
index c7e5226..0217d42 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -431,7 +431,10 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -431,7 +431,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.D(blockposition);
- if (this.random.nextDouble() < (double) difficultydamagescaler.b() * 0.05D) {
+ // Paper start - Configurable skeleton horse spawn chance
+ double chance = this.paperConfig.skeleHorseSpawnChance == -1.0D ? (double) difficultydamagescaler.b() * 0.05D : this.paperConfig.skeleHorseSpawnChance;
+ if (this.random.nextDouble() < chance) {
+ // Paper end
+ if (this.random.nextDouble() < difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance) { // Paper - Configurable skeleton horse spawn chance
EntityHorse entityhorse = new EntityHorse(this);
entityhorse.setType(EnumHorseType.SKELETON);
--
2.8.2
2.8.3

View file

@ -1,4 +1,4 @@
From cfa3609238c2749fc65d6877feb8518054fecdc3 Mon Sep 17 00:00:00 2001
From 3ba81525447b0cb9be91c504697480d6df2203e4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 19:55:45 -0400
Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone
@ -11,12 +11,12 @@ Defaulting this to false will provide substantial performance improvement
by saving millions of event calls on redstone heavy servers.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 098eedd..5bea199 100644
index 5652108..a97eee7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -293,4 +293,9 @@ public class PaperWorldConfig {
private void skeleHorseSpawnChance() {
skeleHorseSpawnChance = getDouble("skeleton-horse-thunder-spawn-chance", -1.0D); // -1.0D represents a "vanilla" state
@@ -296,4 +296,9 @@ public class PaperWorldConfig {
skeleHorseSpawnChance = 0.05D; // Vanilla
}
}
+
+ public boolean firePhysicsEventForRedstone = false;
@ -25,7 +25,7 @@ index 098eedd..5bea199 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 718215c..757ed3e 100644
index 7e06010..05f9b34 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -558,7 +558,7 @@ public abstract class World implements IBlockAccess {
@ -38,7 +38,7 @@ index 718215c..757ed3e 100644
this.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 6447d7b..3e5923c 100644
index 0217d42..d074705 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -33,6 +33,7 @@ import org.bukkit.event.weather.LightningStrikeEvent;
@ -49,7 +49,7 @@ index 6447d7b..3e5923c 100644
private final MinecraftServer server;
public EntityTracker tracker;
private final PlayerChunkMap manager;
@@ -744,6 +745,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -741,6 +742,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) {
try {
@ -57,7 +57,7 @@ index 6447d7b..3e5923c 100644
iblockdata.getBlock().b((World) this, nextticklistentry.a, iblockdata, this.random);
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Exception while ticking a block");
@@ -751,7 +753,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -748,7 +750,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
CrashReportSystemDetails.a(crashreportsystemdetails, nextticklistentry.a, iblockdata);
throw new ReportedException(crashreport);
@ -67,5 +67,5 @@ index 6447d7b..3e5923c 100644
timing.stopTiming(); // Paper
} else {
--
2.8.2
2.8.3

View file

@ -1,4 +1,4 @@
From 5cb8ee3731491cdb9d7ab81ff6d77fd022658640 Mon Sep 17 00:00:00 2001
From 072fc0b7c6a6bc4d38bbd078405d29255b5f4a9a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 20:46:14 -0400
Subject: [PATCH] Configurable Chunk Inhabited Timer
@ -9,10 +9,10 @@ aspects of vanilla gameplay to this factor.
For people who want all chunks to be treated equally, you can disable the timer.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 5bea199..ae5bcfc 100644
index a97eee7..8966b4a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -298,4 +298,9 @@ public class PaperWorldConfig {
@@ -301,4 +301,9 @@ public class PaperWorldConfig {
private void firePhysicsEventForRedstone() {
firePhysicsEventForRedstone = getBoolean("fire-physics-event-for-redstone", firePhysicsEventForRedstone);
}
@ -36,5 +36,5 @@ index 98d9e99..7144227 100644
public void c(long i) {
--
2.8.2
2.8.3

View file

@ -1,14 +1,14 @@
From 1b0541c134ec647d39470178f69215b80c6f3651 Mon Sep 17 00:00:00 2001
From 066c29f5b6339e018b0fcc9e86752a463e5c82ab Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Apr 2016 16:28:17 -0400
Subject: [PATCH] Configurable Grass Spread Tick Rate
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index ae5bcfc..ee67628 100644
index 8966b4a..2374419 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -303,4 +303,10 @@ public class PaperWorldConfig {
@@ -306,4 +306,10 @@ public class PaperWorldConfig {
private void useInhabitedTime() {
useInhabitedTime = getBoolean("use-chunk-inhabited-timer", true);
}
@ -32,5 +32,5 @@ index 21e722d..e41f2b2 100644
int lightLevel = -1; // Paper
if (world.getType(blockposition.up()).c() > 2 && (lightLevel = world.getLightLevel(blockposition.up())) < 4) { // Paper - move light check to end to avoid unneeded light lookups
--
2.8.2
2.8.3

View file

@ -1,4 +1,4 @@
From 61779a525b1be7b2561a7445fc1bd1f471a340a5 Mon Sep 17 00:00:00 2001
From aa2f2c18d1a4ed846559046dc228aee45dbd3ee1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 13 Sep 2014 23:14:43 -0400
Subject: [PATCH] Configurable Keep Spawn Loaded range per world
@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index ee67628..4f94b04 100644
index 2374419..d6fef83 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -309,4 +309,10 @@ public class PaperWorldConfig {
@@ -312,4 +312,10 @@ public class PaperWorldConfig {
grassUpdateRate = Math.max(0, getInt("grass-spread-tick-rate", grassUpdateRate));
log("Grass Spread Tick Rate: " + grassUpdateRate);
}
@ -37,7 +37,7 @@ index 842e364..e1c0c0b 100644
if (i1 - j > 1000L) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5223785..7bfb735 100644
index 21fa43f..f160813 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -3228,7 +3228,7 @@ public abstract class World implements IBlockAccess {
@ -63,7 +63,7 @@ index a0478f2..975a036 100644
for (int j = -short1; j <= short1; j += 16) {
for (int k = -short1; k <= short1; k += 16) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 46648bf..1adfc03 100644
index 18b7da6..6a3e939 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1259,8 +1259,9 @@ public class CraftWorld implements World {
@ -79,5 +79,5 @@ index 46648bf..1adfc03 100644
loadChunk(chunkCoordX + x, chunkCoordZ + z);
} else {
--
2.8.2
2.8.3

View file

@ -1,14 +1,14 @@
From 697e05516b86feec6e9431909006d8900248bab9 Mon Sep 17 00:00:00 2001
From 7d734bafb7c0fa8ce854de202a8f95f96ef8e40a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 6 Apr 2016 01:04:23 -0500
Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 4f94b04..6a235d1 100644
index d6fef83..35364c7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -315,4 +315,9 @@ public class PaperWorldConfig {
@@ -318,4 +318,9 @@ public class PaperWorldConfig {
keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 8)) * 16);
log( "Keep Spawn Loaded Range: " + (keepLoadedRange/16));
}
@ -39,5 +39,5 @@ index 3d9a677..724569e 100644
if (((LazyPlayerSet) event.getRecipients()).isLazy()) {
for (Object recipient : minecraftServer.getPlayerList().players) {
--
2.8.2
2.8.3

View file

@ -1,14 +1,14 @@
From 928b12e8cc7000f5cd8cb3cb4a2ef5efce65798e Mon Sep 17 00:00:00 2001
From ea3fcae6fda6a45a6146035d0723ec71aaf51188 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 6a235d1..cc307c4 100644
index 35364c7..31b6dce 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -320,4 +320,14 @@ public class PaperWorldConfig {
@@ -323,4 +323,14 @@ public class PaperWorldConfig {
private void useVanillaScoreboardColoring() {
useVanillaScoreboardColoring = getBoolean("use-vanilla-world-scoreboard-name-coloring", false);
}
@ -44,5 +44,5 @@ index 8f502b9..bddfea0 100644
}
--
2.7.4 (Apple Git-66)
2.8.3

View file

@ -1,4 +1,4 @@
From 97bbe372fc937d26e9ff4e96ff362a2e4f417586 Mon Sep 17 00:00:00 2001
From 83e8df21605fee2b292d84c84fd1d19f40db2794 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 1 May 2016 21:19:14 -0400
Subject: [PATCH] LootTable API & Replenishable Lootables Feature
@ -11,10 +11,10 @@ This feature is good for long term worlds so that newer players
do not suffer with "Every chest has been looted"
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index cc307c4..efed4c6 100644
index 31b6dce..a1ccdf1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -330,4 +330,26 @@ public class PaperWorldConfig {
@@ -333,4 +333,26 @@ public class PaperWorldConfig {
this.frostedIceDelayMax = this.getInt("frosted-ice.delay.max", this.frostedIceDelayMax);
this.log("Frosted Ice: " + (this.frostedIceEnabled ? "enabled" : "disabled") + " / delay: min=" + this.frostedIceDelayMin + ", max=" + this.frostedIceDelayMax);
}
@ -729,5 +729,5 @@ index e9963e2..acb4dee 100644
CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
--
2.7.4 (Apple Git-66)
2.8.3

View file

@ -1,14 +1,14 @@
From 201d211ea97e013c64cf7f186a294b5465043bf3 Mon Sep 17 00:00:00 2001
From 2c11f846cd0e886c17f545a6f3f6b589bf7cb3d7 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 22 May 2016 20:20:55 -0500
Subject: [PATCH] Optional old TNT cannon behaviors
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index efed4c6..1e60a3b 100644
index a1ccdf1..40ede20 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -352,4 +352,12 @@ public class PaperWorldConfig {
@@ -355,4 +355,12 @@ public class PaperWorldConfig {
);
}
}
@ -391,5 +391,5 @@ index 28261c5..275e044 100644
EntityHuman entityhuman = (EntityHuman) entity;
--
2.7.4 (Apple Git-66)
2.8.3

View file

@ -1,4 +1,4 @@
From f41a7edf31033827edd67f09a3edab331d5c9837 Mon Sep 17 00:00:00 2001
From 98f29043703188f8036aede45f8ee14e3324e93d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 27 May 2016 22:06:35 -0400
Subject: [PATCH] Re-add tileEntityTick.startTiming Spigot removed
@ -17,5 +17,5 @@ index 6c67062..e70aa8e 100644
// CraftBukkit start - From below, clean up tile entities before ticking them
if (!this.tileEntityListUnload.isEmpty()) {
--
2.7.4 (Apple Git-66)
2.8.3