Update slab check for portal exits
This commit is contained in:
parent
22b461e7b4
commit
88642327e3
@ -24,6 +24,7 @@ import org.bukkit.block.Block;
|
|||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
|
import org.bukkit.block.data.Bisected;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.block.data.Directional;
|
import org.bukkit.block.data.Directional;
|
||||||
import org.bukkit.block.data.Powerable;
|
import org.bukkit.block.data.Powerable;
|
||||||
@ -34,7 +35,6 @@ import org.bukkit.entity.minecart.StorageMinecart;
|
|||||||
import org.bukkit.entity.Vehicle;
|
import org.bukkit.entity.Vehicle;
|
||||||
import org.bukkit.event.block.SignChangeEvent;
|
import org.bukkit.event.block.SignChangeEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.material.Step;
|
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -274,7 +274,6 @@ public class Portal {
|
|||||||
if (isRandom()) {
|
if (isRandom()) {
|
||||||
destinations = getDestinations(player, getNetwork());
|
destinations = getDestinations(player, getNetwork());
|
||||||
if (destinations.size() == 0) {
|
if (destinations.size() == 0) {
|
||||||
destinations.clear();
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
String dest = destinations.get((new Random()).nextInt(destinations.size()));
|
String dest = destinations.get((new Random()).nextInt(destinations.size()));
|
||||||
@ -555,8 +554,9 @@ public class Portal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (loc != null) {
|
if (loc != null) {
|
||||||
if (getWorld().getBlockAt(loc).getState().getData() instanceof Step) {
|
BlockData bd = getWorld().getBlockAt(loc).getBlockData();
|
||||||
loc.setY(loc.getY() + 0.5);
|
if (bd instanceof Bisected && ((Bisected) bd).getHalf() == Bisected.Half.BOTTOM) {
|
||||||
|
loc.add(0, 0.5, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
loc.setPitch(traveller.getPitch());
|
loc.setPitch(traveller.getPitch());
|
||||||
@ -672,7 +672,7 @@ public class Portal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void cycleDestination(Player player, int dir) {
|
public void cycleDestination(Player player, int dir) {
|
||||||
Boolean activate = false;
|
boolean activate = false;
|
||||||
if (!isActive() || getActivePlayer() != player) {
|
if (!isActive() || getActivePlayer() != player) {
|
||||||
// If the event is cancelled, return
|
// If the event is cancelled, return
|
||||||
if (!activate(player)) {
|
if (!activate(player)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user