- Баллы
- 76
- Имя в Minecraft
- _MediaNik_
Я создаю куб из блоков, чтобы потом его положить в YamlConfiguration, но когда я его создал его длина равна нулю, помогите. И можете писать, что это говнокод, но это мой первый плагин
Сам участок кода, где я его создаю и добавляю в YamlConfiguration:
Я создаю куб c помощью этого класса:
blck class:
Сам участок кода, где я его создаю и добавляю в YamlConfiguration:
Код:
Cube c = new Cube(BossWars.pos1.x, BossWars.pos1.y, BossWars.pos1.z, BossWars.pos2.x, BossWars.pos2.y, BossWars.pos2.z, BossWars.pos1.worldName);
File blocks = new File("plugins/BossWars/arenas/" + BossWars.arenas.get(BossWars.arenas.size()-1) + ".blocks");
YamlConfiguration block = YamlConfiguration.loadConfiguration(blocks);
sen.sendMessage("аааа");//Это высвечивается
for(int i=0;i<c.blocks.size();i++){ //Здесь длина = 0
if(i!=c.blocks.size()+1){
block.set("block."+i,c.blocks.get(i));
sen.sendMessage("аааа"); //Это не высвечивается
}else block.set("block.size", i+1);
}
try {
block.save(blocks);
} catch (IOException e) {
e.printStackTrace();
}
Код:
public class Cube {
Location loc = new Location(Bukkit.getServer().getWorld("world"), 1,1,1);
public static List<blck> blocks = new ArrayList<>();
public Cube(double startX, double endX, double startY, double endY, double startZ, double endZ, String world){
if(!(startX>endX)){
double x = endX;
endX = startX;
startX=x;
}
if(!(startY>endY)){
double y = endY;
endY = startY;
startY=y;
}
if(!(startZ>endZ)){
double z = endZ;
endZ = startZ;
startZ=z;
}
for(double x=startX;x<endX;x++){
for(double y=startY;y<endY;y++){
for(double z=startZ;z<endZ;z++){
World wrld = Bukkit.getWorld(world);
Location loc = new Location(wrld, x, y, z);
blocks.add(new blck(loc.getBlock().getType(), x, y, z, world));
}
}
}
}
}
Код:
public class blck {
Material mat;
double x;
double y;
double z;
String world;
public blck(Material mat, double x,double y,double z, String world){
this.mat = mat;
this.x = x;
this.y = y;
this.z = z;
this.world = world;
}
}