本帖最后由 大大的咸鱼 于 2021-1-7 21:34 编辑
· 前言
这是自己整的第三个插件了,不过这回 8 是 A1 人指定的了 (A1 已经自己开写了)。这个插件是我和朋友玩的服务器要使的,为了解决 Flan 自带的制造箱不好用的问题。基本功能就是购买物品 (用指定的物品交换指定的物品)。一如既往我不保证这个插件能在 1710 以外的版本跑,因为我只测过 1710。
· 正文
章节1:对象的嵌套关系
基本对象是 item,item 可以指定绑定的 id 或者物品堆 (带 nbt 数据的 itemstack) 以及 damage。高一级的对象是 product 和 cost。product 可以指定多个对应的 item 和 discreption (描述);cost 可以指定多个 item 作为 consume (消耗) 和多个 item 作为 need(媒介)。再上一级的对象为 sale,一个 sale 可以指定一个 product 和一个 cost 进行对应。再上一级为 sale group (可以理解为 sale 的组),每个 sale group 可以添加多个 sale。最高级的对象为 shop,每个 shop 可以添加多个 sale group。
章节2:做为玩家进行购买
输入 /os shop名 打开指定 shop,GUI 为大箱子的界面,一般一个 sale 占一竖行 (cost 较多一竖行装不下的可能占多行),最顶上的为 product (商品),下方隔一格为 consume (购买时会消耗的物品),再隔一格为 need (如果这个 sale 有 need 的话,购买时需要但不消耗)。左键单击 product 购买 1 个,右键购买 4 个,shift 右键购买 16 个,shift 左键购买 64 个。最右边一竖列的第一和第二个槽位用于切换到上一页或者下一页 (如果没有指定这两个槽位应该放什么东西的话里面什么都不会有,但单击对应位置仍然会有效果),理论上同一 sale group 的东西会尽量显示到同一页中,一页放不下才会有下一页,而不同的 sale group 的内容一定会分页显示 (比如一个 shop 里有两个 sale group,每个 sale group 中都只有一个物品,它们仍然会被放在两页中显示)。
章节3:指令集
这个插件一如既往为每个对象都建立的较为完整的指令系,因而整个指令集是较为庞大的。不过如果你理解了上面对于各个对象的描述的话整体而言应该是不难操作的,控制台或者游戏内使用指令 ie help 就能看到完整的指令集了。这里只挑一些重点进行讲解。
- 指令及参数都支持 tab 补全
- 基本所有指令都有简写版本,比如 /ie product new 指令可以简写为 /ie p n,同时也支持交叉简写,比如 /ie p new,所有简写都能在 help 的列表中看到
- 新建 item 对象时如果省略指定物品 id 的部分就会默认 copy 手中持有的 itemstack 作为绑定的物品对象,这种形式是会保存物品的 nbt 信息的。如果不是有必须保存物品 nbt 信息的需求我都建议使用 id 的形式进行保存,因为这样需要保存的信息更少。一个例子:/ie item new test 57 0 会新建一个叫 test 的 item,关联物品为钻石块;手里拿着钻石块输入 /ie item new test 0 也会新建一个关联内容内容为钻石块,名字为 test 的 item,只不过这种方式会储存 nbt 信息
- 如果你不知道一个物品的 id,你可以把它拿在手上然后使用 /ie getstate 指令获取它的 id 和 material 信息 (其实新建 item 的时候也可以用 material,但是 material 比较长不好记所以一般还是用 id)
- 新建和设置 cost 的时候要用减号来分隔 consume 和 need。比如 /ie cost new test_cost wood coal - sword iron 会新建一个名为 test_cost 的 cost,consume 为名为 wood 和 coal 的 item,need 为名为 sword 和 iron 的 item
- shop 中显示 sale 的时候商品图标虽然是 product 指定的 item 所关联的物品,但它的名字会是 product 的名字,而 product 的 discreption 会被添加到它的 lore
- 在设置一些东西时部分不需要设置的参数可以填 -;比如只打算设置一个 id item 的 damage 的话可以这么使用指令 /ie item set test_item - 3
章节4:一个实例
- 待更
章节5:下载地址及更新日志
下载链接 > https://pan.baidu.com/s/1boGIg6The6rOBWkMx1Cl8g 提取码:re6z
更新日志
· 后记
其实这个插件不算是新手友好向的 (本身也没有考虑那些,单纯就是为了自己的需求写的),如果你有一定的 java 基础的话反而上手应该会更容易 (因为有对象的概念,这些东西也如同对基础类的封装)。
· 题外话
如果各位有兴致的话不如再支持下我的其它作品:
ArmorFix[护甲修复插件] > https://www.mcbbs.net/thread-1129471-1-1.html
LuckyBox[抽奖箱插件] > https://www.mcbbs.net/thread-1130637-1-1.html
EXPExchange[经验兑换] > https://www.mcbbs.net/thread-1144506-1-1.html
Octangle Weapons[Flan 枪械扩展包] > https://www.mcbbs.net/thread-1104500-1-1.html
· 前言
这是自己整的第三个插件了,不过这回 8 是 A1 人指定的了 (A1 已经自己开写了)。这个插件是我和朋友玩的服务器要使的,为了解决 Flan 自带的制造箱不好用的问题。基本功能就是购买物品 (用指定的物品交换指定的物品)。一如既往我不保证这个插件能在 1710 以外的版本跑,因为我只测过 1710。
· 正文
章节1:对象的嵌套关系
基本对象是 item,item 可以指定绑定的 id 或者物品堆 (带 nbt 数据的 itemstack) 以及 damage。高一级的对象是 product 和 cost。product 可以指定多个对应的 item 和 discreption (描述);cost 可以指定多个 item 作为 consume (消耗) 和多个 item 作为 need(媒介)。再上一级的对象为 sale,一个 sale 可以指定一个 product 和一个 cost 进行对应。再上一级为 sale group (可以理解为 sale 的组),每个 sale group 可以添加多个 sale。最高级的对象为 shop,每个 shop 可以添加多个 sale group。
章节2:做为玩家进行购买
输入 /os shop名 打开指定 shop,GUI 为大箱子的界面,一般一个 sale 占一竖行 (cost 较多一竖行装不下的可能占多行),最顶上的为 product (商品),下方隔一格为 consume (购买时会消耗的物品),再隔一格为 need (如果这个 sale 有 need 的话,购买时需要但不消耗)。左键单击 product 购买 1 个,右键购买 4 个,shift 右键购买 16 个,shift 左键购买 64 个。最右边一竖列的第一和第二个槽位用于切换到上一页或者下一页 (如果没有指定这两个槽位应该放什么东西的话里面什么都不会有,但单击对应位置仍然会有效果),理论上同一 sale group 的东西会尽量显示到同一页中,一页放不下才会有下一页,而不同的 sale group 的内容一定会分页显示 (比如一个 shop 里有两个 sale group,每个 sale group 中都只有一个物品,它们仍然会被放在两页中显示)。
章节3:指令集
这个插件一如既往为每个对象都建立的较为完整的指令系,因而整个指令集是较为庞大的。不过如果你理解了上面对于各个对象的描述的话整体而言应该是不难操作的,控制台或者游戏内使用指令 ie help 就能看到完整的指令集了。这里只挑一些重点进行讲解。
- 指令及参数都支持 tab 补全
- 基本所有指令都有简写版本,比如 /ie product new 指令可以简写为 /ie p n,同时也支持交叉简写,比如 /ie p new,所有简写都能在 help 的列表中看到
- 新建 item 对象时如果省略指定物品 id 的部分就会默认 copy 手中持有的 itemstack 作为绑定的物品对象,这种形式是会保存物品的 nbt 信息的。如果不是有必须保存物品 nbt 信息的需求我都建议使用 id 的形式进行保存,因为这样需要保存的信息更少。一个例子:/ie item new test 57 0 会新建一个叫 test 的 item,关联物品为钻石块;手里拿着钻石块输入 /ie item new test 0 也会新建一个关联内容内容为钻石块,名字为 test 的 item,只不过这种方式会储存 nbt 信息
- 如果你不知道一个物品的 id,你可以把它拿在手上然后使用 /ie getstate 指令获取它的 id 和 material 信息 (其实新建 item 的时候也可以用 material,但是 material 比较长不好记所以一般还是用 id)
- 新建和设置 cost 的时候要用减号来分隔 consume 和 need。比如 /ie cost new test_cost wood coal - sword iron 会新建一个名为 test_cost 的 cost,consume 为名为 wood 和 coal 的 item,need 为名为 sword 和 iron 的 item
- shop 中显示 sale 的时候商品图标虽然是 product 指定的 item 所关联的物品,但它的名字会是 product 的名字,而 product 的 discreption 会被添加到它的 lore
- 在设置一些东西时部分不需要设置的参数可以填 -;比如只打算设置一个 id item 的 damage 的话可以这么使用指令 /ie item set test_item - 3
章节4:一个实例
- 待更
章节5:下载地址及更新日志
下载链接 > https://pan.baidu.com/s/1boGIg6The6rOBWkMx1Cl8g 提取码:re6z
更新日志
· 后记
其实这个插件不算是新手友好向的 (本身也没有考虑那些,单纯就是为了自己的需求写的),如果你有一定的 java 基础的话反而上手应该会更容易 (因为有对象的概念,这些东西也如同对基础类的封装)。
· 题外话
如果各位有兴致的话不如再支持下我的其它作品:
ArmorFix[护甲修复插件] > https://www.mcbbs.net/thread-1129471-1-1.html
LuckyBox[抽奖箱插件] > https://www.mcbbs.net/thread-1130637-1-1.html
EXPExchange[经验兑换] > https://www.mcbbs.net/thread-1144506-1-1.html
Octangle Weapons[Flan 枪械扩展包] > https://www.mcbbs.net/thread-1104500-1-1.html
版本兼容是硬伤,另外那么大一串文字真的是懒得看。。
现在主流MOD服都向1.12.2的CAT端靠齐了,建议提高一下兼容性。。
现在主流MOD服都向1.12.2的CAT端靠齐了,建议提高一下兼容性。。
支持
TNT8 发表于 2020-12-3 16:34
版本兼容是硬伤,另外那么大一串文字真的是懒得看。。
现在主流MOD服都向1.12.2的CAT端靠齐了,建议提高一 ...
我帖内有讲开发的主要目的就是自己和朋友玩用的,所以其它的并无过多考虑。
没啥介绍吗大佬
3061534651 发表于 2020-12-3 23:53
没啥介绍吗大佬
我感觉介绍已经比较全了啊
支持咸鱼大佬
不错的插件!!!!!!!!!!!!
其实更新一些图比较好
这纯文字的话 感觉有些乱
这纯文字的话 感觉有些乱