本文整理汇总了Java中net.minecraftforge.event.entity.player.PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK属性的典型用法代码示例。如果您正苦于以下问题:Java Action.RIGHT_CLICK_BLOCK属性的具体用法?Java Action.RIGHT_CLICK_BLOCK怎么用?Java Action.RIGHT_CLICK_BLOCK使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类net.minecraftforge.event.entity.player.PlayerInteractEvent.Action
的用法示例。
在下文中一共展示了Action.RIGHT_CLICK_BLOCK属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onPlayerInteract
public static void onPlayerInteract(PlayerInteractEvent event) {
if (EtFuturum.enableGrassPath)
if (event.entityPlayer != null) {
World world = event.entityPlayer.worldObj;
if (event.action == Action.RIGHT_CLICK_BLOCK)
if (world.getBlock(event.x, event.y, event.z) == Blocks.grass) {
ItemStack stack = event.entityPlayer.getCurrentEquippedItem();
if (stack != null && (stack.getItem() instanceof ItemSpade || isTinkersShovel(stack))) {
world.setBlock(event.x, event.y, event.z, ModBlocks.grass_path);
event.entityPlayer.swingItem();
stack.damageItem(1, event.entityPlayer);
world.playSoundEffect(event.x + 0.5F, event.y + 0.5F, event.z + 0.5F, Block.soundTypeGravel.getStepResourcePath(), 1.0F, 0.8F);
}
}
}
}
示例2: handleCropRightClick
@SubscribeEvent
public void handleCropRightClick(PlayerInteractEvent event) {
int x = event.x, y = event.y, z = event.z;
Block block = event.world.getBlock(x, y, z);
int meta = event.world.getBlockMetadata(x, y, z);
if (ConfigHandler.allowCropRC && event.action == Action.RIGHT_CLICK_BLOCK && (event.entityPlayer.getHeldItem() == null || !event.entityPlayer.isSneaking())) {
for (PlantInfo info : plants) {
if (info.blockInst == block && meta == info.meta) {
if (event.world.isRemote) {
event.entityPlayer.swingItem();
} else {
currentPlant = info;
block.dropBlockAsItem(event.world, x, y, z, meta, 0);
currentPlant = null;
event.world.setBlockMetadataWithNotify(x, y, z, info.resetMeta, 3);
event.setCanceled(true);
}
break;
}
}
}
}
示例3: onPlayerInteract
@SubscribeEvent
public void onPlayerInteract(PlayerInteractEvent event)
{
if (event.entityPlayer.worldObj.isRemote)
return;
ItemStack itemInHand = event.entityPlayer.getCurrentEquippedItem();
if (itemInHand == null) {
return;
}
//Disable interaction between Mek and OpenBlock tanks and TFC Barrels or Vessels **Dupe bug***
boolean validAction = event.action == Action.RIGHT_CLICK_BLOCK;
if(validAction) {
Block target = event.world.getBlock(event.x, event.y, event.z);
if (target == TFCBlocks.barrel || target == TFCBlocks.vessel) {
String name = itemInHand.getUnlocalizedName();
if (name.contains("tile.openblocks.tank") || name.contains("tile.MachineBlock2.PortableTank") ||
name.contains("ImmersiveEngineering.drill") || name.contains("ImmersiveEngineering.chemthrower")
|| name.contains("ImmersiveEngineering.jerrycan") || name.contains("MachineBlock2")){
event.setCanceled(true);
return;
}
}
}
}
示例4: onInteract
@SubscribeEvent
public void onInteract(PlayerInteractEvent pie){
if(pie.action==Action.RIGHT_CLICK_BLOCK) {
ItemStack i=pie.entityPlayer.getCurrentEquippedItem();
if(i!=null && i.getItem().equals(Items.flint_and_steel)){
PortalHandler.establishPortal(pie.world, pie.x, pie.y, pie.z, pie.face);
}
if(Properties.enableSimpleSetSpawn
&& pie.world instanceof WorldServer
&& pie.world.getBlock(pie.x, pie.y, pie.z)==Blocks.bed) {
ChunkCoordinates bedPosition=new ChunkCoordinates(pie.x, pie.y, pie.z);
pie.entityPlayer.setSpawnChunk(bedPosition, false);
pie.entityPlayer.addChatComponentMessage(new ChatComponentText("Spawn reset to ("+pie.x+", "+pie.y+", "+pie.z+")")); }
}
}
示例5: onPlayerInteractEvent
@SubscribeEvent
public void onPlayerInteractEvent(PlayerInteractEvent event) {
if (Util.isClientSide()) {
if (event.action != Action.RIGHT_CLICK_BLOCK) {
return;
}
EntityPlayer player = event.entityPlayer;
if (player == null) {
return;
}
if (player.getHeldItem() == null || !(player.getHeldItem().getItem() instanceof ItemBlockManipulator) || player.getHeldItem().stackTagCompound == null || !(player.getHeldItem().getItem() instanceof OEItemInterface)) {
return;
}
NBTTagCompound nbt = new NBTTagCompound();
nbt.setInteger("x", event.x);
nbt.setInteger("y", event.y);
nbt.setInteger("z", event.z);
nbt.setInteger("face", event.face);// Bottom = 0, Top = 1, Sides = 2-5
NetworkUtil.sendToServer(Channel.BlockManipulater, nbt);
event.setCanceled(true);
}
}
示例6: onPlayerInteract
@SubscribeEvent
public boolean onPlayerInteract(PlayerInteractEvent event){
if(event.action == Action.RIGHT_CLICK_BLOCK && isListeningToCoordTrackerSetting) {
isListeningToCoordTrackerSetting = false;
ForgeDirection dir = ForgeDirection.getOrientation(event.face);
reset();
ItemStack stack = event.entityPlayer.getCurrentArmor(3);
if(stack != null) {
NBTTagCompound tag = NBTUtil.getCompoundTag(stack, "CoordTracker");
tag.setInteger("dimID", event.entity.worldObj.provider.dimensionId);
tag.setInteger("x", event.x + dir.offsetX);
tag.setInteger("y", event.y + dir.offsetY);
tag.setInteger("z", event.z + dir.offsetZ);
}
NetworkHandler.sendToServer(new PacketCoordTrackUpdate(event.entity.worldObj, event.x + dir.offsetX, event.y + dir.offsetY, event.z + dir.offsetZ));
}
return false;
}
示例7: getInteractionType
public static InteractionType getInteractionType(final PlayerInteractEvent event) {
if (event.action != Action.RIGHT_CLICK_BLOCK)
return Nothing;
if(event.entityPlayer.capabilities.isCreativeMode) {
final ItemStack held = event.entityPlayer.getHeldItem();
if(held != null && held.getItem() == CONFIGURE_ITEM) {
return Configure;
}
}
return Use;
}
示例8: onWrenchBlock
@SubscribeEvent
public void onWrenchBlock(PlayerInteractEvent event) {
if (!event.world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) {
EntityPlayer player = event.entityPlayer;
ItemStack itemInHand = player.getCurrentEquippedItem();
if (player.isSneaking() && itemInHand != null && itemInHand.getItem() == InitItems.wrench) {
wrenchBlock(new Location(event.world, event.x, event.y, event.z), player);
}
}
}
示例9: placeBlockEvent
@SubscribeEvent
public void placeBlockEvent(PlayerInteractEvent event) {
EntityPlayer p = event.entityPlayer;
if(event.action == Action.RIGHT_CLICK_BLOCK) {
Block clickedBlock = HelperActions.getBlock(event.x, event.y, event.z);
if (HelperActions.blockIsOneOf(clickedBlock, HelperActions.unbreakableBlocks) && event.y < p.posY) {
List<HelperPos> blockPoss = new ArrayList<HelperPos>();
blockPoss.add(new HelperPos(event.x, event.y + 1, event.z));
blockPoss.add(new HelperPos(event.x, event.y, event.z + 1));
blockPoss.add(new HelperPos(event.x, event.y, event.z - 1));
blockPoss.add(new HelperPos(event.x + 1, event.y, event.z));
blockPoss.add(new HelperPos(event.x - 1, event.y, event.z));
for (HelperPos pos : blockPoss) {
String key = pos.x + "," + pos.y + "," + pos.z;
if (HelperActions.blockIsOneOf(HelperActions.getBlock(pos), HelperActions.mineableBlocks) &&
!MinecraftStateGeneratorHelper.blockNameMap.containsKey(key)) {
int blockID = HelperActions.getBlockId(pos.x, pos.y, pos.z);
ArrayList<String> blockNames = MinecraftStateGeneratorHelper.invBlockNameMap.get(blockID);
if (blockNames != null && blockNames.size() == 1) {
MinecraftStateGeneratorHelper.blockNameMap.put(key, blockNames.get(0));
MinecraftStateGeneratorHelper.invBlockNameMap.remove(blockID);
}
else {
if(blockNames != null) {
MinecraftStateGeneratorHelper.blockNameMap.put(key, blockNames.get(0));
blockNames.remove(0);
}
}
break;
}
}
}
}
}
示例10: blockPlaceEvent
@SubscribeEvent
public void blockPlaceEvent(PlayerInteractEvent event) {
ForgeDirection direction = ForgeDirection.getOrientation(event.face);
if(!event.world.isRemote && Action.RIGHT_CLICK_BLOCK == event.action && event.entityPlayer != null && AtmosphereHandler.getOxygenHandler(event.world.provider.dimensionId) != null &&
!AtmosphereHandler.getOxygenHandler(event.world.provider.dimensionId).getAtmosphereType(event.x + direction.offsetX, event.y + direction.offsetY, event.z + direction.offsetZ).allowsCombustion()) {
if(event.entityPlayer.getCurrentEquippedItem() != null) {
if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.torch) &&
event.world.getBlock(event.x, event.y, event.z).isSideSolid(event.world, event.x, event.y, event.z, direction)) {
event.setCanceled(true);
event.world.setBlock(event.x + direction.offsetX, event.y + direction.offsetY, event.z + direction.offsetZ, AdvancedRocketryBlocks.blockUnlitTorch);
}
else if(zmaster587.advancedRocketry.api.Configuration.torchBlocks.contains(Block.getBlockFromItem(event.entityPlayer.getCurrentEquippedItem().getItem())) )
event.setCanceled(true);
else if(event.entityPlayer.getCurrentEquippedItem().getItem() == Items.flint_and_steel || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.fire_charge || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.blaze_powder || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.blaze_rod || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.lava_bucket)
event.setCanceled(true);
}
}
if(!event.world.isRemote && event.entityPlayer != null && event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK && event.entityPlayer.getCurrentEquippedItem() != null && event.entityPlayer.getCurrentEquippedItem().getItem() == Items.bed && event.world.provider instanceof WorldProviderPlanet) {
AdvancedRocketryItems.itemAstroBed.onItemUse( event.entityPlayer.getCurrentEquippedItem(), event.entityPlayer, event.entityPlayer.worldObj, event.x, event.y, event.z, event.face, 0, 0, 0);
event.setCanceled(true);
}
if(!event.world.isRemote && event.entityPlayer != null && event.entityPlayer.getCurrentEquippedItem() != null && event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(AdvancedRocketryBlocks.blockGenericSeat) && event.world.getBlock(event.x, event.y, event.z) == Blocks.tnt) {
event.entityPlayer.triggerAchievement(ARAchivements.beerOnTheSun);
}
}
示例11: PlayerRightClickEvent
@SubscribeEvent
public void PlayerRightClickEvent(PlayerInteractEvent event)
{
if(ConfigHandler.allowCropFeature)
{
EntityPlayer player = event.entityPlayer;
World world = event.world;
Block crop = world.getBlock(event.x, event.y, event.z);
int cropMeta = world.getBlockMetadata(event.x, event.y, event.z);
int dropRate = event.world.rand.nextInt(3) + 1;
ItemStack drops = new ItemStack(crop.getItemDropped(cropMeta, event.world.rand, Short.MAX_VALUE), dropRate);
if(player.getCurrentEquippedItem() == null && event.action == Action.RIGHT_CLICK_BLOCK && crop != null)
{
if(crop instanceof BlockCrops && cropMeta >= 7)
{
event.entityPlayer.swingItem();
if(!world.isRemote)
{
EntityItem droppedItem = new EntityItem(world, event.x, event.y, event.z, drops);
world.setBlockMetadataWithNotify(event.x, event.y, event.z, 0, 3);
world.spawnEntityInWorld(droppedItem);
}
}
}
}
}
示例12: onPlayerRightClickBlock
@SubscribeEvent
public void onPlayerRightClickBlock(PlayerInteractEvent event) {
if (!event.entity.worldObj.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) {
AtlasAPI.getTileAPI().putCustomGlobalTile(event.entity.worldObj,
customTileName, event.x >> 4, event.z >> 4);
}
}
示例13: onPlayerInteract
@SubscribeEvent(priority=EventPriority.LOW)
public void onPlayerInteract(PlayerInteractEvent event) {
BlockDoor door = (BlockDoor)Blocks.wooden_door;
BlockLocation loc = BlockLocation.get(event.world, event.x, event.y, event.z);
if ((event.action != Action.RIGHT_CLICK_BLOCK) ||
event.entityPlayer.isSneaking() ||
!(loc.getBlock() == door)) return;
int direction = getDoorOrientation(door, loc);
boolean isOpen = isDoorOpen(door, loc);
boolean isMirrored = isDoorMirrored(door, loc);
int i = (isMirrored ? -1 : 1);
switch (direction) {
case 0: loc = loc.relative(0, 0, i); break;
case 1: loc = loc.relative(-i, 0, 0); break;
case 2: loc = loc.relative(0, 0, -i); break;
case 3: loc = loc.relative( i, 0, 0); break;
}
if ((loc.getBlock() == door) &&
(getDoorOrientation(door, loc) == direction) &&
(isDoorOpen(door, loc) == isOpen) &&
(isDoorMirrored(door, loc) != isMirrored))
door.onBlockActivated(loc.world, loc.x, loc.y, loc.z, event.entityPlayer, event.face, 0, 0, 0);
}
示例14: playerInteract
@SubscribeEvent
public void playerInteract(PlayerInteractEvent event) {
if (event.action == Action.RIGHT_CLICK_BLOCK && event.entityPlayer.worldObj.isRemote) {
if (placing.get() != null)
return;//for mods that do dumb stuff and call this event like MFR
placing.set(event);
if (place(event.entityPlayer, event.entityPlayer.worldObj))
event.setCanceled(true);
placing.set(null);
}
}
示例15: playerInteract
@ForgeSubscribe
public void playerInteract(PlayerInteractEvent event) {
if (event.action == Action.RIGHT_CLICK_BLOCK) {
int id = event.entityPlayer.worldObj.getBlockId(event.x, event.y, event.z);
if (id == TeamConfig.teamSelectionId) {
int meta = event.entityPlayer.worldObj.getBlockMetadata(event.x, event.y, event.z);
if (listener != null) {
listener.interact(event.entityPlayer, meta, event.x, event.y, event.z);
}
}
}
}