From 647a732b3a3979f20e872a8b9379dbc1eb59f50d Mon Sep 17 00:00:00 2001 From: CraivMan Date: Tue, 13 Dec 2022 21:37:45 -0600 Subject: [PATCH 1/6] Fixed Anticheat Kick by removing some blocks --- src/main/java/com/MylesAndMore/tumble/Game.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 58c42a5..2dd22e2 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -230,7 +230,7 @@ else if (Random.nextInt(4) == 1) { } 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()); From 770868d7b9d3c3692832d04511cccec88a113d56 Mon Sep 17 00:00:00 2001 From: CraivMan Date: Tue, 13 Dec 2022 21:38:10 -0600 Subject: [PATCH 2/6] Fixed anticheat #2 --- .../java/com/MylesAndMore/tumble/Game.java | 16 +++++----- .../com/MylesAndMore/tumble/api/Layers.java | 29 ++++++++++++++++++- 2 files changed, 36 insertions(+), 9 deletions(-) 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 @@ else if (Objects.equals(type, "snowballs")) { // 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 @@ else if (Objects.equals(type, "snowballs")) { } 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 @@ else if (Random.nextInt(4) == 1) { } 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 @@ else if (Random.nextInt(4) == 2) { 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 @@ else if (Random.nextInt(4) == 2) { 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 @@ else if (Random.nextInt(4) == 2) { } 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 @@ else if (Random.nextInt(4) == 2) { 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 @@ else if (Random.nextInt(4) == 2) { 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 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 List getMaterialList() { return matList.get(random.nextInt(matList.size())); } + public List getSafeMaterialList() { return safeMatList.get(random.nextInt(safeMatList.size())); } // Begin lists @@ -93,7 +118,7 @@ public List getMaterialList() { add(Material.GRASS_BLOCK); add(Material.GRASS_BLOCK); add(Material.GRASS_BLOCK); - // add(Material.COBWEB); + add(Material.COBWEB); }}; private final List gen1 = new ArrayList<>() {{ @@ -340,4 +365,6 @@ public List getMaterialList() { private final List> matList = new ArrayList<>(); + private final List> safeMatList = new ArrayList<>(); + } From a72c05e9690c619b29a002c353115226e70912fb Mon Sep 17 00:00:00 2001 From: Myles Date: Tue, 13 Dec 2022 21:40:31 -0600 Subject: [PATCH 3/6] oops I forgot some --- src/main/java/com/MylesAndMore/tumble/Game.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 10b5c67..aa24e97 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -219,11 +219,11 @@ private boolean generateLayers(String type) { // 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 @@ -237,7 +237,7 @@ else if (Random.nextInt(4) == 2) { } 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()); From 5d0c89d381c9750c4e0adb8328750a9857bfc8ab Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Tue, 13 Dec 2022 21:59:45 -0600 Subject: [PATCH 4/6] merge alpha and beta pt. 1 --- src/main/java/com/MylesAndMore/tumble/api/Layers.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/MylesAndMore/tumble/api/Layers.java b/src/main/java/com/MylesAndMore/tumble/api/Layers.java index 33ad21e..d0d5890 100644 --- a/src/main/java/com/MylesAndMore/tumble/api/Layers.java +++ b/src/main/java/com/MylesAndMore/tumble/api/Layers.java @@ -93,7 +93,10 @@ public Layers(){ public List getMaterialList() { return matList.get(random.nextInt(matList.size())); } - + + /** + * @return A random predefined List of Materials that are okay to spawn players on top of + */ public List getSafeMaterialList() { return safeMatList.get(random.nextInt(safeMatList.size())); } // Begin lists From af11acd1539bf6448d1f11c99538cac9888afb42 Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Tue, 13 Dec 2022 22:02:12 -0600 Subject: [PATCH 5/6] merge alpha and beta pt. 2 --- .../java/com/MylesAndMore/tumble/EventListener.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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.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 void EntityDamageEvent(EntityDamageEvent event) { } } } + + @EventHandler + public void InventoryDragEvent(InventoryDragEvent event) { + if (TumbleManager.getGameWorld() == null) { + return; + } + if (event.getWhoClicked().getWorld() == Bukkit.getWorld((TumbleManager.getGameWorld()))) { + event.setCancelled(true); + } + } + } From a4e87ea0cf6c028ef12e871bb060904a7af49283 Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Wed, 14 Dec 2022 04:06:17 +0000 Subject: [PATCH 6/6] update version for quick bugfix --- build.gradle | 2 +- src/main/resources/plugin.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index a7f815e..8692a34 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ java { } group 'tumble' -version '1.0.0' +version '1.0.1' repositories { // Use Maven Central for resolving dependencies. diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index c78eece..02dd899 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ main: com.MylesAndMore.tumble.Main name: tumble -version: 1.0.0 +version: 1.0.1 description: 'A Minecraft: Java Edition plugin recreating the Tumble minigame from Minecraft Legacy Console Edition.' api-version: 1.19 load: STARTUP