spigot/CraftBukkit-Patches/0124-Fix-placing-double-slabs-at-y-255.patch

26 lines
1.7 KiB
Diff

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