mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 08:57:35 +01:00
Add back hopper tick scheduling
Tick a hopper only if certain conditions have changed i.e. inventory changes, redstone updates, etc.
This commit is contained in:
parent
f3abde1675
commit
015e038b89
@ -1,4 +1,4 @@
|
||||
From bfbf7675709d97ce57abc5a7a78e1acb3716a350 Mon Sep 17 00:00:00 2001
|
||||
From a5e805949f015b7a803f132a487845e5c34f25b2 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 23 Mar 2013 09:46:33 +1100
|
||||
Subject: [PATCH] Merge tweaks and configuration
|
||||
@ -69,12 +69,12 @@ index c81f673..abc39f1 100644
|
||||
if (event != null && (event.isCancelled() || entity.dead)) {
|
||||
entity.dead = true;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 7e79ba5..1545a61 100644
|
||||
index 5749a45..7322703 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -110,4 +110,18 @@ public class SpigotWorldConfig
|
||||
saplingModifier = getAndValidateGrowth( "Sapling" );
|
||||
@@ -112,4 +112,18 @@ public class SpigotWorldConfig
|
||||
wheatModifier = getAndValidateGrowth( "Wheat" );
|
||||
wartModifier = getAndValidateGrowth( "NetherWart" );
|
||||
}
|
||||
+
|
||||
+ public double itemMerge;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3851ac651a87a6d9241935fe20db52f031ba2b7b Mon Sep 17 00:00:00 2001
|
||||
From 8eceef159a4bb5b2d8f481611a996f59b05b2cd2 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 23 Mar 2013 09:52:41 +1100
|
||||
Subject: [PATCH] View Distance
|
||||
@ -35,10 +35,10 @@ index 03cac6e..b245159 100644
|
||||
this.chunkProvider = this.k();
|
||||
this.Q = new org.bukkit.craftbukkit.CraftTravelAgent(this); // CraftBukkit
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 1545a61..6cc3a91 100644
|
||||
index 7322703..a3255eb 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -124,4 +124,11 @@ public class SpigotWorldConfig
|
||||
@@ -126,4 +126,11 @@ public class SpigotWorldConfig
|
||||
expMerge = getDouble("merge-radius.exp", 3.0 );
|
||||
log( "Experience Merge Radius: " + expMerge );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 77cfdf67693de72cbff5d5ff9e7529bcc590d31e Mon Sep 17 00:00:00 2001
|
||||
From d528062516b72771b4941e2e59cb02dc06cea9f0 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 21 Jun 2013 17:29:54 +1000
|
||||
Subject: [PATCH] Fix Mob Spawning Relative to View Distance
|
||||
@ -144,10 +144,10 @@ index cc1b347..3964e3f 100644
|
||||
continue label115;
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 6cc3a91..46249d7 100644
|
||||
index a3255eb..a85800d 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -131,4 +131,11 @@ public class SpigotWorldConfig
|
||||
@@ -133,4 +133,11 @@ public class SpigotWorldConfig
|
||||
viewDistance = getInt( "view-distance", Bukkit.getViewDistance() );
|
||||
log( "View Distance: " + viewDistance );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a23d5b334c2402c6c17bdbf7254964977c5422c9 Mon Sep 17 00:00:00 2001
|
||||
From 85cee07c274011112875655c5f246974542d17b5 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 3 Feb 2013 05:10:21 -0500
|
||||
Subject: [PATCH] Entity Activation Range
|
||||
@ -527,10 +527,10 @@ index 0000000..d3f4af1
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 46249d7..ed2836a 100644
|
||||
index a85800d..da8563b 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -138,4 +138,15 @@ public class SpigotWorldConfig
|
||||
@@ -140,4 +140,15 @@ public class SpigotWorldConfig
|
||||
mobSpawnRange = (byte) getInt( "mob-spawn-range", 4 );
|
||||
log( "Mob Spawn Range: " + mobSpawnRange );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 26eae42d7d1dde830ab120f6a28c161c24657534 Mon Sep 17 00:00:00 2001
|
||||
From 23f036658cfea94cb5d68f4522617d3a77dcd2be Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 20 Feb 2013 11:58:47 -0500
|
||||
Subject: [PATCH] Entity Tracking Ranges
|
||||
@ -63,10 +63,10 @@ index d3f4af1..0143623 100644
|
||||
return true;
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index ed2836a..6421bf2 100644
|
||||
index da8563b..3d4896b 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -149,4 +149,19 @@ public class SpigotWorldConfig
|
||||
@@ -151,4 +151,19 @@ public class SpigotWorldConfig
|
||||
miscActivationRange = getInt( "entity-activation-range.misc", miscActivationRange );
|
||||
log( "Entity Activation Range: An " + animalActivationRange + " / Mo " + monsterActivationRange + " / Mi " + miscActivationRange );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a461e14b04a6b45d8c25f21f74de10c2a6e6ec56 Mon Sep 17 00:00:00 2001
|
||||
From a52a850cb8198e8db2afb6c34acaa96093c6ffd7 Mon Sep 17 00:00:00 2001
|
||||
From: erocs <github@erocs.org>
|
||||
Date: Sun, 8 Sep 2013 12:06:15 -0700
|
||||
Subject: [PATCH] Hopper Customisations
|
||||
@ -97,10 +97,10 @@ index 8f771af..6785b71 100644
|
||||
|
||||
iinventory.update();
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 6421bf2..956c628 100644
|
||||
index 3d4896b..f0e3b97 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -164,4 +164,19 @@ public class SpigotWorldConfig
|
||||
@@ -166,4 +166,19 @@ public class SpigotWorldConfig
|
||||
otherTrackingRange = getInt( "entity-tracking-range.other", otherTrackingRange );
|
||||
log( "Entity Tracking Range: Pl " + playerTrackingRange + " / An " + animalTrackingRange + " / Mo " + monsterTrackingRange + " / Mi " + miscTrackingRange + " / Other " + otherTrackingRange );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8a91b585628c6dafa3dbd14f5cfbc110ea9cf717 Mon Sep 17 00:00:00 2001
|
||||
From aae4390a892c0571a91ddcf978ddf38f6fe257fd Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 22 Jun 2013 16:12:02 +1000
|
||||
Subject: [PATCH] Allow Disabling of Random Lighting Updates
|
||||
@ -31,10 +31,10 @@ index f82c0f9..a08b401 100644
|
||||
entityhuman = (EntityHuman) this.players.get(i);
|
||||
j = MathHelper.floor(entityhuman.locX) + this.random.nextInt(11) - 5;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 956c628..8868ea3 100644
|
||||
index f0e3b97..2b98acb 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -179,4 +179,11 @@ public class SpigotWorldConfig
|
||||
@@ -181,4 +181,11 @@ public class SpigotWorldConfig
|
||||
hopperAmount = getInt( "hopper-amount", 1 );
|
||||
log( "Hopper Transfer: " + hopperTransfer + " Hopper Check: " + hopperCheck + " Hopper Amount: " + hopperAmount );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f958fcbb5a38d213f7f2d55d7861f3ccc5b5ce6d Mon Sep 17 00:00:00 2001
|
||||
From d70f892f4f0ff325d7663895cf213ae0f742f0a0 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 21 Sep 2013 12:33:09 +1000
|
||||
Subject: [PATCH] Allow Disabling of 1.6.3 Structure Saving
|
||||
@ -25,10 +25,10 @@ index 0bced98..bb1a11e 100644
|
||||
this.d = new PersistentStructure(this.a());
|
||||
world.a(this.a(), (PersistentBase) this.d);
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 8868ea3..0d5c9d0 100644
|
||||
index 2b98acb..15cb6b4 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -186,4 +186,16 @@ public class SpigotWorldConfig
|
||||
@@ -188,4 +188,16 @@ public class SpigotWorldConfig
|
||||
randomLightUpdates = getBoolean( "random-light-updates", false );
|
||||
log( "Random Lighting Updates: " + randomLightUpdates );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 307fc1c27db419c44b46bac8e3c45075559762cf Mon Sep 17 00:00:00 2001
|
||||
From 9a04698dd3ec6d937551e7b7e35d34e68b9fae1e Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 22 Sep 2013 19:10:53 +1000
|
||||
Subject: [PATCH] Item Despawn Rate
|
||||
@ -18,10 +18,10 @@ index 65a03df..d6d83fe 100644
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
|
||||
this.age = 0;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 0d5c9d0..a5786ea 100644
|
||||
index 15cb6b4..efbfa2e 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -198,4 +198,11 @@ public class SpigotWorldConfig
|
||||
@@ -200,4 +200,11 @@ public class SpigotWorldConfig
|
||||
log( "*** WARNING *** Please use this option with caution, SpigotMC is not responsible for any issues this option may cause in the future!" );
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From faeb947ab741cda6e6e98978de18a6a1b6940d16 Mon Sep 17 00:00:00 2001
|
||||
From 9a00ec321402602d5ae5f59f2f640db206adae98 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Mon, 14 Oct 2013 19:20:10 +1100
|
||||
Subject: [PATCH] Arrow Despawn Rate
|
||||
@ -18,10 +18,10 @@ index 01c66e3..46f6374 100644
|
||||
}
|
||||
} else {
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index a5786ea..af0c4b2 100644
|
||||
index efbfa2e..d8433ac 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -205,4 +205,11 @@ public class SpigotWorldConfig
|
||||
@@ -207,4 +207,11 @@ public class SpigotWorldConfig
|
||||
itemDespawnRate = getInt( "item-despawn-rate", 6000 );
|
||||
log( "Item Despawn Rate: " + itemDespawnRate );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4968c35def64e0c307488ea32d479d7536020434 Mon Sep 17 00:00:00 2001
|
||||
From 1f1269d671396950883aa870a3a3c147de6e4793 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Thu, 16 May 2013 18:51:05 +1000
|
||||
Subject: [PATCH] Orebfuscator
|
||||
@ -362,7 +362,7 @@ index 0000000..6f28cd8
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index af0c4b2..c390381 100644
|
||||
index d8433ac..5d2b755 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -372,7 +372,7 @@ index af0c4b2..c390381 100644
|
||||
import java.util.List;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@@ -212,4 +213,36 @@ public class SpigotWorldConfig
|
||||
@@ -214,4 +215,36 @@ public class SpigotWorldConfig
|
||||
arrowDespawnRate = getInt( "arrow-despawn-rate", 1200 );
|
||||
log( "Arrow Despawn Rate: " + arrowDespawnRate );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ef2d58c831e84ea077a99a67888aec302db80394 Mon Sep 17 00:00:00 2001
|
||||
From a0076cb8755ae27f36b727b9a23a2b29f33dfacb Mon Sep 17 00:00:00 2001
|
||||
From: Dylan Xaldin <Puremin0rez515@gmail.com>
|
||||
Date: Thu, 12 Dec 2013 18:05:03 -0600
|
||||
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
|
||||
@ -25,10 +25,10 @@ index 91bb046..1a8d3d8 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index c390381..9c1cd19 100644
|
||||
index 5d2b755..f6fc0a2 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -245,4 +245,11 @@ public class SpigotWorldConfig
|
||||
@@ -247,4 +247,11 @@ public class SpigotWorldConfig
|
||||
|
||||
antiXrayInstance = new AntiXray( this );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9a50d12977caba8b57ad46c3b22dcc7318ff7231 Mon Sep 17 00:00:00 2001
|
||||
From 4cbf1d01d020a85d822368814fae42d456c919a0 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sun, 2 Feb 2014 16:55:46 +0000
|
||||
Subject: [PATCH] Add Option to Nerf Mobs from Spawner's
|
||||
@ -64,10 +64,10 @@ index 0695fe2..1680918 100644
|
||||
// Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 9c1cd19..891812a 100644
|
||||
index f6fc0a2..20800ed 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -252,4 +252,11 @@ public class SpigotWorldConfig
|
||||
@@ -254,4 +254,11 @@ public class SpigotWorldConfig
|
||||
zombieAggressiveTowardsVillager = getBoolean( "zombie-aggressive-towards-villager", true );
|
||||
log( "Zombie Aggressive Towards Villager: " + zombieAggressiveTowardsVillager );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 828bf8252b698beddc7c384d660cd9a8a7e158ee Mon Sep 17 00:00:00 2001
|
||||
From f9f7d2e5c726b6f4f81f66d2683112a3d9f60331 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Tue, 28 Jan 2014 20:35:35 +1100
|
||||
Subject: [PATCH] Allow Configuring Chunks per Packet
|
||||
@ -18,10 +18,10 @@ index 2fab7d1..b80fd6d 100644
|
||||
|
||||
if (chunkcoordintpair != null) {
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 1971dbf..c7cb20c 100644
|
||||
index a684d68..ede9250 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -266,4 +266,11 @@ public class SpigotWorldConfig
|
||||
@@ -268,4 +268,11 @@ public class SpigotWorldConfig
|
||||
enableZombiePigmenPortalSpawns = getBoolean( "enable-zombie-pigmen-portal-spawns", true );
|
||||
log( "Allow Zombie Pigmen to spawn from portal blocks: " + enableZombiePigmenPortalSpawns );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cb6e2bfdea8449916514608823faa660bbb7f385 Mon Sep 17 00:00:00 2001
|
||||
From dd9b7854dc1854fa837a9b9d48d11fe249498e02 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 31 Jan 2014 11:18:34 -0500
|
||||
Subject: [PATCH] Cap Entity Collisions
|
||||
@ -45,10 +45,10 @@ index 9cd8e9b..0e2f64f 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index c7cb20c..76ded26 100644
|
||||
index ede9250..c652cc5 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -273,4 +273,11 @@ public class SpigotWorldConfig
|
||||
@@ -275,4 +275,11 @@ public class SpigotWorldConfig
|
||||
maxBulkChunk = getInt( "max-bulk-chunks", 10 );
|
||||
log( "Sending up to " + maxBulkChunk + " chunks per packet" );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6e7a673650d54e56f37efc2a6a6ea74b54b21e2f Mon Sep 17 00:00:00 2001
|
||||
From 1b3d31d6cc4fe8c84ad9f1ea8a61a48dbec3e4de Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoungsota@gmail.com>
|
||||
Date: Sat, 29 Mar 2014 13:44:25 -0400
|
||||
Subject: [PATCH] Configurable dragon death and wither spawn sounds
|
||||
@ -29,10 +29,10 @@ index 9884a82..fb19bad 100644
|
||||
double deltaLength = Math.sqrt(distanceSquared);
|
||||
double relativeX = player.locX + (deltaX / deltaLength) * viewDistance;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 76ded26..c06084d 100644
|
||||
index c652cc5..75e66d5 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -280,4 +280,16 @@ public class SpigotWorldConfig
|
||||
@@ -282,4 +282,16 @@ public class SpigotWorldConfig
|
||||
maxCollisionsPerEntity = getInt( "max-entity-collisions", 8 );
|
||||
log( "Max Entity Collisions: " + maxCollisionsPerEntity );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ec81c7e34b486cb618282f7d04ed00b909622c20 Mon Sep 17 00:00:00 2001
|
||||
From 96a38108d0cf838f7ed2fa3f16c4f6641864b0bd Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Fri, 4 Jul 2014 13:28:45 +1000
|
||||
Subject: [PATCH] Further Seed Customisation
|
||||
@ -32,10 +32,10 @@ index 411f2dc..6648a70 100644
|
||||
i1 *= this.g;
|
||||
j1 *= this.g;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index c06084d..d644922 100644
|
||||
index 75e66d5..b19558b 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -292,4 +292,13 @@ public class SpigotWorldConfig
|
||||
@@ -294,4 +294,13 @@ public class SpigotWorldConfig
|
||||
{
|
||||
witherSpawnSoundRadius = getInt( "wither-spawn-sound-radius", 0 );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2489aa2e712dd6beb634472dfedf704218a706ad Mon Sep 17 00:00:00 2001
|
||||
From 4dc82b6c36d8eb7218545353e06563d1892e1e3e Mon Sep 17 00:00:00 2001
|
||||
From: lazertester <austin.techhead@gmail.com>
|
||||
Date: Sun, 17 Aug 2014 19:56:17 +1000
|
||||
Subject: [PATCH] Add Hunger Config Values
|
||||
@ -43,10 +43,10 @@ index 456b9b3..3af4180 100644
|
||||
}
|
||||
} else if (this.foodLevel <= 0) {
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index d644922..75edbb9 100644
|
||||
index b19558b..0f9b67c 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -301,4 +301,16 @@ public class SpigotWorldConfig
|
||||
@@ -303,4 +303,16 @@ public class SpigotWorldConfig
|
||||
largeFeatureSeed = getInt( "seed-feature", 14357617 );
|
||||
log( "Custom Map Seeds: Village: " + villageSeed + " Feature: " + largeFeatureSeed );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 321c9040552cca47a7d72795f13e551bcf290287 Mon Sep 17 00:00:00 2001
|
||||
From 385cf5e40bcc3f07193be94b1f7cbeb0c2f91428 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 20 Aug 2014 18:12:32 -0400
|
||||
Subject: [PATCH] Limit TNT Detonations per tick
|
||||
@ -31,10 +31,10 @@ index 65f13be..d76b965 100644
|
||||
|
||||
public void j() {
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 75edbb9..3b6d4c0 100644
|
||||
index 0f9b67c..e2d673f 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -313,4 +313,15 @@ public class SpigotWorldConfig
|
||||
@@ -315,4 +315,15 @@ public class SpigotWorldConfig
|
||||
combatExhaustion = (float) getDouble( "hunger.combat-exhaustion", 0.3 );
|
||||
regenExhaustion = (float) getDouble( "hunger.regen-exhaustion", 3 );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1361ee7a57caeda4afe9e12b8474f7dcf06601b8 Mon Sep 17 00:00:00 2001
|
||||
From cccdb674a7695fa878fe5bb66f5f5d1f1816735b Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoung@mit.edu>
|
||||
Date: Sat, 9 Aug 2014 13:56:51 -0400
|
||||
Subject: [PATCH] Configurable Hanging Tick
|
||||
@ -18,10 +18,10 @@ index 16dfb1d..e491684 100644
|
||||
if (!this.dead && !this.survives()) {
|
||||
// CraftBukkit start - fire break events
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 3b6d4c0..042ec2a 100644
|
||||
index e2d673f..ab2f8bf 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -324,4 +324,10 @@ public class SpigotWorldConfig
|
||||
@@ -326,4 +326,10 @@ public class SpigotWorldConfig
|
||||
maxTntTicksPerTick = getInt( "max-tnt-per-tick", 100 );
|
||||
log( "Max TNT Explosions: " + maxTntTicksPerTick );
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5a8fa8fc3ffc90de82ea5bb9cfb90dfa1c26d1aa Mon Sep 17 00:00:00 2001
|
||||
From 88ab65907d69d2dd6276fe73e9a5ead94e2cd758 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Fri, 20 Feb 2015 21:39:31 +1100
|
||||
Subject: [PATCH] Allow Capping (Tile)Entity Tick Time.
|
||||
@ -81,10 +81,10 @@ index 2c947ca..6de5ba5 100644
|
||||
if (this.isLoaded(tileentity.getPosition())) {
|
||||
this.getChunkAtWorldCoords(tileentity.getPosition()).e(tileentity.getPosition());
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
index 042ec2a..328ff14 100644
|
||||
index ab2f8bf..8e86212 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
@@ -330,4 +330,13 @@ public class SpigotWorldConfig
|
||||
@@ -332,4 +332,13 @@ public class SpigotWorldConfig
|
||||
{
|
||||
hangingTickFrequency = getInt( "hanging-tick-frequency", 100 );
|
||||
}
|
||||
|
325
CraftBukkit-Patches/0157-Schedule-Hopper-Ticks.patch
Normal file
325
CraftBukkit-Patches/0157-Schedule-Hopper-Ticks.patch
Normal file
@ -0,0 +1,325 @@
|
||||
From 1c13de44e824b19644554a6b0f73272651c9b22f Mon Sep 17 00:00:00 2001
|
||||
From: "Evan A. Haskell" <eah2119@gmail.com>
|
||||
Date: Sat, 19 Apr 2014 16:58:26 -0400
|
||||
Subject: [PATCH] Schedule Hopper Ticks
|
||||
|
||||
Tick a hopper only if certain conditions have changed i.e. inventory changes, redstone updates, etc.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockHopper.java b/src/main/java/net/minecraft/server/BlockHopper.java
|
||||
index 9f9b45d..6f9ac3a 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockHopper.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockHopper.java
|
||||
@@ -21,6 +21,7 @@ public class BlockHopper extends BlockContainer {
|
||||
this.j(this.blockStateList.getBlockData().set(BlockHopper.FACING, EnumDirection.DOWN).set(BlockHopper.ENABLED, Boolean.valueOf(true)));
|
||||
this.a(CreativeModeTab.d);
|
||||
this.a(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
+ this.a(true); // Spigot - Enable random block updates on hoppers // PAIL: Rename
|
||||
}
|
||||
|
||||
public void updateShape(IBlockAccess iblockaccess, BlockPosition blockposition) {
|
||||
@@ -97,6 +98,14 @@ public class BlockHopper extends BlockContainer {
|
||||
|
||||
if (flag != ((Boolean) iblockdata.get(BlockHopper.ENABLED)).booleanValue()) {
|
||||
world.setTypeAndData(blockposition, iblockdata.set(BlockHopper.ENABLED, Boolean.valueOf(flag)), 4);
|
||||
+ // Spigot start - When this hopper becomes unpowered, make it active.
|
||||
+ // Called when this block's power level changes. flag1 is the current
|
||||
+ // isNotPowered from metadata. flag is the recalculated isNotPowered.
|
||||
+ TileEntityHopper hopper = (TileEntityHopper) world.getTileEntity(blockposition);
|
||||
+ if (flag && hopper != null) {
|
||||
+ hopper.ensureUpdates();
|
||||
+ }
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
}
|
||||
@@ -158,4 +167,15 @@ public class BlockHopper extends BlockContainer {
|
||||
protected BlockStateList getStateList() {
|
||||
return new BlockStateList(this, new IBlockState[] { BlockHopper.FACING, BlockHopper.ENABLED});
|
||||
}
|
||||
+
|
||||
+ // Spigot start - Use random block updates to make hoppers active.
|
||||
+ // PAIL: Rename
|
||||
+ @Override
|
||||
+ public void a(World world, BlockPosition blockposition, IBlockData iblockdata, java.util.Random random) {
|
||||
+ TileEntityHopper hopper = (TileEntityHopper) world.getTileEntity(blockposition);
|
||||
+ if (hopper != null) {
|
||||
+ hopper.ensureUpdates();
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index d5922fe..367361a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -783,6 +783,14 @@ public class Chunk {
|
||||
|
||||
tileentity.D();
|
||||
this.tileEntities.put(blockposition, tileentity);
|
||||
+ // Spigot start
|
||||
+ // When a tile entity is added, update hoppers around the tile
|
||||
+ tileentity.scheduleTicks();
|
||||
+
|
||||
+ // if it is a large chest, hoppers should update around its
|
||||
+ // other half
|
||||
+ TileEntity.updateChestAndHoppers(this.world, blockposition);
|
||||
+ // Spigot end
|
||||
// CraftBukkit start
|
||||
} else {
|
||||
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
index d6d83fe..30c8d63 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
@@ -100,6 +100,25 @@ public class EntityItem extends Entity {
|
||||
if (this.onGround) {
|
||||
this.motY *= -0.5D;
|
||||
}
|
||||
+ // Spigot start - Make the hopper(s) below this item active.
|
||||
+ // Called each tick on each item entity.
|
||||
+ int xi = MathHelper.floor(this.getBoundingBox().a);
|
||||
+ int yi = MathHelper.floor(this.getBoundingBox().b) - 1;
|
||||
+ int zi = MathHelper.floor(this.getBoundingBox().c);
|
||||
+ int xf = MathHelper.floor(this.getBoundingBox().d);
|
||||
+ int yf = MathHelper.floor(this.getBoundingBox().e) - 1;
|
||||
+ int zf = MathHelper.floor(this.getBoundingBox().f);
|
||||
+ for (int a = xi; a <= xf; a++) {
|
||||
+ for (int c = zi; c <= zf; c++) {
|
||||
+ for (int b = yi; b <= yf; b++) {
|
||||
+ TileEntity tileEntity = this.world.getTileEntity(new BlockPosition(a, b, c));
|
||||
+ if (tileEntity instanceof TileEntityHopper) {
|
||||
+ ((TileEntityHopper) tileEntity).ensureUpdates();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot end
|
||||
|
||||
/* Craftbukkit start - moved up
|
||||
if (this.age != -32768) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
index 17b5714..5f22f9e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
@@ -52,6 +52,31 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
|
||||
super(world, d0, d1, d2);
|
||||
}
|
||||
|
||||
+ // Spigot start - Make hoppers around this container minecart active.
|
||||
+ // Called each tick on each minecart.
|
||||
+ // PAIL: Rename
|
||||
+ @Override
|
||||
+ public void t_() {
|
||||
+ int xi = MathHelper.floor(this.getBoundingBox().a) - 1;
|
||||
+ int yi = MathHelper.floor(this.getBoundingBox().b) - 1;
|
||||
+ int zi = MathHelper.floor(this.getBoundingBox().c) - 1;
|
||||
+ int xf = MathHelper.floor(this.getBoundingBox().d) + 1;
|
||||
+ int yf = MathHelper.floor(this.getBoundingBox().e) + 1;
|
||||
+ int zf = MathHelper.floor(this.getBoundingBox().f) + 1;
|
||||
+ for (int a = xi; a <= xf; a++) {
|
||||
+ for (int b = yi; b <= yf; b++) {
|
||||
+ for (int c = zi; c <= zf; c++) {
|
||||
+ TileEntity tileEntity = this.world.getTileEntity(new BlockPosition(a, b, c));
|
||||
+ if (tileEntity instanceof TileEntityHopper) {
|
||||
+ ((TileEntityHopper) tileEntity).ensureUpdates();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ super.t_();
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
public void a(DamageSource damagesource) {
|
||||
super.a(damagesource);
|
||||
if (this.world.getGameRules().getBoolean("doEntityDrops")) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
index edcb307..4b3ea37 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
@@ -30,6 +30,27 @@ public class EntityOcelot extends EntityTameableAnimal {
|
||||
this.datawatcher.a(18, Byte.valueOf((byte) 0));
|
||||
}
|
||||
|
||||
+ // Spigot start - We use K, the method called in World.class on each entity each tick
|
||||
+ // PAIL: Rename
|
||||
+ @Override
|
||||
+ public void K() {
|
||||
+ int xi = MathHelper.floor(this.getBoundingBox().a);
|
||||
+ int yi = MathHelper.floor(this.getBoundingBox().b) - 1;
|
||||
+ int zi = MathHelper.floor(this.getBoundingBox().c);
|
||||
+ int xf = MathHelper.floor(this.getBoundingBox().d);
|
||||
+ int yf = MathHelper.floor(this.getBoundingBox().e) - 1;
|
||||
+ int zf = MathHelper.floor(this.getBoundingBox().f);
|
||||
+ for (int a = xi; a <= xf; a++) {
|
||||
+ for (int c = zi; c <= zf; c++) {
|
||||
+ for (int b = yi; b <= yf; b++) {
|
||||
+ TileEntity.updateChestAndHoppers(this.world, new BlockPosition(a, b, c));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ super.K();
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
public void E() {
|
||||
if (this.getControllerMove().a()) {
|
||||
double d0 = this.getControllerMove().b();
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
index c268a40..578f79d 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -21,6 +21,64 @@ public abstract class TileEntity {
|
||||
private int h;
|
||||
protected Block e;
|
||||
|
||||
+ // Spigot start
|
||||
+ // Helper method for scheduleTicks. If the hopper at blockposition is pointed
|
||||
+ // toward this tile, then make the hopper active
|
||||
+ private void scheduleTick(BlockPosition blockposition) {
|
||||
+ TileEntity tileEntity = this.world.getTileEntity(blockposition);
|
||||
+ if (tileEntity instanceof TileEntityHopper) {
|
||||
+ // i is the metadeta assoiated with the direction the hopper faces.
|
||||
+ EnumDirection dir = BlockHopper.b(tileEntity.u());
|
||||
+
|
||||
+ // Facing class provides arrays for direction offset.
|
||||
+ if (tileEntity.position.shift(dir).equals(position)) {
|
||||
+ ((TileEntityHopper) tileEntity).ensureUpdates();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Called from update when the contents have changed, so hoppers need updates.
|
||||
+ // Check all 6 faces.
|
||||
+ public void scheduleTicks() {
|
||||
+ if (this.world != null) {
|
||||
+ // Check the top
|
||||
+ this.scheduleTick(position.up());
|
||||
+ // Check the sides
|
||||
+ for (int i = 2; i < 6; i++) {
|
||||
+ this.scheduleTick(position.shift(EnumDirection.fromType1(i)));
|
||||
+ }
|
||||
+ // Check the bottom.
|
||||
+ TileEntity tileEntity = this.world.getTileEntity(position.down());
|
||||
+ if (tileEntity instanceof TileEntityHopper && tileEntity.world != null) {
|
||||
+ ((TileEntityHopper) tileEntity).ensureUpdates();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // If there is a chest at blockposition, then update hoppers around it
|
||||
+ // as well as around its other half (if it exists)
|
||||
+ public static void updateChestAndHoppers(World world, BlockPosition blockposition) {
|
||||
+ Block block = world.getType(blockposition).getBlock();
|
||||
+ if (block instanceof BlockChest) {
|
||||
+ TileEntity tile = world.getTileEntity(blockposition);
|
||||
+ if (tile instanceof TileEntityChest) {
|
||||
+ tile.scheduleTicks();
|
||||
+ }
|
||||
+ for (int i = 2; i < 6; i++) {
|
||||
+ // Look for a matching chest at each face
|
||||
+ BlockPosition pos = blockposition.shift(EnumDirection.fromType1(i));
|
||||
+ if (world.getType(pos).getBlock() == block) {
|
||||
+ tile = world.getTileEntity(pos);
|
||||
+ if (tile instanceof TileEntityChest) {
|
||||
+ tile.scheduleTicks();
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
public TileEntity() {
|
||||
this.position = BlockPosition.ZERO;
|
||||
this.h = -1;
|
||||
@@ -105,6 +163,10 @@ public abstract class TileEntity {
|
||||
if (this.w() != Blocks.AIR) {
|
||||
this.world.updateAdjacentComparators(this.position, this.w());
|
||||
}
|
||||
+ // Spigot start - Called when the contents have changed, so hoppers around this
|
||||
+ // tile need updating.
|
||||
+ this.scheduleTicks();
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
|
||||
index 1553656..9818166 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
|
||||
@@ -18,6 +18,18 @@ public class TileEntityHopper extends TileEntityContainer implements IHopper, IU
|
||||
private String f;
|
||||
private int g = -1;
|
||||
|
||||
+ // Spigot start
|
||||
+
|
||||
+ // Whether it has been determined that this hopper should update
|
||||
+ private boolean active = true;
|
||||
+
|
||||
+ // Called by redstone updates, inventory changes, etc. to ensure this
|
||||
+ // hopper updates
|
||||
+ public void ensureUpdates() {
|
||||
+ active = true;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
// CraftBukkit start - add fields and methods
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
private int maxStack = MAX_STACK;
|
||||
@@ -91,6 +103,7 @@ public class TileEntityHopper extends TileEntityContainer implements IHopper, IU
|
||||
|
||||
public void update() {
|
||||
super.update();
|
||||
+ ensureUpdates(); // Spigot - Contents have changed, so make this hopper active
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
@@ -182,6 +195,16 @@ public class TileEntityHopper extends TileEntityContainer implements IHopper, IU
|
||||
|
||||
public boolean m() {
|
||||
if (this.world != null && !this.world.isClientSide) {
|
||||
+ // Spigot start
|
||||
+
|
||||
+ // if it has not been determined that this hopper should update,
|
||||
+ // then don't waste time doing it
|
||||
+ if (!active)
|
||||
+ return false;
|
||||
+
|
||||
+ // set it up for the next time this method is called
|
||||
+ active = false;
|
||||
+ // Spigot end
|
||||
if (!this.n() && BlockHopper.f(this.u())) {
|
||||
boolean flag = false;
|
||||
|
||||
@@ -592,6 +615,7 @@ public class TileEntityHopper extends TileEntityContainer implements IHopper, IU
|
||||
|
||||
public void d(int i) {
|
||||
this.g = i;
|
||||
+ this.ensureUpdates(); // Spigot
|
||||
}
|
||||
|
||||
public boolean n() {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 6de5ba5..1fa8448 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -429,6 +429,14 @@ public abstract class World implements IBlockAccess {
|
||||
// Modularize client and physic updates
|
||||
notifyAndUpdatePhysics(blockposition, chunk, block1, block, i);
|
||||
}
|
||||
+ // Spigot start - If this block is changing to that which a chest beneath it
|
||||
+ // becomes able to be opened, then the chest must be updated.
|
||||
+ // block1 is the old block. block is the new block. r returns true if the block type
|
||||
+ // prevents access to a chest.
|
||||
+ if (block1 != null && block1.isOccluding() && !block.isOccluding()) {
|
||||
+ TileEntity.updateChestAndHoppers(this, blockposition.down());
|
||||
+ }
|
||||
+ // Spigot end
|
||||
// CraftBukkit end
|
||||
|
||||
return true;
|
||||
--
|
||||
2.1.4
|
||||
|
Loading…
Reference in New Issue
Block a user