3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-11-08 17:20:24 +01:00

Merge pull request #1296 from KennyTV/master

Fix sign and banner placement in paperpatch
Dieser Commit ist enthalten in:
Myles 2019-04-26 20:57:37 +01:00 committet von GitHub
Commit c3a7abd5f2
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -25,15 +25,16 @@ public class PaperPatch extends ViaBukkitListener {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
public void onPlace(BlockPlaceEvent e) { public void onPlace(BlockPlaceEvent e) {
if (isOnPipe(e.getPlayer())) { if (isOnPipe(e.getPlayer())) {
Location diff = e.getPlayer().getLocation().subtract(e.getBlock().getLocation().add(0.5D, 0, 0.5D)); Location location = e.getPlayer().getLocation();
Location diff = location.subtract(e.getBlock().getLocation().add(0.5D, 0, 0.5D));
Material block = e.getBlockPlaced().getType(); Material block = e.getBlockPlaced().getType();
if (!block.isSolid()) { if (isPlacable(block)) {
return; return;
} }
if (e.getPlayer().getLocation().getBlock().equals(e.getBlock())) { if (location.getBlock().equals(e.getBlock())) {
e.setCancelled(true); e.setCancelled(true);
} else { } else {
if (e.getPlayer().getLocation().getBlock().getRelative(BlockFace.UP).equals(e.getBlock())) { if (location.getBlock().getRelative(BlockFace.UP).equals(e.getBlock())) {
e.setCancelled(true); e.setCancelled(true);
} else { } else {
// Within radius of block // Within radius of block
@ -55,4 +56,18 @@ public class PaperPatch extends ViaBukkitListener {
} }
} }
} }
private boolean isPlacable(Material material) {
if (!material.isSolid()) return true;
// signs and banners
switch (material.getId()) {
case 63:
case 68:
case 176:
case 177:
return true;
default:
return false;
}
}
} }