Make Anti-Xray Update Radius configurable (#1094)
Dieser Commit ist enthalten in:
Ursprung
4316e8f59d
Commit
3340e81425
@ -1,11 +1,11 @@
|
|||||||
From 8d22ff6f6f29ab5e7f2ab17f5166e92620c1c749 Mon Sep 17 00:00:00 2001
|
From 77ddf4aa9f419f854fbb51fdd390f5316d2d00cd Mon Sep 17 00:00:00 2001
|
||||||
From: stonar96 <minecraft.stonar96@gmail.com>
|
From: stonar96 <minecraft.stonar96@gmail.com>
|
||||||
Date: Thu, 21 Sep 2017 00:38:47 +0200
|
Date: Thu, 21 Sep 2017 00:38:47 +0200
|
||||||
Subject: [PATCH] Anti-Xray
|
Subject: [PATCH] Anti-Xray
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 7802cc1f..69fd8189 100644
|
index 7802cc1f..30307da0 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -1,7 +1,10 @@
|
@@ -1,7 +1,10 @@
|
||||||
@ -19,7 +19,7 @@ index 7802cc1f..69fd8189 100644
|
|||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
@@ -426,4 +429,25 @@ public class PaperWorldConfig {
|
@@ -426,4 +429,27 @@ public class PaperWorldConfig {
|
||||||
disableCreeperLingeringEffect = getBoolean("disable-creeper-lingering-effect", false);
|
disableCreeperLingeringEffect = getBoolean("disable-creeper-lingering-effect", false);
|
||||||
log("Creeper lingering effect: " + disableCreeperLingeringEffect);
|
log("Creeper lingering effect: " + disableCreeperLingeringEffect);
|
||||||
}
|
}
|
||||||
@ -29,6 +29,7 @@ index 7802cc1f..69fd8189 100644
|
|||||||
+ public EngineMode engineMode;
|
+ public EngineMode engineMode;
|
||||||
+ public ChunkEdgeMode chunkEdgeMode;
|
+ public ChunkEdgeMode chunkEdgeMode;
|
||||||
+ public int maxChunkSectionIndex;
|
+ public int maxChunkSectionIndex;
|
||||||
|
+ public int updateRadius;
|
||||||
+ public List<Object> hiddenBlocks;
|
+ public List<Object> hiddenBlocks;
|
||||||
+ public List<Object> replacementBlocks;
|
+ public List<Object> replacementBlocks;
|
||||||
+ private void antiXray() {
|
+ private void antiXray() {
|
||||||
@ -40,9 +41,10 @@ index 7802cc1f..69fd8189 100644
|
|||||||
+ chunkEdgeMode = chunkEdgeMode == null ? ChunkEdgeMode.DEFAULT : chunkEdgeMode;
|
+ chunkEdgeMode = chunkEdgeMode == null ? ChunkEdgeMode.DEFAULT : chunkEdgeMode;
|
||||||
+ maxChunkSectionIndex = getInt("anti-xray.max-chunk-section-index", 3);
|
+ maxChunkSectionIndex = getInt("anti-xray.max-chunk-section-index", 3);
|
||||||
+ maxChunkSectionIndex = maxChunkSectionIndex > 15 ? 15 : maxChunkSectionIndex;
|
+ maxChunkSectionIndex = maxChunkSectionIndex > 15 ? 15 : maxChunkSectionIndex;
|
||||||
|
+ updateRadius = getInt("anti-xray.update-radius", 2);
|
||||||
+ hiddenBlocks = getList("anti-xray.hidden-blocks", Arrays.asList((Object) "gold_ore", "iron_ore", "coal_ore", "lapis_ore", "mossy_cobblestone", "obsidian", "chest", "diamond_ore", "redstone_ore", "lit_redstone_ore", "clay", "emerald_ore", "ender_chest"));
|
+ hiddenBlocks = getList("anti-xray.hidden-blocks", Arrays.asList((Object) "gold_ore", "iron_ore", "coal_ore", "lapis_ore", "mossy_cobblestone", "obsidian", "chest", "diamond_ore", "redstone_ore", "lit_redstone_ore", "clay", "emerald_ore", "ender_chest"));
|
||||||
+ replacementBlocks = getList("anti-xray.replacement-blocks", Arrays.asList((Object) "stone", "planks"));
|
+ replacementBlocks = getList("anti-xray.replacement-blocks", Arrays.asList((Object) "stone", "planks"));
|
||||||
+ log("Anti-Xray: " + (antiXray ? "enabled" : "disabled") + " / Engine Mode: " + engineMode.getDescription() + " / Chunk Edge Mode: " + chunkEdgeMode.getDescription() + " / Up to " + ((maxChunkSectionIndex + 1) * 16) + " blocks");
|
+ log("Anti-Xray: " + (antiXray ? "enabled" : "disabled") + " / Engine Mode: " + engineMode.getDescription() + " / Chunk Edge Mode: " + chunkEdgeMode.getDescription() + " / Up to " + ((maxChunkSectionIndex + 1) * 16) + " blocks / Update Radius: " + updateRadius);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
||||||
@ -89,10 +91,10 @@ index 00000000..6833cfad
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 00000000..91fa945f
|
index 00000000..2dc0655a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
||||||
@@ -0,0 +1,627 @@
|
@@ -0,0 +1,640 @@
|
||||||
+package com.destroystokyo.paper.antixray;
|
+package com.destroystokyo.paper.antixray;
|
||||||
+
|
+
|
||||||
+import java.util.HashSet;
|
+import java.util.HashSet;
|
||||||
@ -124,6 +126,7 @@ index 00000000..91fa945f
|
|||||||
+ private final EngineMode engineMode;
|
+ private final EngineMode engineMode;
|
||||||
+ private final ChunkEdgeMode chunkEdgeMode;
|
+ private final ChunkEdgeMode chunkEdgeMode;
|
||||||
+ private final int maxChunkSectionIndex;
|
+ private final int maxChunkSectionIndex;
|
||||||
|
+ private final int updateRadius;
|
||||||
+ private final IBlockData[] predefinedBlockData;
|
+ private final IBlockData[] predefinedBlockData;
|
||||||
+ private final IBlockData[] predefinedBlockDataStone;
|
+ private final IBlockData[] predefinedBlockDataStone;
|
||||||
+ private final IBlockData[] predefinedBlockDataNetherrack;
|
+ private final IBlockData[] predefinedBlockDataNetherrack;
|
||||||
@ -142,6 +145,7 @@ index 00000000..91fa945f
|
|||||||
+ engineMode = paperWorldConfig.engineMode;
|
+ engineMode = paperWorldConfig.engineMode;
|
||||||
+ chunkEdgeMode = paperWorldConfig.chunkEdgeMode;
|
+ chunkEdgeMode = paperWorldConfig.chunkEdgeMode;
|
||||||
+ maxChunkSectionIndex = paperWorldConfig.maxChunkSectionIndex;
|
+ maxChunkSectionIndex = paperWorldConfig.maxChunkSectionIndex;
|
||||||
|
+ updateRadius = paperWorldConfig.updateRadius;
|
||||||
+
|
+
|
||||||
+ if (asynchronous) {
|
+ if (asynchronous) {
|
||||||
+ executorService = getExecutorServiceInstance();
|
+ executorService = getExecutorServiceInstance();
|
||||||
@ -618,31 +622,42 @@ index 00000000..91fa945f
|
|||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void updateNearbyBlocks(World world, BlockPosition blockPosition) {
|
+ public void updateNearbyBlocks(World world, BlockPosition blockPosition) {
|
||||||
+ BlockPosition temp = blockPosition.west();
|
+ if (updateRadius >= 2) {
|
||||||
+ updateBlock(world, temp);
|
+ BlockPosition temp = blockPosition.west();
|
||||||
+ updateBlock(world, temp.west());
|
+ updateBlock(world, temp);
|
||||||
+ updateBlock(world, temp.down());
|
+ updateBlock(world, temp.west());
|
||||||
+ updateBlock(world, temp.up());
|
+ updateBlock(world, temp.down());
|
||||||
+ updateBlock(world, temp.north());
|
+ updateBlock(world, temp.up());
|
||||||
+ updateBlock(world, temp.south());
|
+ updateBlock(world, temp.north());
|
||||||
+ updateBlock(world, temp = blockPosition.east());
|
+ updateBlock(world, temp.south());
|
||||||
+ updateBlock(world, temp.east());
|
+ updateBlock(world, temp = blockPosition.east());
|
||||||
+ updateBlock(world, temp.down());
|
+ updateBlock(world, temp.east());
|
||||||
+ updateBlock(world, temp.up());
|
+ updateBlock(world, temp.down());
|
||||||
+ updateBlock(world, temp.north());
|
+ updateBlock(world, temp.up());
|
||||||
+ updateBlock(world, temp.south());
|
+ updateBlock(world, temp.north());
|
||||||
+ updateBlock(world, temp = blockPosition.down());
|
+ updateBlock(world, temp.south());
|
||||||
+ updateBlock(world, temp.down());
|
+ updateBlock(world, temp = blockPosition.down());
|
||||||
+ updateBlock(world, temp.north());
|
+ updateBlock(world, temp.down());
|
||||||
+ updateBlock(world, temp.south());
|
+ updateBlock(world, temp.north());
|
||||||
+ updateBlock(world, temp = blockPosition.up());
|
+ updateBlock(world, temp.south());
|
||||||
+ updateBlock(world, temp.up());
|
+ updateBlock(world, temp = blockPosition.up());
|
||||||
+ updateBlock(world, temp.north());
|
+ updateBlock(world, temp.up());
|
||||||
+ updateBlock(world, temp.south());
|
+ updateBlock(world, temp.north());
|
||||||
+ updateBlock(world, temp = blockPosition.north());
|
+ updateBlock(world, temp.south());
|
||||||
+ updateBlock(world, temp.north());
|
+ updateBlock(world, temp = blockPosition.north());
|
||||||
+ updateBlock(world, temp = blockPosition.south());
|
+ updateBlock(world, temp.north());
|
||||||
+ updateBlock(world, temp.south());
|
+ updateBlock(world, temp = blockPosition.south());
|
||||||
|
+ updateBlock(world, temp.south());
|
||||||
|
+ } else if (updateRadius == 1) {
|
||||||
|
+ updateBlock(world, blockPosition.west());
|
||||||
|
+ updateBlock(world, blockPosition.east());
|
||||||
|
+ updateBlock(world, blockPosition.down());
|
||||||
|
+ updateBlock(world, blockPosition.up());
|
||||||
|
+ updateBlock(world, blockPosition.north());
|
||||||
|
+ updateBlock(world, blockPosition.south());
|
||||||
|
+ } else {
|
||||||
|
+ //Do nothing if updateRadius <= 0 (test mode)
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private void updateBlock(World world, BlockPosition blockPosition) {
|
+ private void updateBlock(World world, BlockPosition blockPosition) {
|
||||||
@ -1502,7 +1517,7 @@ index 8860a012..fa0d66d6 100644
|
|||||||
return this.a.size();
|
return this.a.size();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 00513d02..592e5b3b 100644
|
index 137c2555..75d5451c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -35,6 +35,8 @@ import org.bukkit.generator.ChunkGenerator;
|
@@ -35,6 +35,8 @@ import org.bukkit.generator.ChunkGenerator;
|
||||||
@ -1579,5 +1594,5 @@ index 9942f0c7..2da6edc6 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
From c65aa11566146474df22c01b4cbe1140d34f3858 Mon Sep 17 00:00:00 2001
|
From 06b4ff65646915cf98aa1c2370c2182a617ca5da Mon Sep 17 00:00:00 2001
|
||||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Fri, 10 Nov 2017 23:03:12 -0500
|
Date: Fri, 10 Nov 2017 23:03:12 -0500
|
||||||
Subject: [PATCH] Option for maximum exp value when merging orbs
|
Subject: [PATCH] Option for maximum exp value when merging orbs
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 69fd8189..e6ee13ee 100644
|
index 30307da0..a3119cd1 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -450,4 +450,10 @@ public class PaperWorldConfig {
|
@@ -452,4 +452,10 @@ public class PaperWorldConfig {
|
||||||
replacementBlocks = getList("anti-xray.replacement-blocks", Arrays.asList((Object) "stone", "planks"));
|
replacementBlocks = getList("anti-xray.replacement-blocks", Arrays.asList((Object) "stone", "planks"));
|
||||||
log("Anti-Xray: " + (antiXray ? "enabled" : "disabled") + " / Engine Mode: " + engineMode.getDescription() + " / Chunk Edge Mode: " + chunkEdgeMode.getDescription() + " / Up to " + ((maxChunkSectionIndex + 1) * 16) + " blocks");
|
log("Anti-Xray: " + (antiXray ? "enabled" : "disabled") + " / Engine Mode: " + engineMode.getDescription() + " / Chunk Edge Mode: " + chunkEdgeMode.getDescription() + " / Up to " + ((maxChunkSectionIndex + 1) * 16) + " blocks / Update Radius: " + updateRadius);
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ public int expMergeMaxValue;
|
+ public int expMergeMaxValue;
|
||||||
@ -20,7 +20,7 @@ index 69fd8189..e6ee13ee 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index d45cbf2f..0193364d 100644
|
index a4bdaa71..362f0545 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -1143,16 +1143,30 @@ public abstract class World implements IBlockAccess {
|
@@ -1143,16 +1143,30 @@ public abstract class World implements IBlockAccess {
|
||||||
@ -56,5 +56,5 @@ index d45cbf2f..0193364d 100644
|
|||||||
} // Spigot end
|
} // Spigot end
|
||||||
|
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From f0a620d88b20747060726bb0ffc329917aadaa12 Mon Sep 17 00:00:00 2001
|
From 8b7f2e2df1b19036d1b117a9771e2cfbfe7a51ba Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Mon, 1 Jan 2018 15:41:59 -0500
|
Date: Mon, 1 Jan 2018 15:41:59 -0500
|
||||||
Subject: [PATCH] Configurable Chunks Sends per Tick setting
|
Subject: [PATCH] Configurable Chunks Sends per Tick setting
|
||||||
@ -8,10 +8,10 @@ Vanilla already had this limited, make it configurable.
|
|||||||
Limit how much exploration lags the server
|
Limit how much exploration lags the server
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index e6ee13ee..8949b029 100644
|
index a3119cd1..259f5c70 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -456,4 +456,13 @@ public class PaperWorldConfig {
|
@@ -458,4 +458,13 @@ public class PaperWorldConfig {
|
||||||
expMergeMaxValue = getInt("experience-merge-max-value", -1);
|
expMergeMaxValue = getInt("experience-merge-max-value", -1);
|
||||||
log("Experience Merge Max Value: " + expMergeMaxValue);
|
log("Experience Merge Max Value: " + expMergeMaxValue);
|
||||||
}
|
}
|
||||||
@ -39,5 +39,5 @@ index 4af55732..6ee9f6cf 100644
|
|||||||
Iterator iterator2 = this.g.iterator();
|
Iterator iterator2 = this.g.iterator();
|
||||||
|
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 12a2b49cb2f955721aa6dfdb2edb2d04d5483426 Mon Sep 17 00:00:00 2001
|
From a154447f379d5f53108dfa6696d27dce53c51cc5 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Mon, 1 Jan 2018 16:10:24 -0500
|
Date: Mon, 1 Jan 2018 16:10:24 -0500
|
||||||
Subject: [PATCH] Configurable Max Chunk Gens per Tick
|
Subject: [PATCH] Configurable Max Chunk Gens per Tick
|
||||||
@ -13,10 +13,10 @@ This should result in no noticeable speed reduction in generation for servers no
|
|||||||
lagging, and let larger servers reduce this value according to their own desires.
|
lagging, and let larger servers reduce this value according to their own desires.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 8949b029..cd036b44 100644
|
index 259f5c70..3df3b433 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -465,4 +465,16 @@ public class PaperWorldConfig {
|
@@ -467,4 +467,16 @@ public class PaperWorldConfig {
|
||||||
}
|
}
|
||||||
log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick);
|
log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick);
|
||||||
}
|
}
|
||||||
@ -108,5 +108,5 @@ index 193c3621..cf1258c5 100644
|
|||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 84975cf3c2f9cff53bd8cfb2e6c99e6bf3c7bc36 Mon Sep 17 00:00:00 2001
|
From 14722028d518e9638b12c068990a7f12e6e76971 Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Thu, 11 Jan 2018 16:47:28 -0600
|
Date: Thu, 11 Jan 2018 16:47:28 -0600
|
||||||
Subject: [PATCH] Make max squid spawn height configurable
|
Subject: [PATCH] Make max squid spawn height configurable
|
||||||
@ -7,10 +7,10 @@ I don't know why upstream made only the minimum height configurable but
|
|||||||
whatever
|
whatever
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index cd036b44..1947f246 100644
|
index 3df3b433..be4431c1 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -477,4 +477,9 @@ public class PaperWorldConfig {
|
@@ -479,4 +479,9 @@ public class PaperWorldConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,5 +36,5 @@ index 0ce16be6..58a90283 100644
|
|||||||
|
|
||||||
public void b(float f, float f1, float f2) {
|
public void b(float f, float f1, float f2) {
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From a5b59c4a74ae629e213e85929baaf8c543fbef60 Mon Sep 17 00:00:00 2001
|
From ea2034c960ba8910596f61623ecfbea23568e907 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Wed, 27 Apr 2016 22:09:52 -0400
|
Date: Wed, 27 Apr 2016 22:09:52 -0400
|
||||||
Subject: [PATCH] Optimize Hoppers
|
Subject: [PATCH] Optimize Hoppers
|
||||||
@ -11,10 +11,10 @@ Subject: [PATCH] Optimize Hoppers
|
|||||||
* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
|
* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 1947f246..61cc1d4e 100644
|
index be4431c1..9d2fe4a8 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -482,4 +482,12 @@ public class PaperWorldConfig {
|
@@ -484,4 +484,12 @@ public class PaperWorldConfig {
|
||||||
squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D);
|
squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,5 +280,5 @@ index e9315f2d..5198a590 100644
|
|||||||
flag = true;
|
flag = true;
|
||||||
} else if (a(itemstack1, itemstack)) {
|
} else if (a(itemstack1, itemstack)) {
|
||||||
--
|
--
|
||||||
2.14.3
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 18bcec19deb1bbe364051ccdf83dd870047c8a20 Mon Sep 17 00:00:00 2001
|
From 2a9acabb8400a4e9b446057dbd4893491b68b9b6 Mon Sep 17 00:00:00 2001
|
||||||
From: Brokkonaut <hannos17@gmx.de>
|
From: Brokkonaut <hannos17@gmx.de>
|
||||||
Date: Sat, 14 Apr 2018 20:20:46 +0200
|
Date: Sat, 14 Apr 2018 20:20:46 +0200
|
||||||
Subject: [PATCH] Configurable sprint interruption on attack
|
Subject: [PATCH] Configurable sprint interruption on attack
|
||||||
@ -6,10 +6,10 @@ Subject: [PATCH] Configurable sprint interruption on attack
|
|||||||
If the sprint interruption is disabled players continue sprinting when they attack entities.
|
If the sprint interruption is disabled players continue sprinting when they attack entities.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 038f874b3..c903c89cf 100644
|
index 7a03f885..9ef2b163 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -495,4 +495,9 @@ public class PaperWorldConfig {
|
@@ -497,4 +497,9 @@ public class PaperWorldConfig {
|
||||||
disableHopperMoveEvents = getBoolean("hopper.disable-move-event", disableHopperMoveEvents);
|
disableHopperMoveEvents = getBoolean("hopper.disable-move-event", disableHopperMoveEvents);
|
||||||
log("Hopper Move Item Events: " + (disableHopperMoveEvents ? "disabled" : "enabled"));
|
log("Hopper Move Item Events: " + (disableHopperMoveEvents ? "disabled" : "enabled"));
|
||||||
}
|
}
|
||||||
@ -20,7 +20,7 @@ index 038f874b3..c903c89cf 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index 35fde8b23..0b51903e2 100644
|
index 35fde8b2..0b51903e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -1030,7 +1030,11 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -1030,7 +1030,11 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
@ -37,5 +37,5 @@ index 35fde8b23..0b51903e2 100644
|
|||||||
|
|
||||||
if (flag3) {
|
if (flag3) {
|
||||||
--
|
--
|
||||||
2.16.1.windows.1
|
2.14.1.windows.1
|
||||||
|
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
From 01a1624d8cb426581578ee90eac92d988cc9d19f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aikar <aikar@aikar.co>
|
||||||
|
Date: Wed, 18 Apr 2018 01:42:42 -0400
|
||||||
|
Subject: [PATCH] Revert SPIGOT-3894 to restore vanilla behavior
|
||||||
|
|
||||||
|
reporter of this issue was incorrect and did not verify vanilla logic
|
||||||
|
|
||||||
|
vanilla logic only skips ticks if the flag is set
|
||||||
|
|
||||||
|
spigots change causes bugs as it now skips ticking and processing
|
||||||
|
chunk teleportation, which was a bug I fixed many many years ago...
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
|
index 4ce846b5..6c92f93a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
|
@@ -1754,7 +1754,7 @@ public abstract class World implements IBlockAccess {
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
|
// Spigot start
|
||||||
|
- if (!org.spigotmc.ActivationRange.checkIfActive(entity)) {
|
||||||
|
+ if (flag && !org.spigotmc.ActivationRange.checkIfActive(entity)) { // Paper - Revert spigot change back to vanilla
|
||||||
|
entity.ticksLived++;
|
||||||
|
entity.inactiveTick();
|
||||||
|
return;
|
||||||
|
--
|
||||||
|
2.14.1.windows.1
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From f731aff707b73a5aa7336f8dfbef087bf5668ef1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Shane Freeder <theboyetronic@gmail.com>
|
||||||
|
Date: Sun, 8 Apr 2018 01:21:23 +0100
|
||||||
|
Subject: [PATCH] revert "Better reloading of pending unload chunks"
|
||||||
|
|
||||||
|
many areas of NMS calls through to this method which means that
|
||||||
|
the server can easilly keep chunks loaded in certain conditions
|
||||||
|
even when they're no longer needed.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
index 55dada66..2ed3fc40 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
@@ -148,7 +148,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Chunk getChunkAt(int i, int j, Runnable runnable, boolean generate) {
|
||||||
|
- Chunk chunk = getLoadedChunkAt(i, j);
|
||||||
|
+ Chunk chunk = getChunkIfLoaded(i, j); // Paper - revert "Better reloading of pending unload chunks" (see patch)
|
||||||
|
ChunkRegionLoader loader = null;
|
||||||
|
|
||||||
|
if (this.chunkLoader instanceof ChunkRegionLoader) {
|
||||||
|
--
|
||||||
|
2.14.1.windows.1
|
||||||
|
|
In neuem Issue referenzieren
Einen Benutzer sperren