⭐✔️
交互性交易指的是与交易者(NPC)通过对交易物品的操作来达成交易。
一般性交易指针对于村民的交易面板,交互性交易对所有实体均可执行
(实例:地图《法尔之旅》中药店前的感冒村民通过扔给他"感冒药"达成交换金苹果的交易[其原理是漏斗])
指令方块将没有漏斗的局限,完全命令方块控制,对所有物品、所有交易均执行

效果/展示:


这是一个极寒的雪山,地处南极


趁今夜没有风雪,看见环山中有火光,便前来一探。


原来山谷中有座冰屋,今天就来借住一晚。


里面有个友善(在原理:处将解答)的居民。


山壁无法攀援。


雪质坚硬。


冰屋地势低矮,却能储存热量。


屋后有四只雪橇犬。


经沟通,这位爱斯基摩人同意与我们交换一些物品。


扔给他一些皮革,会得到一些熟鱼


我们还需要一些。


交易成功。


同时他也需要骨头喂养雪橇犬。给予骨头


得到20经验


再次给予,但是好像他不需要了,交易失败


它也需要一些熟食及肉食使雪橇犬保暖。给予牛排


给予猪排


给予腐肉


他好像很开心的样子,给了我一把钓鱼竿,而且必定获得


不错的附魔。

原理翻页

2021.12 数据,可能有更多内容交互性交易指的是与交易者(NPC)通过对交易物品的操作来达成交易。
一般性交易指针对于村民的交易面板,交互性交易对所有实体均可执行
(实例:地图《法尔之旅》中药店前的感冒村民通过扔给他"感冒药"达成交换金苹果的交易[其原理是漏斗])
指令方块将没有漏斗的局限,完全命令方块控制,对所有物品、所有交易均执行


效果/展示:



这是一个极寒的雪山,地处南极



趁今夜没有风雪,看见环山中有火光,便前来一探。



原来山谷中有座冰屋,今天就来借住一晚。



里面有个友善(在原理:①处将解答)的居民。



山壁无法攀援。



雪质坚硬。



冰屋地势低矮,却能储存热量。



屋后有四只雪橇犬。



经沟通,这位爱斯基摩人同意与我们交换一些物品。



扔给他一些皮革,会得到一些熟鱼



我们还需要一些。



交易成功。



同时他也需要骨头喂养雪橇犬。给予骨头



得到20经验



再次给予,但是好像他不需要了,交易失败



它也需要一些熟食及肉食使雪橇犬保暖。给予牛排



给予猪排



给予腐肉



他好像很开心的样子,给了我一把钓鱼竿,而且必定获得



不错的附魔。


原理翻页

原理:



全部区域。[场景纯手撸,建筑渣撸了十五分钟]



先来放出上文提到的



刷出一个被动型爱斯基摩人

代码:

  1. /summon PigZombie ~ ~-2 ~1



交易原理区:



同实体方块交互一样,设置计判



红色羊毛:创建计判变量。

代码:

  1. /scoreboard objectives add 某名 dummy



高频并使用红石来连接以下部分:



/单物品交易
按照红石信号强度来决定先后顺序。(激活顺序就是指令排列顺序[先上后下])
黄:皮革。

代码:

  1. /scoreboard players set @e[type=Item] 某名 1 {Item:{id:"minecraft:leather"}}
给皮革设置计判1

代码:

  1. /execute @e[type=Item,score_某名_min=1,score_某名=1] ~ ~ ~ execute @e[type=PigZombie,name=Eskimo] ~ ~1 ~ give @p cooked_fish
当皮革(计判1)与爱斯基摩人重合,则给予玩家一条熟鱼。


关于交易失败:
由于物品抛出去的方向有个范围随机值,又因为计分板只能判定实体在实体范围内(F3+B可查看),所以有时候物品抛掷出去虽接触实体却并没有与实体重合。但一旦接触地面,物品掉落自动修正,所以导致下面的命令却能执行:

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ execute @e[type=Item,score_某名_min=1,score_某名=1,r=1] ~ ~ ~ kill @e[type=Item,score_某名_min=1,score_某名=1,r=1]
当皮革(计判1)与爱斯基摩人重合,清除皮革。


