diff options
| author | Myles <43725835+MylesAndMore@users.noreply.github.com> | 2022-12-14 04:06:39 +0000 | 
|---|---|---|
| committer | Myles <43725835+MylesAndMore@users.noreply.github.com> | 2022-12-14 04:06:39 +0000 | 
| commit | aa054e8d5c037ddfb8d45c373d237853c348405f (patch) | |
| tree | 4b834f9cfc5b2459009d45f34f58b51925057345 /src | |
| parent | a4e87ea0cf6c028ef12e871bb060904a7af49283 (diff) | |
| parent | af11acd1539bf6448d1f11c99538cac9888afb42 (diff) | |
| download | Tumble-aa054e8d5c037ddfb8d45c373d237853c348405f.tar.gz Tumble-aa054e8d5c037ddfb8d45c373d237853c348405f.tar.bz2 Tumble-aa054e8d5c037ddfb8d45c373d237853c348405f.zip | |
Merge branch 'beta' of https://github.com/MylesAndMore/tumble into beta
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/com/MylesAndMore/tumble/EventListener.java | 12 | ||||
| -rw-r--r-- | src/main/java/com/MylesAndMore/tumble/Game.java | 24 | ||||
| -rw-r--r-- | src/main/java/com/MylesAndMore/tumble/api/Layers.java | 119 | 
3 files changed, 120 insertions, 35 deletions
| diff --git a/src/main/java/com/MylesAndMore/tumble/EventListener.java b/src/main/java/com/MylesAndMore/tumble/EventListener.java index 5e46e87..63ca9a0 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -12,6 +12,7 @@ import org.bukkit.event.block.Action;  import org.bukkit.event.block.BlockBreakEvent;  import org.bukkit.event.block.BlockDropItemEvent;  import org.bukkit.event.entity.*; +import org.bukkit.event.inventory.InventoryDragEvent;  import org.bukkit.event.player.*;  import org.bukkit.inventory.ItemStack;  import org.bukkit.util.Vector; @@ -281,4 +282,15 @@ public class EventListener implements Listener {              }          }      } +     +    @EventHandler +    public void InventoryDragEvent(InventoryDragEvent event) { +        if (TumbleManager.getGameWorld() == null) { +            return; +        } +        if (event.getWhoClicked().getWorld() == Bukkit.getWorld((TumbleManager.getGameWorld()))) { +            event.setCancelled(true); +        } +    } +      } diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 91c2770..aa24e97 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -219,15 +219,15 @@ public class Game {              // Choose a random type of generation; a circular layer, a square layer, or a multi-tiered layer of either variety              if (Random.nextInt(4) == 0) {                  // Circular layer -                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.SNOW_BLOCK), layers.getMaterialList()); +                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.SNOW_BLOCK), layers.getSafeMaterialList());              }              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.SNOW_BLOCK), 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.SNOW_BLOCK), layers.getSafeMaterialList());              }              else if (Random.nextInt(4) == 2) {                  // Multi-tiered circle -                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.SNOW_BLOCK), layers.getMaterialList()); +                Generator.generateClumps(Generator.generateLayer(layer, 17, 1, Material.SNOW_BLOCK), layers.getSafeMaterialList());                  Generator.generateLayer(layer, 13, 1, Material.AIR);                  layer.setY(layer.getY() - 1);                  Generator.generateClumps(Generator.generateLayer(layer, 13, 1, Material.GRASS_BLOCK), layers.getMaterialList()); @@ -237,7 +237,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.SNOW_BLOCK), 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.SNOW_BLOCK), 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.GRASS_BLOCK), layers.getMaterialList()); @@ -271,7 +271,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); @@ -279,7 +279,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); @@ -287,7 +287,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()); @@ -296,7 +296,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()); @@ -305,7 +305,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()); @@ -315,7 +315,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()); @@ -324,7 +324,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()); @@ -333,7 +333,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 8818631..d0d5890 100644 --- a/src/main/java/com/MylesAndMore/tumble/api/Layers.java +++ b/src/main/java/com/MylesAndMore/tumble/api/Layers.java @@ -12,25 +12,77 @@ import java.util.Random;  public class Layers {      public Layers(){ -        // Make the other layers more common than the glass layer -        for (int i = 0; i < 10; i++) { -            matList.add(gen0); -            matList.add(gen1); -            matList.add(gen2); -            matList.add(gen3); -            matList.add(gen4); -            matList.add(gen5); -            matList.add(gen6); -            matList.add(gen7); -            matList.add(gen8); -            matList.add(gen9); -            matList.add(gen10); -            matList.add(gen12); -            matList.add(gen15); -            matList.add(gen16); -        } -        // Glass layer +        matList.add(gen0); +        matList.add(gen1); +        matList.add(gen2); +        matList.add(gen3); +        matList.add(gen4); +        matList.add(gen5); +        matList.add(gen6); +        matList.add(gen7); +        matList.add(gen8); +        matList.add(gen9); +        matList.add(gen10); +        matList.add(gen12); +        matList.add(gen14); +        matList.add(gen15); +        matList.add(gen16); +        matList.add(gen0); +        matList.add(gen1); +        matList.add(gen2); +        matList.add(gen3); +        matList.add(gen4); +        matList.add(gen5); +        matList.add(gen6); +        matList.add(gen7); +        matList.add(gen8); +        matList.add(gen9); +        matList.add(gen10); +        matList.add(gen12); +        matList.add(gen14); +        matList.add(gen15); +        matList.add(gen16); +        matList.add(gen0); +        matList.add(gen1); +        matList.add(gen2); +        matList.add(gen3); +        matList.add(gen4); +        matList.add(gen5); +        matList.add(gen6); +        matList.add(gen7); +        matList.add(gen8); +        matList.add(gen9); +        matList.add(gen10); +        matList.add(gen12); +        matList.add(gen14); +        matList.add(gen15); +        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 @@ -41,10 +93,11 @@ public class Layers {      public List<Material> getMaterialList() {          return matList.get(random.nextInt(matList.size()));      } - -    // Define the list that will store the material lists -    private final List<List<Material>> matList = new ArrayList<>(); - +     +    /** +     * @return A random predefined List of Materials that are okay to spawn players on top of +     */ +    public List<Material> getSafeMaterialList() { return safeMatList.get(random.nextInt(safeMatList.size())); }      // Begin lists @@ -68,7 +121,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<>() {{ @@ -262,6 +315,14 @@ public class Layers {          add(Material.GLASS);          add(Material.GLASS);          add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS); +        add(Material.GLASS);          add(Material.WHITE_STAINED_GLASS);      }}; @@ -274,6 +335,14 @@ public class Layers {          add(Material.BRICK_STAIRS);      }}; +    private final List<Material> gen14 = new ArrayList<>() {{ +        add(Material.LECTERN); +        add(Material.OBSIDIAN); +        add(Material.SPONGE); +        add(Material.BEEHIVE); +        add(Material.DRIED_KELP_BLOCK); +    }}; +      private final List<Material> gen15 = new ArrayList<>() {{          add(Material.SANDSTONE);          add(Material.SANDSTONE_SLAB); @@ -297,4 +366,8 @@ public class Layers {          add(Material.JUNGLE_TRAPDOOR);      }}; +    private final List<List<Material>> matList = new ArrayList<>(); + +    private final List<List<Material>> safeMatList = new ArrayList<>(); +  } | 
