mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 08:57:35 +01:00
Readd configurable max chunk gens per tick
This commit is contained in:
parent
34404e60c9
commit
bf2c56e8ae
@ -0,0 +1,111 @@
|
||||
From 49fd7e234581b6c8da9707da2854313aae503874 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 1 Jan 2018 16:10:24 -0500
|
||||
Subject: [PATCH] Configurable Max Chunk Gens per Tick
|
||||
|
||||
Limit the number of generations that can occur in a single tick, forcing them
|
||||
to be spread out more.
|
||||
|
||||
Defaulting to 10 as an average generation is going to be 3-6ms, which means 10 will
|
||||
likely cause the server to lose TPS, but constrain how much.
|
||||
|
||||
This should result in no noticeable speed reduction in generation for servers not
|
||||
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
|
||||
index 703642c0b..faa7597b3 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -376,4 +376,15 @@ public class PaperWorldConfig {
|
||||
}
|
||||
log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick);
|
||||
}
|
||||
+
|
||||
+ public int maxChunkGensPerTick = 10;
|
||||
+ private void maxChunkGensPerTick() {
|
||||
+ maxChunkGensPerTick = getInt("max-chunk-gens-per-tick", maxChunkGensPerTick);
|
||||
+ if (maxChunkGensPerTick <= 0) {
|
||||
+ maxChunkGensPerTick = Integer.MAX_VALUE;
|
||||
+ log("Max Chunk Gens Per Tick: Unlimited (NOT RECOMMENDED)");
|
||||
+ } else {
|
||||
+ log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 344b95233..fcd9f5491 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -28,6 +28,7 @@ public class PlayerChunk {
|
||||
// CraftBukkit start - add fields
|
||||
// You know the drill, https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse
|
||||
// All may seem good at first, but there's deeper issues if you play for a bit
|
||||
+ boolean chunkExists; // Paper
|
||||
private boolean loadInProgress = false;
|
||||
private Runnable loadedRunnable = new Runnable() {
|
||||
public void run() {
|
||||
@@ -49,6 +50,7 @@ public class PlayerChunk {
|
||||
this.playerChunkMap = playerchunkmap;
|
||||
this.location = new ChunkCoordIntPair(i, j);
|
||||
this.chunk = playerchunkmap.getWorld().getChunkProviderServer().getOrLoadChunkAt(i, j);
|
||||
+ this.chunkExists = this.chunk != null || ChunkIOExecutor.hasQueuedChunkLoad(playerChunkMap.getWorld(), i, j); // Paper
|
||||
markChunkUsed(); // Paper - delay chunk unloads
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 9fd07f859..e29aaab2d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -140,6 +140,7 @@ public class PlayerChunkMap {
|
||||
// Spigot start
|
||||
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
|
||||
activityAccountant.startActivity(0.5);
|
||||
+ int chunkGensAllowed = world.paperConfig.maxChunkGensPerTick; // Paper
|
||||
// Spigot end
|
||||
|
||||
Iterator iterator1 = this.h.iterator();
|
||||
@@ -149,6 +150,11 @@ public class PlayerChunkMap {
|
||||
|
||||
if (playerchunk1.f() == null) {
|
||||
boolean flag = playerchunk1.a(PlayerChunkMap.b);
|
||||
+ // Paper start
|
||||
+ if (flag && !playerchunk1.chunkExists && chunkGensAllowed-- <= 0) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ // Paper end
|
||||
|
||||
if (playerchunk1.a(flag)) {
|
||||
iterator1.remove();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java
|
||||
index 9aaca21a7..f50d55c8e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java
|
||||
@@ -35,4 +35,10 @@ public class ChunkIOExecutor {
|
||||
public static void tick() {
|
||||
instance.finishActive();
|
||||
}
|
||||
+
|
||||
+ // Paper start
|
||||
+ public static boolean hasQueuedChunkLoad(World world, int x, int z) {
|
||||
+ return instance.hasTask(new QueuedChunk(x, z, null, world, null));
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java
|
||||
index 193c3621c..cf1258c55 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java
|
||||
@@ -351,4 +351,10 @@ public final class AsynchronousExecutor<P, T, C, E extends Throwable> {
|
||||
public void setActiveThreads(final int coreSize) {
|
||||
pool.setCorePoolSize(coreSize);
|
||||
}
|
||||
+
|
||||
+ // Paper start
|
||||
+ public boolean hasTask(P parameter) throws IllegalStateException {
|
||||
+ return tasks.get(parameter) != null;
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a7d52d9da454870e13059c9cee1ea2b09943c662 Mon Sep 17 00:00:00 2001
|
||||
From 8717d750efce7685cb40fb5a2aada1deeca9a537 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Thu, 11 Jan 2018 16:47:28 -0600
|
||||
Subject: [PATCH] Make max squid spawn height configurable
|
||||
@ -7,30 +7,18 @@ I don't know why upstream made only the minimum height configurable but
|
||||
whatever
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 703642c0b..a33c55f41 100644
|
||||
index faa7597b3..fddd52caf 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -376,4 +376,21 @@ public class PaperWorldConfig {
|
||||
@@ -387,4 +387,9 @@ public class PaperWorldConfig {
|
||||
log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick);
|
||||
}
|
||||
log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick);
|
||||
}
|
||||
+
|
||||
+ public int maxChunkGensPerTick = 10;
|
||||
+ private void maxChunkGensPerTick() {
|
||||
+ maxChunkGensPerTick = getInt("max-chunk-gens-per-tick", maxChunkGensPerTick);
|
||||
+ if (maxChunkGensPerTick <= 0) {
|
||||
+ maxChunkGensPerTick = Integer.MAX_VALUE;
|
||||
+ log("Max Chunk Gens Per Tick: Unlimited (NOT RECOMMENDED)");
|
||||
+ } else {
|
||||
+ log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public double squidMaxSpawnHeight;
|
||||
+ private void squidMaxSpawnHeight() {
|
||||
+ squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D);
|
||||
+ }
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
index ffc6d0b68..70b251210 100644
|
@ -1,4 +1,4 @@
|
||||
From 6e4911557836aeeaf25a0ee89018de637d0149a9 Mon Sep 17 00:00:00 2001
|
||||
From 58be61c968baa7692620f453e152388df99e325e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 14 Jan 2018 17:01:31 -0500
|
||||
Subject: [PATCH] PreCreatureSpawnEvent
|
@ -1,4 +1,4 @@
|
||||
From d3c65296d8baec00ffccc097fbd32c984eda341e Mon Sep 17 00:00:00 2001
|
||||
From 003dd0a240eaccbd9e0f2b221ced65a8fcd825e7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 14 Jan 2018 17:36:02 -0500
|
||||
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
|
@ -1,4 +1,4 @@
|
||||
From 50b9db3c2112d6d203c3ba1d3ce14e0e494e3c44 Mon Sep 17 00:00:00 2001
|
||||
From 6df26539d98a00ba824fba020dfb08a68c3b673c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 19 Jan 2018 00:36:25 -0500
|
||||
Subject: [PATCH] Add SkullMeta.setPlayerProfile API
|
@ -1,4 +1,4 @@
|
||||
From 4e3afed7ad46f7fb12501512b3b056d43845b225 Mon Sep 17 00:00:00 2001
|
||||
From 8679d7a0df439bb22997dd86d4ce8789676d7a59 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 2 Jan 2018 00:31:26 -0500
|
||||
Subject: [PATCH] Fill Profile Property Events
|
@ -1,4 +1,4 @@
|
||||
From 746b48fb737927fc6f25497d06fdbb40ef59be9b Mon Sep 17 00:00:00 2001
|
||||
From ac99b992d5076653bb7d4a4870b297ef15c78fc9 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Fri, 19 Jan 2018 08:15:29 -0600
|
||||
Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
|
@ -1,4 +1,4 @@
|
||||
From 461048847edbe22761d50fc017204a5f8ec15950 Mon Sep 17 00:00:00 2001
|
||||
From 3169647239cfc18b81e98e3ea928845f28bc0cc0 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Sat, 27 Jan 2018 17:04:14 -0500
|
||||
Subject: [PATCH] Add ArmorStand Item Meta
|
@ -1,4 +1,4 @@
|
||||
From 0fb78f02246374d62846d855b0a0774ea91877cb Mon Sep 17 00:00:00 2001
|
||||
From 0d24007fe52669e5bd8aa604109f15490ae7cd07 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sun, 11 Feb 2018 10:43:46 +0000
|
||||
Subject: [PATCH] Extend Player Interact cancellation
|
||||
@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds
|
||||
when cancelling interaction.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
index e34198e4..e375e255 100644
|
||||
index e34198e40..e375e2556 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
@@ -110,6 +110,7 @@ public class PlayerInteractManager {
|
||||
@ -98,5 +98,5 @@ index e34198e4..e375e255 100644
|
||||
enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS;
|
||||
} else if (this.gamemode == EnumGamemode.SPECTATOR) {
|
||||
--
|
||||
2.16.1.windows.1
|
||||
2.18.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b88bf8f54e70c80c89c723a466518a0a0bc7881d Mon Sep 17 00:00:00 2001
|
||||
From 0cc66b09744a98309a2bd93c8617d954006a83af Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 24 Feb 2018 01:14:55 -0500
|
||||
Subject: [PATCH] Tameable#getOwnerUniqueId API
|
@ -1,11 +1,11 @@
|
||||
From c343647c7c1da02fcf1fb959638cdf50c4517dbf Mon Sep 17 00:00:00 2001
|
||||
From 2da97a3a645321975638551ed8b7b0b1e79b4783 Mon Sep 17 00:00:00 2001
|
||||
From: MiniDigger <admin@minidigger.me>
|
||||
Date: Sat, 10 Mar 2018 00:50:24 +0100
|
||||
Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients.
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index a33c55f41..4ca31c8eb 100644
|
||||
index fddd52caf..79df2c171 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -179,6 +179,11 @@ public class PaperWorldConfig {
|
||||
@ -21,7 +21,7 @@ index a33c55f41..4ca31c8eb 100644
|
||||
private void allChunksAreSlimeChunks() {
|
||||
allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index ae4dd621d..4fb300468 100644
|
||||
index 28688f2ac..98fdfcb60 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1021,6 +1021,7 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -1,4 +1,4 @@
|
||||
From 60e36541916056a066dfbad3f6cba828ad68fd88 Mon Sep 17 00:00:00 2001
|
||||
From 8fb609894fd5ae64febc7444fc485735a565cbe6 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sat, 10 Mar 2018 13:03:49 +0000
|
||||
Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened
|
@ -1,4 +1,4 @@
|
||||
From 566c2f52f198e39d6ba6c4c94a0242ffc7e2d7a1 Mon Sep 17 00:00:00 2001
|
||||
From c0843c56ac5dec0d56f164336ba713dfe9349178 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 10 Mar 2018 16:33:15 -0500
|
||||
Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks
|
@ -1,4 +1,4 @@
|
||||
From 63e1dbdab75cf30b185ca29a91c5ce9f106f9da7 Mon Sep 17 00:00:00 2001
|
||||
From 630db698e03a4dbf59460f3ea2d1ea32a9a9081c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 11 Mar 2018 14:13:33 -0400
|
||||
Subject: [PATCH] Disable Explicit Network Manager Flushing
|
@ -1,4 +1,4 @@
|
||||
From a663e14dc508e217a3ea771b2d515553552b3f7d Mon Sep 17 00:00:00 2001
|
||||
From a1e5ecf741cca8862642895e14580b92151b92ff Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Wed, 11 Oct 2017 15:56:26 +0200
|
||||
Subject: [PATCH] Implement extended PaperServerListPingEvent
|
@ -1,4 +1,4 @@
|
||||
From f476b5d557791b1d72e162a31a0d6c1ba6225039 Mon Sep 17 00:00:00 2001
|
||||
From f06918c9b3d5ea2e59d9fdb97964765cc67e41f3 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 16 Mar 2018 22:59:43 -0400
|
||||
Subject: [PATCH] Improved Async Task Scheduler
|
@ -1,4 +1,4 @@
|
||||
From 4603e7767cf800889109614583659c4824185d35 Mon Sep 17 00:00:00 2001
|
||||
From fa21f31032976ddd5f0e58dd0b58a3dbdafe665d Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 18 Mar 2018 11:45:57 -0400
|
||||
Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent
|
@ -1,4 +1,4 @@
|
||||
From 3d002d32e0ca98b0fe7dde739c78504adc12da55 Mon Sep 17 00:00:00 2001
|
||||
From 7c0b2a1664a8e7e9836aecccf5ae44c1562d669c Mon Sep 17 00:00:00 2001
|
||||
From: MiniDigger <admin@minidigger.me>
|
||||
Date: Sun, 18 Mar 2018 15:44:44 +0100
|
||||
Subject: [PATCH] Call PortalCreateEvent for exit portals
|
@ -1,4 +1,4 @@
|
||||
From b1272fc90f5669440ddbcb89feeb838d83930742 Mon Sep 17 00:00:00 2001
|
||||
From 6345c6f66496c41addcec4bb59a20042d54113fa Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 18 Mar 2018 12:29:48 -0400
|
||||
Subject: [PATCH] Player.setPlayerProfile API
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
|
||||
This can be useful for changing name or skins after a player has logged in.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 4fb300468..65f4ea6cc 100644
|
||||
index 98fdfcb60..de1b6ac86 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -67,7 +67,7 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -1,4 +1,4 @@
|
||||
From f115c470c9ec36d4a124b3ce10a655f0b4a1a6ea Mon Sep 17 00:00:00 2001
|
||||
From 2c68ce035af26d50da287bf6ffdf0cdab51c0cc8 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 21 Mar 2018 20:52:07 -0400
|
||||
Subject: [PATCH] Fix Dragon Server Crashes
|
@ -1,4 +1,4 @@
|
||||
From 8b072f7bcac5a64cbeb681a56c0a70d3b1760e45 Mon Sep 17 00:00:00 2001
|
||||
From 3cf669e70d479742197c2514cda5bd38a37c53d6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 22 Mar 2018 01:40:24 -0400
|
||||
Subject: [PATCH] getPlayerUniqueId API
|
||||
@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID
|
||||
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index d605e5792..0b361d82f 100644
|
||||
index b1d3f2a5e..f3050b126 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1379,6 +1379,26 @@ public final class CraftServer implements Server {
|
@ -1,4 +1,4 @@
|
||||
From 252500c4df07e3b9ddca3342251edfc69eba13e2 Mon Sep 17 00:00:00 2001
|
||||
From 725c61e238b9e9a113f136f26b39315df99de52a Mon Sep 17 00:00:00 2001
|
||||
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
|
||||
Date: Mon, 26 Mar 2018 18:30:53 +0300
|
||||
Subject: [PATCH] Make player data saving configurable
|
@ -1,4 +1,4 @@
|
||||
From d9e2a3cf0ea3d161fe6ec584a55cefdffc86b308 Mon Sep 17 00:00:00 2001
|
||||
From c61ddf237a78a4fd0f77adf6bfef362304616d49 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Wed, 11 Oct 2017 18:22:50 +0200
|
||||
Subject: [PATCH] Make legacy ping handler more reliable
|
@ -1,4 +1,4 @@
|
||||
From 3cfed1cabdc149a5016551c477c05fea9dab436d Mon Sep 17 00:00:00 2001
|
||||
From 5eb3fa9c26c608913ef6ccf7f4c22fea153fa472 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Wed, 11 Oct 2017 19:30:51 +0200
|
||||
Subject: [PATCH] Call PaperServerListPingEvent for legacy pings
|
@ -1,4 +1,4 @@
|
||||
From cfcc5a751071bb5a3d54c5147ed2d0b1ce0652fc Mon Sep 17 00:00:00 2001
|
||||
From 98b33a4a6b8621669d139259b2c3906add1012ac Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sat, 31 Mar 2018 17:04:26 +0100
|
||||
Subject: [PATCH] Flag to disable the channel limit
|
@ -1,4 +1,4 @@
|
||||
From 0f0a1e0abec3f8dd616b1356ff2fd571fa693d28 Mon Sep 17 00:00:00 2001
|
||||
From 3ff982bb8588ed6f368c4c5bf145261dac55ba46 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
|
||||
Date: Sun, 1 Apr 2018 02:29:37 +0300
|
||||
Subject: [PATCH] Add method to open already placed sign
|
@ -1,11 +1,11 @@
|
||||
From 1b5e237639a102046ad53bf1e8f0993344645ce7 Mon Sep 17 00:00:00 2001
|
||||
From edbff1c504156c4ac399e840b6d4124b259151b4 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle Wood <demonwav@gmail.com>
|
||||
Date: Thu, 1 Mar 2018 19:38:14 -0600
|
||||
Subject: [PATCH] Load version history at server start
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 927cbeedcd..ae7a8c1046 100644
|
||||
index 927cbeedc..ae7a8c104 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -207,6 +207,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
@ -1,4 +1,4 @@
|
||||
From 272351def6380d58c578121249084b58c33fb005 Mon Sep 17 00:00:00 2001
|
||||
From c825dfa73f7484821534a66ee58be1ed28c5a33b Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Sat, 14 Apr 2018 20:20:46 +0200
|
||||
Subject: [PATCH] Configurable sprint interruption on attack
|
||||
@ -6,20 +6,21 @@ Subject: [PATCH] Configurable sprint interruption on attack
|
||||
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
|
||||
index 4ca31c8eb..b07ff9587 100644
|
||||
index 79df2c171..b07ff9587 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -398,4 +398,8 @@ public class PaperWorldConfig {
|
||||
@@ -397,4 +397,9 @@ public class PaperWorldConfig {
|
||||
private void squidMaxSpawnHeight() {
|
||||
squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D);
|
||||
}
|
||||
|
||||
+
|
||||
+ public boolean disableSprintInterruptionOnAttack;
|
||||
+ private void disableSprintInterruptionOnAttack() {
|
||||
+ disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 65f4ea6cc..a766a1467 100644
|
||||
index de1b6ac86..4aba5716c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1073,7 +1073,11 @@ public abstract class EntityHuman extends EntityLiving {
|
@ -1,4 +1,4 @@
|
||||
From 6728452343b99a6782ba86e8f06c8efc541ec1ce Mon Sep 17 00:00:00 2001
|
||||
From ec23704c6f67afe3004f9fe597196b976071492d Mon Sep 17 00:00:00 2001
|
||||
From: 0x22 <0x22@futureclient.net>
|
||||
Date: Thu, 26 Apr 2018 04:41:11 -0400
|
||||
Subject: [PATCH] Fix exploit that allowed colored signs to be created
|
@ -1,4 +1,4 @@
|
||||
From eff134b277d169c072ec4e9e4a625b4eed570ad8 Mon Sep 17 00:00:00 2001
|
||||
From b5b9280ab8819c53ce5fdcaf92e9967a002bc18a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 30 Apr 2018 13:15:55 -0400
|
||||
Subject: [PATCH] EndermanEscapeEvent
|
@ -1,4 +1,4 @@
|
||||
From 4aa456490016a276e95bc4671452be27080de984 Mon Sep 17 00:00:00 2001
|
||||
From 880a89e66ceb7046eff5ee0e63c34e8c58789991 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 30 Apr 2018 13:29:44 -0400
|
||||
Subject: [PATCH] Enderman.teleportRandomly()
|
@ -1,4 +1,4 @@
|
||||
From 1a3f838cf2b440c14f09906a39b4ce9d3296c3b0 Mon Sep 17 00:00:00 2001
|
||||
From 6e8f677a4eafa9506dd5330ae0007c16e706226b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 30 Apr 2018 17:15:26 -0400
|
||||
Subject: [PATCH] Block Enderpearl Travel Exploit
|
@ -1,4 +1,4 @@
|
||||
From c2a083674e1af22455c5b81ea3d35a854280b245 Mon Sep 17 00:00:00 2001
|
||||
From 46f6693f3d0851bfe551d2ef6d25ccb0a2e5538c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 15 Aug 2017 22:29:12 -0400
|
||||
Subject: [PATCH] Expand World.spawnParticle API and add Builder
|
||||
@ -9,7 +9,7 @@ the standard API is to send the packet to everyone in the world, which is ineffe
|
||||
This adds a new Builder API which is much friendlier to use.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index c5da2cde3..4ac2d39c5 100644
|
||||
index 23414c776..9e3804579 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1205,14 +1205,20 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
@ -1,4 +1,4 @@
|
||||
From c021ee56772971a27376c93715633f054136944d Mon Sep 17 00:00:00 2001
|
||||
From a8c38caffb5b627db4b48c26b6091cae36ae6140 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 1 May 2018 20:18:54 -0400
|
||||
Subject: [PATCH] EndermanAttackPlayerEvent
|
@ -1,4 +1,4 @@
|
||||
From b8489746b3b8239af444718a14db63df9a013f9e Mon Sep 17 00:00:00 2001
|
||||
From 0cbe97f322932b592af43ff5b7382b9a102e6f41 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 16 May 2018 20:35:16 -0400
|
||||
Subject: [PATCH] WitchConsumePotionEvent
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] WitchConsumePotionEvent
|
||||
Fires when a witch consumes the potion in their hand
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
index 71d8b6f8f..cf0669589 100644
|
||||
index 524d84c5b..c77328e76 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
@@ -67,7 +67,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity {
|
@ -1,4 +1,4 @@
|
||||
From 29d89398140ce66b1a3209076b0c1928e6998cef Mon Sep 17 00:00:00 2001
|
||||
From 9cb40d40ad0b4f9ca8d6ec60318d3a5479b47887 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 16 May 2018 20:44:58 -0400
|
||||
Subject: [PATCH] WitchThrowPotionEvent
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] WitchThrowPotionEvent
|
||||
Fired when a witch throws a potion at a player
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
index cf0669589..59f3f4404 100644
|
||||
index c77328e76..2d8e307e7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
@@ -154,7 +154,15 @@ public class EntityWitch extends EntityMonster implements IRangedEntity {
|
@ -1,4 +1,4 @@
|
||||
From dc479ddb30269b2192d02a677dfee75596be4123 Mon Sep 17 00:00:00 2001
|
||||
From 73f57a0e2462538caca787a27b268815f6e8d629 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 4 Jun 2018 20:39:20 -0400
|
||||
Subject: [PATCH] Allow spawning Item entities with World.spawnEntity
|
@ -1,4 +1,4 @@
|
||||
From c84eb9a263bf5bf86b6ed453989bce78ef18670f Mon Sep 17 00:00:00 2001
|
||||
From c6bbd29322e952519d7f2c351d868ee6cb60cf76 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Jun 2018 00:32:22 -0400
|
||||
Subject: [PATCH] Don't load chunks for villager door checks
|
@ -1,11 +1,11 @@
|
||||
From 6a0a12787818097574820822ec616173d555934d Mon Sep 17 00:00:00 2001
|
||||
From 8b9681193930f2c02174ea5fb7e6b1aca5ea07ad Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Jun 2018 22:47:26 -0400
|
||||
Subject: [PATCH] WitchReadyPotionEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
index 59f3f4404..45b6e2b7b 100644
|
||||
index 2d8e307e7..b6f4ec842 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
@@ -100,7 +100,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity {
|
@ -1,4 +1,4 @@
|
||||
From 2447f92f25673681de873f0f7c2c828e66749b07 Mon Sep 17 00:00:00 2001
|
||||
From b3a02b96725d11d0db406f34c2ff4dc2dec7aee6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Jun 2018 23:00:29 -0400
|
||||
Subject: [PATCH] ItemStack#getMaxItemUseDuration
|
@ -1,4 +1,4 @@
|
||||
From 94174eb07753ceb680c9deb800186df594922629 Mon Sep 17 00:00:00 2001
|
||||
From b62e515f95531fb8a44ed48d0773987b0622100f Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sat, 9 Jun 2018 14:08:39 +0200
|
||||
Subject: [PATCH] Implement EntityTeleportEndGatewayEvent
|
@ -1,4 +1,4 @@
|
||||
From d8cc785ed1c99aaa99a903e700fd4af772fc8622 Mon Sep 17 00:00:00 2001
|
||||
From 6ed48dc3d24f2c96bc25877a4b9039fb81dfe608 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 10 Jun 2018 01:18:49 -0400
|
||||
Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
|
@ -1,4 +1,4 @@
|
||||
From e8322305c667ce125bb50e00bd4e90c377f5348b Mon Sep 17 00:00:00 2001
|
||||
From 8b876416290e13c07102b3f283e01512f9725557 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 10 Jun 2018 20:04:42 -0400
|
||||
Subject: [PATCH] Properly remove entities on dimension teleport
|
@ -1,4 +1,4 @@
|
||||
From 401b1eabffdb3192c2f5d29b2ae00ed856bc6f19 Mon Sep 17 00:00:00 2001
|
||||
From c19ab61ae52201550ca2cd3bd0b8d1046d94b7e7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 10 Jun 2018 20:20:15 -0400
|
||||
Subject: [PATCH] Fix CraftEntity hashCode
|
@ -1,4 +1,4 @@
|
||||
From 0bd14e1218f146e26524a3c799209482a53e99e0 Mon Sep 17 00:00:00 2001
|
||||
From bb83f7424505fdfcbde00c4a03cf33d1f5084158 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 15 Jun 2018 00:30:32 -0400
|
||||
Subject: [PATCH] Configurable Alternative LootPool Luck Formula
|
@ -1,4 +1,4 @@
|
||||
From f20915ce41068548c77552bce50c39b26cf2a669 Mon Sep 17 00:00:00 2001
|
||||
From 0174cd4916ed9847dc297dae74940d3053c18011 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 15 Jun 2018 20:37:03 -0400
|
||||
Subject: [PATCH] Print Error details when failing to save player data
|
@ -1,4 +1,4 @@
|
||||
From 3bfec59ed4647d0c87081489077dfa8289754c27 Mon Sep 17 00:00:00 2001
|
||||
From 8d4c2d59264801c858ea9086dcda25380a409942 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 16 Jun 2018 01:18:16 -0500
|
||||
Subject: [PATCH] Make shield blocking delay configurable
|
@ -1,4 +1,4 @@
|
||||
From 4d81780db6fefcf2f2854874aaff39f758fd2c23 Mon Sep 17 00:00:00 2001
|
||||
From aadf97220e1f6f86636f331da7fe9f0eaad87fa5 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 16 Jun 2018 16:23:38 -0400
|
||||
Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors
|
@ -1,4 +1,4 @@
|
||||
From ce9ae41f9c1a58dfb36d50e022a54f9a693baf9b Mon Sep 17 00:00:00 2001
|
||||
From ab2bedbe6a0f08e88ef7726bf5693669443a2bbf Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 15 Jun 2013 19:51:17 -0400
|
||||
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
|
||||
Adds ability to get what arrow was shot, and control if it should be consumed.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
index c2bc8060ac..1ae967d1c0 100644
|
||||
index c2bc8060a..1ae967d1c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
@@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
|
||||
@ -19,7 +19,7 @@ index c2bc8060ac..1ae967d1c0 100644
|
||||
event.getProjectile().remove();
|
||||
return;
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java
|
||||
index 4aa3b6249f..c8fc180458 100644
|
||||
index 4aa3b6249..c8fc18045 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemBow.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemBow.java
|
||||
@@ -57,6 +57,7 @@ public class ItemBow extends Item {
|
||||
@ -58,7 +58,7 @@ index 4aa3b6249f..c8fc180458 100644
|
||||
if (itemstack1.isEmpty()) {
|
||||
entityhuman.inventory.f(itemstack1);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 8df07536f8..28b156e439 100644
|
||||
index 8df07536f..28b156e43 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -244,7 +244,7 @@ public class CraftEventFactory {
|
@ -1,4 +1,4 @@
|
||||
From afc01323c53932b9808ec3b3b386bf5bc371b41d Mon Sep 17 00:00:00 2001
|
||||
From 7f76c01206344b8ab4296cec33cd11c3be5763e6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 18 Jun 2018 01:12:53 -0400
|
||||
Subject: [PATCH] PlayerReadyArrowEvent
|
@ -1,11 +1,11 @@
|
||||
From 6bdfc29966cb4da65d45841001ec76f154cbf34c Mon Sep 17 00:00:00 2001
|
||||
From f0b6ccf18509b9884389988eae1ee25d85819505 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 18 Jun 2018 22:19:36 -0400
|
||||
Subject: [PATCH] Fire EntityShootBowEvent for Illusioner
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
index d03fa6318..16c3be42e 100644
|
||||
index d64664c4d..4832fdd02 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
@@ -123,8 +123,18 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
|
@ -1,4 +1,4 @@
|
||||
From 5d0b0c840d82488619f181d2b576147a2b0f194b Mon Sep 17 00:00:00 2001
|
||||
From 121cd30c4f384f19b62d0ba25b4a7a31d0b9e6ef Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Mon, 18 Jun 2018 15:46:23 +0200
|
||||
Subject: [PATCH] Implement EntityKnockbackByEntityEvent
|
@ -1,4 +1,4 @@
|
||||
From 72cd1ffe96f7827b81fbbca604f1e55ffe645d8e Mon Sep 17 00:00:00 2001
|
||||
From 11db157dbfdbc9b58395db8ec6042f0b839d2b91 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 20 Jun 2018 23:17:24 -0400
|
||||
Subject: [PATCH] Expand Explosions API
|
@ -1,4 +1,4 @@
|
||||
From d249802a700c76fd6306b36fc4aa5d808f5000da Mon Sep 17 00:00:00 2001
|
||||
From a8a715a958825c0714c667dd9fb939e330e09551 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 29 Jun 2018 00:21:28 -0400
|
||||
Subject: [PATCH] LivingEntity Hand Raised/Item Use API
|
@ -1,4 +1,4 @@
|
||||
From a00c8433613cb510195c2a63ac60ce2f14c41a6b Mon Sep 17 00:00:00 2001
|
||||
From 420a90ce0cca816c8a0599edb797468e80b1d779 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 26 Jun 2018 22:00:49 -0400
|
||||
Subject: [PATCH] RangedEntity API
|
@ -1,4 +1,4 @@
|
||||
From ac0823ffa12e8a2db3761180150b1eb95ce4f15b Mon Sep 17 00:00:00 2001
|
||||
From fd187d957c8bf19ff2a0c3ae4e740f288f12ea83 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 1 Jul 2018 22:06:29 -0400
|
||||
Subject: [PATCH] Add SentientNPC Interface to Entities
|
@ -1,4 +1,4 @@
|
||||
From 82b68d951b4bd0d4016c4ff31929c87fe6b7365c Mon Sep 17 00:00:00 2001
|
||||
From 70fe646bea2f7c4ca1178600fccadf5c353679b1 Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Sat, 30 Jun 2018 05:45:39 +0200
|
||||
Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 28b156e439..8ac599b7a2 100644
|
||||
index 28b156e43..8ac599b7a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -823,7 +823,7 @@ public class CraftEventFactory {
|
@ -1,4 +1,4 @@
|
||||
From 0caefe772325cd5a57cffef2e691f1be25a4deee Mon Sep 17 00:00:00 2001
|
||||
From 055edcc6b62bace3a2471207d453296e73532325 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Fri, 22 Jun 2018 10:38:31 -0500
|
||||
Subject: [PATCH] Add config to disable ender dragon legacy check
|
@ -1,4 +1,4 @@
|
||||
From 4a50c881283ee28bd0e56a8072dfb5dfb0001b73 Mon Sep 17 00:00:00 2001
|
||||
From 8055597cb297475d5e271dcffc2495a85b2a2702 Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Tue, 3 Jul 2018 16:08:14 +0200
|
||||
Subject: [PATCH] Implement World.getEntity(UUID) API
|
@ -1,4 +1,4 @@
|
||||
From a4b348249773be2b2366d73f8e54d35aa39c2e21 Mon Sep 17 00:00:00 2001
|
||||
From 087cf44f244fd8c9afe5831e5714891a26585028 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 3 Jul 2018 21:56:23 -0400
|
||||
Subject: [PATCH] InventoryCloseEvent Reason API
|
||||
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
|
||||
to "confirm" things based on if it was player triggered close or not.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index f31524eb02..2612d4207f 100644
|
||||
index ac90ca802..9e798038b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -886,7 +886,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -29,7 +29,7 @@ index f31524eb02..2612d4207f 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 4aba5716ce..d84bb0e40c 100644
|
||||
index 4aba5716c..d84bb0e40 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -153,7 +153,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -56,7 +56,7 @@ index 4aba5716ce..d84bb0e40c 100644
|
||||
this.activeContainer = this.defaultContainer;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 5db6e07640..99c638857b 100644
|
||||
index 5db6e0764..99c638857 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -343,7 +343,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@ -110,7 +110,7 @@ index 5db6e07640..99c638857b 100644
|
||||
this.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 067f7b9908..97b315bca0 100644
|
||||
index 067f7b990..97b315bca 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2038,7 +2038,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@ -123,7 +123,7 @@ index 067f7b9908..97b315bca0 100644
|
||||
this.player.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 879780c5b1..907f0232bf 100644
|
||||
index 879780c5b..907f0232b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -422,7 +422,7 @@ public abstract class PlayerList {
|
||||
@ -136,7 +136,7 @@ index 879780c5b1..907f0232bf 100644
|
||||
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
|
||||
cserver.getPluginManager().callEvent(playerQuitEvent);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index 4b9ecb4a62..b602a5d1b9 100644
|
||||
index 4b9ecb4a6..b602a5d1b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -402,8 +402,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@ -155,7 +155,7 @@ index 4b9ecb4a62..b602a5d1b9 100644
|
||||
public boolean isBlocking() {
|
||||
return getHandle().isBlocking();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 60bc6d3316..b25980027b 100644
|
||||
index 60bc6d331..b25980027 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -168,7 +168,7 @@ index 60bc6d3316..b25980027b 100644
|
||||
|
||||
// Check if the fromWorld and toWorld are the same.
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 8ac599b7a2..cf398cd250 100644
|
||||
index 8ac599b7a..cf398cd25 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -913,8 +913,19 @@ public class CraftEventFactory {
|
@ -1,4 +1,4 @@
|
||||
From b774b0ac70ae00b43fd54c2c65648d60e096175c Mon Sep 17 00:00:00 2001
|
||||
From e447edc0e8d60a97f6c61bf5c498f2cb90d5d0e7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 Jul 2018 03:39:51 -0400
|
||||
Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk
|
||||
@ -10,7 +10,7 @@ to the object directly on the Entity/TileEntity object we can directly grab.
|
||||
Use that local value instead to reduce lookups in many hot places.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 2612d4207..b3cdc0b7d 100644
|
||||
index 9e798038b..03afa1236 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -721,6 +721,7 @@ public class Chunk implements IChunkAccess {
|
@ -1,4 +1,4 @@
|
||||
From a597b4290dec2a27e9682b460854fecab8a225a3 Mon Sep 17 00:00:00 2001
|
||||
From bf9f070bd5c6e334801791d85ebb2af51a53a1e6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 Jul 2018 15:22:06 -0400
|
||||
Subject: [PATCH] Configurable Bed Search Radius
|
@ -1,4 +1,4 @@
|
||||
From d1b09605870a98731d5ea3f2cf15f20c60969243 Mon Sep 17 00:00:00 2001
|
||||
From 3ec7cf2dd409d5331a0b0715086104d1147d4f7e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 Jul 2018 15:30:22 -0400
|
||||
Subject: [PATCH] Vex#getOwner API
|
@ -1,4 +1,4 @@
|
||||
From 82702cb25e3b6fb831782517c7c57c4733876eab Mon Sep 17 00:00:00 2001
|
||||
From 2f8f876bb0fd67dc5c808631f0f2e5b4d96bae3f Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Fri, 13 Jul 2018 14:54:43 +0200
|
||||
Subject: [PATCH] Refresh player inventory when cancelling
|
@ -1,4 +1,4 @@
|
||||
From c7a2c715e0925f5129d329923893d2b3ec42c530 Mon Sep 17 00:00:00 2001
|
||||
From c6f4d4c98bc7fd4c6a536160e1c3150f4117b387 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 19 Jul 2018 01:05:00 -0400
|
||||
Subject: [PATCH] Don't change the Entity Random seed for squids
|
@ -1,4 +1,4 @@
|
||||
From 9f56f07c54c891e59a6eb024f9f5df8426c00a85 Mon Sep 17 00:00:00 2001
|
||||
From 2546c359772a7d9a0a6b347c8e07a6562fefcc37 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 19 Jul 2018 01:08:05 -0400
|
||||
Subject: [PATCH] Re-add vanilla entity warnings for duplicates
|
||||
@ -8,7 +8,7 @@ These are a critical sign that somethin went wrong, and you've lost some data...
|
||||
We should kind of know about these things you know.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index d6d3ffa6f..2c5004e61 100644
|
||||
index 44d867663..fcb5f68f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -979,7 +979,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
@ -1,4 +1,4 @@
|
||||
From 0c344c05aeeb72e97f326c21aed89d3fa3ce316d Mon Sep 17 00:00:00 2001
|
||||
From 525217b8e83b87a99cd4e9733f5729c0d4cb9ac3 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 19 Jul 2018 01:23:00 -0400
|
||||
Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for
|
@ -1,4 +1,4 @@
|
||||
From b2e003731c21eab3980ab9b81ff1cf52b6411e81 Mon Sep 17 00:00:00 2001
|
||||
From 5528d5deb733bbad1d1aa7f9e9820750bbec2813 Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Manrique <hugmanrique@gmail.com>
|
||||
Date: Mon, 16 Jul 2018 12:42:20 +0200
|
||||
Subject: [PATCH] Avoid item merge if stack size above max stack size
|
@ -1,4 +1,4 @@
|
||||
From 3136e6f07a5a0626b4855b8be5470e0df089e9c5 Mon Sep 17 00:00:00 2001
|
||||
From 1b2b2a7ce9672bd95eb9708047a5761eb9b64b80 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Tue, 17 Jul 2018 16:42:17 +0200
|
||||
Subject: [PATCH] Use asynchronous Log4j 2 loggers
|
@ -1,4 +1,4 @@
|
||||
From 978703a87b11832ffaecca876f32c3610f67fd56 Mon Sep 17 00:00:00 2001
|
||||
From ba47092b597856758723b579a1eae506c01d7d54 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 19 Jul 2018 01:13:28 -0400
|
||||
Subject: [PATCH] add more information to Entity.toString()
|
@ -1,4 +1,4 @@
|
||||
From 0318662b299542a2245da28c82d08f5a3455fa69 Mon Sep 17 00:00:00 2001
|
||||
From c7266c6cc9e99625f22a54a8cbbca62a10d7acf0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 08:25:40 -0400
|
||||
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
@ -1,4 +1,4 @@
|
||||
From fec119593dd482c5e813c4b3e343f17cfa6185d9 Mon Sep 17 00:00:00 2001
|
||||
From 98c8705126dd30ffab51ce8a21ee8069941c7477 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 14:23:31 -0400
|
||||
Subject: [PATCH] Additional Paper Config options
|
@ -1,4 +1,4 @@
|
||||
From 728fd7183c4e5a63f03aec4b53bfabb64d62f533 Mon Sep 17 00:00:00 2001
|
||||
From 5f6f08cc867183a3e8e3e5d52a3d31d030100e4c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 14:27:34 -0400
|
||||
Subject: [PATCH] Duplicate UUID Resolve Option
|
@ -1,4 +1,4 @@
|
||||
From 589d50e9902c7adfcd9837768bbcddbfdd809ebd Mon Sep 17 00:00:00 2001
|
||||
From c956b264d891943cfe291d01eb7218d88eabe347 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 16:55:04 -0400
|
||||
Subject: [PATCH] Add async chunk load API
|
@ -1,4 +1,4 @@
|
||||
From eb46618fcdc4a12a5c3b48cbe4c9b3b2d1813ac5 Mon Sep 17 00:00:00 2001
|
||||
From 48823e6b74986eb521e651c82065f4ffcea3673e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Apr 2018 11:21:48 -0400
|
||||
Subject: [PATCH] Configurable Allowance of Permanent Chunk Loaders
|
@ -1,199 +0,0 @@
|
||||
From 13d727f38a8615e821d1794176154b34780c0c19 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 11 Nov 2017 17:57:39 -0500
|
||||
Subject: [PATCH] Improve Structures Checking
|
||||
|
||||
Improves performance by keying every chunk thats part of a structure to a hashmap
|
||||
instead of only the first one.
|
||||
|
||||
This allows us to avoid iterating the entire structures value set to see
|
||||
if a block position is inside of a structure.
|
||||
|
||||
This should have pretty decent performance improvement to any standard world
|
||||
that has been around for a whilewith lots of structures due to ineffeciencies
|
||||
in how MC stores structures (even unloaded chunks has structured data loaded)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureBoundingBox.java b/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
index db419cd99..d9329bd42 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
@@ -4,12 +4,14 @@ import com.google.common.base.MoreObjects;
|
||||
|
||||
public class StructureBoundingBox {
|
||||
|
||||
- public int a;
|
||||
- public int b;
|
||||
- public int c;
|
||||
- public int d;
|
||||
- public int e;
|
||||
- public int f;
|
||||
+ public int a; // Paper - If changes, verify low/high getters
|
||||
+ public int b; // Paper - If changes, verify low/high getters
|
||||
+ public int c; // Paper - If changes, verify low/high getters
|
||||
+ public int d; // Paper - If changes, verify low/high getters
|
||||
+ public int e; // Paper - If changes, verify low/high getters
|
||||
+ public int f; // Paper - If changes, verify low/high getters
|
||||
+ public BaseBlockPosition getLowPosition() { return new BaseBlockPosition(a, b, c); } // Paper
|
||||
+ public BaseBlockPosition getHighPosition() { return new BaseBlockPosition(d, e, f); } // Paper
|
||||
|
||||
public StructureBoundingBox() {}
|
||||
|
||||
@@ -114,6 +116,7 @@ public class StructureBoundingBox {
|
||||
this.f += k;
|
||||
}
|
||||
|
||||
+ public boolean contains(BaseBlockPosition baseblockposition) { return b(baseblockposition); } // Paper - OBFHELPER
|
||||
public boolean b(BaseBlockPosition baseblockposition) {
|
||||
return baseblockposition.getX() >= this.a && baseblockposition.getX() <= this.d && baseblockposition.getZ() >= this.c && baseblockposition.getZ() <= this.f && baseblockposition.getY() >= this.b && baseblockposition.getY() <= this.e;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
index e8263baa4..f4dfba8f3 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
@@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectIterator;
|
||||
import java.util.Iterator;
|
||||
+import java.util.List;
|
||||
import java.util.Random;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -14,6 +15,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
private final Timing timing = MinecraftTimings.getStructureTiming(this); // Paper
|
||||
private PersistentStructure a;
|
||||
protected Long2ObjectMap<StructureStart> c = new Long2ObjectOpenHashMap(1024);
|
||||
+ protected Long2ObjectMap<StructureStart> allStructures = new Long2ObjectOpenHashMap(1024); // Paper - Holds ref to structures for every chunk its part of, where as the one above this only holds the vanilla oriented ones.
|
||||
|
||||
public StructureGenerator() {}
|
||||
|
||||
@@ -29,6 +31,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
if (this.a(i, j)) {
|
||||
StructureStart structurestart = this.b(i, j);
|
||||
|
||||
+ populateStructure(structurestart); // Paper
|
||||
this.c.put(ChunkCoordIntPair.a(i, j), structurestart);
|
||||
if (structurestart.a()) {
|
||||
this.a(i, j, structurestart);
|
||||
@@ -106,6 +109,19 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
|
||||
@Nullable
|
||||
protected StructureStart c(BlockPosition blockposition) {
|
||||
+ // Paper start - replace method
|
||||
+ StructureStart structureStart = allStructures.get(ChunkCoordIntPair.asLong(blockposition));
|
||||
+ if (structureStart != null && structureStart.isSizeable() && structureStart.getBoundingBox().contains(blockposition)) {
|
||||
+ List<StructurePiece> structurePieces = structureStart.getStructurePieces();
|
||||
+ for (StructurePiece piece : structurePieces) {
|
||||
+ if (piece.getBoundingBox().contains(blockposition)) {
|
||||
+ return structureStart;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return null;
|
||||
+ /*
|
||||
ObjectIterator objectiterator = this.c.values().iterator();
|
||||
|
||||
while (objectiterator.hasNext()) {
|
||||
@@ -125,11 +141,16 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
}
|
||||
|
||||
return null;
|
||||
+ */
|
||||
}
|
||||
|
||||
public boolean a(World world, BlockPosition blockposition) {
|
||||
if (this.g == null) return false; // Paper
|
||||
this.a(world);
|
||||
+ // Paper start - Replace method
|
||||
+ StructureStart structureStart = this.allStructures.get(ChunkCoordIntPair.asLong(blockposition));
|
||||
+ return structureStart != null && structureStart.isSizeable() && structureStart.getBoundingBox().contains(blockposition);
|
||||
+ /* // comment out rest
|
||||
ObjectIterator objectiterator = this.c.values().iterator();
|
||||
|
||||
StructureStart structurestart;
|
||||
@@ -142,7 +163,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
structurestart = (StructureStart) objectiterator.next();
|
||||
} while (!structurestart.a() || !structurestart.b().b((BaseBlockPosition) blockposition));
|
||||
|
||||
- return true;
|
||||
+ return true;*/ // Paper end
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -177,6 +198,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
StructureStart structurestart = WorldGenFactory.a(nbttagcompound1, world);
|
||||
|
||||
if (structurestart != null) {
|
||||
+ populateStructure(structurestart); // Paper
|
||||
this.c.put(ChunkCoordIntPair.a(i, j), structurestart);
|
||||
}
|
||||
}
|
||||
@@ -187,6 +209,27 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
|
||||
}
|
||||
|
||||
+ // Paper start
|
||||
+ private void populateStructure(StructureStart structurestart) {
|
||||
+ for (StructurePiece piece : structurestart.getStructurePieces()) {
|
||||
+ populateStructure(structurestart, piece.getBoundingBox());
|
||||
+ }
|
||||
+ populateStructure(structurestart, structurestart.getBoundingBox());
|
||||
+ }
|
||||
+ private void populateStructure(StructureStart structurestart, StructureBoundingBox bb) {
|
||||
+ if (bb == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ final BaseBlockPosition low = bb.getLowPosition();
|
||||
+ final BaseBlockPosition high = bb.getHighPosition();
|
||||
+ for (int x = low.getX() >> 4, maxX = high.getX() >> 4; x <= maxX; x++) {
|
||||
+ for (int z = low.getZ() >> 4, maxZ = high.getZ() >> 4; z <= maxZ; z++) {
|
||||
+ allStructures.put(ChunkCoordIntPair.asLong(x, z), structurestart);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
private void a(int i, int j, StructureStart structurestart) {
|
||||
this.a.a(structurestart.a(i, j), i, j);
|
||||
this.a.c();
|
||||
diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java
|
||||
index 93903bc67..fcc13f811 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructurePiece.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructurePiece.java
|
||||
@@ -53,6 +53,7 @@ public abstract class StructurePiece {
|
||||
|
||||
public abstract boolean a(World world, Random random, StructureBoundingBox structureboundingbox);
|
||||
|
||||
+ public StructureBoundingBox getBoundingBox() { return d(); } // Paper - OBFHELPER
|
||||
public StructureBoundingBox d() {
|
||||
return this.l;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java
|
||||
index b6abc74e0..f9bb953d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureStart.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureStart.java
|
||||
@@ -19,10 +19,12 @@ public abstract class StructureStart {
|
||||
this.d = j;
|
||||
}
|
||||
|
||||
+ public StructureBoundingBox getBoundingBox() { return b(); } // Paper - OBFHELPER
|
||||
public StructureBoundingBox b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
+ public List<StructurePiece> getStructurePieces() { return c(); } // Paper - OBFHELPER
|
||||
public List<StructurePiece> c() {
|
||||
return this.a;
|
||||
}
|
||||
@@ -137,7 +139,7 @@ public abstract class StructureStart {
|
||||
|
||||
}
|
||||
|
||||
- public boolean a() {
|
||||
+ public boolean isSizeable() { return a(); } public boolean a() { // Paper - OBFHELPER
|
||||
return true;
|
||||
}
|
||||
|
||||
--
|
||||
2.18.0
|
||||
|
@ -69,8 +69,14 @@ for f in $files; do
|
||||
fi
|
||||
done
|
||||
|
||||
import NBTList
|
||||
import NBTBase
|
||||
# Temporarily add new NMS dev imports here before you run paper patch
|
||||
# but after you have paper rb'd your changes, remove the line from this file before committing.
|
||||
# we do not need any lines added to this file
|
||||
|
||||
# import FileName
|
||||
|
||||
|
||||
|
||||
|
||||
set -e
|
||||
cd "$workdir/Spigot/Spigot-Server/"
|
||||
|
Loading…
Reference in New Issue
Block a user