MC-11211,SPIGOT-4552: Fix placing double slabs at y = 255

This commit is contained in:
md_5 2018-12-28 10:13:28 +11:00
parent 29ab5e43ce
commit 1959ad21e7
10 changed files with 60 additions and 34 deletions

View file

@ -1,4 +1,4 @@
From f397b16ceef518f1a8fab7e00f64bcda0e8fa821 Mon Sep 17 00:00:00 2001
From 5ccc13733e85e3c627d78debcac30dbfdd93eeb9 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 15 May 2017 15:16:15 +1000
Subject: [PATCH] Skeleton API Implementations
@ -37,10 +37,10 @@ index 23b1344b..4f47f65e 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 4a703ddb..56ef5979 100644
index fb6ccf28..dc180890 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1777,6 +1777,15 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1810,6 +1810,15 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public Location locateNearestStructure(Location origin, StructureType structureType, int radius, boolean findUnexplored);

View file

@ -1,14 +1,14 @@
From ae6387ed550dbc8a14890b166ec0f89d7dbbfbc6 Mon Sep 17 00:00:00 2001
From 12dcd0573e9a53073ef09958aff4a28c74a13ceb Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:29 -0400
Subject: [PATCH] Silenceable Lightning API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 56ef5979..aef7cf5c 100644
index dc180890..1b3c1784 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1781,6 +1781,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1814,6 +1814,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
public class Spigot
{

View file

@ -1,4 +1,4 @@
From a022a1b0c81ffc3ded6d441e8b5edba6627d8548 Mon Sep 17 00:00:00 2001
From 817ec909d186c68f2ca50cad828e6dcfec7c43c6 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:10:56 +1000
Subject: [PATCH] Skeleton API Implementations
@ -25,10 +25,10 @@ index f86cc694b..6784e3045 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 77019f79d..acec60485 100644
index 200b5c17c..f5fce00ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1747,4 +1747,14 @@ public class CraftWorld implements World {
@@ -1769,4 +1769,14 @@ public class CraftWorld implements World {
cps.unload(chunk);
}
}
@ -81,10 +81,10 @@ index 1314c744b..a461a935b 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
index 8aa1eebbf..4a84f8cff 100644
index 75dad21cd..4b8e5ab22 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
@@ -97,4 +97,15 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
@@ -105,4 +105,15 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
public EntityType getType() {
return EntityType.ARROW;
}

View file

@ -1,4 +1,4 @@
From 1274fa521fcc1b849ec07ec6646b9ed8903d8dc3 Mon Sep 17 00:00:00 2001
From 934a353658451b21c98d19c455a336e8b6245490 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 25 Mar 2014 16:10:01 +1100
Subject: [PATCH] Async Operation Catching
@ -27,7 +27,7 @@ index f6829ff07..c09961be9 100644
public int a(IBlockData iblockdata, Random random) {
return 1;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index db955cdf6..9b59bf82b 100644
index 018144d19..338532fa2 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -725,6 +725,7 @@ public abstract class EntityLiving extends Entity {
@ -127,10 +127,10 @@ index e00b59959..7166ddb46 100644
if (commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index acec60485..27375519f 100644
index f5fce00ca..88182d21e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -189,6 +189,7 @@ public class CraftWorld implements World {
@@ -190,6 +190,7 @@ public class CraftWorld implements World {
}
public boolean unloadChunkRequest(int x, int z, boolean safe) {
@ -138,7 +138,7 @@ index acec60485..27375519f 100644
if (safe && isChunkInUse(x, z)) {
return false;
}
@@ -202,6 +203,7 @@ public class CraftWorld implements World {
@@ -203,6 +204,7 @@ public class CraftWorld implements World {
}
public boolean unloadChunk(int x, int z, boolean save, boolean safe) {
@ -146,7 +146,7 @@ index acec60485..27375519f 100644
if (isChunkInUse(x, z)) {
return false;
}
@@ -220,6 +222,7 @@ public class CraftWorld implements World {
@@ -221,6 +223,7 @@ public class CraftWorld implements World {
}
public boolean regenerateChunk(int x, int z) {
@ -154,7 +154,7 @@ index acec60485..27375519f 100644
if (!unloadChunk0(x, z, false)) {
return false;
}
@@ -265,6 +268,7 @@ public class CraftWorld implements World {
@@ -266,6 +269,7 @@ public class CraftWorld implements World {
}
public boolean loadChunk(int x, int z, boolean generate) {
@ -163,7 +163,7 @@ index acec60485..27375519f 100644
return world.getChunkProvider().getChunkAt(x, z, true, generate) != null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f77241361..99226bffd 100644
index 44c74f122..f887fdbb6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -293,6 +293,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -1,14 +1,14 @@
From 13863f97a2ce47ab237e10115e01cbddf6808054 Mon Sep 17 00:00:00 2001
From 09ea5018eab7c6541e82e450dc255533a0cfd19f Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:16:05 +1000
Subject: [PATCH] Implement Arrow API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
index 4a84f8cff..666b47452 100644
index 4b8e5ab22..ff92f8584 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
@@ -101,6 +101,17 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
@@ -109,6 +109,17 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
// Spigot start
private final Arrow.Spigot spigot = new Arrow.Spigot()
{

View file

@ -1,4 +1,4 @@
From 21d3872863e766191eb48df22bc028e643a0af61 Mon Sep 17 00:00:00 2001
From aeeab9ddd4979fec3cc76066c30cc044824ee95e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 21:07:18 +1100
Subject: [PATCH] Improve AutoSave Mechanism
@ -60,10 +60,10 @@ index 2f1a6d84e..ddc29fdce 100644
SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 27375519f..e336b4290 100644
index 88182d21e..cb135ac56 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -839,12 +839,17 @@ public class CraftWorld implements World {
@@ -861,12 +861,17 @@ public class CraftWorld implements World {
}
public void save() {

View file

@ -1,4 +1,4 @@
From 09016ec95fcf959e6535f46f1ba89d5f8a7f0232 Mon Sep 17 00:00:00 2001
From edb26dbd91aaffa0dc6fbfad88f302f75fcbd0b1 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:59 -0400
Subject: [PATCH] Implement Silenceable Lightning API
@ -41,10 +41,10 @@ index 44759ae3c..7781babf5 100644
// this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_THUNDER, SoundCategory.WEATHER, 10000.0F, 0.8F + this.random.nextFloat() * 0.2F);
float pitch = 0.8F + this.random.nextFloat() * 0.2F;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e336b4290..baf20340a 100644
index cb135ac56..f4d409096 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1759,6 +1759,22 @@ public class CraftWorld implements World {
@@ -1781,6 +1781,22 @@ public class CraftWorld implements World {
// Spigot start
private final Spigot spigot = new Spigot()
{

View file

@ -1,4 +1,4 @@
From a2b530649efd60a7977c68cc1b3a0c2db2bff56b Mon Sep 17 00:00:00 2001
From ea352b61231ddfc11fda7193670a1cba2069f6b9 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sat, 19 Jul 2014 12:49:48 +0100
Subject: [PATCH] Don't spawn bonus ocelots when plugins spawn ocelots
@ -26,10 +26,10 @@ index f00756da4..47aac5b05 100644
EntityOcelot entityocelot = new EntityOcelot(this.world);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index baf20340a..889f99d66 100644
index f4d409096..f118d382c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1323,6 +1323,12 @@ public class CraftWorld implements World {
@@ -1345,6 +1345,12 @@ public class CraftWorld implements World {
}
if (entity != null) {

View file

@ -1,4 +1,4 @@
From acf925e9b92775edcf686f2f3fa117b0e6df64ad Mon Sep 17 00:00:00 2001
From e72565e186b2c6f46a54ab09f2b959e102fb4cf4 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 3 Mar 2016 19:45:46 +1100
Subject: [PATCH] Implement SpawnerSpawnEvent.
@ -26,10 +26,10 @@ index e0becc02f..cc0371b4a 100644
ChunkRegionLoader.a(entity, (GeneratorAccess) world, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
world.triggerEffect(2004, blockposition, 0);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index ba30e5726..30515dc86 100644
index e536f7f4a..4d3bfd69e 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1177,6 +1177,21 @@ public class CraftEventFactory {
@@ -1178,6 +1178,21 @@ public class CraftEventFactory {
return event;
}

View file

@ -0,0 +1,26 @@
From f36a968eba3bee41375eef2de1fdb011801a5293 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 28 Dec 2018 10:11:43 +1100
Subject: [PATCH] Fix placing double slabs at y = 255
Addresses MC-11211 / SPIGOT-4552
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index bb7ef0518..941a01efc 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1219,9 +1219,10 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
ItemStack itemstack = this.player.b(enumhand);
BlockPosition blockposition = packetplayinuseitem.b();
EnumDirection enumdirection = packetplayinuseitem.c();
+ IBlockData clickedBlock = worldserver.getType(blockposition); // Spigot
this.player.resetIdleTimer();
- if (blockposition.getY() >= this.minecraftServer.getMaxBuildHeight() - 1 && (enumdirection == EnumDirection.UP || blockposition.getY() >= this.minecraftServer.getMaxBuildHeight())) {
+ if (blockposition.getY() >= this.minecraftServer.getMaxBuildHeight() - 1 && ((enumdirection == EnumDirection.UP && !(clickedBlock.getBlock() instanceof BlockStepAbstract && clickedBlock.get(BlockStepAbstract.a) == BlockPropertySlabType.BOTTOM)) || blockposition.getY() >= this.minecraftServer.getMaxBuildHeight())) { // Spigot
IChatBaseComponent ichatbasecomponent = (new ChatMessage("build.tooHigh", new Object[] { this.minecraftServer.getMaxBuildHeight()})).a(EnumChatFormat.RED);
this.player.playerConnection.sendPacket(new PacketPlayOutChat(ichatbasecomponent, ChatMessageType.GAME_INFO));
--
2.19.1