Skip to content

Commit

Permalink
GH-5 Release 1.0.2 hotfix.
Browse files Browse the repository at this point in the history
**FIXED:**
- Fixed `java.lang.IllegalArgumentException` while plugin is loading.
```
java.lang.IllegalArgumentException: Route with name or alias 'setstartbarrier' already exists!
        at pl.mrstudios.deathrun.libraries.litecommands.command.CommandRouteImpl.appendChildren(CommandRouteImpl.java:108) ~[deathrun-core-1.0.1.jar:?]
        at pl.mrstudios.deathrun.libraries.litecommands.command.builder.CommandBuilderBase.build(CommandBuilderBase.java:286) ~[deathrun-core-1.0.1.jar:?]
        at pl.mrstudios.deathrun.libraries.litecommands.command.builder.CommandBuilderBase.build(CommandBuilderBase.java:280) ~[deathrun-core-1.0.1.jar:?]
        at pl.mrstudios.deathrun.libraries.litecommands.LiteCommandsBaseBuilder.build(LiteCommandsBaseBuilder.java:480) ~[deathrun-core-1.0.1.jar:?]
        at pl.mrstudios.deathrun.libraries.litecommands.LiteCommandsBaseBuilder.build(LiteCommandsBaseBuilder.java:454) ~[deathrun-core-1.0.1.jar:?]
        at pl.mrstudios.deathrun.plugin.Bootstrap.onEnable(Bootstrap.java:137) ~[deathrun-core-1.0.1.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:190) ~[paper-1.20.2.jar:git-Paper-318]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.2.jar:git-Paper-318]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugin(CraftServer.java:646) ~[paper-1.20.2.jar:git-Paper-318]
        at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugins(CraftServer.java:557) ~[paper-1.20.2.jar:git-Paper-318]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:627) ~[paper-1.20.2.jar:git-Paper-318]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:424) ~[paper-1.20.2.jar:git-Paper-318]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.20.2.jar:git-Paper-318]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1086) ~[paper-1.20.2.jar:git-Paper-318]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315) ~[paper-1.20.2.jar:git-Paper-318]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
```
  • Loading branch information
SfenKer committed Dec 6, 2023
1 parent cc6f978 commit e51b66c
Show file tree
Hide file tree
Showing 10 changed files with 59 additions and 60 deletions.
1 change: 0 additions & 1 deletion .github/FUNDING.yml

This file was deleted.

2 changes: 1 addition & 1 deletion api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>pl.mrstudios.deathrun</groupId>
<artifactId>deathrun-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>

<artifactId>deathrun-api</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>pl.mrstudios.deathrun</groupId>
<artifactId>deathrun-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
</parent>

<artifactId>deathrun-core</artifactId>
Expand Down Expand Up @@ -219,7 +219,7 @@
<mrstudios.commons.version>1.0.0</mrstudios.commons.version>
<okaeri.configs.version>5.0.0-beta.5</okaeri.configs.version>
<adventure.platform.version>4.3.1</adventure.platform.version>
<rollczi.litecommands.version>3.1.2</rollczi.litecommands.version>
<rollczi.litecommands.version>3.2.0-SNAPSHOT</rollczi.litecommands.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package pl.mrstudios.deathrun.commands;
package pl.mrstudios.deathrun.command;

