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


Java BreakEvent.getPlayer方法代码示例

本文整理汇总了Java中net.minecraftforge.event.world.BlockEvent.BreakEvent.getPlayer方法的典型用法代码示例。如果您正苦于以下问题:Java BreakEvent.getPlayer方法的具体用法?Java BreakEvent.getPlayer怎么用?Java BreakEvent.getPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraftforge.event.world.BlockEvent.BreakEvent的用法示例。


在下文中一共展示了BreakEvent.getPlayer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: apply

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@Override
public boolean apply(final BreakEvent evt) {
	
	if(!evt.isCanceled() && (evt.block instanceof MachineVending || evt.block instanceof MachineVendingTop)) {
		
		// Do the check only if player is non-OP
		if(!evt.getPlayer().capabilities.isCreativeMode) {
			
			int baseY = evt.y;
			if(evt.block instanceof MachineVendingTop)
				baseY--;
			
			final TileEntity te = evt.world.getTileEntity(evt.x, baseY, evt.z);
			if(te instanceof VendingTileEntity) {
				final VendingTileEntity vending = (VendingTileEntity) te;
				if(!vending.okToBreak(evt.getPlayer()))
					evt.setCanceled(true);
			}
		}
	}
	
	return true;
}
 
开发者ID:OreCruncher,项目名称:ThermalRecycling,代码行数:24,代码来源:VendingMachineBreakHandler.java

示例2: onBreakEvent

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent(priority = EventPriority.LOWEST)
public void onBreakEvent(BreakEvent event) {
  World world = event.getWorld();
  EntityPlayer player = event.getPlayer();
  if (player == null) {
    return;
  }
  BlockPos pos = event.getPos();
  int level = this.getCurrentLevelTool(player);
  if (level <= 0) {
    return;
  }
  Block block = event.getState().getBlock();
  int xpDropped = block.getExpDrop(event.getState(), world, pos, 0);
  int bonus = xpDropped * XP_PER_LVL * level;
  UtilExperience.incrementExp(player, bonus);
  //    dropExp(world, pos, xpDropped * XP_PER_LVL * level);
}
 
开发者ID:PrinceOfAmber,项目名称:Cyclic,代码行数:19,代码来源:EnchantXpBoost.java

示例3: onBreakEvent

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
/**
 * tile entity data saved to item stack
 * 
 * @param event
 */
@SubscribeEvent
public static void onBreakEvent(BreakEvent event) {
  if (event.getPlayer() != null && event.getPlayer().capabilities.isCreativeMode) {
    return;
  } // dont drop in creative https://github.com/PrinceOfAmber/Cyclic/issues/93
  World world = event.getWorld();
  BlockPos pos = event.getPos();
  IBlockState state = event.getState();
  TileEntity ent = world.getTileEntity(pos);
  if (ent != null && ent instanceof TileEntityWirelessTr) {
    TileEntityWirelessTr t = (TileEntityWirelessTr) ent;
    ItemStack stack = new ItemStack(state.getBlock());
    if (t.getTargetPos() != null)
      UtilNBT.setItemStackBlockPos(stack, t.getTargetPos());
    //      saveTileDataToStack(stack, t);
    UtilItemStack.dropItemStackInWorld(world, pos, stack);
  }
}
 
开发者ID:PrinceOfAmber,项目名称:Cyclic,代码行数:24,代码来源:BlockRedstoneWireless.java

示例4: onBreakEvent

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onBreakEvent(BreakEvent event) {
  if (event.getPlayer() != null && event.getPlayer().capabilities.isCreativeMode) {
    return;
  } // dont drop in creative https://github.com/PrinceOfAmber/Cyclic/issues/93
  World world = event.getWorld();
  BlockPos pos = event.getPos();
  IBlockState state = event.getState();
  TileEntity ent = world.getTileEntity(pos);
  if (ent != null && ent instanceof TileEntityVector) {
    TileEntityVector t = (TileEntityVector) ent;
    ItemStack stack = new ItemStack(state.getBlock());
    saveTileDataToStack(stack, t);
    UtilItemStack.dropItemStackInWorld(world, pos, stack);
  }
}
 
开发者ID:PrinceOfAmber,项目名称:Cyclic,代码行数:17,代码来源:BlockVectorPlate.java

