Add bedrock player check
This commit is contained in:
parent
a155415182
commit
0a811c7351
|
@ -0,0 +1,4 @@
|
|||
name: CompatNoCheatPlus
|
||||
main: me.asofold.bpl.cncp.bungee.CompatNoCheatPlus
|
||||
version: ${project.version}-${buildDescription}
|
||||
author: asofold, xaw3ep
|
Binary file not shown.
|
@ -2,7 +2,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>CompatNoCheatPlus</groupId>
|
||||
<artifactId>CompatNoCheatPlus</artifactId>
|
||||
<version>6.6.6-SNAPSHOT</version>
|
||||
<version>6.6.7-SNAPSHOT</version>
|
||||
<name>CompatNoCheatPlus</name>
|
||||
|
||||
|
||||
|
@ -13,35 +13,27 @@
|
|||
<url>https://github.com/asofold/${project.name}</url>
|
||||
</scm>
|
||||
|
||||
<!-- Repositories -->
|
||||
<!-- Repositories -->
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spigot-repo</id>
|
||||
<url>http://hub.spigotmc.org/nexus/content/repositories/snapshots</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>md_5-snapshots</id>
|
||||
<url>http://repo.md-5.net/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>md_5-releases</id>
|
||||
<url>http://repo.md-5.net/content/repositories/releases/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>cititensnpcs</id>
|
||||
<url>http://repo.citizensnpcs.co/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>repo-public</id>
|
||||
<url>https://repo.codemc.org/repository/maven-public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>opencollab-snapshot-repo</id>
|
||||
<url>https://repo.opencollab.dev/maven-snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>repo-nms</id>
|
||||
<url>https://repo.codemc.org/repository/nms/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<!-- Dependencies -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.bukkit</groupId>
|
||||
<artifactId>bukkit</artifactId>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
@ -51,61 +43,95 @@
|
|||
<version>2.1.158</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>fr.neatmonster</groupId>
|
||||
<artifactId>nocheatplus</artifactId>
|
||||
<version>3.16.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.citizensnpcs</groupId>
|
||||
<artifactId>citizensapi</artifactId>
|
||||
<version>2.0.16-SNAPSHOT</version>
|
||||
<version>2.0.26-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.benzoft.gravitytubes</groupId>
|
||||
<artifactId>gravitytubes</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/GravityTubes.jar</systemPath>
|
||||
<dependency>
|
||||
<groupId>com.benzoft.gravitytubes</groupId>
|
||||
<artifactId>gravitytubes</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/GravityTubes.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.Zrips.CMI</groupId>
|
||||
<artifactId>CMI</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/CMIAPI7.6.2.0.jar</systemPath>
|
||||
<dependency>
|
||||
<groupId>com.Zrips.CMI</groupId>
|
||||
<artifactId>CMI</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/CMIAPI7.6.2.0.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>fr.neatmonster</groupId>
|
||||
<artifactId>nocheatplus</artifactId>
|
||||
<version>3.17-SNAPSHOT-Updated</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/NoCheatPlus.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.geysermc</groupId>
|
||||
<artifactId>connector</artifactId>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.geysermc</groupId>
|
||||
<artifactId>floodgate-bukkit</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.geysermc</groupId>
|
||||
<artifactId>floodgate-bungee</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.steveice10</groupId>
|
||||
<artifactId>mcprotocollib</artifactId>
|
||||
<version>1.16.4-2-20210115.210558-6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>bungeecord-api</artifactId>
|
||||
<version>1.16-R0.5-20210213.224112-6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>bungeecord-event</artifactId>
|
||||
<version>1.16-R0.5-20210213.224052-6</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<!-- Build Description Profiles -->
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>timestamp</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>!env.BUILD_NUMBER</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<buildDescription>${maven.build.timestamp}</buildDescription>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>dynamic_build_number</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>env.BUILD_NUMBER</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<buildDescription>b${env.BUILD_NUMBER}</buildDescription>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>timestamp</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>!env.BUILD_NUMBER</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<buildDescription>${maven.build.timestamp}</buildDescription>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>dynamic_build_number</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>env.BUILD_NUMBER</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<buildDescription>b${env.BUILD_NUMBER}</buildDescription>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!-- Building -->
|
||||
<!-- Building -->
|
||||
<build>
|
||||
<defaultGoal>clean package</defaultGoal>
|
||||
<sourceDirectory>${basedir}/src</sourceDirectory>
|
||||
|
@ -117,6 +143,7 @@
|
|||
<includes>
|
||||
<include>plugin.yml</include>
|
||||
<include>LICENSE.txt</include>
|
||||
<include>bungee.yml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.bukkit.Bukkit;
|
|||
import org.bukkit.Server;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
@ -22,11 +23,11 @@ import org.bukkit.plugin.PluginDescriptionFile;
|
|||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import fr.neatmonster.nocheatplus.NCPAPIProvider;
|
||||
import fr.neatmonster.nocheatplus.components.registry.feature.IDisableListener;
|
||||
import fr.neatmonster.nocheatplus.hooks.NCPHook;
|
||||
import fr.neatmonster.nocheatplus.hooks.NCPHookManager;
|
||||
import me.asofold.bpl.cncp.bedrock.BedrockPlayerListener;
|
||||
import me.asofold.bpl.cncp.config.Settings;
|
||||
import me.asofold.bpl.cncp.config.compatlayer.CompatConfig;
|
||||
import me.asofold.bpl.cncp.config.compatlayer.NewConfig;
|
||||
|
@ -52,6 +53,8 @@ public class CompatNoCheatPlus extends JavaPlugin implements Listener {
|
|||
|
||||
private final Settings settings = new Settings();
|
||||
|
||||
private boolean bungee;
|
||||
|
||||
/** Hooks registered with cncp */
|
||||
private static final Set<Hook> registeredHooks = new HashSet<Hook>();
|
||||
|
||||
|
@ -243,6 +246,18 @@ public class CompatNoCheatPlus extends JavaPlugin implements Listener {
|
|||
// Register own listener:
|
||||
final PluginManager pm = getServer().getPluginManager();
|
||||
pm.registerEvents(this, this);
|
||||
pm.registerEvents(new BedrockPlayerListener(), this);
|
||||
getServer().getMessenger().registerIncomingPluginChannel(this, "cncp:geyser", new BedrockPlayerListener());
|
||||
try {
|
||||
bungee = getServer().spigot().getConfig().getBoolean("settings.bungeecord");
|
||||
|
||||
// sometimes not work, try the hard way
|
||||
if (!bungee) {
|
||||
bungee = YamlConfiguration.loadConfiguration(new File("spigot.yml")).getBoolean("settings.bungeecord");
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
bungee = false;
|
||||
}
|
||||
super.onEnable();
|
||||
|
||||
// Add Hooks:
|
||||
|
@ -351,6 +366,7 @@ public class CompatNoCheatPlus extends JavaPlugin implements Listener {
|
|||
unregisterNCPHooks(); // Just in case.
|
||||
enabled = false;
|
||||
instance = null; // Set last.
|
||||
getServer().getMessenger().unregisterIncomingPluginChannel(this, "cncp:geyser");
|
||||
super.onDisable();
|
||||
}
|
||||
|
||||
|
@ -475,4 +491,11 @@ public class CompatNoCheatPlus extends JavaPlugin implements Listener {
|
|||
return pdf.getFullName();
|
||||
}
|
||||
|
||||
public Settings getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
public boolean isBungeeEnabled() {
|
||||
return bungee;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
package me.asofold.bpl.cncp.bedrock;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.messaging.PluginMessageListener;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import org.geysermc.connector.network.session.GeyserSession;
|
||||
import org.geysermc.floodgate.FloodgateAPI;
|
||||
|
||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
||||
import com.github.steveice10.mc.protocol.MinecraftProtocol;
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
|
||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||
import fr.neatmonster.nocheatplus.checks.moving.MovingData;
|
||||
import fr.neatmonster.nocheatplus.players.DataManager;
|
||||
import fr.neatmonster.nocheatplus.players.IPlayerData;
|
||||
import me.asofold.bpl.cncp.CompatNoCheatPlus;
|
||||
import me.asofold.bpl.cncp.config.Settings;
|
||||
|
||||
public class BedrockPlayerListener implements Listener, PluginMessageListener {
|
||||
|
||||
private Plugin floodgate = Bukkit.getPluginManager().getPlugin("floodgate-bukkit");
|
||||
private Plugin geyser = Bukkit.getPluginManager().getPlugin("Geyser-Spigot");
|
||||
private final Settings settings = CompatNoCheatPlus.getInstance().getSettings();
|
||||
|
||||
@EventHandler(priority=EventPriority.MONITOR)
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
if (floodgate != null && floodgate.isEnabled()) {
|
||||
if (FloodgateAPI.isBedrockPlayer(player.getUniqueId())) {
|
||||
processExemption(player);
|
||||
}
|
||||
} else
|
||||
if (geyser != null && geyser.isEnabled()) {
|
||||
if (GeyserConnector.getInstance().getPlayers().stream()
|
||||
.map(GeyserSession::getProtocol)
|
||||
.map(MinecraftProtocol::getProfile)
|
||||
.map(GameProfile::getName)
|
||||
.anyMatch(name -> player.getName().equals(name))) {
|
||||
processExemption(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processExemption(final Player player) {
|
||||
final IPlayerData pData = DataManager.getPlayerData(player);
|
||||
if (pData != null) {
|
||||
for (CheckType check : settings.extemptChecks) pData.exempt(check);
|
||||
MovingData data = pData.getGenericInstance(MovingData.class);
|
||||
data.bedrockPlayer = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void processExemption(final String playername) {
|
||||
final IPlayerData pData = DataManager.getPlayerData(playername);
|
||||
if (pData != null) {
|
||||
for (CheckType check : settings.extemptChecks) pData.exempt(check);
|
||||
MovingData data = pData.getGenericInstance(MovingData.class);
|
||||
data.bedrockPlayer = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPluginMessageReceived(String channel, Player player, byte[] data) {
|
||||
if (CompatNoCheatPlus.getInstance().isBungeeEnabled() && channel.equals("cncp:geyser")) {
|
||||
geyser = null;
|
||||
floodgate = null;
|
||||
ByteArrayDataInput input = ByteStreams.newDataInput(data);
|
||||
String playerName = input.readUTF();
|
||||
processExemption(playerName);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
package me.asofold.bpl.cncp.bungee;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import org.geysermc.connector.network.session.GeyserSession;
|
||||
import org.geysermc.floodgate.FloodgateAPI;
|
||||
|
||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
||||
import com.github.steveice10.mc.protocol.MinecraftProtocol;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.connection.Server;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.event.ServerSwitchEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
|
||||
public class CompatNoCheatPlus extends Plugin implements Listener {
|
||||
private boolean floodgate;
|
||||
private boolean geyser;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
geyser = checkGeyser();
|
||||
floodgate = checkFloodgate();
|
||||
getLogger().info("Registering listeners");
|
||||
getProxy().getPluginManager().registerListener(this, this);
|
||||
getProxy().registerChannel("cncp:geyser");
|
||||
getLogger().info("cncp Bungee mode with Geyser : " + geyser + ", Floodgate : " + floodgate);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMessageReceive(PluginMessageEvent event) {
|
||||
if (event.getTag().equalsIgnoreCase("cncp:geyser")) {
|
||||
// Message sent from client, cancel it
|
||||
if (event.getSender() instanceof ProxiedPlayer) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkFloodgate() {
|
||||
return ProxyServer.getInstance().getPluginManager().getPlugin("floodgate-bungee") != null;
|
||||
}
|
||||
|
||||
private boolean checkGeyser() {
|
||||
return ProxyServer.getInstance().getPluginManager().getPlugin("Geyser-BungeeCord") != null;
|
||||
}
|
||||
|
||||
private boolean isBedrockPlayer(ProxiedPlayer player) {
|
||||
if (floodgate) {
|
||||
return FloodgateAPI.isBedrockPlayer(player.getUniqueId());
|
||||
} else if (geyser) {
|
||||
return GeyserConnector.getInstance().getPlayers().stream()
|
||||
.map(GeyserSession::getProtocol)
|
||||
.map(MinecraftProtocol::getProfile)
|
||||
.map(GameProfile::getName)
|
||||
.anyMatch(name -> player.getName().equals(name));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onChangeServer(ServerSwitchEvent event) {
|
||||
ProxiedPlayer player = event.getPlayer();
|
||||
Server server = player.getServer();
|
||||
|
||||
if (!isBedrockPlayer(player)) return;
|
||||
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
try {
|
||||
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
|
||||
dataOutputStream.writeUTF(player.getName());
|
||||
getProxy().getScheduler().schedule(this, () -> {
|
||||
server.sendData("cncp:geyser", outputStream.toByteArray());
|
||||
}, 1L, TimeUnit.SECONDS);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ import java.util.Set;
|
|||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||
import me.asofold.bpl.cncp.config.compatlayer.CompatConfig;
|
||||
import me.asofold.bpl.cncp.config.compatlayer.ConfigUtil;
|
||||
import me.asofold.bpl.cncp.config.compatlayer.NewConfig;
|
||||
|
@ -16,6 +17,7 @@ public class Settings {
|
|||
|
||||
public Set<String> forceEnableLater = new LinkedHashSet<String>();
|
||||
public Set<String> loadPlugins = new LinkedHashSet<String>();
|
||||
public Set<CheckType> extemptChecks = new LinkedHashSet<CheckType>();
|
||||
|
||||
public static Set<String> preventAddHooks = new HashSet<String>();
|
||||
|
||||
|
@ -23,6 +25,19 @@ public class Settings {
|
|||
CompatConfig cfg = new NewConfig(null);
|
||||
cfg.set("plugins.force-enable-later", new LinkedList<String>()); // ConfigUtil.asList(new String[]{ "NoCheatPlus" }));
|
||||
cfg.set("plugins.ensure-enable", new LinkedList<String>()); // ConfigUtil.asList(new String[]{ "WorldGuard" }));
|
||||
cfg.set("plugins.bedrock-extempt-checks", ConfigUtil.asList(new String[]{
|
||||
"BLOCKINTERACT_VISIBLE",
|
||||
"BLOCKINTERACT_DIRECTION",
|
||||
"BLOCKINTERACT_REACH",
|
||||
"BLOCKBREAK_DIRECTION",
|
||||
"BLOCKBREAK_NOSWING",
|
||||
"BLOCKBREAK_REACH",
|
||||
"BLOCKPLACE_NOSWING",
|
||||
"BLOCKPLACE_DIRECTION",
|
||||
"BLOCKPLACE_REACH",
|
||||
"BLOCKPLACE_SCAFFOLD",
|
||||
"FIGHT_DIRECTION",
|
||||
}));
|
||||
cfg.set("hooks.prevent-add", new LinkedList<String>());
|
||||
cfg.set("configversion", configVersion);
|
||||
return cfg;
|
||||
|
@ -61,7 +76,9 @@ public class Settings {
|
|||
// plugins to force enabling after this plugin.
|
||||
ConfigUtil.readStringSetFromList(cfg, "plugins.force-enable-later", forceEnableLater, true, true, false);
|
||||
ConfigUtil.readStringSetFromList(cfg, "plugins.ensure-enable", loadPlugins, true, true, false);
|
||||
|
||||
|
||||
ConfigUtil.readCheckTypeSetFromList(cfg, "plugins.bedrock-extempt-checks", extemptChecks, true, true, true);
|
||||
|
||||
// General
|
||||
ConfigUtil.readStringSetFromList(cfg, "hooks.prevent-add", preventAddHooks, true, true, false);
|
||||
return true;
|
||||
|
|
|
@ -5,6 +5,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||
|
||||
public class ConfigUtil {
|
||||
|
||||
public static final int canaryInt = Integer.MIN_VALUE +7;
|
||||
|
@ -114,6 +116,32 @@ public class ConfigUtil {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add StringList entries to a set.
|
||||
* @param cfg
|
||||
* @param path
|
||||
* @param set
|
||||
* @param clear If to clear the set.
|
||||
* @param trim
|
||||
* @param upperCase
|
||||
*/
|
||||
public static void readCheckTypeSetFromList(CompatConfig cfg, String path, Set<CheckType> set, boolean clear, boolean trim, boolean upperCase){
|
||||
if (clear) set.clear();
|
||||
List<String> tempList = cfg.getStringList(path , null);
|
||||
if (tempList != null){
|
||||
for (String entry : tempList) {
|
||||
if (trim) entry = entry.trim();
|
||||
if (upperCase) entry = entry.toUpperCase();
|
||||
try {
|
||||
final CheckType checkType = CheckType.valueOf(entry);
|
||||
set.add(checkType);
|
||||
} catch (Exception e) {
|
||||
System.out.print("[cncp] Unknow check " + entry + " is. Skipping!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an ArrayList.
|
||||
|
|
Loading…
Reference in New Issue