1.1
- Added 2 new functions to run the response with delay and Async or Synron. - The message is now displayed in the chat before the reply if the BlockKeyMessage option is set to false.
This commit is contained in:
parent
f2ab07e4c2
commit
edddd93850
8
pom.xml
8
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>AutoResponse</artifactId>
|
<artifactId>AutoResponse</artifactId>
|
||||||
<version>0.2.2</version>
|
<version>1.1</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>T2C-AutoResponse</name>
|
<name>T2C-AutoResponse</name>
|
||||||
@ -18,6 +18,7 @@
|
|||||||
<url>git.t2code.net</url>
|
<url>git.t2code.net</url>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
<finalName>${project.name}_${project.version}</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
@ -70,16 +71,19 @@
|
|||||||
<groupId>net.t2code.minecraft.1_8.r1</groupId>
|
<groupId>net.t2code.minecraft.1_8.r1</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.8r1</version>
|
<version>1.8r1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>T2CodeLib</artifactId>
|
<artifactId>T2CodeLib</artifactId>
|
||||||
<version>13.4</version>
|
<version>14.4</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>bungee</artifactId>
|
<artifactId>bungee</artifactId>
|
||||||
<version>1615</version>
|
<version>1615</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -17,10 +17,8 @@ public class CmdExecuter implements CommandExecutor, TabCompleter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length != 0) {
|
||||||
// Command
|
// Command
|
||||||
|
|
||||||
} else {
|
|
||||||
switch (args[0].toLowerCase()) {
|
switch (args[0].toLowerCase()) {
|
||||||
case "reload":
|
case "reload":
|
||||||
case "rl":
|
case "rl":
|
||||||
@ -44,7 +42,7 @@ public class CmdExecuter implements CommandExecutor, TabCompleter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//TabCompleter
|
//TabCompleter
|
||||||
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
private static final HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
||||||
put("reload", Permissions.admin);
|
put("reload", Permissions.admin);
|
||||||
put("rl", Permissions.admin);
|
put("rl", Permissions.admin);
|
||||||
put("info", Permissions.info);
|
put("info", Permissions.info);
|
||||||
@ -57,7 +55,7 @@ public class CmdExecuter implements CommandExecutor, TabCompleter {
|
|||||||
Player p = (Player) sender;
|
Player p = (Player) sender;
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
for (String command : arg1.keySet()) {
|
for (String command : arg1.keySet()) {
|
||||||
Boolean passend = true;
|
boolean passend = true;
|
||||||
for (int i = 0; i < args[0].length(); i++) {
|
for (int i = 0; i < args[0].length(); i++) {
|
||||||
if (args[0].length() >= command.length()) {
|
if (args[0].length() >= command.length()) {
|
||||||
passend = false;
|
passend = false;
|
||||||
|
@ -30,6 +30,9 @@ public class CreateExampleResponse {
|
|||||||
T2Cconfig.set("Response.Permission.Necessary", true, yamlConfiguration);
|
T2Cconfig.set("Response.Permission.Necessary", true, yamlConfiguration);
|
||||||
T2Cconfig.set("Response.Permission.Permission", "t2c-autoresponse.response.example", yamlConfiguration);
|
T2Cconfig.set("Response.Permission.Permission", "t2c-autoresponse.response.example", yamlConfiguration);
|
||||||
|
|
||||||
|
T2Cconfig.set("Response.Response.DelayInTicks", 0, yamlConfiguration);
|
||||||
|
T2Cconfig.set("Response.Response.Async", true, yamlConfiguration);
|
||||||
|
|
||||||
T2Cconfig.set("Response.Command.Enable", false, yamlConfiguration);
|
T2Cconfig.set("Response.Command.Enable", false, yamlConfiguration);
|
||||||
T2Cconfig.set("Response.Command.CommandAsConsole", false, yamlConfiguration);
|
T2Cconfig.set("Response.Command.CommandAsConsole", false, yamlConfiguration);
|
||||||
T2Cconfig.set("Response.Command.BungeeCommand", false, yamlConfiguration);
|
T2Cconfig.set("Response.Command.BungeeCommand", false, yamlConfiguration);
|
||||||
|
@ -22,10 +22,14 @@ public class SelectResponses {
|
|||||||
yamlConfiguration.getBoolean("Response.Enable"),
|
yamlConfiguration.getBoolean("Response.Enable"),
|
||||||
yamlConfiguration.getStringList("Response.ResponseKeys"),
|
yamlConfiguration.getStringList("Response.ResponseKeys"),
|
||||||
yamlConfiguration.getBoolean("Response.Contains"),
|
yamlConfiguration.getBoolean("Response.Contains"),
|
||||||
|
|
||||||
yamlConfiguration.getBoolean("Response.BlockKeyMessage"),
|
yamlConfiguration.getBoolean("Response.BlockKeyMessage"),
|
||||||
yamlConfiguration.getBoolean("Response.Permission.Necessary"),
|
yamlConfiguration.getBoolean("Response.Permission.Necessary"),
|
||||||
yamlConfiguration.getString("Response.Permission.Permission"),
|
yamlConfiguration.getString("Response.Permission.Permission"),
|
||||||
|
|
||||||
|
yamlConfiguration.getInt("Response.Response.DelayInTicks"),
|
||||||
|
yamlConfiguration.getBoolean("Response.Response.Async"),
|
||||||
|
|
||||||
yamlConfiguration.getBoolean("Response.Command.Enable"),
|
yamlConfiguration.getBoolean("Response.Command.Enable"),
|
||||||
yamlConfiguration.getBoolean("Response.Command.CommandAsConsole"),
|
yamlConfiguration.getBoolean("Response.Command.CommandAsConsole"),
|
||||||
yamlConfiguration.getBoolean("Response.Command.BungeeCommand"),
|
yamlConfiguration.getBoolean("Response.Command.BungeeCommand"),
|
||||||
|
@ -23,23 +23,25 @@ public class ResponseListener implements Listener {
|
|||||||
public static void ChatListener(AsyncPlayerChatEvent e) {
|
public static void ChatListener(AsyncPlayerChatEvent e) {
|
||||||
Player player = e.getPlayer();
|
Player player = e.getPlayer();
|
||||||
boolean bool = false;
|
boolean bool = false;
|
||||||
for (String s : Main.allResponse) {
|
for (
|
||||||
|
String s : Main.allResponse) {
|
||||||
if (e.getMessage().contains(s)) bool = true;
|
if (e.getMessage().contains(s)) bool = true;
|
||||||
}
|
}
|
||||||
if (!bool) return;
|
if (!bool) return;
|
||||||
for (ResponsesObject response : Main.allResponses) {
|
for (
|
||||||
|
ResponsesObject response : Main.allResponses) {
|
||||||
if (!response.permNecessary || player.hasPermission(response.permission)) {
|
if (!response.permNecessary || player.hasPermission(response.permission)) {
|
||||||
if (response.contains) {
|
if (response.contains) {
|
||||||
for (String responseKey : response.responseKeys) {
|
for (String responseKey : response.responseKeys) {
|
||||||
if (e.getMessage().toLowerCase().contains(responseKey.toLowerCase())) {
|
if (e.getMessage().toLowerCase().contains(responseKey.toLowerCase())) {
|
||||||
execute(e, player, response, responseKey);
|
execute1(e, player, response, responseKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (String responseKey : response.responseKeys) {
|
for (String responseKey : response.responseKeys) {
|
||||||
if (e.getMessage().toLowerCase().equals(responseKey.toLowerCase())) {
|
if (e.getMessage().equalsIgnoreCase(responseKey)) {
|
||||||
execute(e, player, response, responseKey);
|
execute1(e, player, response, responseKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,8 +50,7 @@ public class ResponseListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void execute(AsyncPlayerChatEvent e, Player player, ResponsesObject response, String responseKey) {
|
private static void execute1(AsyncPlayerChatEvent e, Player player, ResponsesObject response, String responseKey) {
|
||||||
|
|
||||||
if (response.protectionGameModeEnable) {
|
if (response.protectionGameModeEnable) {
|
||||||
if (response.protectionGameModeMode.equalsIgnoreCase("blacklist") && response.protectionGameModeList.contains(player.getGameMode().toString())) {
|
if (response.protectionGameModeMode.equalsIgnoreCase("blacklist") && response.protectionGameModeList.contains(player.getGameMode().toString())) {
|
||||||
return;
|
return;
|
||||||
@ -67,7 +68,24 @@ public class ResponseListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
use(e, player, responseKey, response);
|
use(e, player, responseKey, response);
|
||||||
|
Bukkit.getScheduler().runTaskLaterAsynchronously(Main.getPlugin(), () -> {
|
||||||
|
if (response.async){
|
||||||
|
executeAsync(player, response);
|
||||||
|
} else executeSync(player, response);
|
||||||
|
}, 2L);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void executeSync(Player player, ResponsesObject response) {
|
||||||
|
Bukkit.getScheduler().runTaskLater(Main.getPlugin(), () -> executeFinal(player, response), (long) response.delayInTicks);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void executeAsync(Player player, ResponsesObject response) {
|
||||||
|
Bukkit.getScheduler().runTaskLaterAsynchronously(Main.getPlugin(), () -> executeFinal(player, response), (long) response.delayInTicks);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void executeFinal(Player player, ResponsesObject response) {
|
||||||
if (response.commandEnable) {
|
if (response.commandEnable) {
|
||||||
for (String cmd : response.command) {
|
for (String cmd : response.command) {
|
||||||
if (response.bungeeCommand) {
|
if (response.bungeeCommand) {
|
||||||
@ -113,8 +131,10 @@ public class ResponseListener implements Listener {
|
|||||||
} else T2Csend.player(player, text);
|
} else T2Csend.player(player, text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void use(AsyncPlayerChatEvent e, Player player, String responseKey, ResponsesObject response) {
|
private static void use(AsyncPlayerChatEvent e, Player player, String responseKey, ResponsesObject response) {
|
||||||
if (response.blockKeyMessage) e.setCancelled(true);
|
if (response.blockKeyMessage) e.setCancelled(true);
|
||||||
if (SelectConfig.logConsole) T2Csend.console(Util.getPrefix() + " §6Player: §e" + player.getName() + " §6use AutoResponse: §e" + responseKey);
|
if (SelectConfig.logConsole) T2Csend.console(Util.getPrefix() + " §6Player: §e" + player.getName() + " §6use AutoResponse: §e" + responseKey);
|
||||||
|
@ -11,6 +11,9 @@ public class ResponsesObject {
|
|||||||
public Boolean permNecessary;
|
public Boolean permNecessary;
|
||||||
public String permission;
|
public String permission;
|
||||||
|
|
||||||
|
public Integer delayInTicks;
|
||||||
|
public Boolean async;
|
||||||
|
|
||||||
public Boolean commandAsConsole;
|
public Boolean commandAsConsole;
|
||||||
public Boolean bungeeCommand;
|
public Boolean bungeeCommand;
|
||||||
public List<String> command;
|
public List<String> command;
|
||||||
@ -33,6 +36,8 @@ public class ResponsesObject {
|
|||||||
Boolean blockKeyMessage,
|
Boolean blockKeyMessage,
|
||||||
Boolean permNecessary,
|
Boolean permNecessary,
|
||||||
String permission,
|
String permission,
|
||||||
|
Integer delayInTicks,
|
||||||
|
Boolean delayAsync,
|
||||||
Boolean commandEnable,
|
Boolean commandEnable,
|
||||||
Boolean commandAsConsole,
|
Boolean commandAsConsole,
|
||||||
Boolean bungeeCommand,
|
Boolean bungeeCommand,
|
||||||
@ -49,8 +54,8 @@ public class ResponsesObject {
|
|||||||
List<String> protectionWorldList) {
|
List<String> protectionWorldList) {
|
||||||
this.enable = enable;
|
this.enable = enable;
|
||||||
this.responseKeys = responseKeys;
|
this.responseKeys = responseKeys;
|
||||||
this.contains=contains;
|
this.contains = contains;
|
||||||
this.blockKeyMessage=blockKeyMessage;
|
this.blockKeyMessage = blockKeyMessage;
|
||||||
this.permNecessary = permNecessary;
|
this.permNecessary = permNecessary;
|
||||||
this.permission = permission;
|
this.permission = permission;
|
||||||
this.commandEnable = commandEnable;
|
this.commandEnable = commandEnable;
|
||||||
@ -62,6 +67,9 @@ public class ResponsesObject {
|
|||||||
this.messageGlobalBungee = messageGlobalBungee;
|
this.messageGlobalBungee = messageGlobalBungee;
|
||||||
this.messages = messages;
|
this.messages = messages;
|
||||||
|
|
||||||
|
this.delayInTicks = delayInTicks;
|
||||||
|
this.async = delayAsync;
|
||||||
|
|
||||||
this.protectionGameModeEnable = protectionGameModeEnable;
|
this.protectionGameModeEnable = protectionGameModeEnable;
|
||||||
this.protectionGameModeMode = protectionGameModeMode;
|
this.protectionGameModeMode = protectionGameModeMode;
|
||||||
this.protectionGameModeList = protectionGameModeList;
|
this.protectionGameModeList = protectionGameModeList;
|
||||||
|
Loading…
Reference in New Issue
Block a user