目前我的代码在某个部分获取了我的配置中的所有值,然后我从列表中随机选择了其他内容。我通过getRandomStringFromList(getLocationList())
获得随机结果。所以,我这样使用它,
p.teleport(new Location(Bukkit.getWorld("world"),
plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".x"),
plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".y"),
plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".z"))
);
然而,这有一些问题。而不是使用相同的结果,它为所有3得到一个不同的随机。我需要它们全部使用第三个结果,我该怎么做?
答案 0 :(得分:1)
将随机String存储在局部变量中,并在String randomString = plugin.getRandomStringFromList(plugin.getLocationList());
p.teleport(new Location(Bukkit.getWorld("world"),
plugin.getConfig().getInt("locations." + randomString + ".x"),
plugin.getConfig().getInt("locations." + randomString + ".y"),
plugin.getConfig().getInt("locations." + randomString + ".z")));
中使用它。代码看起来像这样:
.global _start
_start:
mov r7, #4
mov r0, #1
ldr r1,=string
mov r2, #12
swi 0
mov r7, #1
swi 0
.data
string:
.ascii "Hello, World"
答案 1 :(得分:0)
这是因为您正在随机化"获取位置"在同一行的3个不同实例上
您可以做的是保存第一个实例的结果并重复使用
var location = plugin.getRandomStringFromList(plugin.getLocationList());
p.teleport(new Location(Bukkit.getWorld("world"),
plugin.getConfig().getInt("locations." + location + ".x"),
plugin.getConfig().getInt("locations." + location + ".y"),
plugin.getConfig().getInt("locations." + location + ".z")));