本文整理汇总了Java中net.minecraft.item.ItemStack.hasTagCompound方法的典型用法代码示例。如果您正苦于以下问题:Java ItemStack.hasTagCompound方法的具体用法?Java ItemStack.hasTagCompound怎么用?Java ItemStack.hasTagCompound使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.item.ItemStack
的用法示例。
在下文中一共展示了ItemStack.hasTagCompound方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNameOfFaction
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
private String getNameOfFaction(ItemStack stack)
{
// We're storing the faction ID in the item after it has been signed by a leader
if (stack.hasTagCompound())
{
String id = stack.getTagCompound().getString("factionID");
if (id == null || id.isEmpty())
{
// ...eh?
return null;
}
else
{
// What're you called...
return TerritoryHandler.getNameOfFaction(UUID.fromString(id));
}
}
else
{
// Has no faction ID tag, so cannot be signed
return null;
}
}
示例2: getRemainingItems
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
public ItemStack[] getRemainingItems(InventoryCrafting inv)
{
ItemStack[] aitemstack = new ItemStack[inv.getSizeInventory()];
for (int i = 0; i < aitemstack.length; ++i)
{
ItemStack itemstack = inv.getStackInSlot(i);
if (itemstack != null)
{
if (itemstack.getItem().hasContainerItem())
{
aitemstack[i] = new ItemStack(itemstack.getItem().getContainerItem());
}
else if (itemstack.hasTagCompound() && TileEntityBanner.getPatterns(itemstack) > 0)
{
aitemstack[i] = itemstack.copy();
aitemstack[i].stackSize = 1;
}
}
}
return aitemstack;
}
示例3: isChunkLoaded
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
public Optional<Boolean> isChunkLoaded(ItemStack stack) {
if (!stack.hasTagCompound()) return UNATTUNED;
NBTTagCompound tag = stack.getTagCompound();
if (tag.hasKey("world")) {
int worldId = tag.getInteger("world");
if (!DimensionManager.isDimensionRegistered(worldId)) return UNATTUNED;
//We're reasonably certain at this point the unloader is attuned to a valid world.
WorldServer world = DimensionManager.getWorld(worldId);
if (world==null) return UNLOADED;
//boolean playerLoad = world.getPlayerChunkMap().contains(tag.getInteger("x"), tag.getInteger("z"));
//System.out.println("chunk["+tag.getInteger("x")+","+tag.getInteger("z")+"] isPlayerLoaded:"+playerLoad);
Chunk chunk = world.getChunkProvider().getLoadedChunk(tag.getInteger("x"), tag.getInteger("z"));
return (chunk!=null) ? LOADED : UNLOADED;
//Chunk chunk = world.getChunkFromChunkCoords(tag.getInteger("x"),tag.getInteger("z"));
//return (chunk.isLoaded()) ? LOADED : UNLOADED;
}
return UNATTUNED;
}
示例4: setFactionID
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
private void setFactionID(ItemStack stack, UUID id)
{
if (stack == null) { return; }
if (id == null) { return; }
if (!stack.hasTagCompound())
{
stack.setTagCompound(new NBTTagCompound()); // Init
}
stack.getTagCompound().setString("factionID", id.toString()); // Done
}
示例5: setEnchantments
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
/**
* Set the enchantments for the specified stack.
*/
public static void setEnchantments(Map<Integer, Integer> enchMap, ItemStack stack)
{
NBTTagList nbttaglist = new NBTTagList();
Iterator iterator = enchMap.keySet().iterator();
while (iterator.hasNext())
{
int i = ((Integer)iterator.next()).intValue();
Enchantment enchantment = Enchantment.getEnchantmentById(i);
if (enchantment != null)
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
nbttagcompound.setShort("id", (short)i);
nbttagcompound.setShort("lvl", (short)((Integer)enchMap.get(Integer.valueOf(i))).intValue());
nbttaglist.appendTag(nbttagcompound);
if (stack.getItem() == Items.enchanted_book)
{
Items.enchanted_book.addEnchantment(stack, new EnchantmentData(enchantment, ((Integer)enchMap.get(Integer.valueOf(i))).intValue()));
}
}
}
if (nbttaglist.tagCount() > 0)
{
if (stack.getItem() != Items.enchanted_book)
{
stack.setTagInfo("ench", nbttaglist);
}
}
else if (stack.hasTagCompound())
{
stack.getTagCompound().removeTag("ench");
}
}
示例6: livingUpdate
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
@SubscribeEvent
public void livingUpdate(LivingUpdateEvent event) {
EntityLivingBase living = event.getEntityLiving();
if(living.hasCapability(RIG.RIG_ITEM, null)) {
ItemStack rig = living.getCapability(RIG.RIG_ITEM, null).getStackInSlot(0);
if(rig.hasTagCompound() && living.isInWater()) {
int extraair = 100 + RIGUpgrade.upgradesMap.get("Air").getAttributeValue(rig) * 100;
if (living.getRNG().nextInt(300+extraair)>=300) {
living.setAir(living.getAir()+1);
}
}
}
}
示例7: verifySellingItem
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
@Override
public void verifySellingItem(ItemStack stack) {
// TODO Auto-generated method stub
if(!stack.isEmpty() && stack.hasTagCompound())
stack.getTagCompound().setBoolean("Bought", true);
/*if (this.trader != null && !stack.isEmpty() &&stack.getItem() instanceof ItemWeapon)
this.trader.addStat(TF2Achievements.MANN_CO_MADE);*/
}
示例8: isCurrentlyZoomed
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
boolean isCurrentlyZoomed(ItemStack stack)
{
if (stack == null) { return false; } // Not a valid item
if (!stack.hasTagCompound()) { return false; } // No tag
return stack.stackTagCompound.getBoolean("isZoomed");
}
示例9: getLastUsed
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
public static long getLastUsed(ItemStack stack) {
if(!stack.hasTagCompound())
return 0;
NBTTagCompound tag = stack.getTagCompound();
if(!tag.hasKey("LastUsed"))
return 0;
return tag.getLong("LastUsed");
}
示例10: getItemStackDisplayName
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
public String getItemStackDisplayName(ItemStack stack)
{
if(!stack.hasTagCompound())
return super.getItemStackDisplayName(stack);
if(!stack.getTagCompound().getCompoundTag("Statue").getBoolean("Player"))
return I18n.translateToLocal("entity." + EntityList.getTranslationName
(new ResourceLocation(stack.getTagCompound().getCompoundTag("Statue").getCompoundTag("Entity").getString("id")))+".name")+" "+
I18n.translateToLocal(this.getUnlocalizedName() + ".name");
else
return I18n.translateToLocal(this.getUnlocalizedName() + ".player.name");
}
示例11: spawnItemStack
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
private static void spawnItemStack(World worldIn, double x, double y, double z, ItemStack stack)
{
float f = RANDOM.nextFloat() * 0.8F + 0.1F;
float f1 = RANDOM.nextFloat() * 0.8F + 0.1F;
float f2 = RANDOM.nextFloat() * 0.8F + 0.1F;
while (stack.stackSize > 0)
{
int i = RANDOM.nextInt(21) + 10;
if (i > stack.stackSize)
{
i = stack.stackSize;
}
stack.stackSize -= i;
EntityItem entityitem = new EntityItem(worldIn, x + (double)f, y + (double)f1, z + (double)f2, new ItemStack(stack.getItem(), i, stack.getMetadata()));
if (stack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)stack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = RANDOM.nextGaussian() * (double)f3;
entityitem.motionY = RANDOM.nextGaussian() * (double)f3 + 0.20000000298023224D;
entityitem.motionZ = RANDOM.nextGaussian() * (double)f3;
worldIn.spawnEntityInWorld(entityitem);
}
}
示例12: itemInteractionForEntity
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
@Override
public boolean itemInteractionForEntity(ItemStack item, EntityPlayer player, EntityLivingBase entity) {
if (entity.worldObj.isRemote) {
return false;
}
if (entity instanceof IMob) {
if (item.hasTagCompound())
return false;
item.setTagCompound(new NBTTagCompound());
NBTTagCompound mainTag = new NBTTagCompound();
NBTTagCompound entityTag = new NBTTagCompound();
entity.writeToNBT(entityTag);
mainTag.setFloat("health",entity.getHealth());
mainTag.setTag("data", entityTag);
mainTag.setString("id", EntityList.getEntityString(entity));
if (entity instanceof EntitySlime) {
mainTag.setInteger("slimesize", ((EntitySlime) entity).getSlimeSize());
}
if(entity instanceof EntityZombie){
mainTag.setBoolean("isBabyZombie",entity.isChild());
}
item.getTagCompound().setTag("entity",mainTag);
player.setCurrentItemOrArmor(0, item);
entity.setDead();
return true;
}
return super.itemInteractionForEntity(item, player, entity);
}
示例13: getRarity
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
@Override
public EnumRarity getRarity(ItemStack stack)
{
if (stack.hasTagCompound() && stack.getTagCompound().getBoolean("hasEmeraldMuzzle")) { return EnumRarity.rare; }
return EnumRarity.common; // Default
}
示例14: setCurrentZoom
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
void setCurrentZoom(ItemStack stack, boolean zoom)
{
if (stack == null) { return; } // Not a valid item
if (!stack.hasTagCompound()) { return; } // No tag
stack.stackTagCompound.setBoolean("isZoomed", zoom);
}
示例15: getDurabilityForDisplay
import net.minecraft.item.ItemStack; //导入方法依赖的package包/类
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
if (stack.hasTagCompound())
{
return stack.getTagCompound().getFloat("displayDurability");
}
// else, no info yet about any territories
return 1.0f; // Displaying 1.0 as "full damage", meaning an empty bar.
}