资源图标

免费 ItemSpace 1.0.0

没有下载权限
支持核心
Paper
原创/转载
原创
作者
秋华
前置
必须:ArcartX 可选:PlayerPoints、Vault、NeigeItems
支持版本
1.20.1

ItemSpace

物品空间

一款简单的仓库插件。
改插件内容较为简单,但也够用。

功能列表​

  • 自动拾取
  • 无限堆叠、无限容量
  • neigeItem指令兼容
  • 支持任意界面访问仓库
  • 货币解锁容量

指令​

[]为必填 <>为可选
  • /ItemSpace reload [权限: itemspace.reload] 重新加载全部配置文件
  • /ItemSpace open [空间id] <玩家名字> [权限: itemspace.open.空间id] 打开一个指定物品空间
  • /ItemSpace unlock [空间id] <数量> <玩家名字> [权限: itemspace.unlock.空间id] 解锁指定空间指定数量的格子

配置文件​

YAML:
Debug: true
#是否在在其他插件的界面中注入物品空间功能
UiHacker: true
#每次发包时发送的物品数量 也可以理解成一页中显示的数量
DisplayItemAmount: 36
#物品额外显示的lore信息
AddLoreInfo:
  - "  "
  - "&2[!]&7当前数量 <Amount>"

#白名单世界 如果填了内容 那只有在这个世界内才能使用仓库的功能
WhitelistWorld:

#其他插件自动拾取适配
Hook:
  #ni物品库 兼容指令获取物品
  #ni give指令触发
  #ni givePack指令触发
  neigeItem: true



#数据库
Database:
  type: sqlite   #sqlite或者mysql   mysql才需要配置下面的部分
  dataBaseName: ItemSpace   #数据库名称
  username: root  #账户名称
  password: root  #密码
  port: 3306  #端口
  ip: 127.0.0.1  #ip
  autoSave: 15 #自动保存间隔 分钟
  loadDelay: 40 #加载延迟tick

Space为空间配置 文件名称则为空间id
YAML:
#自定义的信息传递 包头ItemSpacePacket  ax那边使用该节点名称即可获取 支持papi解析 解析对象为查看者
#这个包内置了
#sizeMax 空间最大容量
#unlockSize 空间已解锁容量
#size 已使用的容量
#isAutoPickup 是否开启了自动拾取
Packet:
  title: "示例仓库"
#自动拾取是否默认关闭
IsAutoPickup: false
#默认大小 -1则为无限大 如果设置0 那仓库默认将无法放入东西
DefaultSize: 10
#最大大小 -1则为无限大
SizeMax: 20
#放入条件
Condition:
  #条件类型 name 判断名称是否包含该字符串  lore判断lore内是否包含该字符串 nbt判断物品是否有该nbt
  type: name
  #条件内容 支持多行 不填就不检查条件
  value:
#购买大小的价值
SizePrice:
  #经济类型 vault和points
  type: vault
  #每个格子的价格
  value: 100

如何在其他界面访问仓库​

如果不想看这里可以直接下载该链接的文件 里面有完整例子 在背包界面内打开仓库
这里也不讲解原理 仅讲解数据包的结构和包名
图片中的配置也在这里面
通过网盘分享的文件:插件示例配置.zip
链接: https://pan.baidu.com/s/1ZDBTU8FEhgZjB-qs8qdY-A?pwd=856h 提取码: 856h

ui.packetHandler内有一个包
该包内置的数据
  • sizeMax 空间最大容量
  • unlockSize 空间已解锁容量
  • size 已使用的容量
  • isAutoPickup 是否开启了自动拾取
这个包如何触发
在任意位置使用该方法即可 Packet.send('itemspace', 'switchSpace', '空间名称')
这个是切换空间 也可以唤起空间 你能够在任何界面发送
当你发送了这个包后 服务端会往客户端发送ItemSpacePacket以及将空间的物品映射到指定槽位上
觉得不理解?就和原版的箱子界面一样 他会在指定的槽位生成物品
ItemSpace使用的槽位是ItemSpaceSlot_数字 数字从0开始 取决于你Config.DisplayItemAmount中配置的数量
默认情况是36 也就是ItemSpaceSlot_0-35
到这里 你就可以在界面上显示物品了

Packet.send('itemspace', 'giveItem', 槽位id, 数量)
这个包是在指定槽位上获取指定数量的物品 你可以这样使用
在slot组件中配置这个动作 可以使得你在点击他时获取上面的物品
YAML:
action:
  click: |-
    if(self.getSlotItemStack().getCount() != 0){
      Packet.send('itemspace', 'giveItem', self.id, 1)
    }

Packet.send('itemspace', 'autoPickup')
这个包是切换当前空间的自定拾取功能

Packet.send('itemspace', 'addItem')
这个包是添加当前光标上的物品到当前空间

内容展示​

1752054921527.webp

1752054941204.webp
作者
御明花月秋华
下载
4
查看
49
首次发布
最后更新

评分

0.00 星 0 星

分享此资源