From 770868d7b9d3c3692832d04511cccec88a113d56 Mon Sep 17 00:00:00 2001
From: CraivMan <gamemaster370.carver@gmail.com>
Date: Tue, 13 Dec 2022 21:38:10 -0600
Subject: Fixed anticheat #2

---
 src/main/java/com/MylesAndMore/tumble/Game.java    | 16 ++++++------
 .../java/com/MylesAndMore/tumble/api/Layers.java   | 29 +++++++++++++++++++++-
 2 files changed, 36 insertions(+), 9 deletions(-)

(limited to 'src/main/java/com')

diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java
index 2dd22e2..01c3542 100644
--- a/src/main/java/com/MylesAndMore/tumble/Game.java
+++ b/src/main/java/com/MylesAndMore/tumble/Game.java
@@ -274,7 +274,7 @@ public class Game {
             // Similar generation to shovels, except there are three layers
             if (Random.nextInt(4) == 0) {
                 // Circular layer
-                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getSafeMaterialList());
                 layer.setY(layer.getY() - 6);
                 Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
@@ -282,7 +282,7 @@ public class Game {
             }
             else if (Random.nextInt(4) == 1) {
                 // Square layer
-                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getSafeMaterialList());
                 layer.setY(layer.getY() - 6);
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
@@ -290,7 +290,7 @@ public class Game {
             }
             else if (Random.nextInt(4) == 2) {
                 // Multi-tiered circle
-                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getSafeMaterialList());
                 Generator.generateLayer(layer, 13, 1, Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateLayer(layer, 13, 1, Material.GRANITE), layers.getMaterialList());
@@ -299,7 +299,7 @@ public class Game {
                 Generator.generateClumps(Generator.generateLayer(layer, 4, 1, Material.LIME_GLAZED_TERRACOTTA), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
 
-                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getSafeMaterialList());
                 Generator.generateLayer(layer, 13, 1, Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateLayer(layer, 13, 1, Material.GRANITE), layers.getMaterialList());
@@ -308,7 +308,7 @@ public class Game {
                 Generator.generateClumps(Generator.generateLayer(layer, 4, 1, Material.LIME_GLAZED_TERRACOTTA), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
 
-                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.STONE), layers.getSafeMaterialList());
                 Generator.generateLayer(layer, 13, 1, Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateLayer(layer, 13, 1, Material.GRANITE), layers.getMaterialList());
@@ -318,7 +318,7 @@ public class Game {
             }
             else {
                 // Multi-tiered square
-                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getSafeMaterialList());
                 Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.GRANITE), layers.getMaterialList());
@@ -327,7 +327,7 @@ public class Game {
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 7, layer.getY(), layer.getZ() - 7), new Location(layer.getWorld(), layer.getX() + 7, layer.getY(), layer.getZ() + 7), Material.LIME_GLAZED_TERRACOTTA), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
 
-                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getSafeMaterialList());
                 Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.GRANITE), layers.getMaterialList());
@@ -336,7 +336,7 @@ public class Game {
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 7, layer.getY(), layer.getZ() - 7), new Location(layer.getWorld(), layer.getX() + 7, layer.getY(), layer.getZ() + 7), Material.LIME_GLAZED_TERRACOTTA), layers.getMaterialList());
                 layer.setY(layer.getY() - 6);
 
-                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getMaterialList());
+                Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 17, layer.getY(), layer.getZ() - 17), new Location(layer.getWorld(), layer.getX() + 17, layer.getY(), layer.getZ() + 17), Material.STONE), layers.getSafeMaterialList());
                 Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.AIR);
                 layer.setY(layer.getY() - 1);
                 Generator.generateClumps(Generator.generateCuboid(new Location(layer.getWorld(), layer.getX() - 13, layer.getY(), layer.getZ() - 13), new Location(layer.getWorld(), layer.getX() + 13, layer.getY(), layer.getZ() + 13), Material.GRANITE), layers.getMaterialList());
diff --git a/src/main/java/com/MylesAndMore/tumble/api/Layers.java b/src/main/java/com/MylesAndMore/tumble/api/Layers.java
index dad5ea8..33ad21e 100644
--- a/src/main/java/com/MylesAndMore/tumble/api/Layers.java
+++ b/src/main/java/com/MylesAndMore/tumble/api/Layers.java
@@ -59,6 +59,30 @@ public class Layers {
         matList.add(gen16);
         // Troll glass layer
         matList.add(gen11);
+
+        safeMatList.add(gen1);
+        safeMatList.add(gen2);
+        safeMatList.add(gen4);
+        safeMatList.add(gen5);
+        safeMatList.add(gen7);
+        safeMatList.add(gen9);
+        safeMatList.add(gen10);
+        safeMatList.add(gen1);
+        safeMatList.add(gen2);
+        safeMatList.add(gen4);
+        safeMatList.add(gen5);
+        safeMatList.add(gen7);
+        safeMatList.add(gen9);
+        safeMatList.add(gen10);
+        safeMatList.add(gen1);
+        safeMatList.add(gen2);
+        safeMatList.add(gen4);
+        safeMatList.add(gen5);
+        safeMatList.add(gen7);
+        safeMatList.add(gen9);
+        safeMatList.add(gen10);
+        // Troll glass layer
+        safeMatList.add(gen11);
     }
 
     // Define Random class
@@ -70,6 +94,7 @@ public class Layers {
         return matList.get(random.nextInt(matList.size()));
     }
 
+    public List<Material> getSafeMaterialList() { return safeMatList.get(random.nextInt(safeMatList.size())); }
 
     // Begin lists
 
@@ -93,7 +118,7 @@ public class Layers {
         add(Material.GRASS_BLOCK);
         add(Material.GRASS_BLOCK);
         add(Material.GRASS_BLOCK);
-        // add(Material.COBWEB);
+        add(Material.COBWEB);
     }};
 
     private final List<Material> gen1 = new ArrayList<>() {{
@@ -340,4 +365,6 @@ public class Layers {
 
     private final List<List<Material>> matList = new ArrayList<>();
 
+    private final List<List<Material>> safeMatList = new ArrayList<>();
+
 }
-- 
cgit v1.2.3