示例5: onBlockBreak

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onBlockBreak(BreakEvent event){
	EntityPlayer player = event.getPlayer();
	if (player != null) {
 	ItemStack stack = player.getHeldItemMainhand();
 	if (stack != null) {
 		Item item = stack.getItem();
 		if (item instanceof grappleBow || item instanceof multiBow) {
 			event.setCanceled(true);
 			return;
 		}
 	}
	}
	
	this.blockbreak(event);
}
 
开发者ID:yyon,项目名称:grapplemod,代码行数:17,代码来源:CommonProxyClass.java

示例6: mineOutEverything

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
public void mineOutEverything(int[][] locations, BreakEvent event)
{
    EntityPlayer player = event.getPlayer();
    ItemStack current = player.getCurrentEquippedItem();

    for (int i = 0; i < locations.length; i++)
    {
        int curX = event.x + locations[i][0];
        int curY = event.y + locations[i][1];
        int curZ = event.z + locations[i][2];

        Block miningBlock = event.world.getBlock(curX, curY, curZ);
        int meta = event.world.getBlockMetadata(curX, curY, curZ);
        if (canHarvestBlock(player, event.block, miningBlock, meta, curX, curY, curZ))
        {
            if (!((ItemTool) current.getItem()).onBlockStartBreak(current, curX, curY, curZ, player))
            {
                mineBlock(event.world, curX, curY, curZ, meta, player, miningBlock);
                ((ItemTool) current.getItem()).onBlockDestroyed(current, event.world, miningBlock, curX, curY, curZ, player);
                player.addExhaustion((float) 0.025);
            }
        }
    }
}
 
开发者ID:Wolfofthenyght,项目名称:M4Armory,代码行数:25,代码来源:AOEHandler.java

示例7: mineGrass

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
public void mineGrass(int[][] blocks, BreakEvent event)
{
    EntityPlayer player = event.getPlayer();
    ItemStack current = player.getCurrentEquippedItem();

    for (int i = 0; i < blocks.length; i++)
    {
        Block currentBlock = event.world.getBlock(event.x + blocks[i][0], event.y + blocks[i][1], event.z + blocks[i][2]);
        int currentMeta = event.world.getBlockMetadata(event.x + blocks[i][0], event.y + blocks[i][1], event.z + blocks[i][2]);
        if (canHoeHarvest(currentBlock))
        {
            mineBlock(event.world, event.x + blocks[i][0], event.y + blocks[i][1], event.z + blocks[i][2], currentMeta, player, currentBlock);
            current.damageItem(1, player);
            if (current.getItemDamage() >= current.getMaxDamage())
            {
                return;
            }
        }
    }
}
 
开发者ID:Wolfofthenyght,项目名称:M4Armory,代码行数:21,代码来源:AOEHandler.java

示例8: onBreakEvent

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onBreakEvent(BreakEvent event) {
	Side side = FMLCommonHandler.instance().getEffectiveSide();

	if (side != Side.SERVER) return;
	
	if (event.getPlayer() instanceof EntityPlayerMP) {
		EntityPlayerMP thePlayer = (EntityPlayerMP) event.getPlayer();
		List<MocapAction> aList = Mocap.instance
				.getActionListForPlayer(thePlayer);
		if (aList != null) {
			MocapAction ma = new MocapAction(
					MocapActionTypes.BREAKBLOCK);
			
			ma.xCoord = event.x;
			ma.yCoord = event.y;
			ma.zCoord = event.z;
			aList.add(ma);
		}
	}
	
}
 
开发者ID:EchebKeso,项目名称:Mocap,代码行数:23,代码来源:MocapEventHandler.java

示例9: onHarvest

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onHarvest(BreakEvent event) {
	if (event.getPlayer() == null) {
		return;
	}

	Province provinceFarmedIn = loadProvince(event.getPlayer().world, event.getPos());

	if (provinceFarmedIn == null || provinceFarmedIn.civilization == null) {
		return;
	}

	handleFarmQuest(event.getPlayer(), provinceFarmedIn, event.getState().getBlock(), false);
}
 
开发者ID:ToroCraft,项目名称:ToroQuest,代码行数:15,代码来源:QuestFarm.java

示例10: harvest

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void harvest(BreakEvent event) {
	if (!ToroQuestConfiguration.cropsAffectRep) {
		return;
	}
	if (event.getPlayer() == null) {
		return;
	}

	if (isCrop(event.getState().getBlock())) {
		BlockPos pos = event.getPos();
		adjustPlayerRep(event.getPlayer(), pos.getX() / 16, pos.getZ() / 16, -getFarmRepAmount(event.getWorld().rand));
	}
}
 
