Go:物品与容器¶
函数¶
ContainerItems¶
| Go | |
|---|---|
列出一个容器里有东西的格子。只能在服务器线程调用。
- 参数:
- ref :
ContainerRef
- ref :
- 返回值类型:
([]SlotItem, error) - 对应槽位:
container_get_items
ItemOf¶
| Go | |
|---|---|
这段 SNBT 描述的物品堆。
- 参数:
- snbt :
string
- snbt :
- 返回值类型:
Item
Item¶
以 SNBT 表示的物品堆,是一个值:读取它,就是拿这段 SNBT 去问宿主;修改它会得到一个新的 Item。
Item.Payload¶
| Go | |
|---|---|
解析后的物品 SNBT。
- 返回值类型:
(*Nbt, error)
Item.Enchants¶
| Go | |
|---|---|
以 SNBT 列出这个物品的附魔。
- 返回值类型:
(string, error) - 对应槽位:
item_get_enchants
Item.Matches¶
| Go | |
|---|---|
判断两个物品能否堆叠:同一种物品,数据值和用户数据都相同。
- 参数:
- other :
Item
- other :
- 返回值类型:
(bool, error) - 对应槽位:
item_matches
Item.Transform¶
| Go | |
|---|---|
执行 abi.h 里的某一个 PIER_IOP_* 操作,返回新的物品。
- 参数:
- op :
int32 - sarg :
string - narg :
float64
- op :
- 返回值类型:
(Item, error) - 对应槽位:
item_transform
Item.Count¶
| Go | |
|---|---|
读取 PIER_IPROP_COUNT:取自 ItemStackBase::mCount
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.MaxStackSize¶
| Go | |
|---|---|
读取 PIER_IPROP_MAX_STACK_SIZE:取自 ItemStackBase::getMaxStackSize
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.AuxValue¶
| Go | |
|---|---|
读取 PIER_IPROP_AUX_VALUE:取自 ItemStackBase::getAuxValue
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.Id¶
| Go | |
|---|---|
读取 PIER_IPROP_ID:取自 ItemStackBase::getId
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.Damage¶
| Go | |
|---|---|
读取 PIER_IPROP_DAMAGE:取自 ItemStackBase::getDamageValue
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.IsNull¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_NULL:取自 ItemStackBase::isNull
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsBlock¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_BLOCK:取自 ItemStackBase::isBlock
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsEnchanted¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_ENCHANTED:取自 ItemStackBase::isEnchanted
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsArmor¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_ARMOR:取自 ItemStackBase::isArmorItem
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsDamageable¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_DAMAGEABLE:取自 ItemStackBase::isDamageableItem
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsDamaged¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_DAMAGED:取自 ItemStackBase::isDamaged
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.MaxDamage¶
| Go | |
|---|---|
读取 PIER_IPROP_MAX_DAMAGE:取自 ItemStackBase::getMaxDamage
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.IsUnbreakable¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_UNBREAKABLE:取自 ItemStackBase::isUnbreakable
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.HasDurability¶
| Go | |
|---|---|
读取 PIER_IPROP_HAS_DURABILITY:取自 ItemStackBase::hasDurability
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsPotion¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_POTION:取自 ItemStackBase::isPotionItem
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsThrowable¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_THROWABLE:取自 ItemStackBase::isThrowable
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsFireResistant¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_FIRE_RESISTANT:取自 ItemStackBase::isFireResistant
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.AttackDamage¶
| Go | |
|---|---|
读取 PIER_IPROP_ATTACK_DAMAGE:取自 ItemStackBase::getAttackDamage
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.RepairCost¶
| Go | |
|---|---|
读取 PIER_IPROP_REPAIR_COST:取自 ItemStackBase::getBaseRepairCost
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.EnchantValue¶
| Go | |
|---|---|
读取 PIER_IPROP_ENCHANT_VALUE:取自 ItemStackBase::getEnchantValue
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.IsStackable¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_STACKABLE:取自 ItemStackBase::isStackable
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsMusicDisc¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_MUSIC_DISC:取自 ItemStackBase::isMusicDiscItem
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsOffhand¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_OFFHAND:取自 ItemStackBase::isOffhandItem
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.UseDuration¶
| Go | |
|---|---|
读取 PIER_IPROP_USE_DURATION:取自 ItemStackBase::getMaxUseDuration
- 返回值类型:
(float64, error) - 对应槽位:
item_get_num
Item.IsGlint¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_GLINT:取自 ItemStackBase::isGlint
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.IsBundle¶
| Go | |
|---|---|
读取 PIER_IPROP_IS_BUNDLE:取自 ItemStackBase::isBundle
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.HasUserData¶
| Go | |
|---|---|
读取 PIER_IPROP_HAS_USER_DATA:取自 ItemStackBase::hasUserData
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.HasCustomName¶
| Go | |
|---|---|
读取 PIER_IPROP_HAS_CUSTOM_NAME:取自 ItemStackBase::hasCustomHoverName
- 返回值类型:
(bool, error) - 对应槽位:
item_get_num
Item.TypeName¶
| Go | |
|---|---|
读取 PIER_ISTR_TYPE_NAME:取自 ItemStackBase::getTypeName(形如 "minecraft:apple")
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.Name¶
| Go | |
|---|---|
读取 PIER_ISTR_NAME:取自 ItemStackBase::getName(显示名)
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.CustomName¶
| Go | |
|---|---|
读取 PIER_ISTR_CUSTOM_NAME:取自 ItemStackBase::getCustomName
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.RawNameId¶
| Go | |
|---|---|
读取 PIER_ISTR_RAW_NAME_ID:取自 ItemStackBase::getRawNameId
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.Lore¶
| Go | |
|---|---|
读取 PIER_ISTR_LORE:SNBT 列表 ["l1","l2"],取自 ItemStackBase::getCustomLore
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.CanDestroy¶
| Go | |
|---|---|
读取 PIER_ISTR_CAN_DESTROY:SNBT 列表 ["minecraft:stone",…]
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.CanPlaceOn¶
| Go | |
|---|---|
读取 PIER_ISTR_CAN_PLACE_ON:SNBT 列表
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.UserData¶
| Go | |
|---|---|
读取 PIER_ISTR_USER_DATA:完整的 NBT 用户数据,以 SNBT 表示
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.HoverName¶
| Go | |
|---|---|
读取 PIER_ISTR_HOVER_NAME:取自 ItemStackBase::getHoverName
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.EffectName¶
| Go | |
|---|---|
读取 PIER_ISTR_EFFECT_NAME:取自 ItemStackBase::getEffectName
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Item.Color¶
| Go | |
|---|---|
读取 PIER_ISTR_COLOR:SNBT {r,g,b},取自 ItemStackBase::getColor
- 返回值类型:
(string, error) - 对应槽位:
item_get_str
Container¶
一名玩家或一个方块的容器。
Container.Size¶
| Go | |
|---|---|
格子的数量。
- 返回值类型:
(int32, error) - 对应槽位:
container_size
Container.Item¶
| Go | |
|---|---|
某一格里的物品。
- 参数:
- slot :
int32
- slot :
- 返回值类型:
(Item, error) - 对应槽位:
container_get_item
Container.SetItem¶
| Go | |
|---|---|
把一个物品放进某一格。
- 参数:
- slot :
int32 - item :
Item
- slot :
- 返回值类型:
error - 对应槽位:
container_set_item
Container.AddItem¶
| Go | |
|---|---|
把一个物品放进放得下的地方。
- 参数:
- item :
Item
- item :
- 返回值类型:
error - 对应槽位:
container_add_item
Container.RemoveItem¶
| Go | |
|---|---|
从某一格移除 count 个物品。
- 参数:
- slot :
int32 - count :
int32
- slot :
- 返回值类型:
error - 对应槽位:
container_remove_item
Container.Clear¶
| Go | |
|---|---|
清空这个容器。
- 返回值类型:
error - 对应槽位:
container_clear
Container.Items¶
| Go | |
|---|---|
列出有东西的格子。
- 返回值类型:
([]SlotItem, error) - 对应槽位:
container_get_items
SlotItem¶
容器里一个有东西的格子,以及以 SNBT 表示的物品。
ContainerRef¶
指定一个容器:玩家的物品栏、末影箱、盔甲栏或副手,或者一个方块的容器。
IProp*¶
| 名称 | 值 | 说明 |
|---|---|---|
IPropCount |
0 |
即 PIER_IPROP_COUNT:取自 ItemStackBase::mCount |
IPropMaxStackSize |
1 |
即 PIER_IPROP_MAX_STACK_SIZE:取自 ItemStackBase::getMaxStackSize |
IPropAuxValue |
2 |
即 PIER_IPROP_AUX_VALUE:取自 ItemStackBase::getAuxValue |
IPropId |
3 |
即 PIER_IPROP_ID:取自 ItemStackBase::getId |
IPropDamage |
4 |
即 PIER_IPROP_DAMAGE:取自 ItemStackBase::getDamageValue |
IPropIsNull |
5 |
即 PIER_IPROP_IS_NULL:取自 ItemStackBase::isNull |
IPropIsBlock |
6 |
即 PIER_IPROP_IS_BLOCK:取自 ItemStackBase::isBlock |
IPropIsEnchanted |
7 |
即 PIER_IPROP_IS_ENCHANTED:取自 ItemStackBase::isEnchanted |
IPropIsArmor |
8 |
即 PIER_IPROP_IS_ARMOR:取自 ItemStackBase::isArmorItem |
IPropIsDamageable |
9 |
即 PIER_IPROP_IS_DAMAGEABLE:取自 ItemStackBase::isDamageableItem |
IPropIsDamaged |
10 |
即 PIER_IPROP_IS_DAMAGED:取自 ItemStackBase::isDamaged |
IPropMaxDamage |
11 |
即 PIER_IPROP_MAX_DAMAGE:取自 ItemStackBase::getMaxDamage |
IPropIsUnbreakable |
12 |
即 PIER_IPROP_IS_UNBREAKABLE:取自 ItemStackBase::isUnbreakable |
IPropHasDurability |
13 |
即 PIER_IPROP_HAS_DURABILITY:取自 ItemStackBase::hasDurability |
IPropIsPotion |
14 |
即 PIER_IPROP_IS_POTION:取自 ItemStackBase::isPotionItem |
IPropIsThrowable |
15 |
即 PIER_IPROP_IS_THROWABLE:取自 ItemStackBase::isThrowable |
IPropIsFireResistant |
16 |
即 PIER_IPROP_IS_FIRE_RESISTANT:取自 ItemStackBase::isFireResistant |
IPropAttackDamage |
17 |
即 PIER_IPROP_ATTACK_DAMAGE:取自 ItemStackBase::getAttackDamage |
IPropRepairCost |
18 |
即 PIER_IPROP_REPAIR_COST:取自 ItemStackBase::getBaseRepairCost |
IPropEnchantValue |
19 |
即 PIER_IPROP_ENCHANT_VALUE:取自 ItemStackBase::getEnchantValue |
IPropIsStackable |
20 |
即 PIER_IPROP_IS_STACKABLE:取自 ItemStackBase::isStackable |
IPropIsMusicDisc |
21 |
即 PIER_IPROP_IS_MUSIC_DISC:取自 ItemStackBase::isMusicDiscItem |
IPropIsOffhand |
22 |
即 PIER_IPROP_IS_OFFHAND:取自 ItemStackBase::isOffhandItem |
IPropUseDuration |
23 |
即 PIER_IPROP_USE_DURATION:取自 ItemStackBase::getMaxUseDuration |
IPropIsGlint |
24 |
即 PIER_IPROP_IS_GLINT:取自 ItemStackBase::isGlint |
IPropIsBundle |
25 |
即 PIER_IPROP_IS_BUNDLE:取自 ItemStackBase::isBundle |
IPropHasUserData |
26 |
即 PIER_IPROP_HAS_USER_DATA:取自 ItemStackBase::hasUserData |
IPropHasCustomName |
27 |
即 PIER_IPROP_HAS_CUSTOM_NAME:取自 ItemStackBase::hasCustomHoverName |
IStr*¶
| 名称 | 值 | 说明 |
|---|---|---|
IStrTypeName |
0 |
即 PIER_ISTR_TYPE_NAME:取自 ItemStackBase::getTypeName(形如 "minecraft:apple") |
IStrName |
1 |
即 PIER_ISTR_NAME:取自 ItemStackBase::getName(显示名) |
IStrCustomName |
2 |
即 PIER_ISTR_CUSTOM_NAME:取自 ItemStackBase::getCustomName |
IStrRawNameId |
3 |
即 PIER_ISTR_RAW_NAME_ID:取自 ItemStackBase::getRawNameId |
IStrLore |
4 |
即 PIER_ISTR_LORE:SNBT 列表 ["l1","l2"],取自 ItemStackBase::getCustomLore |
IStrCanDestroy |
5 |
即 PIER_ISTR_CAN_DESTROY:SNBT 列表 ["minecraft:stone",…] |
IStrCanPlaceOn |
6 |
即 PIER_ISTR_CAN_PLACE_ON:SNBT 列表 |
IStrUserData |
7 |
即 PIER_ISTR_USER_DATA:完整的 NBT 用户数据,以 SNBT 表示 |
IStrHoverName |
8 |
即 PIER_ISTR_HOVER_NAME:取自 ItemStackBase::getHoverName |
IStrEffectName |
9 |
即 PIER_ISTR_EFFECT_NAME:取自 ItemStackBase::getEffectName |
IStrColor |
10 |
即 PIER_ISTR_COLOR:SNBT {r,g,b},取自 ItemStackBase::getColor |
Container*¶
ContainerRef.Which 的取值。
| 名称 | 值 | 说明 |
|---|---|---|
ContainerInventory |
0 |
|
ContainerEnderChest |
1 |
|
ContainerArmor |
2 |
|
ContainerOffhand |
3 |
|
ContainerBlock |
4 |