与黄同理,蓝:骨头

代码:

  1. /scoreboard players set @e[type=Item] 某名 2 {Item:{id:"minecraft:bone"}}
给骨头设置计判2

代码:

  1. /execute @e[type=Item,score_某名_min=2,score_某名=2] ~ ~ ~ execute @e[type=PigZombie,name=Eskimo] ~ ~1 ~ xp 20 @p
当骨头(计判2)与爱斯基摩人重合,则给予玩家20经验。

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ execute @e[type=Item,score_某名_min=2,score_某名=2,r=1] ~ ~ ~ kill @e[type=Item,score_某名_min=2,score_某名=2]
当骨头(计判2)与爱斯基摩人重合,清除骨头。





绿:多物品交易
由于指令方块没有交易面板只有两个交易槽的限制,所以交易双方的物品都是无限的。


绿:设置计判。

代码:

  1. /scoreboard players set @e[type=Item] 某名 5 {Item:{id:"minecraft:rotten_flesh"}}

代码:

  1. /scoreboard players set @e[type=Item] 某名 4 {Item:{id:"minecraft:cooked_porkchop"}}

代码:

  1. /scoreboard players set @e[type=Item] 某名 3 {Item:{id:"minecraft:cooked_beef"}}
分别给腐肉、猪排、牛排设置计判5、4、3。


紫:交易

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ execute @e[type=Item,score_某名_min=3,score_某名=3,r=1] ~ ~ ~ execute @e[type=Item,score_某名_min=4,score_某名=4,r=1] ~ ~ ~ execute @e[type=Item,score_某名_min=5,score_某名=5,r=1] ~ ~ ~ give @p fishing_rod 1 0 {ench:[{id:61,lvl:3},{id:62,lvl:2}]}
当计判3(牛排)、 4(猪排)、5(腐肉)与爱斯基摩人重合,则给予玩家一个"海之眷属3""饵诱2"的钓鱼竿。


黑:清除

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ kill @e[type=Item,score_某名_min=3,score_某名=3,r=1]

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ kill @e[type=Item,score_某名_min=5,score_某名=5,r=1]

代码:

  1. /execute @e[type=PigZombie,name=Eskimo] ~ ~ ~ kill @e[type=Item,score_某名_min=4,score_某名=4,r=1]
计判3(牛排)、 4(猪排)、5(腐肉)与爱斯基摩人重合,分别清除。


关于必得:
由于三个物品扔出去有时间差,所以有段时间可以提供物品掉落修正,三个物品就能自动重合,就能必得。
如果让单物品交易必得,可以在交易者处生成一个无法捡起交易物,达到同样效果。


存档将在下次教程中放出。
(最近版本更新致使许多Bug产生,包括命令方块高频无法正常运行。)


@songfeitong @tyson @我的世界sun123 @PotatoMaster101 @ghyzhi10086 @审奥不解释 @67880371 @kongbaiyo @zhjjhz

Xx123c
性交易。。。。。。我邪恶了

审奥不解释
你头上的CB闹哪样?
——审奥菌问道

a1254482024
Xx123c 发表于 2014-7-7 19:32
性交易。。。。。。我邪恶了

看了标题
我好像明白了什么

史蒂夫爱打飞机
不错,学到了

坏坏的我
不错。话说我还是一个红石渣。

22b
看到标题上我的名字我就点进来了。

22b

红石奇葩大神
对不起..我是冲着标题进来的..

5423
红石奇葩大神 发表于 2014-7-8 00:21
对不起..我是冲着标题进来的..

me too.   

1092176942

me too too

wdsjwzzz
说实话。。我第一眼看到的是性交易。。

H-eartbreaker
还是感觉漏斗比较容易

im小曹
力顶2b!2b的红石技巧真好owo

280314182
大神哇 好顶赞