当前位置: 首页>>代码示例>>Java>>正文


Java Action.RIGHT_CLICK_BLOCK属性代码示例

本文整理汇总了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);
					}
				}
		}
}
 
开发者ID:jm-organization,项目名称:connor41-etfuturum2,代码行数:16,代码来源:GrassPath.java

示例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;
      }
    }
  }
}
 
开发者ID:SleepyTrousers,项目名称:EnderCore,代码行数:22,代码来源:RightClickCropHandler.java

示例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;
			}
		}
	}
}
 
开发者ID:AnodeCathode,项目名称:TechNodefirmacraftMod,代码行数:26,代码来源:PlayerInteractHandler.java

示例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+")"));			}
	}
}
 
开发者ID:planetguy32,项目名称:Gizmos,代码行数:17,代码来源:ForgeEventHandler.java

示例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);
  }
}
 
开发者ID:ictrobot,项目名称:Open-Exchange,代码行数:22,代码来源:ItemBlockManipulator.java

示例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;
}
 
开发者ID:MineMaarten,项目名称:PneumaticCraft,代码行数:18,代码来源:CoordTrackUpgradeHandler.java

示例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;
		}
 
开发者ID:OreCruncher,项目名称:Pathways,代码行数:14,代码来源:PlayerInteractEventHandler.java

示例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);
		}
	}
}
 
开发者ID:TeamMonumental,项目名称:FusionWarfare,代码行数:13,代码来源:WrenchEvent.java

示例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;
    			}
    		}
    	}
    }
}
 
开发者ID:h2r,项目名称:burlapcraft,代码行数:35,代码来源:HandlerEvents.java

示例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);
	}
}
 
开发者ID:zmaster587,项目名称:AdvancedRocketry,代码行数:28,代码来源:PlanetEventHandler.java

示例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);
				}
			}
		}
	}
}
 
开发者ID:oitsjustjose,项目名称:GlassWorks,代码行数:28,代码来源:CropEvent.java

示例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);
	}
}
 
开发者ID:Hunternif,项目名称:AntiqueAtlasApiExample,代码行数:7,代码来源:CustomTilePlacer.java

示例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);
}
 
开发者ID:copygirl,项目名称:copycore,代码行数:27,代码来源:TweakDoubleDoorInteraction.java

示例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);
    }
}
 
开发者ID:delta534,项目名称:Chisel,代码行数:11,代码来源:ChiselEventHandler.java

示例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);
			}
		}
	}
}
 
开发者ID:becelot,项目名称:TeamCore,代码行数:12,代码来源:PlayerEvent.java


注:本文中的net.minecraftforge.event.entity.player.PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。