import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit;
Expand Down Expand Up @@ -156,52 +156,11 @@ public void addRunnerSpawn(@Context Player player, @Arg("role") Role role) {
public void addTrap(@Context Player player, @Arg("type") String type) {
this.addTrap(player, type, null);
}

@SneakyThrows

@Execute(name = "setup addtrap")
@Permission("mrstudios.command.deathrun.setup")
public void addTrap(@Context Player player, @Arg("type") String type, @Arg("material") Material material) {

if (!this.configuration.map().arenaSetupEnabled) {
this.audiences.player(player).sendMessage(this.miniMessage.deserialize("<reset> <dark_red><b>*</b> <red>You can't use that command while setup is disabled."));
return;
}

Block target = player.getTargetBlock(null, 250);
List<Location> locations = this.locations(player);
Class<? extends ITrap> trapClass = this.trapRegistry.get(type.toUpperCase());

if (Stream.of(
Material.STONE_BUTTON,
Material.OAK_BUTTON,
Material.ACACIA_BUTTON,
Material.BIRCH_BUTTON,
Material.CRIMSON_BUTTON,
Material.JUNGLE_BUTTON,
Material.SPRUCE_BUTTON,
Material.WARPED_BUTTON
).noneMatch((button) -> target.getType().equals(button))) {
this.message(player, "<reset> <dark_red><b>*</b> <red>You must look at button that is activating trap.");
return;
}

if (trapClass == null) {
this.message(player, "<reset> <dark_red><b>*</b> <red>Trap <dark_red>%s <red>is not exists.", type.toUpperCase());
return;
}

ITrap trap = trapClass.getDeclaredConstructor().newInstance();

trap.filter(locations, material);
trap.setButton(target.getLocation());
trap.setLocations(locations);

if (material != null)
trap.setExtra(material);

this.configuration.map().arenaTraps.add(trap);
this.message(player, "<reset> <dark_green><b>*</b> <green>Added trap <dark_green>%s <green>to arena.", type.toUpperCase());

this.trap(player, type, material);
}

@Execute(name = "setup setname")
Expand Down Expand Up @@ -295,14 +254,15 @@ private void message(Player player, String message, Object... args) {
this.audiences.player(player).sendMessage(this.miniMessage.deserialize(String.format(message, args)));
}

@SuppressWarnings("all")
private List<Location> locations(Player player) {

try {

List<Location> locations = new ArrayList<>();

LocalSession session = this.worldEdit.getSessionManager().findByName(player.getName());

assert session != null;
Region region = session.getSelection(session.getSelectionWorld());

region.forEach((vector) -> locations.add(BukkitAdapter.adapt(player.getWorld(), vector)));
Expand All @@ -315,4 +275,49 @@ private List<Location> locations(Player player) {

}

@SneakyThrows
private void trap(Player player, String type, Object... objects) {

if (!this.configuration.map().arenaSetupEnabled) {
this.audiences.player(player).sendMessage(this.miniMessage.deserialize("<reset> <dark_red><b>*</b> <red>You can't use that command while setup is disabled."));
return;
}

Block target = player.getTargetBlock(null, 250);
List<Location> locations = this.locations(player);
Class<? extends ITrap> trapClass = this.trapRegistry.get(type.toUpperCase());

if (Stream.of(
Material.STONE_BUTTON,
Material.OAK_BUTTON,
Material.ACACIA_BUTTON,
Material.BIRCH_BUTTON,
Material.CRIMSON_BUTTON,
Material.JUNGLE_BUTTON,
Material.SPRUCE_BUTTON,
Material.WARPED_BUTTON
).noneMatch((button) -> target.getType().equals(button))) {
this.message(player, "<reset> <dark_red><b>*</b> <red>You must look at button that is activating trap.");
return;
}

if (trapClass == null) {
this.message(player, "<reset> <dark_red><b>*</b> <red>Trap <dark_red>%s <red>is not exists.", type.toUpperCase());
return;
}

ITrap trap = trapClass.getDeclaredConstructor().newInstance();

trap.filter(locations, objects);
trap.setButton(target.getLocation());
trap.setLocations(locations);

if (objects != null)
trap.setExtra(objects);

this.configuration.map().arenaTraps.add(trap);
this.message(player, "<reset> <dark_green><b>*</b> <green>Added trap <dark_green>%s <green>to arena.", type.toUpperCase());

}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package pl.mrstudios.deathrun.commands.handler;
package pl.mrstudios.deathrun.command.handler;

import dev.rollczi.litecommands.handler.result.ResultHandlerChain;
import dev.rollczi.litecommands.invalidusage.InvalidUsage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package pl.mrstudios.deathrun.commands.handler;
package pl.mrstudios.deathrun.command.handler;

import dev.rollczi.litecommands.handler.result.ResultHandlerChain;
import dev.rollczi.litecommands.invocation.Invocation;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,6 @@ public class LanguageConfiguration extends OkaeriConfig {
""
})
/*
public String arenaItemTeleportName = "<green>Teleport <gray>(Right Click)";
public String arenaItemStrafeLeftAvailableName = "<green>Strafe Left <gray>(Right Click)";
public String arenaItemStrafeLeftUnavailableName = "<green>Strafe Left <dark_gray>(<delay> seconds)";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,6 @@ public class PluginConfiguration extends OkaeriConfig {
@Comment({ "", "Amount of time before trap can be used again." })
public int arenaTrapDelay = 20;

@Comment({ "", "Amount of time before strafe can be used again." })
public int arenaStrafeDelay = 30;

@Comment({ "", "Max ,,survivable`` distance that player can fall." })
public int arenaMaxFallDistance = 8;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
import pl.mrstudios.deathrun.arena.trap.impl.TrapAppearingBlocks;
import pl.mrstudios.deathrun.arena.trap.impl.TrapDisappearingBlocks;
import pl.mrstudios.deathrun.arena.trap.impl.TrapTNT;
import pl.mrstudios.deathrun.commands.CommandDeathRun;
import pl.mrstudios.deathrun.commands.handler.InvalidCommandUsageHandler;
import pl.mrstudios.deathrun.commands.handler.NoCommandPermissionsHandler;
import pl.mrstudios.deathrun.command.CommandDeathRun;
import pl.mrstudios.deathrun.command.handler.InvalidCommandUsageHandler;
import pl.mrstudios.deathrun.command.handler.NoCommandPermissionsHandler;
import pl.mrstudios.deathrun.config.Configuration;
import pl.mrstudios.deathrun.config.ConfigurationFactory;
import pl.mrstudios.deathrun.config.impl.LanguageConfiguration;
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<groupId>pl.mrstudios.deathrun</groupId>
<artifactId>deathrun-parent</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
<packaging>pom</packaging>

<modules>
Expand Down

0 comments on commit e51b66c

Please sign in to comment.