spigot/CraftBukkit-Patches/0105-Fix-placing-double-slabs-at-y-255.patch
2019-06-25 06:49:54 +10:00

26 lines
1.8 KiB
Diff

From 7167d4bde3d756bc6f6574ead04a38f91b9a2b92 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 1e67b6d41..7a770257e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1248,9 +1248,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
MovingObjectPositionBlock movingobjectpositionblock = packetplayinuseitem.c();
BlockPosition blockposition = movingobjectpositionblock.getBlockPosition();
EnumDirection enumdirection = movingobjectpositionblock.getDirection();
+ 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.20.1