好的,我正在创建一个使用此事件的bukkit插件:
public void onCreatureSpawn(CreatureSpawnEvent e) {
// Do stuff
}
在事件内部我需要和if语句每次(x)时间触发Creature事件。
例如,如果生成了10个生物,那么10个生物,我需要if语句才能射击2次。
在这两种生物中,其中2种将获得特殊的特征。我的问题是,我怎么能这样做呢?这句话只会在多次被解雇的情况下触发(x)?
我也尝试过以下示例中的内容,但遇到了一些问题:
int outOf = Plugin.getConfig().getInt("armourSpawn");
int count = 1;
if(count%outOf==0) {
// This will fire (x) out of (x) times
}
count++;
基本上,用户将选择(x)10个怪物将在配置中具有某些特征。
产生的所有生物(怪物)中我想要具有特征的(x)到10的比例。
答案 0 :(得分:1)
为了更好地说明随机选择解决方案:
import java.util.Random;
Random rand = new Random();
int percentage = 25; //Set this to whatever percentage you want.
public void onCreatureSpawn(CreatureSpawnEvent e) {
//This will generate a number between 0 and 99 (inclusive)
int generatedNumber = rand.nextInt(100);
//If the generated number is smaller than the percentage you chose, you have "success".
if(generatedNumber < percentage){
addCharacteristic(creature, characteristic);
}else{
//Do whatever you need to normally.
}
}