- Баллы
- 66
- Имя в Minecraft
- Nanit
Имеется метод, который вызывается в эвенте PlayerMoveEvent. Никак не могу правильно запомнить блок на который игрок наступил. Пробовал записывать их в ArrayList, но видимо метод вызывается чаще чем нужно и в массив записывается уже не тот блок. Вопрос: как правильно запомнить каждый блок на который игрок наступал и потом заменить его?
PHP:
ArrayList<Block> prev = new ArrayList<Block>();
public void setColorTrack(Player player){
Location loc = player.getLocation();
loc.setY(loc.getY() -1 );
prev.add(loc.getBlock());
Block block = loc.getBlock();
Random random = new Random();
byte randData = (byte)random.nextInt(14);
if(block.getType().equals(Material.AIR)){
return;
}
block.setType(Material.STAINED_CLAY);
block.setData(randData);
for(Block b : prev){
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
public void run() {
block.setType(b.getType());
block.setData(b.getData());
}
}, 30L);
}
}