Update upstream CB/S

This commit is contained in:
Zach Brown 2017-06-11 12:03:07 -05:00
parent fe4678c414
commit 263bd3f539
No known key found for this signature in database
GPG Key ID: CC9DA35FC5450B76
14 changed files with 84 additions and 114 deletions

View File

@ -1,4 +1,4 @@
From e8b95df429fa6c189cc22b2bc26d27c24bfd3c8e Mon Sep 17 00:00:00 2001 From 541121315fe521e9038c40a2d8d015cbb81371d3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 04:00:11 -0600 Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2 Subject: [PATCH] Timings v2
@ -607,7 +607,7 @@ index 7fe2796fe..2feeb855b 100644
return waitable.get(); return waitable.get();
} catch (java.util.concurrent.ExecutionException e) { } catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index da1598a24..2facde681 100644 index e3e9a2136..000a0051f 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace; @@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace;
@ -629,7 +629,7 @@ index da1598a24..2facde681 100644
// Spigot start // Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState; public final boolean defaultActivationState;
@@ -524,7 +525,6 @@ public abstract class Entity implements ICommandListener { @@ -525,7 +526,6 @@ public abstract class Entity implements ICommandListener {
} }
public void move(EnumMoveType enummovetype, double d0, double d1, double d2) { public void move(EnumMoveType enummovetype, double d0, double d1, double d2) {
@ -637,7 +637,7 @@ index da1598a24..2facde681 100644
if (this.noclip) { if (this.noclip) {
this.a(this.getBoundingBox().d(d0, d1, d2)); this.a(this.getBoundingBox().d(d0, d1, d2));
this.recalcPosition(); this.recalcPosition();
@@ -918,7 +918,6 @@ public abstract class Entity implements ICommandListener { @@ -919,7 +919,6 @@ public abstract class Entity implements ICommandListener {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
@ -1265,10 +1265,10 @@ index d16e499ae..aced20e3b 100644
public boolean b(AxisAlignedBB axisalignedbb) { public boolean b(AxisAlignedBB axisalignedbb) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index bbbbae49b..5835553b5 100644 index 7bed637ab..ce8fe791d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -256,13 +256,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -304,13 +304,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
timings.doChunkUnload.stopTiming(); // Spigot timings.doChunkUnload.stopTiming(); // Spigot
this.methodProfiler.c("tickPending"); this.methodProfiler.c("tickPending");
@ -1286,7 +1286,7 @@ index bbbbae49b..5835553b5 100644
this.methodProfiler.c("chunkMap"); this.methodProfiler.c("chunkMap");
timings.doChunkMap.startTiming(); // Spigot timings.doChunkMap.startTiming(); // Spigot
this.manager.flush(); this.manager.flush();
@@ -478,7 +478,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -526,7 +526,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
} }
} }
@ -1295,7 +1295,7 @@ index bbbbae49b..5835553b5 100644
if (i > 0) { if (i > 0) {
ChunkSection[] achunksection = chunk.getSections(); ChunkSection[] achunksection = chunk.getSections();
int i1 = achunksection.length; int i1 = achunksection.length;
@@ -506,6 +506,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -554,6 +554,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
} }
} }
} }
@ -1303,7 +1303,7 @@ index bbbbae49b..5835553b5 100644
} }
this.methodProfiler.b(); this.methodProfiler.b();
@@ -691,6 +692,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -739,6 +740,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.methodProfiler.a("cleaning"); this.methodProfiler.a("cleaning");
@ -1311,7 +1311,7 @@ index bbbbae49b..5835553b5 100644
NextTickListEntry nextticklistentry; NextTickListEntry nextticklistentry;
for (int j = 0; j < i; ++j) { for (int j = 0; j < i; ++j) {
@@ -704,10 +706,12 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -752,10 +754,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
// this.nextTickListHash.remove(nextticklistentry); // this.nextTickListHash.remove(nextticklistentry);
this.W.add(nextticklistentry); this.W.add(nextticklistentry);
} }
@ -1324,7 +1324,7 @@ index bbbbae49b..5835553b5 100644
while (iterator.hasNext()) { while (iterator.hasNext()) {
nextticklistentry = (NextTickListEntry) iterator.next(); nextticklistentry = (NextTickListEntry) iterator.next();
@@ -716,6 +720,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -764,6 +768,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (this.areChunksLoadedBetween(nextticklistentry.a.a(0, 0, 0), nextticklistentry.a.a(0, 0, 0))) { if (this.areChunksLoadedBetween(nextticklistentry.a.a(0, 0, 0), nextticklistentry.a.a(0, 0, 0))) {
IBlockData iblockdata = this.getType(nextticklistentry.a); IBlockData iblockdata = this.getType(nextticklistentry.a);
@ -1333,7 +1333,7 @@ index bbbbae49b..5835553b5 100644
if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) { if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) {
try { try {
@@ -728,10 +734,12 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -776,10 +782,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
} }
@ -1346,7 +1346,7 @@ index bbbbae49b..5835553b5 100644
this.methodProfiler.b(); this.methodProfiler.b();
this.W.clear(); this.W.clear();
@@ -827,7 +835,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -875,7 +883,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
gen = new org.bukkit.craftbukkit.generator.NormalChunkGenerator(this, this.getSeed()); gen = new org.bukkit.craftbukkit.generator.NormalChunkGenerator(this, this.getSeed());
} }
@ -1355,7 +1355,7 @@ index bbbbae49b..5835553b5 100644
// CraftBukkit end // CraftBukkit end
} }
@@ -992,6 +1000,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1040,6 +1048,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (chunkproviderserver.e()) { if (chunkproviderserver.e()) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@ -1363,7 +1363,7 @@ index bbbbae49b..5835553b5 100644
if (iprogressupdate != null) { if (iprogressupdate != null) {
iprogressupdate.a("Saving level"); iprogressupdate.a("Saving level");
} }
@@ -1001,7 +1010,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1049,7 +1058,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
iprogressupdate.c("Saving chunks"); iprogressupdate.c("Saving chunks");
} }
@ -1373,7 +1373,7 @@ index bbbbae49b..5835553b5 100644
// CraftBukkit - ArrayList -> Collection // CraftBukkit - ArrayList -> Collection
Collection arraylist = chunkproviderserver.a(); Collection arraylist = chunkproviderserver.a();
Iterator iterator = arraylist.iterator(); Iterator iterator = arraylist.iterator();
@@ -1013,7 +1024,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1061,7 +1072,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
chunkproviderserver.unload(chunk); chunkproviderserver.unload(chunk);
} }
} }
@ -1382,7 +1382,7 @@ index bbbbae49b..5835553b5 100644
} }
} }
@@ -1026,6 +1037,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1074,6 +1085,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
} }
protected void a() throws ExceptionWorldConflict { protected void a() throws ExceptionWorldConflict {
@ -1390,7 +1390,7 @@ index bbbbae49b..5835553b5 100644
this.checkSession(); this.checkSession();
WorldServer[] aworldserver = this.server.worldServer; WorldServer[] aworldserver = this.server.worldServer;
int i = aworldserver.length; int i = aworldserver.length;
@@ -1055,6 +1067,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1103,6 +1115,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.worldData.e(this.getWorldBorder().i()); this.worldData.e(this.getWorldBorder().i());
this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t()); this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t());
this.worldMaps.a(); this.worldMaps.a();

