下面列出了org.bukkit.block.CommandBlock#org.bukkit.block.NoteBlock 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void setInputs(CommandSender initiator, String[] args) {
//
final Player player = (Player) initiator;
final int ticksMax = (args.length > 1) ? Integer.parseInt(args[1]) : 20;
final Location base = player.getLocation().clone();
final int channels = this.trainingValues.length;
for (int i = 0; i < channels; i++) {
base.clone().add(i, 0, 0).getBlock().setType(Material.NOTE_BLOCK);
}
new BukkitRunnable() {
int tick = 0;
@SuppressWarnings("deprecation")
@Override
public void run() {
tick++;
int row = 0;
for (Neuron n : ai.getOutputNeurons()) {
if (n.isTriggered()) {
((NoteBlock) base.clone().add(row, 0, 0).getBlock()
.getState()).setRawNote((byte) n.getID());
((NoteBlock) base.clone().add(row, 0, 0).getBlock()
.getState()).play();
row++;
}
}
if (tick > ticksMax)
cancel();
}
}.runTaskTimer(Main.getMainClass(), 30, 9);
}