开发者ID:ToroCraft,项目名称:ToroQuest,代码行数:15,代码来源:CivilizationHandlers.java

示例11: enderPearlTeleport

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void enderPearlTeleport(BreakEvent ev) {
	if(ev.getPlayer() == null || ev.getPlayer().isCreative()){
		return;
	}
	
	if (ev.getState().getBlock() == BlockTeletoryPortal.INSTANCE || ev.getState().getBlock() == BlockLinkedTeletoryPortal.INSTANCE) {
		ev.setCanceled(true);
	}
}
 
开发者ID:ToroCraft,项目名称:TeleToro,代码行数:11,代码来源:Teletory.java

示例12: onPlayerBreaksBlock

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
/**
 * Event listener for Action.BREAK_BLOCK
 */
@SubscribeEvent
public void onPlayerBreaksBlock(BreakEvent event)
{
    EntityPlayer player = event.getPlayer();
    List<Action> events = CommonProxy.manager.getActions(player);

    if (!player.worldObj.isRemote && events != null && player.isCreative())
    {
        events.add(new BreakBlockAction(event.getPos(), false));
    }
}
 
开发者ID:mchorse,项目名称:blockbuster,代码行数:15,代码来源:ActionHandler.java

示例13: mineGooeyBlocks

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void mineGooeyBlocks(BreakEvent event) {
    if (processing.get() != null) return;
    EntityPlayer p = event.getPlayer();
    if (!(p instanceof EntityPlayerMP)) return;
    EntityPlayerMP player = (EntityPlayerMP) p;
    boolean creative = player.capabilities.isCreativeMode;
    ItemStack held = player.getHeldItem();
    if (held == null && !creative) return;
    MovingObjectPosition mop = getMovingObjectPositionFromPlayer(player.worldObj, player, false);
    if (mop == null) return;
    for (int slot = 0; slot < 9; slot++) {
        ItemStack is = ItemUtil.normalize(player.inventory.getStackInSlot(slot));
        if (is == null || is.getItem() != this) continue;
        GooData data = GooData.getNullGooData(is, player.worldObj);
        if (data == null) continue;
        for (int i = 0; i < data.coords.length; i += 3) {
            if (eq(data.coords, i, mop.getBlockPos())) {
                processing.set(true);
                try {
                    mineSelection(is, data, player.worldObj, mop, player, held);
                } finally {
                    processing.remove();
                }
                return;
            }
        }
    }
}
 
开发者ID:purpleposeidon,项目名称:Factorization,代码行数:30,代码来源:ItemGoo.java

示例14: playerBreakBlock

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void playerBreakBlock(BreakEvent event) {
    if (event.world.isRemote)
        return;
    EntityPlayer player = event.getPlayer();
    if (isPlayerFake(player))
        return;
    int fortune = EnchantmentHelper.getFortuneModifier(player);
    String name = event.state.getBlock().getUnlocalizedName();
    boolean harvest = false;
    List<ItemStack> stacks = event.state.getBlock().getDrops(event.world, event.pos, event.state, fortune);
    if (stacks.size() == 1) {
        ItemStack stack = stacks.get(0);
        Item item = stack.getItem();
        if (item == null)
            ;
        else if (item instanceof ItemBlock) {
            ItemBlock ib = (ItemBlock) item;
            Block b = ib.block;
            harvest = b != event.state.getBlock();
        }
        else
            harvest = true;
    }
    else
        harvest = stacks.size() != 0;
    if (name.startsWith("tile."))
        name = name.substring(5);
    if (!harvest)
        PlayerResearchHelper.progressResearch(player, "block.break." + name, 1, true);
    else
        PlayerResearchHelper.progressResearch(player, "block.harvest." + name, 1, true);
}
 
开发者ID:AlexIIL,项目名称:CivCraft,代码行数:34,代码来源:BeakerEarningListener.java

示例15: onBreakEvent

import net.minecraftforge.event.world.BlockEvent.BreakEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onBreakEvent(BreakEvent event) {
	EntityPlayer player = event.getPlayer();

	if(CoreClaim.claimManager.checkEventCancel(event.getPlayer(), event.x, event.z)) {
		Utils.messageToPlayer(player, EnumChatFormatting.RED + "Oh snap, you are not allowed to break this!");
		event.setCanceled(true);
	}	
}
 
开发者ID:unitedworldminers,项目名称:ClaimIO,代码行数:10,代码来源:EventBus.java


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