more events and addon fixes

This commit is contained in:
SuperRonanCraft
2020-11-12 00:30:40 -05:00
parent 08607beef4
commit be3c7cadb8
21 changed files with 358 additions and 51 deletions

View File

@@ -30,7 +30,6 @@ public class BetterRTP extends JavaPlugin {
private final RTPInventories invs = new RTPInventories();
private final PlayerInfo pInfo = new PlayerInfo();
private final Settings settings = new Settings();
private final RTPEventRegistry events = new RTPEventRegistry();
public void onEnable() {
instance = this;
@@ -122,8 +121,4 @@ public class BetterRTP extends JavaPlugin {
if (getInstance().getSettings().debug)
getInstance().getLogger().info(str);
}
public RTPEventRegistry getEvents() {
return events;
}
}

View File

@@ -1,9 +1,14 @@
package me.SuperRonanCraft.BetterRTP.player.commands;
import com.bekvon.bukkit.residence.commands.list;
import com.bekvon.bukkit.residence.containers.cmd;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import org.bukkit.Bukkit;
import org.bukkit.block.Biome;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -34,12 +39,14 @@ public class Commands {
public void commandExecuted(CommandSender sendi, String label, String[] args) {
if (pl.getPerms().getUse(sendi)) {
if (args != null && args.length > 0) {
for (CommandTypes cmd : CommandTypes.values()) {
for (RTPCommandType cmd : RTPCommandType.values()) {
if (cmd.name().equalsIgnoreCase(args[0])) {
if (!cmd.isDebugOnly() || pl.getSettings().debug) { //Debug only?
if (cmd.getCmd().permission(sendi))
if (cmd.getCmd().permission(sendi)) {
cmd.getCmd().execute(sendi, label, args);
else
//Command Event
Bukkit.getServer().getPluginManager().callEvent(new RTP_CommandEvent(sendi, cmd));
} else
noPerm(sendi);
return;
}
@@ -59,14 +66,14 @@ public class Commands {
public List<String> onTabComplete(CommandSender sendi, String[] args) {
List<String> list = new ArrayList<>();
if (args.length == 1) {
for (CommandTypes cmd : CommandTypes.values()) {
for (RTPCommandType cmd : RTPCommandType.values()) {
if (cmd.name().toLowerCase().startsWith(args[0].toLowerCase()))
if (!cmd.isDebugOnly() || pl.getSettings().debug) //Debug only?
if (cmd.getCmd().permission(sendi))
list.add(cmd.name().toLowerCase());
}
} else if (args.length > 1) {
for (CommandTypes cmd : CommandTypes.values()) {
for (RTPCommandType cmd : RTPCommandType.values()) {
if (cmd.name().equalsIgnoreCase(args[0]))
if (!cmd.isDebugOnly() || pl.getSettings().debug) //Debug only?
if (cmd.getCmd().permission(sendi)) {

View File

@@ -2,7 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.commands;
import me.SuperRonanCraft.BetterRTP.player.commands.types.*;
public enum CommandTypes {
public enum RTPCommandType {
BIOME(new CmdBiome()),
EDIT(new CmdEdit()),
HELP(new CmdHelp()),
@@ -17,11 +17,11 @@ public enum CommandTypes {
private final RTPCommand cmd;
private boolean debugOnly = false;
CommandTypes(RTPCommand cmd) {
RTPCommandType(RTPCommand cmd) {
this.cmd = cmd;
}
CommandTypes(RTPCommand cmd, boolean debugOnly) {
RTPCommandType(RTPCommand cmd, boolean debugOnly) {
this.cmd = cmd;
this.debugOnly = debugOnly;
}

View File

@@ -1,6 +1,6 @@
package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.player.commands.CommandTypes;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.references.file.Messages;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
@@ -17,7 +17,7 @@ public class CmdHelp implements RTPCommand, RTPCommandHelpable {
List<String> list = new ArrayList<>();
list.add(txt.getHelpPrefix());
list.add(txt.getHelpMain());
for (CommandTypes cmd : CommandTypes.values())
for (RTPCommandType cmd : RTPCommandType.values())
if (!cmd.isDebugOnly() || BetterRTP.getInstance().getSettings().debug)
if (cmd.getCmd().permission(sendi))
if (cmd.getCmd() instanceof RTPCommandHelpable) {

View File

@@ -1,7 +1,7 @@
package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.CommandTypes;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
@@ -47,7 +47,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
if (w.getName().startsWith(args[2]) && !BetterRTP.getInstance().getRTP().disabledWorlds().contains(w.getName()))
list.add(w.getName());
} else if (args.length > 3) {
if (CommandTypes.BIOME.getCmd().permission(sendi))
if (RTPCommandType.BIOME.getCmd().permission(sendi))
getCmd().addBiomes(list, args);
}
return list;

View File

@@ -3,7 +3,7 @@ package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.CommandTypes;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import org.bukkit.Bukkit;
import org.bukkit.World;
@@ -32,7 +32,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
list.add(_wName);
}
} else if (args.length >= 3) {
if (CommandTypes.BIOME.getCmd().permission(sendi))
if (RTPCommandType.BIOME.getCmd().permission(sendi))
getCmd().addBiomes(list, args);
}
return list;

View File

@@ -1,6 +1,6 @@
package me.SuperRonanCraft.BetterRTP.player.events;
import me.SuperRonanCraft.BetterRTP.player.commands.CommandTypes;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import org.bukkit.block.Block;
@@ -34,7 +34,7 @@ class Interact {
action(e.getPlayer(), null);
return;
} else
for (CommandTypes cmd : CommandTypes.values())
for (RTPCommandType cmd : RTPCommandType.values())
if (command.equalsIgnoreCase(cmd.name())) {
action(e.getPlayer(), cmd(sign.getLines()).split(" "));
return;

View File

@@ -2,7 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
import io.papermc.lib.PaperLib;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.*;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
@@ -83,7 +83,7 @@ public class RTPTeleport {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.TELEPORT, p, loc, attempts, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.TELEPORT))
sendSuccessMsg(p, p.getName(), loc, price, true, attempts);
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportEvent(p, loc, oldLoc));
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPostEvent(p, loc, oldLoc));
}
public void beforeTeleportInstant(CommandSender sendi, Player p) {
@@ -91,6 +91,7 @@ public class RTPTeleport {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.NODELAY, p, p.getLocation(), 0, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.NODELAY))
getPl().getText().getSuccessTeleport(sendi);
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPreEvent(p));
}
public void beforeTeleportDelay(Player p, int delay) { //Only Delays should call this

View File

@@ -0,0 +1,35 @@
package me.SuperRonanCraft.BetterRTP.references.customEvents;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public class RTP_CommandEvent extends Event {
CommandSender sendi;
RTPCommandType cmd;
private static final HandlerList handler = new HandlerList();
public RTP_CommandEvent(CommandSender sendi, RTPCommandType cmd) {
this.sendi = sendi;
this.cmd = cmd;
}
public CommandSender getSendi() {
return sendi;
}
public RTPCommandType getCmd() {
return cmd;
}
@Override
public HandlerList getHandlers() {
return handler;
}
public static HandlerList getHandlerList() {
return handler;
}
}

View File

@@ -5,14 +5,14 @@ import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public class RTP_TeleportEvent extends Event {
public class RTP_TeleportPostEvent extends Event {
Player p;
Location loc;
Location oldLoc;
private static final HandlerList handler = new HandlerList();
public RTP_TeleportEvent(Player p, Location loc, Location oldLoc) {
public RTP_TeleportPostEvent(Player p, Location loc, Location oldLoc) {
this.p = p;
this.loc = loc;
this.oldLoc = oldLoc;

View File

@@ -0,0 +1,28 @@
package me.SuperRonanCraft.BetterRTP.references.customEvents;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public class RTP_TeleportPreEvent extends Event {
Player p;
private static final HandlerList handler = new HandlerList();
public RTP_TeleportPreEvent(Player p) {
this.p = p;
}
public Player getPlayer() {
return p;
}
@Override
public HandlerList getHandlers() {
return handler;
}
public static HandlerList getHandlerList() {
return handler;
}
}