本帖最后由 ruhuasiyu 于 2020-4-26 06:28 编辑
起因是我在做物品处理机,处理任意64个物品压缩成1个带64× Lore的物品时,发现输出到箱子内时,如果要用loot insert的话,必须要解决动态物品id的问题。然后我发现似乎用"type": "minecraft:dynamic"类型配合挖掘潜影箱的战利品表,可以做到这一点。
例如玩家手持64个物品,我们想把其数量修改为32。
execute as @a[nbt={SelectedItem:{Count:64b}}] run function test:modify
test:modify
复制代码
修改minecraft/loot_tables/blocks/shulker_box.json为使用特定nbt的镐挖掘时,掉落内含物而且不掉落潜影盒。
复制代码
具体想修改物品信息的情形,可以通过直接修改潜影盒内物品实现,这里不做赘述。
唯一的缺点就是,需要在255高度引入额外的方块潜影盒,这会导致原有的位于255高度的方块消失。
起因是我在做物品处理机,处理任意64个物品压缩成1个带64× Lore的物品时,发现输出到箱子内时,如果要用loot insert的话,必须要解决动态物品id的问题。然后我发现似乎用"type": "minecraft:dynamic"类型配合挖掘潜影箱的战利品表,可以做到这一点。
例如玩家手持64个物品,我们想把其数量修改为32。
execute as @a[nbt={SelectedItem:{Count:64b}}] run function test:modify
test:modify
- setblock ~ 255 ~ shulker_box{Items:[{Slot:0b,id:"minecraft:stone",Count:32b}]}
- data modify block ~ 255 ~ Items[0].id set from entity @s SelectedItem.id
- data modify block ~ 255 ~ Items[0].tag set from entity @s SelectedItem.tag
- replaceitem entity @s weapon.mainhand air
- loot replace entity @s weapon.mainhand 1 mine ~ 255 ~ minecraft:diamond_pickaxe{isShulkerMarker:1b}
- setblock ~ 255 ~ air
修改minecraft/loot_tables/blocks/shulker_box.json为使用特定nbt的镐挖掘时,掉落内含物而且不掉落潜影盒。
- {
- "type": "minecraft:block",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:dynamic",
- "name": "minecraft:contents",
- "conditions": [
- {
- "condition": "minecraft:match_tool",
- "predicate": {
- "nbt":"{isShulkerMarker:1b}"
- }
- }
- ]
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:copy_name",
- "source": "block_entity"
- },
- {
- "function": "minecraft:copy_nbt",
- "source": "block_entity",
- "ops": [
- {
- "source": "Lock",
- "target": "BlockEntityTag.Lock",
- "op": "replace"
- },
- {
- "source": "LootTable",
- "target": "BlockEntityTag.LootTable",
- "op": "replace"
- },
- {
- "source": "LootTableSeed",
- "target": "BlockEntityTag.LootTableSeed",
- "op": "replace"
- }
- ]
- },
- {
- "function": "minecraft:set_contents",
- "entries": [
- {
- "type": "minecraft:dynamic",
- "name": "minecraft:contents"
- }
- ]
- }
- ],
- "name": "minecraft:shulker_box"
- }
- ]
- }
- ]
- }
- ]
- }
具体想修改物品信息的情形,可以通过直接修改潜影盒内物品实现,这里不做赘述。
唯一的缺点就是,需要在255高度引入额外的方块潜影盒,这会导致原有的位于255高度的方块消失。
本帖最后由 ⊙v⊙ 于 2019-4-27 22:28 编辑
这方法有一段时间了
不过想说的是...修改玩家背包这东西十分,十分有用,且使用频率很高,建议找个地方长期存放盒子。
↓ ↓ ↓ 最重要的id得不到就有点菜,且没什么意义了...
这方法有一段时间了
不过想说的是...修改玩家背包这东西十分,十分有用,且使用频率很高,建议找个地方长期存放盒子。
↓ ↓ ↓ 最重要的id得不到就有点菜,且没什么意义了...
⊙v⊙ 发表于 2019-4-28 16:18
这方法有一段时间了
不过想说的是...修改玩家背包这东西十分,十分有用,且使用频率很高,建议找个地方长期 ...
不用盒子的方法,chyx在 http://www.mcbbs.net/thread-837334-1-1.html 中发过,但是要穷举物品id
我感觉说的对牛逼6666
⊙v⊙ 发表于 2019-4-28 16:18
这方法有一段时间了
不过想说的是...修改玩家背包这东西十分,十分有用,且使用频率很高,建议找个地方长期 ...
穷举指的是在loot_table中穷举,function中用的时候是不需要穷举的
本帖最后由 ⊙v⊙ 于 2019-4-27 23:30 编辑
lt中穷举也是很不好(且十分不建议的)啊...
ruhuasiyu 发表于 2019-4-27 23:24
穷举指的是在loot_table中穷举,function中用的时候是不需要穷举的
lt中穷举也是很不好(且十分不建议的)啊...
高度0是基岩来着,替换基岩似乎比有可能替换玩家建筑要赚一点?
Ruainbow_ 发表于 2019-4-28 22:44
高度0是基岩来着,替换基岩似乎比有可能替换玩家建筑要赚一点?
不是所有地图高度0都是基岩的……
一涉及到指令,看着就有点吃力。
指令一般是用来做RPG地图吗?这类指令,感觉建筑和生存都不会用到。
指令一般是用来做RPG地图吗?这类指令,感觉建筑和生存都不会用到。
大佬啊我去,什么鬼代码
Ruainbow_ 发表于 2019-4-29 13:02
彳亍口巴23333
那么在世界边界或者非常遥远的地方加载区块然后使用呢?
加载是问题。你要是想手动强制加载,然后固定坐标或许可以。一般谁会把建筑放在255啊……
buhuichongfu 发表于 2019-4-29 07:50
一涉及到指令,看着就有点吃力。
指令一般是用来做RPG地图吗?这类指令,感觉建筑和生存都不会用到。 ...
做原版模组和rpg都可能会用到,不过rpg基本固定物品所以可能不需要这样的技巧也可以实现。
Teenager_Yang 发表于 2019-5-1 08:45
data modify 是个好东西。
就是不知道用驴的箱子可不可以……
赶紧去试一下……
你写的是什么。。。。
根本没体现出楼主的作用啊。。。
Teenager_Yang 发表于 2019-5-1 08:45
data modify 是个好东西。
就是不知道用驴的箱子可不可以……
赶紧去试一下……
我无语了……我要的是把这个物品送到玩家手上或者背包指定的槽位,你给我生成一个掉落物干嘛……
修改掉落物的nbt有什么可讨论的……
本帖最后由 467440721 于 2019-5-12 08:24 编辑
没用啊?(指战利品表)
到手一个潜影盒
路径block改成blocks又什么都不掉了
楼主路径的确有问题【
是blocks不是block
战利品表用不了是论坛的锅(直接复制有空格导致游戏无法识别)
楼主路径的确有问题【
是blocks不是block
战利品表用不了是论坛的锅(直接复制有空格导致游戏无法识别)
我看不懂,什么意思哦
指令一般是用来做RPG地图吗?
本帖最后由 chyx 于 2019-10-18 00:58 编辑
因为mojang不让直接修改实体的NBT。
我听说这样做是因为在内存里,一个运行中的实体对象并不是一棵NBTCompound。
只有在存档里,它才是。
所以,我们修改实体NBT,其实是把这个实体保存了,保存成一棵NBT,把命令里要改的NBTmerge进去,再加载merge了的那棵NBT。
而玩家不好这样做。
之前可以改物品的tag里面的原因也是这个。因为tag还真是时时刻刻都是一棵NBT
无情王少 发表于 2019-5-15 14:15
我看不懂,什么意思哦
因为mojang不让直接修改实体的NBT。
我听说这样做是因为在内存里,一个运行中的实体对象并不是一棵NBTCompound。
只有在存档里,它才是。
所以,我们修改实体NBT,其实是把这个实体保存了,保存成一棵NBT,把命令里要改的NBTmerge进去,再加载merge了的那棵NBT。
而玩家不好这样做。
之前可以改物品的tag里面的原因也是这个。因为tag还真是时时刻刻都是一棵NBT
受教了,还能这么搞
牛逼就完事了
本帖最后由 七刀月复 于 2020-3-13 08:57 编辑
反馈bug
版本:20w10a/11a(不排除之前的版本也有)
当替换主手物品时,潜影盒Slot:1b的物品会替换掉副手位,2b会替换掉靴子,3b会替换掉护腿,4b会替换掉胸甲,5b会替换掉头盔。如果上述潜影盒槽位为空,那么玩家对应槽位物品会被清除。
-----------------------------------------------------------------
基本命令都忘了,太丢人了
版本:20w10a/11a(不排除之前的版本也有)
当替换主手物品时,潜影盒Slot:1b的物品会替换掉副手位,2b会替换掉靴子,3b会替换掉护腿,4b会替换掉胸甲,5b会替换掉头盔。如果上述潜影盒槽位为空,那么玩家对应槽位物品会被清除。
-----------------------------------------------------------------
基本命令都忘了,太丢人了
七刀月复 发表于 2020-3-12 21:13
反馈bug
版本:20w10a/11a(不排除之前的版本也有)
当替换主手物品时,潜影盒Slot:1b的物品会替换掉副手位 ...
你少写了个1吧? https://www.mcbbs.net/thread-874755-1-1.html
本帖最后由 七刀月复 于 2020-3-13 09:07 编辑
可能是我被命令提示给迷惑了,我有时间看看。————————————————————————————————
我真的被命令提示迷惑了,以为只有这一种格式……
ruhuasiyu 发表于 2020-3-12 21:26
你少写了个1吧? https://www.mcbbs.net/thread-874755-1-1.html
可能是我被命令提示给迷惑了,我有时间看看。————————————————————————————————
我真的被命令提示迷惑了,以为只有这一种格式……
大佬,这个代码真的看不懂,虽然只是针对于服主,但是一涉及到指令就睁眼瞎了
太棒了厉害厉害
太棒了厉害厉害
很多地方都需要。。。。
额,那个玩家的末影箱有办法吗
厉害厉害(py人气√)
黑黑大 发表于 2020-4-13 09:42
额,那个玩家的末影箱有办法吗
类似操作,末影箱也属于玩家的slot,将玩家末影箱内容复制到潜影盒后,用特定镐子挖掘并replace 玩家的末影箱栏位的第0格,而且指定覆盖栏位数量为27即可
讲详细点,都啥意思,
(一脸闷逼不懂数据包的我)
ruhuasiyu 发表于 2019-4-28 17:24
穷举指的是在loot_table中穷举,function中用的时候是不需要穷举的
是否可以把玩家的手持数据转移到潜影盒当中,然后再执行后面的loot呢
(我要做副手物品自动转主手)
2629761830 发表于 2020-5-3 23:05
是否可以把玩家的手持数据转移到潜影盒当中,然后再执行后面的loot呢
(我要做副手物品自动转主手 ...
当然可以,loot到副手并指定只输出1个栏位
这条指令我放1.15测试好像无效啊

本帖最后由 Chara404 于 2020-5-30 16:46 编辑
是我忘了改json了抱歉(但是改了还是没用啊???)
我测试的结果是改了战利品表后仍不会对NBT起反应,但是生成的潜影盒里会带另一个潜影盒(迷惑)
Chara404 发表于 2020-5-30 15:03
这条指令我放1.15测试好像无效啊
是我忘了改json了抱歉(但是改了还是没用啊???)
我测试的结果是改了战利品表后仍不会对NBT起反应,但是生成的潜影盒里会带另一个潜影盒(迷惑)
完全没看懂大佬说的什么意思~
我觉得直接用clear加give不就可以了....
谢谢分享!!!
哇,厉害,之前总有人偷东西,不知道可不可以查到别人背包东西
本帖最后由 mchengxiaozi 于 2020-7-18 21:22 编辑
潜影盒如果在高度0的地方可以吗???(如果有人问过了请无视QAQ)
潜影盒如果在高度0的地方可以吗???(如果有人问过了请无视QAQ)
老老实实 玩生存 看着就花
谢谢楼主的分享
mcbbs有你更精彩
代码我看不懂咋办
来考考古
其实1.16有了自定义维度,也就没必要把0,255,0的方块替换掉了
完全可以建立一个维度,替换那个维度0,255,0的方块
其实1.16有了自定义维度,也就没必要把0,255,0的方块替换掉了
完全可以建立一个维度,替换那个维度0,255,0的方块
总有一天,我会肉体将会归于尘埃,我的意志亦会随着落英飞散,而你,我的孩子,你终将继承大统!
DND测出是守序善良怎么破?这也太偏了吧
小黑屋随身带
语句可点
来看看我的草稿纸吧
我记忆中最完美的水帖,可惜了,BGM崩了。
目前在Steam方面决定实行改革开放。
DND测出是守序善良怎么破?这也太偏了吧
小黑屋随身带
语句可点
来看看我的草稿纸吧
我记忆中最完美的水帖,可惜了,BGM崩了。
目前在Steam方面决定实行改革开放。
大佬牛逼 感谢感谢
炒鸡好用的原版模组,我不仅自己用,还推荐给我的朋友用,大家都说好,强烈推荐!!!(五毛一条,记得删括号)