mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-05 15:14:43 +02:00
@ -334,7 +334,7 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
final Player player = event.getPlayer();
|
||||
final BukkitPlayer pp = (BukkitPlayer) BukkitUtil.getPlayer(player);
|
||||
Plot plot = pp.getCurrentPlot();
|
||||
@ -1035,27 +1035,26 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onInteract(final PlayerInteractEvent event) {
|
||||
final Action action = event.getAction();
|
||||
final Block block = event.getClickedBlock();
|
||||
if (block == null) {
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
}
|
||||
final Player player = event.getPlayer();
|
||||
public void onInteract(final PlayerInteractEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
final PlotPlayer pp = BukkitUtil.getPlayer(player);
|
||||
if (pp.getPlotWorld() == null) {
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
PlayerBlockEventType eventType = null;
|
||||
BukkitLazyBlock lb;
|
||||
Location loc;
|
||||
final Action action = event.getAction();
|
||||
switch (action) {
|
||||
case PHYSICAL: {
|
||||
eventType = PlayerBlockEventType.TRIGGER_PHYSICAL;
|
||||
Block block = event.getClickedBlock();
|
||||
lb = new BukkitLazyBlock(block);
|
||||
loc = BukkitUtil.getLocation(block.getLocation());
|
||||
break;
|
||||
}
|
||||
case RIGHT_CLICK_BLOCK: {
|
||||
Block block = event.getClickedBlock();
|
||||
loc = BukkitUtil.getLocation(block.getLocation());
|
||||
final Material blockType = block.getType();
|
||||
@ -1137,8 +1136,9 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
|
||||
} else if (id < 198) {
|
||||
eventType = PlayerBlockEventType.PLACE_BLOCK;
|
||||
lb = new BukkitLazyBlock(id, block);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
Material handType = hand.getType();
|
||||
lb = new BukkitLazyBlock(new PlotBlock((short) handType.getId(), (byte) 0));
|
||||
switch (handType) {
|
||||
case MONSTER_EGG:
|
||||
@ -1181,7 +1181,6 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
|
||||
case RAW_FISH:
|
||||
case RAW_CHICKEN: {
|
||||
eventType = PlayerBlockEventType.EAT;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
case MINECART:
|
||||
@ -1205,6 +1204,8 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LEFT_CLICK_BLOCK: {
|
||||
Block block = event.getClickedBlock();
|
||||
loc = BukkitUtil.getLocation(block.getLocation());
|
||||
eventType = PlayerBlockEventType.BREAK_BLOCK;
|
||||
|
@ -7,7 +7,7 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
|
||||
public class BukkitLazyBlock extends LazyBlock {
|
||||
|
||||
private int id = -1;
|
||||
private int id;
|
||||
private Block block;
|
||||
private PlotBlock pb;
|
||||
|
||||
@ -30,7 +30,7 @@ public class BukkitLazyBlock extends LazyBlock {
|
||||
if (pb != null) {
|
||||
return pb;
|
||||
}
|
||||
if (id == -1) {
|
||||
if (id == 0) {
|
||||
id = block.getTypeId();
|
||||
}
|
||||
byte data;
|
||||
@ -121,8 +121,10 @@ public class BukkitLazyBlock extends LazyBlock {
|
||||
case 191:
|
||||
case 192:
|
||||
data = 0;
|
||||
break;
|
||||
default:
|
||||
data = block.getData();
|
||||
break;
|
||||
}
|
||||
pb = new PlotBlock((short) id, data);
|
||||
return pb;
|
||||
@ -131,7 +133,7 @@ public class BukkitLazyBlock extends LazyBlock {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
if (id == -1) {
|
||||
if (id == 0) {
|
||||
id = block.getTypeId();
|
||||
}
|
||||
return id;
|
||||
|
@ -14,7 +14,6 @@ import org.bukkit.permissions.PermissionDefault;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
import com.intellectualcrafters.plot.config.C;
|
||||
import com.intellectualcrafters.plot.config.Settings;
|
||||
import com.intellectualcrafters.plot.object.Location;
|
||||
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||
import com.intellectualcrafters.plot.util.EconHandler;
|
||||
@ -71,26 +70,10 @@ public class BukkitPlayer extends PlotPlayer {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(final String node) {
|
||||
if (Settings.PERMISSION_CACHING) {
|
||||
if (noPerm.contains(node)) {
|
||||
return false;
|
||||
}
|
||||
if (hasPerm.contains(node)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (offline && (EconHandler.manager != null)) {
|
||||
return EconHandler.manager.hasPermission(getName(), node);
|
||||
}
|
||||
final boolean value = player.hasPermission(node);
|
||||
if (Settings.PERMISSION_CACHING) {
|
||||
if (value) {
|
||||
hasPerm.add(node);
|
||||
} else {
|
||||
noPerm.add(node);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
return player.hasPermission(node);
|
||||
}
|
||||
|
||||
public Permission getPermission(final String node) {
|
||||
|
Reference in New Issue
Block a user