package de._82grfl1bif.KPI_Visualizer.data; import de._82grfl1bif.KPI_Visualizer.structures.Building; import de._82grfl1bif.KPI_Visualizer.structures.Foundation; import de._82grfl1bif.KPI_Visualizer.structures.Structure; import org.bukkit.Material; import java.util.ArrayList; import java.util.concurrent.ThreadLocalRandom; public class DataHolder { public static Foundation foundation = new Foundation(0, Material.COBBLESTONE); public static void generateSimpleData(int buildingCount){ foundation.removeChildren(); ArrayList buildings = new ArrayList<>(); for(int c = 0; c < buildingCount; c++){ buildings.add(generateBuilding()); } foundation.addChildren(buildings); foundation.optimizeLayout(); } public static void ComplexData(){ Foundation foundation3 = new Foundation(3,Material.BLACK_CONCRETE); ArrayList buildings3 = new ArrayList<>(); for (int i = 0; i < 5; i++) { buildings3.add(generateBuilding()); } foundation3.addChildren(buildings3); ArrayList buildings2_1 = new ArrayList<>(); Foundation foundation2_1 = new Foundation(2,Material.BROWN_CONCRETE); for (int i = 0; i < 5; i++) { buildings2_1.add(generateBuilding()); } buildings2_1.add(foundation3); foundation2_1.addChildren(buildings2_1); ArrayList buildings2_2 = new ArrayList<>(); Foundation foundation2_2 = new Foundation(2,Material.LIGHT_GRAY_CONCRETE); for (int i = 0; i < 5; i++) { buildings2_2.add(generateBuilding()); } foundation2_2.addChildren(buildings2_2); ArrayList buildings1 = new ArrayList<>(); Foundation foundation1 = new Foundation(1,Material.GRAY_CONCRETE); for (int i = 0; i < 5; i++) { buildings1.add(generateBuilding()); } buildings1.add(foundation2_1); buildings1.add(foundation2_2); foundation1.addChildren(buildings1); ArrayList buildings0 = new ArrayList<>(); for (int i = 0; i < 5; i++) { buildings1.add(generateBuilding()); } buildings0.add(foundation1); foundation = new Foundation(0,Material.COBBLESTONE); foundation.addChildren(buildings0); foundation.setDepth(0); } private static Building generateBuilding() { Building result = new Building(ThreadLocalRandom.current().nextInt(4, 60 + 1),ThreadLocalRandom.current().nextInt(4, 200 + 1),Material.LIME_CONCRETE); result.setLocation(foundation.getLocation()); return result; } }