2017-04-22 08:16:45 +02:00
|
|
|
From 8529869d620ac19136bca541423009322e9f3e3a 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
|
2017-03-25 06:22:02 +01:00
|
|
|
index 741236289..25a2a5d36 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
|
2016-11-17 03:23:38 +01:00
|
|
|
@@ -117,9 +117,17 @@ public class BlockRedstoneTorch extends BlockTorch {
|
2016-05-25 03:08:40 +02:00
|
|
|
boolean flag = this.g(world, blockposition, iblockdata);
|
|
|
|
List list = (List) BlockRedstoneTorch.g.get(world);
|
|
|
|
|
|
|
|
- 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();
|
2016-11-17 03:23:38 +01:00
|
|
|
@@ -202,7 +210,7 @@ public class BlockRedstoneTorch extends BlockTorch {
|
2016-05-25 03:08:40 +02:00
|
|
|
static class RedstoneUpdateInfo {
|
|
|
|
|
|
|
|
BlockPosition a;
|
|
|
|
- long b;
|
|
|
|
+ long b; final long getTime() { return this.b; } // Paper - OBFHELPER
|
|
|
|
|
|
|
|
public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
|
|
|
|
this.a = blockposition;
|
|
|
|
--
|
2017-04-22 08:16:45 +02:00
|
|
|
2.12.2
|
2016-05-25 03:08:40 +02:00
|
|
|
|