diff --git a/.github/workflows/dev-analysis.yml b/.github/workflows/dev-analysis.yml new file mode 100644 index 0000000..b718f63 --- /dev/null +++ b/.github/workflows/dev-analysis.yml @@ -0,0 +1,51 @@ +name: "CodeQL" + +on: [push, pull_request] + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Cache local repo + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 + + - name: Upload a Build Artifact + uses: actions/upload-artifact@v2.2.4 + if: success() + with: + name: TerminatorPlus + path: target/ diff --git a/pom.xml b/pom.xml index 6f00317..4c201f0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.nuggetmc TerminatorPlus 3.1-BETA @@ -18,6 +17,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.8.1 8 8 @@ -26,7 +26,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.1 + 3.2.4 package @@ -49,9 +49,6 @@ org.apache.maven.plugins maven-jar-plugin 2.3.1 - - D:\Minecraft Server\plugins - @@ -62,12 +59,26 @@ + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + dre-repo + https://erethon.de/repo/ + + + + org.spigotmc spigot - 1.16.4-R0.1-SNAPSHOT + 1.16.5-R0.1-SNAPSHOT + provided - - \ No newline at end of file + diff --git a/src/main/java/net/nuggetmc/tplus/bot/Bot.java b/src/main/java/net/nuggetmc/tplus/bot/Bot.java index dafd74c..e4bb0c6 100644 --- a/src/main/java/net/nuggetmc/tplus/bot/Bot.java +++ b/src/main/java/net/nuggetmc/tplus/bot/Bot.java @@ -498,8 +498,11 @@ public class Bot extends EntityPlayer { private void dieCheck() { if (removeOnDeath) { - //scheduler.runTask(plugin, () -> plugin.getManager().remove(this)); // maybe making this later will fix the concurrentmodificationexception? - plugin.getManager().remove(this); //I replaced HashSet with ConcurrentHashMap.newKeySet which creates a "ConcurrentHashSet" + + // I replaced HashSet with ConcurrentHashMap.newKeySet which creates a "ConcurrentHashSet" + // this should fix the concurrentmodificationexception mentioned above, I used the ConcurrentHashMap.newKeySet to make a "ConcurrentHashSet" + plugin.getManager().remove(this); + scheduler.runTaskLater(plugin, this::setDead, 30); this.removeTab(); diff --git a/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java b/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java index df644a2..eba3835 100644 --- a/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java +++ b/src/main/java/net/nuggetmc/tplus/bot/agent/legacyagent/LegacyAgent.java @@ -297,7 +297,7 @@ public class LegacyAgent extends Agent { Material itemType; - if (bot.getBukkitEntity().getWorld().getName().equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) { itemType = Material.TWISTING_VINES; } else { itemType = Material.WATER_BUCKET; @@ -339,7 +339,7 @@ public class LegacyAgent extends Agent { Material placeType; Sound sound; - if (world.getName().equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) { itemType = Material.TWISTING_VINES; sound = Sound.BLOCK_WEEPING_VINES_PLACE; placeType = itemType; @@ -934,7 +934,7 @@ public class LegacyAgent extends Agent { Location loc = bot.getLocation(); if (bot.isOnFire()) { - if (!worldName.equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() != World.Environment.NETHER) { placeWaterDown(bot, world, loc); } } @@ -942,7 +942,7 @@ public class LegacyAgent extends Agent { Material atType = loc.getBlock().getType(); if (atType == Material.FIRE || atType == Material.SOUL_FIRE) { - if (!worldName.equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() != World.Environment.NETHER) { placeWaterDown(bot, world, loc); world.playSound(loc, Sound.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1, 1); } else { @@ -954,7 +954,7 @@ public class LegacyAgent extends Agent { } if (atType == Material.LAVA) { - if (worldName.equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) { bot.attemptBlockPlace(loc, Material.COBBLESTONE, false); } else { placeWaterDown(bot, world, loc); @@ -965,7 +965,7 @@ public class LegacyAgent extends Agent { Material headType = head.getBlock().getType(); if (headType == Material.LAVA) { - if (worldName.equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) { bot.attemptBlockPlace(head, Material.COBBLESTONE, false); } else { placeWaterDown(bot, world, head); @@ -973,7 +973,7 @@ public class LegacyAgent extends Agent { } if (headType == Material.FIRE || headType == Material.SOUL_FIRE) { - if (worldName.equals("world_nether")) { + if (bot.getBukkitEntity().getWorld().getEnvironment() == World.Environment.NETHER) { bot.look(BlockFace.DOWN); bot.punch(); world.playSound(head, Sound.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1, 1);