本文整理汇总了Java中org.bukkit.event.block.BlockMultiPlaceEvent类的典型用法代码示例。如果您正苦于以下问题:Java BlockMultiPlaceEvent类的具体用法?Java BlockMultiPlaceEvent怎么用?Java BlockMultiPlaceEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BlockMultiPlaceEvent类属于org.bukkit.event.block包,在下文中一共展示了BlockMultiPlaceEvent类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onBlockPlace
import org.bukkit.event.block.BlockMultiPlaceEvent; //导入依赖的package包/类
@EventHandler(ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
if (event instanceof BlockMultiPlaceEvent) {
BlockMultiPlaceEvent multi = (BlockMultiPlaceEvent) event;
for (BlockState state : multi.getReplacedBlockStates()) {
this.post(event,
state,
state.getBlock().getState(),
event.getPlayer());
}
} else {
this.post(event,
event.getBlockReplacedState(),
event.getBlock().getState(),
event.getPlayer());
}
}
示例2: onBlockPlace
import org.bukkit.event.block.BlockMultiPlaceEvent; //导入依赖的package包/类
@EventWrapper
public void onBlockPlace(final BlockPlaceEvent event) {
if(event instanceof BlockMultiPlaceEvent) {
for(BlockState oldState : ((BlockMultiPlaceEvent) event).getReplacedBlockStates()) {
callEvent(event, oldState, oldState.getBlock().getState(), event.getPlayer());
}
} else {
callEvent(event, event.getBlockReplacedState(), event.getBlock().getState(), event.getPlayer());
}
}
示例3: onBlockMultiPlace
import org.bukkit.event.block.BlockMultiPlaceEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockMultiPlace(BlockMultiPlaceEvent event) {
for (BlockState state : event.getReplacedBlockStates()) {
RollbackAgent.checkBlockChange(state.getLocation(), state.getLocation().getBlock().getState(), event);
}
RollbackAgent.checkBlockChange(event.getBlock().getLocation(), event.getBlock().getState(), event);
}
示例4: onPlayerBlockPlace
import org.bukkit.event.block.BlockMultiPlaceEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPlayerBlockPlace(final BlockMultiPlaceEvent e) {
if (DEBUG) {
plugin.getLogger().info("DEBUG: " + e.getEventName());
if (e.getPlayer() == null) {
plugin.getLogger().info("DEBUG: player is null");
} else {
plugin.getLogger().info("DEBUG: block placed by " + e.getPlayer().getName());
}
plugin.getLogger().info("DEBUG: Block is " + e.getBlock().toString());
}
if (Settings.allowAutoActivator && e.getPlayer().getName().equals("[CoFH]")) {
return;
}
// plugin.getLogger().info(e.getEventName());
if (Util.inWorld(e.getPlayer())) {
// This permission bypasses protection
if (e.getPlayer().isOp() || VaultHelper.hasPerm(e.getPlayer(), Settings.PERMPREFIX + "mod.bypassprotect")) {
return;
}
Island island = plugin.getIslands().getProtectedIslandAt(e.getBlock().getLocation());
if (island == null) {
if (!Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
Util.sendMessage(e.getPlayer(), plugin.getLocale(e.getPlayer().getUniqueId()).get("island.protected"));
e.setCancelled(true);
}
return;
}
// Island exists
if (island.getFlag(SettingsFlag.PLACE_BLOCKS) || island.getMembers().contains(e.getPlayer().getUniqueId())) {
// Check how many placed
//plugin.getLogger().info("DEBUG: block placed " + e.getBlock().getType());
String type = e.getBlock().getType().toString();
if (!e.getBlock().getState().getClass().getName().endsWith("CraftBlockState")
// Not all blocks have that type of class, so we have to do some explicit checking...
|| e.getBlock().getType().equals(Material.REDSTONE_COMPARATOR_OFF)
|| type.endsWith("BANNER") // Avoids V1.7 issues
|| e.getBlock().getType().equals(Material.ENDER_CHEST)
|| e.getBlock().getType().equals(Material.ENCHANTMENT_TABLE)
|| e.getBlock().getType().equals(Material.DAYLIGHT_DETECTOR)
|| e.getBlock().getType().equals(Material.FLOWER_POT)){
// tile entity placed
if (Settings.limitedBlocks.containsKey(type) && Settings.limitedBlocks.get(type) > -1) {
int count = island.getTileEntityCount(e.getBlock().getType(),e.getBlock().getWorld());
if (Settings.limitedBlocks.get(type) <= count) {
Util.sendMessage(e.getPlayer(), (plugin.getLocale(e.getPlayer().getUniqueId()).get("moblimits.entity").replace("[entity]",
Util.prettifyText(type))).replace("[number]", String.valueOf(Settings.limitedBlocks.get(type))));
e.setCancelled(true);
return;
}
}
}
return;
}
// Outside of protection area or visitor
Util.sendMessage(e.getPlayer(), plugin.getLocale(e.getPlayer().getUniqueId()).get("island.protected"));
e.setCancelled(true);
}
}
示例5: onPlayerBlockPlace
import org.bukkit.event.block.BlockMultiPlaceEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPlayerBlockPlace(final BlockMultiPlaceEvent e) {
if (DEBUG) {
plugin.getLogger().info("DEBUG: " + e.getEventName());
if (e.getPlayer() == null) {
plugin.getLogger().info("DEBUG: player is null");
} else {
plugin.getLogger().info("DEBUG: block placed by " + e.getPlayer().getName());
}
plugin.getLogger().info("DEBUG: Block is " + e.getBlock().toString());
}
if (Settings.allowedFakePlayers.contains(e.getPlayer().getName())) return;
// plugin.getLogger().info(e.getEventName());
if (IslandGuard.inWorld(e.getPlayer())) {
// This permission bypasses protection
if (e.getPlayer().isOp() || VaultHelper.checkPerm(e.getPlayer(), Settings.PERMPREFIX + "mod.bypassprotect")) {
return;
}
Island island = plugin.getGrid().getProtectedIslandAt(e.getBlock().getLocation());
if (island == null) {
if (!Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
Util.sendMessage(e.getPlayer(), ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
e.setCancelled(true);
}
return;
}
// Island exists
if (island.getIgsFlag(SettingsFlag.PLACE_BLOCKS) || island.getMembers().contains(e.getPlayer().getUniqueId())) {
// Check how many placed
//plugin.getLogger().info("DEBUG: block placed " + e.getBlock().getType());
String type = e.getBlock().getType().toString();
if (!e.getBlock().getState().getClass().getName().endsWith("CraftBlockState")
// Not all blocks have that type of class, so we have to do some explicit checking...
|| e.getBlock().getType().equals(Material.REDSTONE_COMPARATOR_OFF)
|| type.endsWith("BANNER") // Avoids V1.7 issues
|| e.getBlock().getType().equals(Material.ENDER_CHEST)
|| e.getBlock().getType().equals(Material.ENCHANTMENT_TABLE)
|| e.getBlock().getType().equals(Material.DAYLIGHT_DETECTOR)
|| e.getBlock().getType().equals(Material.FLOWER_POT)){
// tile entity placed
if (Settings.limitedBlocks.containsKey(type) && Settings.limitedBlocks.get(type) > -1) {
int count = island.getTileEntityCount(e.getBlock().getType(),e.getBlock().getWorld());
if (Settings.limitedBlocks.get(type) <= count) {
Util.sendMessage(e.getPlayer(), ChatColor.RED + (plugin.myLocale(e.getPlayer().getUniqueId()).entityLimitReached.replace("[entity]",
Util.prettifyText(type))).replace("[number]", String.valueOf(Settings.limitedBlocks.get(type))));
e.setCancelled(true);
return;
}
}
}
return;
}
// Outside of protection area or visitor
Util.sendMessage(e.getPlayer(), ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
e.setCancelled(true);
}
}