随机发生器(Randomizer)(又作随机数发生器、随机数生成器(Random Number Generator)等,缩写为RNG)是会产生随机信号的红石电路。它们能被应用在很多地方,从操纵一场灯光秀,到建造一个赌场。特别地,随机发生器像大多数红石电路一样,只能在已加载出的区块里工作。如果是用于一个探险地图或一些玩家会走得很远的地图,可以将随机发生器建造在出生点区块[仅Java版]或常加载区域[仅基岩版]。
创新互联公司主营新干网站建设的网络公司,主营网站建设方案,app软件定制开发,新干h5微信小程序定制开发搭建,新干网站营销推广欢迎新干等地区企业咨询
基于鸡蛋被扔出后有一定概率生成小鸡的特性,可以通过鸡蛋制作随机发生器。注意,鸡蛋可能有用完的时候,所以可以在后面连上一个自动养鸡场。
用 绊线钩制作的猪随机发生器
用 压力板制作的生物随机发生器(显示出了 红石)
生物随机发生器是利用生物随机移动的特性触发红石的随机发生器。当需要多个输出时,这种随机发生器是最好的。信号何时发生或持续多久都无关紧要。 猪随机发生器通常用压力板或绊线钩制作。用绊线钩是最简单的方法,但是需要更多铁。
随机发生器中使用的生物类型可以创造出一些重要的变种。一些常见的选择包括:
另一个双电平模拟信号输出随机发生器
→ | → | |||
双电平模拟信号输出随机发生器
投掷器包含一个可堆叠物品和一个不可堆叠物品。
开启时输出信号强度为1或3,关闭时输出信号强度0。
这个随机发生器利用了这样一个事实,投掷器以随机顺序发射物品。当输入打开时,投掷器将随机选择可堆叠或不可堆叠的物品放进漏斗,导致比较器输出1或3信号强度。因为充能的投掷器是一个红石导体,它也会锁住漏斗,防止它将物品送回投掷器,直到输入关闭。
不幸的是除非漏斗事先装了物品,否则填能堆叠16个的物品只能得到强度为1的信号。
变种:如果投掷器是间接激活的(例如,通过半连接性或相邻的充能方块),则不会锁住漏斗,并且漏斗会立即将物品推回投掷器中。这将使电路变成一个单稳态上升沿探测器,输出脉冲为3.5刻(仍具有1或3的随机信号强度)。
在投掷器中只有两个物品的情况下,两个信号强度的输出概率相等。输出信号强度的概率可以通过向投掷器添加额外的可堆叠和不可堆叠物品来改变(这些物品必须彼此不同,以便它们不会堆叠)。例如,对于两个不同的可堆叠物品和三个不同的不可堆叠物品,随机发生器将在40%的时间内输出1信号强度,在60%的时间内输出3信号强度。
已知最早发布日期:2013年3月14日[1]
→ | → | |||
三电平模拟信号输出随机发生器
投掷器包含一个堆叠上限为64的物品,一个堆叠上限为16的物品,和一个不可堆叠物品。
漏斗的最右边有五个堆叠上限为16的物品。
5
示意图:十六电平模拟信号输出随机发生器
参见: 教程/随机发生器/十六电平模拟信号输出随机发生器
[编辑]
潜影盒能被发射器放置,被活塞破坏,并保留其中的物品。当一个潜影盒被发射器随机放置时,比较器可以产生15种不同的红石信号。
此特性为基岩版独有。
In |
唱片机随机发生器
这种随机发生器使用唱片机和漏斗产生强度为1-12的随机红石信号。此机器的独特之处在于大多数其他的随机发生器不会产生具有如此多可能性的模拟信号。这种随机发生器的两个缺点是,它只能在每个音乐唱片播放完毕并取走后才会改变信号,并且这可能造价高昂。
主条目: 命令/random
/random
命令可以直接输出随机结果。
此特性为Java版独有。
这个随机发生器使用重复的命令方块,每个刻度加1分,然后另一个重复的命令方块将值截断到最大值。当需要随机值时,使用重复的命令方块来测试特定值。此装置不是完全随机的,因为它是基于激活的时间,但对于大多数目的来说是随机的。
在本例中,最小值为10,最大值为20。 首先,必须创建一个伪记分板目标来存储值:/scoreboard objectives add randomizer dummy
。接下来,需要两个重复的命令方块,都设置为“保持开启”。第一个在每个刻度上加1分:/scoreboard players add ticks randomizer 1
。第二个将值截断为上述最小值和最大值:/execute if score ticks randomizer matches 21.. run scoreboard players set ticks randomizer 10
(其中“21”是最大排外值,“10”是最小值)。最后,需要一组测试每个值的命令方块,所有这些命令块都附加到单个输入;例如,/execute if score ticks randomizer matches 2 run say hi
如果10到20之间的随机值是2,则运行/say hi
(将[@] hi
发送至聊天框中)。下面的示意图显示了一个示例装置,其中测试每个值的命令方块附加到同一个输入:
基于随机刻的随机发生器
此特性为Java版独有。
本设计基于随机目标选择器参数随机目标选择器参数(limit=1,sort=random
),为NOPEname[4]设计的拓展。
本设计需要执行下列命令来初始化,为便利起见,你可以把他们放到一个函数中。
scoreboard objectives add RandomBit dummy execute unless entity @e[type=marker,tag=RandomizerResult] run summon Minecraft:marker 0 -1 1 {Tags:["RandomizerResult"]} scoreboard players set @e[tag=RandomizerResult] RandomBit 0 execute unless entity @e[type=marker,tag=Randomizer] run summon minecraft:marker 0 -1 0 {Tags:["Randomizer"]} execute unless entity @e[type=marker,tag=Randomizer] run summon minecraft:marker 1 -1 0 {Tags:["Randomizer"]}
其中execute unless
的部分不是必须的, 但加上它们可以保证多次执行这一系列命令时本设计仍能正常运作(例如,你把这些命令放到一个函数中,而出于测试目的需要在同一个世界中多次执行这个函数)。
然后,每当你需要获取一个随机的位(即0或1)时,执行下列命令。你可以逐行手动输入这些命令、使用命令方块链,或者定义一个函数。
tag @e[type=marker,tag=Randomizer] remove PickedBit tag @e[type=marker,tag=Randomizer,sort=random,limit=1] add PickedBit execute store result score @e[type=marker,tag=RandomizerResult] RandomBit run data get entity @e[type=marker,tag=PickedBit,limit=1] Pos[0]
这样就得到了一个随机的位,该位的值存放在带有RandomizerResult
标签的标记的名为RandomBit
的记分板目标中。
本设计可以轻易拓展成大范围随机整数发生器。
此特性为基岩版独有。
基岩版自带对随机记分板目标的支持。只需用命令/scoreboard players random ...
即可。
教程(作下划线标记的教程为中文独有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
分享文章:创新互联MinecraftWiki教程:实体随机发生器[]
URL网址:http://www.mswzjz.cn/qtweb/news45/486795.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能