本文整理匯總了Java中org.bukkit.event.player.PlayerInteractEvent.setUseInteractedBlock方法的典型用法代碼示例。如果您正苦於以下問題:Java PlayerInteractEvent.setUseInteractedBlock方法的具體用法?Java PlayerInteractEvent.setUseInteractedBlock怎麽用?Java PlayerInteractEvent.setUseInteractedBlock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.bukkit.event.player.PlayerInteractEvent
的用法示例。
在下文中一共展示了PlayerInteractEvent.setUseInteractedBlock方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: handleUse
import org.bukkit.event.player.PlayerInteractEvent; //導入方法依賴的package包/類
private void handleUse(Event event, BlockState blockState, MatchPlayer player) {
if(!player.canInteract()) return;
PlayerBlockEventQuery query = new PlayerBlockEventQuery(player, event, blockState);
for(EventRule rule : this.ruleContext.get(EventRuleScope.USE)) {
if(rule.region().contains(blockState)) {
if(processQuery(rule, query)) {
if(query.getEvent() instanceof PlayerInteractEvent && ((PlayerInteractEvent) query.getEvent()).isCancelled()) {
PlayerInteractEvent pie = (PlayerInteractEvent) query.getEvent();
pie.setCancelled(false);
pie.setUseItemInHand(Event.Result.ALLOW);
pie.setUseInteractedBlock(Event.Result.DENY);
if(rule.message() != null) {
player.sendWarning(rule.message(), false);
}
}
if(this.useRegionPriority) {
break;
}
}
}
}
}
示例2: onInteract
import org.bukkit.event.player.PlayerInteractEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST)
public void onInteract(final PlayerInteractEvent event) {
if(cancelUnlessInteracting(event, event.getPlayer())) {
// Allow the how-to book to be read
if(event.getMaterial() == Material.WRITTEN_BOOK) {
event.setUseItemInHand(Event.Result.ALLOW);
} else {
event.setUseItemInHand(Event.Result.DENY);
event.setUseInteractedBlock(Event.Result.DENY);
}
MatchPlayer player = getMatch().getPlayer(event.getPlayer());
if(player == null) return;
if(!player.isSpawned()) {
ClickType clickType = convertClick(event.getAction(), event.getPlayer());
if(clickType == null) return;
getMatch().callEvent(new ObserverInteractEvent(player, clickType, event.getClickedBlock(), null, event.getItem()));
}
// Right-clicking armor will put it on unless we do this
event.getPlayer().updateInventory();
}
}
示例3: onInteract
import org.bukkit.event.player.PlayerInteractEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.LOW)
public void onInteract(PlayerInteractEvent event) {
if(!event.hasItem()) return;
final ClickType click;
switch(event.getAction()) {
case LEFT_CLICK_AIR:
case LEFT_CLICK_BLOCK:
click = ClickType.LEFT;
break;
case RIGHT_CLICK_AIR:
case RIGHT_CLICK_BLOCK:
click = ClickType.RIGHT;
break;
default:
return;
}
if(onButtonClick(event.getItem(), event.getActor(), click, event)) {
event.setUseItemInHand(Event.Result.DENY);
event.setUseInteractedBlock(Event.Result.DENY);
}
}
示例4: interactEntity
import org.bukkit.event.player.PlayerInteractEvent; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.HIGH)
public void interactEntity(PlayerInteractEvent event) {
if(!event.getPlayer().isOp()) {
event.setCancelled(true);
event.setUseInteractedBlock(Event.Result.DENY);
event.setUseItemInHand(Event.Result.DENY);
}
}