本文整理匯總了Java中net.minecraftforge.event.entity.player.EntityItemPickupEvent類的典型用法代碼示例。如果您正苦於以下問題:Java EntityItemPickupEvent類的具體用法?Java EntityItemPickupEvent怎麽用?Java EntityItemPickupEvent使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
EntityItemPickupEvent類屬於net.minecraftforge.event.entity.player包,在下文中一共展示了EntityItemPickupEvent類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onItemPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event, Item item, Block block) {
event.setResult(ALLOW);
if (block == BlockLoader.blockFlowerForJen) {
player.triggerAchievement(Achievements.achievementflowerforjen);
}
if (item == ItemLoader.itemPatStar) {
player.triggerAchievement(Achievements.achievementPatStar);
}
if (item == ItemLoader.itemJenStar) {
player.triggerAchievement(Achievements.achievementJenStar);
}
}
示例2: onItemPickUp
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickUp(EntityItemPickupEvent e) {
EntityPlayer player = e.getEntityPlayer();
ItemStack entityStack = e.getItem().getItem();
if ((entityStack.isEmpty()) || (player == null)) {
return;
}
ItemStack dankNull = DankNullUtils.getDankNullForStack(player, entityStack);
if (!dankNull.isEmpty()) {
InventoryDankNull inventory = DankNullUtils.getInventoryFromStack(dankNull);
if (inventory != null && (DankNullUtils.addFilteredStackToDankNull(inventory, entityStack))) {
entityStack.setCount(0);
return;
}
}
}
示例3: onPlayerPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
public void onPlayerPickup(EntityItemPickupEvent e, ItemStack stack) {
applyNetwork(stack, n -> {
if (RSAddons.INSTANCE.config.networkBagUsesEnergy && stack.getItemDamage() != ItemNetworkBag.TYPE_CREATIVE && stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored() <= RSAddons.INSTANCE.config.networkBagUsage) {
return;
}
if (!n.getSecurityManager().hasPermission(Permission.INSERT, e.getEntityPlayer())) {
return;
}
if (n.insertItem(e.getItem().getItem(), e.getItem().getItem().getCount(), true) == null) {
e.setResult(Event.Result.ALLOW);
e.setCanceled(true);
n.insertItem(e.getItem().getItem(), e.getItem().getItem().getCount(), false);
e.getItem().setDead();
if (RSAddons.INSTANCE.config.networkBagUsesEnergy && stack.getItemDamage() != ItemNetworkBag.TYPE_CREATIVE) {
stack.getCapability(CapabilityEnergy.ENERGY, null).extractEnergy(RSAddons.INSTANCE.config.networkBagUsage, false);
}
}
}, error -> {
// NO OP
});
}
示例4: onCollideWithPlayer
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@Override
public void onCollideWithPlayer(EntityPlayer player)
{
if (!this.worldObj.isRemote)
{
NBTTagCompound nbt = new NBTTagCompound();
this.writeToNBT(nbt);
boolean inground = nbt.hasKey("inGround") && nbt.getByte("inGround") == 1;
if(inground)
{
boolean flag = this.canBePickedUp == 1 || (this.canBePickedUp == 2 && player.capabilities.isCreativeMode);
EntityItem ei = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(this.pickupItem, 1, 0));
if (this.canBePickedUp == 1)
{
EntityItemPickupEvent event = new EntityItemPickupEvent(player, ei);
if (MinecraftForge.EVENT_BUS.post(event))
return;
}
ItemStack itemstack = ei.getEntityItem();
if (itemstack.stackSize <= 0)
flag = true;
else if (this.canBePickedUp == 1 && !player.inventory.addItemStackToInventory(itemstack))
flag = false;
if (flag)
{
this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
player.onItemPickup(this, 1);
this.setDead();
}
}
}
}
示例5: onItemPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event){
EntityPlayer player = event.getEntityPlayer();
if(player==null)return;
ItemStack insc = DustRegistry.getWornInscription(player);
if(!insc.isEmpty() && DustRegistry.getInscriptionFromStack(insc)==this){
int damage = insc.getItemDamage();
int damageLeft = getMaxDurability()-damage;
if(damageLeft>0){
IVoidStorageCapability store = player.getCapability(VoidStorageCapability.VOID_STORAGE_CAPABILITY, null);
if(store!=null){
ItemStack stack = event.getItem().getItem();
ItemStack split = stack.splitStack(damageLeft);
store.addStackToVoid(split);
if(!player.capabilities.isCreativeMode)insc.setItemDamage(damage+split.getCount());
}
}
}
}
示例6: itemPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void itemPickup(EntityItemPickupEvent event){
EntityItem ent = event.getItem();
if(ent == null)return;
if(!ItemStackTools.isValid(ent.getEntityItem()))return;
EntityPlayer player = event.getEntityPlayer();
if(player !=null && player.isEntityAlive()){
ItemStack backpack = BackpackUtil.getBackpackOnBack(player);
if(ItemStackTools.isValid(backpack)){
IBackpack backpackType = BackpackUtil.getType(backpack);
if(backpackType !=null && backpackType.handleItemPickup(event, player, backpack)){
event.setCanceled(true);
}
}
}
}
示例7: onItemPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event) {
ItemStack stack = event.getItem().getItem();
for (int i = 0; i < event.getEntityPlayer().inventory.getSizeInventory(); i++) {
if (stack.isEmpty() || stack.getCount() == 0) {
break;
}
ItemStack stackInv = event.getEntityPlayer().inventory.getStackInSlot(i);
if (!stackInv.isEmpty() && stackInv.getItem() == ModItems.overflowNullifier) {
OverflowInventory inv = new OverflowInventory(stackInv);
stack = fillOverflowInventory(inv, stack);
inv.markDirty();
}
}
}
示例8: getXP
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public static void getXP(EntityItemPickupEvent event) {
EntityPlayer player = event.getEntityPlayer();
DriveStateCapability.IDriveState DRIVE = player.getCapability(ModCapabilities.DRIVE_STATE, null);
if(DRIVE.getActiveDriveName().equals(Strings.Form_Master)) {
if(event.getItem().getItem().getItem() == ModItems.DriveOrb) {
int amount = (event.getItem().getItem().getTagCompound().getInteger("amount")/5) > 0 ? event.getItem().getItem().getTagCompound().getInteger("amount")/5 : 1;
DRIVE.setDriveExp(DRIVE.getActiveDriveName(), DRIVE.getDriveExp(DRIVE.getActiveDriveName())+amount);
System.out.println(DRIVE.getDriveExp(DRIVE.getActiveDriveName())+(event.getItem().getItem().getTagCompound().getInteger("amount")/5));
int[] costs = DriveFormRegistry.get(DRIVE.getActiveDriveName()).getExpCosts();
int actualLevel = DRIVE.getDriveLevel(DRIVE.getActiveDriveName());
int actualExp = DRIVE.getDriveExp(DRIVE.getActiveDriveName());
if(costs.length == 7 && actualLevel < 7) {
if (actualExp >= costs[actualLevel]){
System.out.println("LEVEL UP");
DRIVE.setDriveLevel(DRIVE.getActiveDriveName(),actualLevel+1);
DRIVE.displayLevelUpMessage(player, DRIVE.getActiveDriveName());
}
}
PacketDispatcher.sendTo(new SyncDriveData(DRIVE), (EntityPlayerMP) player);
}
}
}
示例9: onPickUp
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onPickUp(EntityItemPickupEvent event){
for (int i =0; i!=event.entityPlayer.inventory.getSizeInventory(); i ++){
ItemStack swapper = event.entityPlayer.inventory.getStackInSlot(i);
if (swapper != null && swapper.getItem() == this){
ItemInventory inv = new ItemInventory(swapper, swapperSlots);
ItemStack swapperStack = inv.getStackInSlot(slotRightClick);
if (swapperStack != null){
if (swapperStack.isItemEqual(event.item.getEntityItem()) && ItemStack.areItemStackTagsEqual(swapperStack, event.item.getEntityItem())){
if (swapperStack.stackSize + event.item.getEntityItem().stackSize <= swapperStack.getMaxStackSize()){
swapperStack.stackSize += event.item.getEntityItem().stackSize;
event.item.getEntityItem().stackSize = 0;
} else {
int qtyToMove = swapperStack.getMaxStackSize() - swapperStack.stackSize;
swapperStack.stackSize += qtyToMove;
event.item.getEntityItem().stackSize -= qtyToMove;
}
inv.setInventorySlotContents(slotRightClick, swapperStack);
}
}
}
}
}
示例10: onPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onPickup(EntityItemPickupEvent event){
ItemStack item = event.item.getEntityItem();
if(item == null)
return;
if(isSoulbound(item)){
String fidelis = getFidelisID(item);
String id = getID(event.entityPlayer);
if(!fidelis.equals("") && !fidelis.equals(id))
{
event.setCanceled(true);
if(event.entityPlayer.ticksExisted % 40 == 0)
event.entityPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "This item is not yours. it belongs to " + getOwner(item)));
return;
}
}
}
示例11: onRingPickUp
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onRingPickUp(EntityItemPickupEvent event) {
if (!Loader.isModLoaded("Baubles")) {
ItemStack item = event.item.getEntityItem();
if (item != null && item.getItem() instanceof ItemMagicRing) {
NBTTagCompound tag = SimpleUtil.getRingTag(item);
if (tag != null) {
ISpell spell = SimpleUtil.getSpell(tag);
if (spell != null) {
IPlayerSession session = Rings.proxy.manaHandler.getPlayerSession(event.entityPlayer);
SpellCastedEvent spellEvent = new SpellCastedEvent(event.entityPlayer, spell, session);
if (MinecraftForge.EVENT_BUS.post(spellEvent))
return;
spell.onEquipped(item, event.entityPlayer, session);
if (FMLCommonHandler.instance().getEffectiveSide().isServer() && !event.entityPlayer.capabilities.isCreativeMode)
Rings.proxy.manaHandler.updatePlayerSession(session, event.entityPlayer.getEntityWorld().provider.dimensionId);
}
}
}
}
}
示例12: onEntityItemPickupEvent
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onEntityItemPickupEvent(EntityItemPickupEvent event)
{
if (ItemPickupManager.onEntityItemPickupEvent(event))
{
return;
}
if (ItemHandyBag.onEntityItemPickupEvent(event))
{
return;
}
if (ItemNullifier.onEntityItemPickupEvent(event))
{
return;
}
}
示例13: onPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onPickup(EntityItemPickupEvent event) {
EntityPlayer player = event.entityPlayer;
ItemStack item = event.item.getEntityItem();
for (int i = 0; i < 9; i++) {
ItemStack stack = player.inventory.getStackInSlot(i);
if ((stack != null) && (stack.getItem() instanceof ItemPouch)) {
InventoryPouch inv = InventoryPouch.getOrCreate(player, i);
ItemStack type = inv.getItem();
Entry entry = PouchAPI.getEntry(type);
if ((entry == null) || !entry.matches(item)) continue;
ItemStack result = InventoryUtils.insertStack(inv, item, false);
if (result != null) item.stackSize = result.stackSize;
else { item.stackSize = 0; return; }
}
}
}
示例14: onItemPickup
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event) {
ItemStack stack = event.item.getEntityItem();
EntityPlayer player = event.entityPlayer;
if (stack != null && stack.getItem() instanceof IHandlePickup) {
int size = stack.stackSize;
if (((IHandlePickup) stack.getItem()).onPickupItem(stack, player)) {
if (stack.stackSize < size) {
FMLCommonHandler.instance().firePlayerItemPickupEvent(player, event.item);
event.item.playSound(Sounds.POP, 0.2F, ((event.item.worldObj.rand.nextFloat()
- event.item.worldObj.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
player.onItemPickup(event.item, size - stack.stackSize);
}
if (stack.stackSize <= 0) {
event.item.setDead();
event.setCanceled(true);
}
} else {
event.setCanceled(true);
}
}
}
示例15: onItemPickupAttempt
import net.minecraftforge.event.entity.player.EntityItemPickupEvent; //導入依賴的package包/類
@SubscribeEvent
public void onItemPickupAttempt(EntityItemPickupEvent event){
if (event.entityPlayer.worldObj.isRemote)
return;
if (!ClaimsList.For(event.entity.worldObj).actionIsTrusted(event.entityPlayer, PermissionsMutex.PICKUP_ITEMS, event.item.posX, event.item.posY, event.item.posZ))
event.setCanceled(true);
else
GriefGuardian._dal.logAction(
(EntityPlayerMP)event.entityPlayer,
Actions.ITEM_PICKUP,
(int)Math.floor(event.entity.posX),
(int)Math.floor(event.entity.posY),
(int)Math.floor(event.entity.posZ),
event.item.getEntityItem(),
"");
}