本文整理了Java中net.minecraft.item.ItemStack.getEnchantmentTagList()
方法的一些代码示例,展示了ItemStack.getEnchantmentTagList()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.getEnchantmentTagList()
方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称:ItemStack
方法名:getEnchantmentTagList
暂无
代码示例来源:origin: vadis365/TheErebus
public static final LinkedHashMap<Short, Short> getEnchantments(ItemStack stack) {
LinkedHashMap<Short, Short> map = new LinkedHashMap<Short, Short>();
NBTTagList list = stack.getItem() == Items.ENCHANTED_BOOK ? stack.getEnchantmentTagList() : stack.getEnchantmentTagList(); //will come back to this
if (list != null)
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound tag = list.getCompoundTagAt(i);
map.put(tag.getShort("id"), tag.getShort("lvl"));
}
return map;
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
@Override
@Nonnull
protected ICapacitorData getDataFromStack(@Nonnull ItemStack stack) {
NBTTagList enchantments = stack.getEnchantmentTagList();
for (int i = 0; i < enchantments.tagCount(); i++) {
NBTTagCompound ench = enchantments.getCompoundTagAt(i);
if (ench.hasKey("id") && ench.getInteger("id") == ENCHANT_ID_EFFICIENCY) {
return CapacitorHelper.increaseCapacitorLevel(EndergyCapacitorData.TOTEMIC_CAPACITOR, ench.getInteger("lvl") / 2);
}
}
return getData();
}
代码示例来源:origin: Ellpeck/ActuallyAdditions
public static boolean hasEnchantment(ItemStack stack, Enchantment e){
NBTTagList ench = stack.getEnchantmentTagList();
if(ench != null){
for(int i = 0; i < ench.tagCount(); i++){
short id = ench.getCompoundTagAt(i).getShort("id");
if(id == Enchantment.getEnchantmentID(e)){
return true;
}
}
}
return false;
}
代码示例来源:origin: SquidDev-CC/plethora
@Override
public boolean apply(@Nullable ItemStack target) {
if (target == null || target.isEmpty()) return false;
NBTTagList enchantments = target.getItem() == Items.ENCHANTED_BOOK ? ItemEnchantedBook.getEnchantments(target) : target.getEnchantmentTagList();
for (int i = 0; i < enchantments.tagCount(); ++i) {
NBTTagCompound tag = enchantments.getCompoundTagAt(i);
Enchantment itemEnchant = Enchantment.getEnchantmentByID(tag.getShort("id"));
if (itemEnchant == enchantment) return (int) tag.getShort("lvl") >= minLevel;
}
return false;
}
代码示例来源:origin: CoFH/CoFHCore
@Override
public ITextComponent[] getData(ItemStack stack) {
NBTTagList nbttaglist = stack.getEnchantmentTagList();
LinkedList<ITextComponent> ret = new LinkedList<>();
ret.add(null);
if (nbttaglist != null && nbttaglist.tagCount() > 0) {
int i = 0;
for (; i < nbttaglist.tagCount(); ++i) {
short short1 = nbttaglist.getCompoundTagAt(i).getShort("id");
short short2 = nbttaglist.getCompoundTagAt(i).getShort("lvl");
if (Enchantment.getEnchantmentByID(short1) != null) {
ret.add(new TextComponentString(StringHelper.TEAL + " " + I18n.translateToLocal(Enchantment.getEnchantmentByID(short1).getName()) + " " + StringHelper.toNumerals(short2)));
} else {
ret.add(new TextComponentString(StringHelper.RED + " " + String.format("Invalid{id=%s,lvl=%s}", short1, short2)));
}
}
} else {
ret.set(0, new TextComponentString("none"));
}
return ret.toArray(new ITextComponent[ret.size()]);
}
}, NBT("tag", "stackTag", "compoundTag") {
代码示例来源:origin: Ellpeck/ActuallyAdditions
public static void removeEnchantment(ItemStack stack, Enchantment e){
NBTTagList ench = stack.getEnchantmentTagList();
if(ench != null){
for(int i = 0; i < ench.tagCount(); i++){
short id = ench.getCompoundTagAt(i).getShort("id");
if(id == Enchantment.getEnchantmentID(e)){
ench.removeTag(i);
}
}
if(ench.isEmpty() && stack.hasTagCompound()){
stack.getTagCompound().removeTag("ench");
}
}
}
代码示例来源:origin: jabelar/ExampleMod-1.12
/**
* On event.
*
* @param event the event
*/
@SubscribeEvent(priority = EventPriority.NORMAL, receiveCanceled = true)
public static void onEvent(LivingFallEvent event)
{
if (event.getEntityLiving() instanceof EntityPlayer)
{
for (ItemStack stack : event.getEntityLiving().getArmorInventoryList())
{
NBTTagList tagList = stack.getEnchantmentTagList();
for (int i = 0; i < tagList.tagCount(); i++)
{
NBTTagCompound idTag = tagList.getCompoundTagAt(i);
if (idTag.getShort("id") == Enchantment.getEnchantmentID(ModEnchantments.safe_falling))
{
// // DEBUG
// System.out.println("Boots of safe falling cushioned fall");
event.setDistance(0);
event.setDamageMultiplier(0);
}
}
}
}
}
内容来源于网络,如有侵权,请联系作者删除!