View File

@ -1,4 +1,4 @@
From 2f4bb5350f76ae64af9b869da3322c0726eed973 Mon Sep 17 00:00:00 2001 From c150eee4585914341d43d303c19c1d0e2461b21f Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:24:16 -0600 Date: Tue, 1 Mar 2016 13:24:16 -0600
Subject: [PATCH] Allow nerfed mobs to jump Subject: [PATCH] Allow nerfed mobs to jump
@ -30,48 +30,31 @@ index 4f2fa59ac..8af52a61f 100644
public void b() { public void b() {
this.b.l(this.a); this.b.l(this.a);
this.a = false; this.a = false;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0e70cdf6f..8a61c2369 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -109,6 +109,7 @@ public abstract class Entity implements ICommandListener {
public boolean noclip;
public float R;
protected Random random;
+ public boolean fromMobSpawner; // Paper
public int ticksLived;
public int fireTicks;
public boolean inWater; // Spigot - protected -> public // PAIL
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 67f26bd62..6adb38de0 100644 index 4c53aa0e9..882996572 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -44,6 +44,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -44,6 +44,7 @@ public abstract class EntityInsentient extends EntityLiving {
private boolean bE; private boolean bE;
private Entity leashHolder; private Entity leashHolder;
private NBTTagCompound bG; private NBTTagCompound bG;
+ public PathfinderGoalFloat goalFloat; // Paper + @Nullable public PathfinderGoalFloat goalFloat; // Paper
public EntityInsentient(World world) { public EntityInsentient(World world) {
super(world); super(world);
@@ -638,6 +639,17 @@ public abstract class EntityInsentient extends EntityLiving { @@ -641,6 +642,12 @@ public abstract class EntityInsentient extends EntityLiving {
this.world.methodProfiler.a("checkDespawn"); // Spigot Start
this.L(); if ( this.fromMobSpawner )
this.world.methodProfiler.b(); {
+ // Paper start - Re-add so we can allow them to float in water
+ if (this.fromMobSpawner) {
+ // Paper start - Allow nerfed mobs to jump and float + // Paper start - Allow nerfed mobs to jump and float
+ if (goalFloat != null) { + if (goalFloat != null) {
+ if (goalFloat.validConditions()) goalFloat.update(); + if (goalFloat.validConditions()) goalFloat.update();
+ this.getControllerJump().jumpIfSet(); + this.getControllerJump().jumpIfSet();
+ } + }
+ // Paper end + // Paper end
+ return; return;
+ } }
+ // Spigot End // Spigot End
this.world.methodProfiler.a("sensing");
this.bw.a();
this.world.methodProfiler.b();
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
index b3b303b3b..fc8be86fd 100644 index b3b303b3b..fc8be86fd 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
@ -97,19 +80,6 @@ index b3b303b3b..fc8be86fd 100644
public void e() { public void e() {
if (this.a.getRandom().nextFloat() < 0.8F) { if (this.a.getRandom().nextFloat() < 0.8F) {
this.a.getControllerJump().a(); this.a.getControllerJump().a();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 825ca9346..2f409fe1e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -557,7 +557,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean hasAI() {
- return (this.getHandle() instanceof EntityInsentient) ? !((EntityInsentient) this.getHandle()).isNoAI(): false;
+ return this.getHandle() instanceof EntityInsentient && (!((EntityInsentient) this.getHandle()).isNoAI() || this.getHandle().getWorld().spigotConfig.nerfSpawnerMobs && ((EntityInsentient) this.getHandle()).fromMobSpawner); // Paper
}
@Override
-- --
2.13.0.windows.1 2.13.1

View File

@ -1,14 +1,14 @@
From faad34788f2009a9c7fa129c5151fd843db8c942 Mon Sep 17 00:00:00 2001 From 1e83856377d71c19e0e2fe2915a1bc529fc07f43 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net> From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600 Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index d4fc6c4a2..41aaf61ad 100644 index 769675745..d3e8d1038 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -149,6 +149,7 @@ public abstract class Entity implements ICommandListener { @@ -148,6 +148,7 @@ public abstract class Entity implements ICommandListener {
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949 public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
@ -51,7 +51,7 @@ index d4fc6c4a2..41aaf61ad 100644
NBTTagList nbttaglist = new NBTTagList(); NBTTagList nbttaglist = new NBTTagList();
double[] adouble1 = adouble; double[] adouble1 = adouble;
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index edc22d6c3..70a196461 100644 index 16a6f3b9c..f4bb2e651 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -267,6 +267,14 @@ public class EntityFallingBlock extends Entity { @@ -267,6 +267,14 @@ public class EntityFallingBlock extends Entity {
@ -101,7 +101,7 @@ index bc6383669..ca9eb2f3b 100644
if (i >= 0 && i < this.list.size()) { if (i >= 0 && i < this.list.size()) {
NBTBase nbtbase = (NBTBase) this.list.get(i); NBTBase nbtbase = (NBTBase) this.list.get(i);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 4fc95c86b..aa820465d 100644 index ab3d6e484..2695cff93 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1023,6 +1023,12 @@ public abstract class World implements IBlockAccess { @@ -1023,6 +1023,12 @@ public abstract class World implements IBlockAccess {
@ -135,5 +135,5 @@ index ce773218c..c39281247 100644
+ // Paper end + // Paper end
} }
-- --
2.13.0.windows.1 2.13.1

View File

@ -1,4 +1,4 @@
From 27c8181330a79124a88ca63d871b0cc6dbb5569e Mon Sep 17 00:00:00 2001 From 2a74cffa0e22d482770a5e995adbe1ffe4945b9c Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com> From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:52:43 -0600 Date: Wed, 2 Mar 2016 14:52:43 -0600
Subject: [PATCH] Disable thunder Subject: [PATCH] Disable thunder
@ -19,10 +19,10 @@ index 2217f680c..a40d4887c 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 6856aac64..1432c6c85 100644 index ce8fe791d..e52b14792 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -437,7 +437,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -485,7 +485,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
int l; int l;
BlockPosition blockposition; BlockPosition blockposition;
@ -33,5 +33,5 @@ index 6856aac64..1432c6c85 100644
l = this.l >> 2; l = this.l >> 2;
blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15))); blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
-- --
2.13.0 2.13.1

View File

@ -1,4 +1,4 @@
From ddfcd21f06dee67cad8b9a3e5357b45188b26b6d Mon Sep 17 00:00:00 2001 From 4c057fc2149e1d6c3f6ef31d72acd13092d319f5 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com> From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:57:24 -0600 Date: Wed, 2 Mar 2016 14:57:24 -0600
Subject: [PATCH] Disable ice and snow Subject: [PATCH] Disable ice and snow
@ -19,10 +19,10 @@ index a40d4887c..4fea4b359 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 1432c6c85..04eb5ad9a 100644 index e52b14792..bb07b1d66 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -460,7 +460,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -508,7 +508,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
} }
this.methodProfiler.c("iceandsnow"); this.methodProfiler.c("iceandsnow");
@ -32,5 +32,5 @@ index 1432c6c85..04eb5ad9a 100644
l = this.l >> 2; l = this.l >> 2;
blockposition = this.p(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15))); blockposition = this.p(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
-- --
2.13.0 2.13.1

View File

@ -1,14 +1,14 @@
From 08a7a290440f10c9403aa58aa9822f77e2dfb7b5 Mon Sep 17 00:00:00 2001 From c10d4e6ffdad85dffd1f525ce21df81dfb510ebc Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <joe@ibj.io> From: Joseph Hirschfeld <joe@ibj.io>
Date: Thu, 3 Mar 2016 02:39:54 -0600 Date: Thu, 3 Mar 2016 02:39:54 -0600
Subject: [PATCH] Change implementation of (tile)entity removal list Subject: [PATCH] Change implementation of (tile)entity removal list
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index a41bfe580..321306cb8 100644 index ff62a44b5..3fdf091c8 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -123,10 +123,10 @@ public abstract class Entity implements ICommandListener { @@ -122,10 +122,10 @@ public abstract class Entity implements ICommandListener {
private static final DataWatcherObject<Boolean> aC = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> aC = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
private static final DataWatcherObject<Boolean> aD = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> aD = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
private static final DataWatcherObject<Boolean> aE = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> aE = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
@ -24,7 +24,7 @@ index a41bfe580..321306cb8 100644
public boolean impulse; public boolean impulse;
public int portalCooldown; public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 07596960b..c3449f94c 100644 index 10a07db76..b36891b96 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -30,6 +30,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -30,6 +30,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@ -84,5 +84,5 @@ index 07596960b..c3449f94c 100644
this.f.clear(); this.f.clear();
this.l(); this.l();
-- --
2.13.0.windows.1 2.13.1

View File

@ -1,4 +1,4 @@
From d7b87a048189cfd45f61489882361646b9a8cc6d Mon Sep 17 00:00:00 2001 From 9aa7a384e7927d118c17e7dad6688f72d91a0361 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 22 Mar 2016 12:04:28 -0500 Date: Tue, 22 Mar 2016 12:04:28 -0500
Subject: [PATCH] Configurable spawn chances for skeleton horses Subject: [PATCH] Configurable spawn chances for skeleton horses
@ -19,10 +19,10 @@ index b37b5901b..adc810720 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 04eb5ad9a..7d7f3d39e 100644 index bb07b1d66..2e5e8a99f 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -445,7 +445,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -493,7 +493,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (this.isRainingAt(blockposition)) { if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.D(blockposition); DifficultyDamageScaler difficultydamagescaler = this.D(blockposition);
@ -32,5 +32,5 @@ index 04eb5ad9a..7d7f3d39e 100644
entityhorseskeleton.p(true); entityhorseskeleton.p(true);
-- --
2.13.0 2.13.1

View File

@ -1,4 +1,4 @@
From 3a92a6ebcf07d8b478c345526d2d3896c0df237a Mon Sep 17 00:00:00 2001 From 8e6bc310090192bf599d955b96585a85e998f356 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 19:55:45 -0400 Date: Mon, 28 Mar 2016 19:55:45 -0400
Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone
@ -25,7 +25,7 @@ index adc810720..e706efff5 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 1cd81e533..b8719ba91 100644 index 3a61c67a1..2ca46b05b 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -580,7 +580,7 @@ public abstract class World implements IBlockAccess { @@ -580,7 +580,7 @@ public abstract class World implements IBlockAccess {
@ -38,7 +38,7 @@ index 1cd81e533..b8719ba91 100644
this.getServer().getPluginManager().callEvent(event); this.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 7d7f3d39e..36e6fdd16 100644 index 2e5e8a99f..e37847e6c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -34,6 +34,7 @@ import org.bukkit.event.weather.LightningStrikeEvent; @@ -34,6 +34,7 @@ import org.bukkit.event.weather.LightningStrikeEvent;
@ -49,7 +49,7 @@ index 7d7f3d39e..36e6fdd16 100644
private final MinecraftServer server; private final MinecraftServer server;
public EntityTracker tracker; public EntityTracker tracker;
private final PlayerChunkMap manager; private final PlayerChunkMap manager;
@@ -726,6 +727,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -774,6 +775,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) { if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) {
try { try {
@ -57,7 +57,7 @@ index 7d7f3d39e..36e6fdd16 100644
iblockdata.getBlock().b((World) this, nextticklistentry.a, iblockdata, this.random); iblockdata.getBlock().b((World) this, nextticklistentry.a, iblockdata, this.random);
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Exception while ticking a block"); CrashReport crashreport = CrashReport.a(throwable, "Exception while ticking a block");
@@ -733,7 +735,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -781,7 +783,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
CrashReportSystemDetails.a(crashreportsystemdetails, nextticklistentry.a, iblockdata); CrashReportSystemDetails.a(crashreportsystemdetails, nextticklistentry.a, iblockdata);
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
@ -67,5 +67,5 @@ index 7d7f3d39e..36e6fdd16 100644
timing.stopTiming(); // Paper timing.stopTiming(); // Paper
} else { } else {
-- --
2.13.0 2.13.1

View File

@ -1,4 +1,4 @@
From 268a04666c34b1bb383f02eb2786e4d335a696f4 Mon Sep 17 00:00:00 2001 From 3671ff69353181fc48828de00f6b2b95a5d2055a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 19 Sep 2016 23:16:39 -0400 Date: Mon, 19 Sep 2016 23:16:39 -0400
Subject: [PATCH] Auto Save Improvements Subject: [PATCH] Auto Save Improvements
@ -58,7 +58,7 @@ index cec9ea74c..39f8a0a2c 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index a639ab2a8..099ce0b2d 100644 index a0b5cd56b..f98d380f6 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -962,11 +962,9 @@ public class Chunk { @@ -962,11 +962,9 @@ public class Chunk {
@ -96,7 +96,7 @@ index 9836c0c5a..39f0f5a17 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 628597330..c4eabc0e4 100644 index 8fe324cf7..4cfd8961a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -32,6 +32,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -32,6 +32,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -108,7 +108,7 @@ index 628597330..c4eabc0e4 100644
public final MinecraftServer server; public final MinecraftServer server;
public final PlayerInteractManager playerInteractManager; public final PlayerInteractManager playerInteractManager;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index aab89ac47..0ee5a7b64 100644 index 31ead8849..9fc484ce1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -118,6 +118,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -118,6 +118,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@ -155,7 +155,7 @@ index aab89ac47..0ee5a7b64 100644
this.methodProfiler.a("tallying"); this.methodProfiler.a("tallying");
// Spigot start // Spigot start
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 1fc107b53..fb59fecc4 100644 index 8fcf4d9c0..7882eabaa 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java --- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -339,6 +339,7 @@ public abstract class PlayerList { @@ -339,6 +339,7 @@ public abstract class PlayerList {
@ -192,10 +192,10 @@ index 1fc107b53..fb59fecc4 100644
public void addWhitelist(GameProfile gameprofile) { public void addWhitelist(GameProfile gameprofile) {
this.whitelist.add(new WhiteListEntry(gameprofile)); this.whitelist.add(new WhiteListEntry(gameprofile));
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9f297f8de..a49e2302c 100644 index e37847e6c..6ef1a262c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1002,8 +1002,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1050,8 +1050,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
ChunkProviderServer chunkproviderserver = this.getChunkProviderServer(); ChunkProviderServer chunkproviderserver = this.getChunkProviderServer();
if (chunkproviderserver.e()) { if (chunkproviderserver.e()) {
@ -206,7 +206,7 @@ index 9f297f8de..a49e2302c 100644
if (iprogressupdate != null) { if (iprogressupdate != null) {
iprogressupdate.a("Saving level"); iprogressupdate.a("Saving level");
} }
@@ -1012,6 +1013,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1060,6 +1061,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (iprogressupdate != null) { if (iprogressupdate != null) {
iprogressupdate.c("Saving chunks"); iprogressupdate.c("Saving chunks");
} }
@ -215,5 +215,5 @@ index 9f297f8de..a49e2302c 100644
timings.worldSaveChunks.startTiming(); // Paper timings.worldSaveChunks.startTiming(); // Paper
chunkproviderserver.a(flag); chunkproviderserver.a(flag);
-- --
2.13.0 2.13.1

View File

@ -1,4 +1,4 @@
From 1b745cb137123466e9f4fd393e62c33c19ad377d Mon Sep 17 00:00:00 2001 From 7512b5b0bffbab6515fb9f5b940a4659ff788242 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 26 Sep 2016 01:51:30 -0400 Date: Mon, 26 Sep 2016 01:51:30 -0400
Subject: [PATCH] Disable Vanilla Chunk GC Subject: [PATCH] Disable Vanilla Chunk GC
@ -6,10 +6,10 @@ Subject: [PATCH] Disable Vanilla Chunk GC
Bukkit has its own system for this. Bukkit has its own system for this.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index b1253899c..ce7ef012f 100644 index 6ef1a262c..9b7be0ae0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1019,7 +1019,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1067,7 +1067,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
chunkproviderserver.a(flag); chunkproviderserver.a(flag);
timings.worldSaveChunks.stopTiming(); // Paper timings.worldSaveChunks.stopTiming(); // Paper
// CraftBukkit - ArrayList -> Collection // CraftBukkit - ArrayList -> Collection
@ -18,7 +18,7 @@ index b1253899c..ce7ef012f 100644
Iterator iterator = arraylist.iterator(); Iterator iterator = arraylist.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1028,7 +1028,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1076,7 +1076,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (chunk != null && !this.manager.a(chunk.locX, chunk.locZ)) { if (chunk != null && !this.manager.a(chunk.locX, chunk.locZ)) {
chunkproviderserver.unload(chunk); chunkproviderserver.unload(chunk);
} }
@ -29,5 +29,5 @@ index b1253899c..ce7ef012f 100644
} }
} }
-- --
2.13.0 2.13.1

View File

@ -1,14 +1,14 @@
From 1a83b78d191a6c856d17fc6c5e756af2caa326a7 Mon Sep 17 00:00:00 2001 From 7aa50cb568a461892cc0bd4d91209604afecb328 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Fri, 16 Dec 2016 16:03:19 -0600 Date: Fri, 16 Dec 2016 16:03:19 -0600
Subject: [PATCH] Don't let fishinghooks use portals Subject: [PATCH] Don't let fishinghooks use portals
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 7ced4d196..c5c701f08 100644 index 0a8d8a1a2..e6b469a00 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -145,7 +145,7 @@ public abstract class Entity implements ICommandListener { @@ -144,7 +144,7 @@ public abstract class Entity implements ICommandListener {
public boolean ah; public boolean ah;
public boolean impulse; public boolean impulse;
public int portalCooldown; public int portalCooldown;
@ -18,7 +18,7 @@ index 7ced4d196..c5c701f08 100644
public int dimension; public int dimension;
protected BlockPosition an; protected BlockPosition an;
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 1ef0fbe4d..95cc18716 100644 index 339d1f1b1..7f011aef8 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java --- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -185,6 +185,12 @@ public class EntityFishingHook extends Entity { @@ -185,6 +185,12 @@ public class EntityFishingHook extends Entity {
@ -35,5 +35,5 @@ index 1ef0fbe4d..95cc18716 100644
} }
-- --
2.13.0.windows.1 2.13.1

View File

@ -1,4 +1,4 @@
From ae5d4b6f956317f533c919332a138e4a38e8c70d Mon Sep 17 00:00:00 2001 From 26a1e69e6b0a7f8ab454751fa9e48d06b6b491eb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 22 Jan 2017 18:07:56 -0500 Date: Sun, 22 Jan 2017 18:07:56 -0500
Subject: [PATCH] Cap Entity Collisions Subject: [PATCH] Cap Entity Collisions
@ -27,19 +27,19 @@ index 70af657f5..af953dda4 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 127eaf1f6..d54116be3 100644 index 147f00fe8..d34ec4ff1 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -169,6 +169,7 @@ public abstract class Entity implements ICommandListener { @@ -169,6 +169,7 @@ public abstract class Entity implements ICommandListener {
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState; public final boolean defaultActivationState;
public long activatedTick = Integer.MIN_VALUE; public long activatedTick = Integer.MIN_VALUE;
public boolean fromMobSpawner;
+ protected int numCollisions = 0; // Paper + protected int numCollisions = 0; // Paper
public void inactiveTick() { } public void inactiveTick() { }
// Spigot end // Spigot end
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 75dbd8cf1..e5c7ee17f 100644 index 194d55c30..b18fc969a 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2182,8 +2182,11 @@ public abstract class EntityLiving extends Entity { @@ -2182,8 +2182,11 @@ public abstract class EntityLiving extends Entity {
@ -56,5 +56,5 @@ index 75dbd8cf1..e5c7ee17f 100644
this.C(entity); this.C(entity);
} }
-- --
2.13.0.windows.1 2.13.1

@ -1 +1 @@
Subproject commit ed8c725d1906b97ab83eaeef4b6acf187c90575a Subproject commit 202da9777d02a1cf9a01719720319c46b6f3cf31

@ -1 +1 @@
Subproject commit 87496dfb1df081371281f924fd7781c500856ddf Subproject commit 8cbfc85b6364a7c7be564bb7b1bb19769dbcee77