Paper/Spigot-Server-Patches/0106-Faster-redstone-torch-rapid-clock-removal.patch

44 Zeilen
1.9 KiB
Diff

2019-04-27 08:26:04 +02:00
From 1d7fc3c3ce80240e99ea57a6c854b515b3880f3a Mon Sep 17 00:00:00 2001
2016-05-25 03:08:40 +02:00
From: Martin Panzer <postremus1996@googlemail.com>
Date: Mon, 23 May 2016 12:12:37 +0200
Subject: [PATCH] Faster redstone torch rapid clock removal
Only resize the the redstone torch list once, since resizing arrays / lists is costly
diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
2019-04-27 08:26:04 +02:00
index a99f979ef..a79484e3e 100644
2016-05-25 03:08:40 +02:00
--- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
+++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
2019-04-27 08:26:04 +02:00
@@ -68,9 +68,17 @@ public class BlockRedstoneTorch extends BlockTorch {
public static void a(IBlockData iblockdata, World world, BlockPosition blockposition, Random random, boolean flag) {
List list = (List) BlockRedstoneTorch.b.get(world);
2016-05-25 03:08:40 +02:00
- while (list != null && !list.isEmpty() && world.getTime() - ((BlockRedstoneTorch.RedstoneUpdateInfo) list.get(0)).b > 60L) {
- list.remove(0);
+ // Paper start
+ if (list != null) {
+ int index = 0;
+ while (index < list.size() && world.getTime() - ((BlockRedstoneTorch.RedstoneUpdateInfo) list.get(index)).getTime() > 60L) {
+ index++;
+ }
+ if (index > 0) {
+ list.subList(0, index).clear();
+ }
}
+ // Paper end
// CraftBukkit start
org.bukkit.plugin.PluginManager manager = world.getServer().getPluginManager();
2019-04-27 08:26:04 +02:00
@@ -167,7 +175,7 @@ public class BlockRedstoneTorch extends BlockTorch {
public static class RedstoneUpdateInfo {
2016-05-25 03:08:40 +02:00
private final BlockPosition a;
- private final long b;
+ private final long b; final long getTime() { return this.b; } // Paper - OBFHELPER
2016-05-25 03:08:40 +02:00
public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
this.a = blockposition;
--
2019-04-23 06:47:07 +02:00
2.21.0
2016-05-25 03:08:40 +02:00