DataHolder.java 2.65 KB
Newer Older
Florian Grabowski's avatar
Florian Grabowski committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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<Structure> 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);
27
        ArrayList<Structure> buildings3 = new ArrayList<>();
Florian Grabowski's avatar
Florian Grabowski committed
28
        for (int i = 0; i < 5; i++) {
29
            buildings3.add(generateBuilding());
Florian Grabowski's avatar
Florian Grabowski committed
30
        }
31
        foundation3.addChildren(buildings3);
Florian Grabowski's avatar
Florian Grabowski committed
32
33
34



35
        ArrayList<Structure> buildings2_1 = new ArrayList<>();
Florian Grabowski's avatar
Florian Grabowski committed
36
37
        Foundation foundation2_1 = new Foundation(2,Material.BROWN_CONCRETE);
        for (int i = 0; i < 5; i++) {
38
            buildings2_1.add(generateBuilding());
Florian Grabowski's avatar
Florian Grabowski committed
39
        }
40
41
        buildings2_1.add(foundation3);
        foundation2_1.addChildren(buildings2_1);
Florian Grabowski's avatar
Florian Grabowski committed
42

43
        ArrayList<Structure> buildings2_2 = new ArrayList<>();
Florian Grabowski's avatar
Florian Grabowski committed
44
45
        Foundation foundation2_2 = new Foundation(2,Material.LIGHT_GRAY_CONCRETE);
        for (int i = 0; i < 5; i++) {
46
            buildings2_2.add(generateBuilding());
Florian Grabowski's avatar
Florian Grabowski committed
47
        }
48
        foundation2_2.addChildren(buildings2_2);
Florian Grabowski's avatar
Florian Grabowski committed
49
50


51
        ArrayList<Structure> buildings1 = new ArrayList<>();
Florian Grabowski's avatar
Florian Grabowski committed
52
53
        Foundation foundation1 = new Foundation(1,Material.GRAY_CONCRETE);
        for (int i = 0; i < 5; i++) {
54
            buildings1.add(generateBuilding());
Florian Grabowski's avatar
Florian Grabowski committed
55
        }
56
57
58
        buildings1.add(foundation2_1);
        buildings1.add(foundation2_2);
        foundation1.addChildren(buildings1);
Florian Grabowski's avatar
Florian Grabowski committed
59

60
        ArrayList<Structure> buildings0 = new ArrayList<>();
Florian Grabowski's avatar
Florian Grabowski committed
61
        for (int i = 0; i < 5; i++) {
62
            buildings1.add(generateBuilding());
Florian Grabowski's avatar
Florian Grabowski committed
63
        }
64
        buildings0.add(foundation1);
Florian Grabowski's avatar
Florian Grabowski committed
65
        foundation = new Foundation(0,Material.COBBLESTONE);
66
        foundation.addChildren(buildings0);
Florian Grabowski's avatar
Florian Grabowski committed
67
68
69
70
71
72
73
74
75
        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;
    }
}