mirror of
https://github.com/SimplexDevelopment/FreedomNetworkSuite.git
synced 2024-11-13 04:33:33 +00:00
Adjust to better align with code specs
This commit is contained in:
parent
288e32b47d
commit
49ad109671
@ -22,7 +22,7 @@ public final class BanUID implements BanID
|
||||
|
||||
final Instant instant = Instant.now();
|
||||
|
||||
String stringBuilder = String.valueOf(instant.get(ChronoField.DAY_OF_YEAR)) + // The first three numbers between 001 -> 365
|
||||
final String stringBuilder = String.valueOf(instant.get(ChronoField.DAY_OF_YEAR)) + // The first three numbers between 001 -> 365
|
||||
instant.get(ChronoField.HOUR_OF_DAY) + // next two numbers between 00 -> 23
|
||||
instant.get(ChronoField.MINUTE_OF_HOUR) + // next two numbers between 00 -> 59
|
||||
instant.get(ChronoField.MILLI_OF_SECOND); // last three numbers between 000 -> 999
|
||||
|
@ -7,7 +7,7 @@ public class UserDataUpdateEvent extends FEvent
|
||||
{
|
||||
private final UserData data;
|
||||
|
||||
public UserDataUpdateEvent(UserData data)
|
||||
public UserDataUpdateEvent(final UserData data)
|
||||
{
|
||||
this.data = data;
|
||||
}
|
||||
|
@ -27,12 +27,12 @@ public class FreedomGroup implements Group
|
||||
private final Set<Node> permissions;
|
||||
private final PermissionAttachment attachment;
|
||||
|
||||
public FreedomGroup(Component name,
|
||||
Component prefix,
|
||||
Component abbreviation,
|
||||
int weight,
|
||||
boolean isDefault,
|
||||
boolean isHidden)
|
||||
public FreedomGroup(final Component name,
|
||||
final Component prefix,
|
||||
final Component abbreviation,
|
||||
final int weight,
|
||||
final boolean isDefault,
|
||||
final boolean isHidden)
|
||||
{
|
||||
this.name = name;
|
||||
this.prefix = prefix;
|
||||
@ -94,21 +94,21 @@ public class FreedomGroup implements Group
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPermission(Node node)
|
||||
public boolean addPermission(final Node node)
|
||||
{
|
||||
return permissions().add(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removePermission(Node node)
|
||||
public boolean removePermission(final Node node)
|
||||
{
|
||||
return permissions().remove(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull String name)
|
||||
public boolean isPermissionSet(@NotNull final String name)
|
||||
{
|
||||
Node node = permissions().stream()
|
||||
final Node node = permissions().stream()
|
||||
.filter(n -> n.key().equalsIgnoreCase(name))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
@ -117,9 +117,9 @@ public class FreedomGroup implements Group
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull Permission perm)
|
||||
public boolean isPermissionSet(@NotNull final Permission perm)
|
||||
{
|
||||
Node node = permissions()
|
||||
final Node node = permissions()
|
||||
.stream()
|
||||
.filter(n -> n.bukkit().equals(perm))
|
||||
.findFirst()
|
||||
@ -129,9 +129,9 @@ public class FreedomGroup implements Group
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull String name)
|
||||
public boolean hasPermission(@NotNull final String name)
|
||||
{
|
||||
Node node = permissions().stream()
|
||||
final Node node = permissions().stream()
|
||||
.filter(n -> n.key().equalsIgnoreCase(name))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
@ -140,9 +140,9 @@ public class FreedomGroup implements Group
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull Permission perm)
|
||||
public boolean hasPermission(@NotNull final Permission perm)
|
||||
{
|
||||
Node node = permissions()
|
||||
final Node node = permissions()
|
||||
.stream()
|
||||
.filter(n -> n.bukkit().equals(perm))
|
||||
.findFirst()
|
||||
@ -164,33 +164,33 @@ public class FreedomGroup implements Group
|
||||
* @return This group's PermissionAttachment.
|
||||
*/
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull final Plugin plugin, @NotNull final String name, final boolean value)
|
||||
{
|
||||
attachment.setPermission(name, value);
|
||||
return attachment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin)
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull final Plugin plugin)
|
||||
{
|
||||
return new PermissionAttachment(plugin, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull final Plugin plugin, @NotNull final String name, final boolean value, final int ticks)
|
||||
{
|
||||
attachment.setPermission(name, value);
|
||||
return attachment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, int ticks)
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull final Plugin plugin, final int ticks)
|
||||
{
|
||||
return new PermissionAttachment(plugin, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(@NotNull PermissionAttachment attachment)
|
||||
public void removeAttachment(@NotNull final PermissionAttachment attachment)
|
||||
{
|
||||
// This method shouldn't do anything, because we don't want to remove our attachment.
|
||||
}
|
||||
@ -217,7 +217,7 @@ public class FreedomGroup implements Group
|
||||
@Override
|
||||
public boolean isOp()
|
||||
{
|
||||
Node node = permissions()
|
||||
final Node node = permissions()
|
||||
.stream()
|
||||
.filter(n -> n.equals(DefaultNodes.OP))
|
||||
.findFirst()
|
||||
@ -227,7 +227,7 @@ public class FreedomGroup implements Group
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean value)
|
||||
public void setOp(final boolean value)
|
||||
{
|
||||
if (value)
|
||||
{
|
||||
|
@ -16,7 +16,11 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* The superinterface User extends PermissionHolder,
|
||||
@ -32,13 +36,13 @@ public class FreedomUser implements User
|
||||
private final String NOT_ONLINE = "Player is not online";
|
||||
private final UserData userData;
|
||||
|
||||
public FreedomUser(Player player)
|
||||
public FreedomUser(final Player player)
|
||||
{
|
||||
this.uuid = player.getUniqueId();
|
||||
this.permissions = new HashSet<>();
|
||||
this.displayName = player.displayName();
|
||||
|
||||
Datura datura = CommonsBase.getInstance()
|
||||
final Datura datura = CommonsBase.getInstance()
|
||||
.getRegistrations()
|
||||
.getModuleRegistry()
|
||||
.getModule(Datura.class)
|
||||
@ -77,15 +81,15 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPermission(Node node)
|
||||
public boolean addPermission(final Node node)
|
||||
{
|
||||
PermissionAttachment attachment = addAttachment(CommonsBase.getInstance(), node.key(), node.value());
|
||||
final PermissionAttachment attachment = addAttachment(CommonsBase.getInstance(), node.key(), node.value());
|
||||
bukkitAttachments.put(node, attachment);
|
||||
return permissions().add(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removePermission(Node node)
|
||||
public boolean removePermission(final Node node)
|
||||
{
|
||||
removeAttachment(bukkitAttachments.get(node));
|
||||
bukkitAttachments.remove(node);
|
||||
@ -105,37 +109,37 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull String name)
|
||||
public boolean isPermissionSet(@NotNull final String name)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
return player != null && player.isPermissionSet(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull Permission perm)
|
||||
public boolean isPermissionSet(@NotNull final Permission perm)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
return player != null && player.isPermissionSet(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull String name)
|
||||
public boolean hasPermission(@NotNull final String name)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
return player != null && player.hasPermission(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull Permission perm)
|
||||
public boolean hasPermission(@NotNull final Permission perm)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
return player != null && player.hasPermission(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull final Plugin plugin, @NotNull final String name, final boolean value)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
return player.addAttachment(plugin, name, value);
|
||||
@ -145,9 +149,9 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin)
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull final Plugin plugin)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
return player.addAttachment(plugin);
|
||||
@ -157,9 +161,9 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull final Plugin plugin, @NotNull final String name, final boolean value, final int ticks)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
return player.addAttachment(plugin, name, value, ticks);
|
||||
@ -169,9 +173,9 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, int ticks)
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull final Plugin plugin, final int ticks)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
return player.addAttachment(plugin, ticks);
|
||||
@ -181,9 +185,9 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(@NotNull PermissionAttachment attachment)
|
||||
public void removeAttachment(@NotNull final PermissionAttachment attachment)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
player.removeAttachment(attachment);
|
||||
@ -195,7 +199,7 @@ public class FreedomUser implements User
|
||||
@Override
|
||||
public void recalculatePermissions()
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
player.recalculatePermissions();
|
||||
@ -207,7 +211,7 @@ public class FreedomUser implements User
|
||||
@Override
|
||||
public @NotNull Set<PermissionAttachmentInfo> getEffectivePermissions()
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null)
|
||||
{
|
||||
return player.getEffectivePermissions();
|
||||
@ -223,7 +227,7 @@ public class FreedomUser implements User
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean value)
|
||||
public void setOp(final boolean value)
|
||||
{
|
||||
if (value)
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ record PermissionNode(String key,
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean compare(Node node)
|
||||
public boolean compare(final Node node)
|
||||
{
|
||||
return node.key().equalsIgnoreCase(key())
|
||||
&& node.value() == value()
|
||||
|
@ -14,42 +14,42 @@ public class PermissionNodeBuilder implements NodeBuilder
|
||||
private boolean negated = false;
|
||||
|
||||
@Override
|
||||
public NodeBuilder key(String key)
|
||||
public NodeBuilder key(final String key)
|
||||
{
|
||||
this.key = key;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeBuilder value(boolean value)
|
||||
public NodeBuilder value(final boolean value)
|
||||
{
|
||||
this.value = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeBuilder expiry(long expiry)
|
||||
public NodeBuilder expiry(final long expiry)
|
||||
{
|
||||
this.expiry = expiry;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeBuilder type(NodeType type)
|
||||
public NodeBuilder type(final NodeType type)
|
||||
{
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeBuilder wildcard(boolean wildcard)
|
||||
public NodeBuilder wildcard(final boolean wildcard)
|
||||
{
|
||||
this.wildcard = wildcard;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeBuilder negated(boolean negated)
|
||||
public NodeBuilder negated(final boolean negated)
|
||||
{
|
||||
this.negated = negated;
|
||||
return this;
|
||||
|
@ -12,7 +12,11 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.DoubleUnaryOperator;
|
||||
|
||||
public class Cager extends Service
|
||||
@ -34,18 +38,18 @@ public class Cager extends Service
|
||||
*
|
||||
* @param uuid The UUID of the player to cage.
|
||||
*/
|
||||
public void cagePlayer(UUID uuid)
|
||||
public void cagePlayer(final UUID uuid)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) return;
|
||||
|
||||
cagedPlayers.add(uuid);
|
||||
cageLocations.put(uuid, createCage(player.getLocation(), Material.GLASS));
|
||||
}
|
||||
|
||||
public void cagePlayer(UUID uuid, Material material)
|
||||
public void cagePlayer(final UUID uuid, final Material material)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) return;
|
||||
|
||||
cagedPlayers.add(uuid);
|
||||
@ -57,10 +61,10 @@ public class Cager extends Service
|
||||
*
|
||||
* @param uuid The UUID of the player to uncage.
|
||||
*/
|
||||
public void uncagePlayer(UUID uuid)
|
||||
public void uncagePlayer(final UUID uuid)
|
||||
{
|
||||
cagedPlayers.remove(uuid);
|
||||
Location location = cageLocations.get(uuid);
|
||||
final Location location = cageLocations.get(uuid);
|
||||
|
||||
createCage(location, Material.AIR); // Remove the cage (set all blocks to air).
|
||||
|
||||
@ -78,12 +82,12 @@ public class Cager extends Service
|
||||
@Override
|
||||
public void tick()
|
||||
{
|
||||
for (UUID uuid : cagedPlayers)
|
||||
for (final UUID uuid : cagedPlayers)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) continue;
|
||||
|
||||
Location cageLocation = getCageLocation(player);
|
||||
final Location cageLocation = getCageLocation(player);
|
||||
|
||||
final boolean inside;
|
||||
if (!player.getWorld().equals(cageLocation.getWorld()))
|
||||
@ -108,7 +112,7 @@ public class Cager extends Service
|
||||
* @param player The player to check.
|
||||
* @return Whether the player is caged.
|
||||
*/
|
||||
public Location getCageLocation(Player player)
|
||||
public Location getCageLocation(final Player player)
|
||||
{
|
||||
return cageLocations.get(player.getUniqueId());
|
||||
}
|
||||
@ -119,16 +123,16 @@ public class Cager extends Service
|
||||
* We use the {@link Shaper} class to generate the cube, which allows us to define
|
||||
* custom shapes using {@link DoubleUnaryOperator}s.
|
||||
*
|
||||
* @param location The location to center the cube around.
|
||||
* @param location The location to center the cube around.
|
||||
* @param material The material to use for the cube.
|
||||
* @return The center location of the cube (the passed location).
|
||||
* @see Shaper
|
||||
* @see DoubleUnaryOperator
|
||||
*/
|
||||
public Location createCage(Location location, Material material)
|
||||
public Location createCage(final Location location, final Material material)
|
||||
{
|
||||
Shaper shaper = new Shaper(location.getWorld(), 0.0, 4.0);
|
||||
List<Location> cubed = new LinkedList<>();
|
||||
final Shaper shaper = new Shaper(location.getWorld(), 0.0, 4.0);
|
||||
final List<Location> cubed = new LinkedList<>();
|
||||
cubed.addAll(shaper.generate(5, t -> t, t -> 4.0, t -> t));
|
||||
cubed.addAll(shaper.generate(5, t -> t, t -> 0.0, t -> t));
|
||||
cubed.addAll(shaper.generate(5, t -> 0.0, t -> t, t -> t));
|
||||
@ -136,7 +140,7 @@ public class Cager extends Service
|
||||
cubed.addAll(shaper.generate(5, t -> t, t -> t, t -> 0.0));
|
||||
cubed.addAll(shaper.generate(5, t -> t, t -> t, t -> 4.0));
|
||||
|
||||
for (Location l : cubed)
|
||||
for (final Location l : cubed)
|
||||
{
|
||||
location.getWorld().getBlockAt(l).setType(material);
|
||||
}
|
||||
@ -147,7 +151,7 @@ public class Cager extends Service
|
||||
private final class CageListener implements Listener
|
||||
{
|
||||
@EventHandler
|
||||
public void blockBreakEvent(BlockBreakEvent event)
|
||||
public void blockBreakEvent(final BlockBreakEvent event)
|
||||
{
|
||||
if (cagedPlayers.contains(event.getPlayer().getUniqueId()))
|
||||
{
|
||||
@ -156,7 +160,8 @@ public class Cager extends Service
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void playerLeaveEvent(PlayerQuitEvent event) {
|
||||
public void playerLeaveEvent(final PlayerQuitEvent event)
|
||||
{
|
||||
if (cagedPlayers.contains(event.getPlayer().getUniqueId()))
|
||||
{
|
||||
uncagePlayer(event.getPlayer().getUniqueId());
|
||||
|
@ -23,7 +23,7 @@ public class Halter implements Listener
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void playerMove(PlayerMoveEvent event)
|
||||
public void playerMove(final PlayerMoveEvent event)
|
||||
{
|
||||
if (haltedPlayers.contains(event.getPlayer().getUniqueId()))
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ public class Locker extends Service
|
||||
super("locker-service");
|
||||
}
|
||||
|
||||
public void lock(UUID uuid)
|
||||
public void lock(final UUID uuid)
|
||||
{
|
||||
lockedPlayers.add(uuid);
|
||||
}
|
||||
@ -32,19 +32,19 @@ public class Locker extends Service
|
||||
{
|
||||
lockedPlayers.removeIf(uuid -> !CommonsBase.getInstance().getServer().getOfflinePlayer(uuid).isOnline());
|
||||
|
||||
for (UUID uuid : lockedPlayers)
|
||||
for (final UUID uuid : lockedPlayers)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
final Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) continue;
|
||||
|
||||
lockingMethod(player);
|
||||
}
|
||||
}
|
||||
|
||||
private void lockingMethod(@NotNull Player player)
|
||||
private void lockingMethod(@NotNull final Player player)
|
||||
{
|
||||
double x = player.getLocation().getX();
|
||||
double z = player.getLocation().getZ();
|
||||
final double x = player.getLocation().getX();
|
||||
final double z = player.getLocation().getZ();
|
||||
|
||||
if ((x / z % 0.001) < 1)
|
||||
{
|
||||
|
@ -16,12 +16,12 @@ public class DBBan
|
||||
{
|
||||
private final SQL sql;
|
||||
|
||||
public DBBan(SQL sql)
|
||||
public DBBan(final SQL sql)
|
||||
{
|
||||
this.sql = sql;
|
||||
}
|
||||
|
||||
public CompletableFuture<Ban> fromSQL(BanID id)
|
||||
public CompletableFuture<Ban> fromSQL(final BanID id)
|
||||
{
|
||||
return sql.executeQuery("SELECT * FROM bans WHERE id = ?", id.getID())
|
||||
.thenApplyAsync(result ->
|
||||
@ -30,11 +30,11 @@ public class DBBan
|
||||
{
|
||||
if (result.next())
|
||||
{
|
||||
UUID uuid = UUID.fromString(result.getString("uuid"));
|
||||
Instant timestamp = Instant.parse(result.getString("timestamp"));
|
||||
final UUID uuid = UUID.fromString(result.getString("uuid"));
|
||||
final Instant timestamp = Instant.parse(result.getString("timestamp"));
|
||||
|
||||
final Instant expiry;
|
||||
String ex = result.getString("expiry");
|
||||
final String ex = result.getString("expiry");
|
||||
if (ex.equals("-1"))
|
||||
{
|
||||
expiry = null;
|
||||
@ -58,7 +58,7 @@ public class DBBan
|
||||
}, CommonsBase.getInstance().getExecutor().getAsync());
|
||||
}
|
||||
|
||||
public void addBan(Ban ban)
|
||||
public void addBan(final Ban ban)
|
||||
{
|
||||
sql.executeUpdate("INSERT INTO bans (id, uuid, reason, issuer, timestamp, expiry) VALUES (?, ?, ?, ?, ?, ?)",
|
||||
ban.getBanID().getID(),
|
||||
@ -70,7 +70,7 @@ public class DBBan
|
||||
);
|
||||
}
|
||||
|
||||
public boolean hasEntry(UUID uuid) {
|
||||
public boolean hasEntry(final UUID uuid) {
|
||||
return sql.executeQuery("SELECT * FROM bans WHERE uuid = ?", uuid.toString())
|
||||
.thenApplyAsync(result ->
|
||||
{
|
||||
|
@ -3,7 +3,11 @@ package me.totalfreedom.datura.sql;
|
||||
import me.totalfreedom.base.CommonsBase;
|
||||
import me.totalfreedom.sql.SQL;
|
||||
|
||||
import java.sql.*;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CompletionException;
|
||||
|
||||
@ -11,7 +15,7 @@ public class MySQL implements SQL
|
||||
{
|
||||
private String url = "jdbc:mysql://";
|
||||
|
||||
public MySQL(String host, int port, String database) {
|
||||
public MySQL(final String host, final int port, final String database) {
|
||||
url += host + ":" + port + "/" + database;
|
||||
}
|
||||
|
||||
@ -22,7 +26,7 @@ public class MySQL implements SQL
|
||||
* @param username The username to add
|
||||
* @param password The password to add
|
||||
*/
|
||||
public void addCredentials(String username, String password) {
|
||||
public void addCredentials(final String username, final String password) {
|
||||
if (url.contains("?user=")) {
|
||||
url = url.split("\\x3f")[0];
|
||||
}
|
||||
@ -31,7 +35,7 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Connection> getConnection(String url)
|
||||
public CompletableFuture<Connection> getConnection(final String url)
|
||||
{
|
||||
return CompletableFuture.supplyAsync(() -> {
|
||||
try {
|
||||
@ -44,12 +48,12 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<PreparedStatement> prepareStatement(String query, Object... args)
|
||||
public CompletableFuture<PreparedStatement> prepareStatement(final String query, final Object... args)
|
||||
{
|
||||
return getConnection(url)
|
||||
.thenApplyAsync(connection -> {
|
||||
try {
|
||||
PreparedStatement statement = connection.prepareStatement(query);
|
||||
final PreparedStatement statement = connection.prepareStatement(query);
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
statement.setObject(i + 1, args[i]);
|
||||
}
|
||||
@ -62,7 +66,7 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<ResultSet> executeQuery(String query, Object... args)
|
||||
public CompletableFuture<ResultSet> executeQuery(final String query, final Object... args)
|
||||
{
|
||||
return prepareStatement(query, args)
|
||||
.thenApplyAsync(statement -> {
|
||||
@ -76,7 +80,7 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Integer> executeUpdate(String query, Object... args)
|
||||
public CompletableFuture<Integer> executeUpdate(final String query, final Object... args)
|
||||
{
|
||||
return prepareStatement(query, args)
|
||||
.thenApplyAsync(statement -> {
|
||||
@ -90,7 +94,7 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Boolean> execute(String query, Object... args)
|
||||
public CompletableFuture<Boolean> execute(final String query, final Object... args)
|
||||
{
|
||||
return prepareStatement(query, args)
|
||||
.thenApplyAsync(statement -> {
|
||||
@ -104,9 +108,9 @@ public class MySQL implements SQL
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Boolean> createTable(String table, String... columns)
|
||||
public CompletableFuture<Boolean> createTable(final String table, final String... columns)
|
||||
{
|
||||
StringBuilder query = new StringBuilder();
|
||||
final StringBuilder query = new StringBuilder();
|
||||
|
||||
query.append("CREATE TABLE IF NOT EXISTS ? (");
|
||||
for (int i = 0; i < columns.length; i++) {
|
||||
|
@ -58,7 +58,7 @@ public class SimpleUserData implements UserData
|
||||
this.caged = caged;
|
||||
}
|
||||
|
||||
public static SimpleUserData fromSQL(SQL sql, String uuid)
|
||||
public static SimpleUserData fromSQL(final SQL sql, final String uuid)
|
||||
{
|
||||
return sql.executeQuery("SELECT * FROM users WHERE UUID = ?", uuid)
|
||||
.thenApplyAsync(result ->
|
||||
@ -67,30 +67,30 @@ public class SimpleUserData implements UserData
|
||||
{
|
||||
if (result.next())
|
||||
{
|
||||
String g = result.getString("group");
|
||||
final String g = result.getString("group");
|
||||
|
||||
UUID u = UUID.fromString(uuid);
|
||||
String username = result.getString("username");
|
||||
final UUID u = UUID.fromString(uuid);
|
||||
final String username = result.getString("username");
|
||||
|
||||
Player player = Bukkit.getPlayer(u);
|
||||
final Player player = Bukkit.getPlayer(u);
|
||||
|
||||
if (player == null)
|
||||
throw new IllegalStateException("Player should be online but they are not!");
|
||||
|
||||
User user = new FreedomUser(player);
|
||||
Group group = CommonsBase.getInstance()
|
||||
final User user = new FreedomUser(player);
|
||||
final Group group = CommonsBase.getInstance()
|
||||
.getRegistrations()
|
||||
.getGroupRegistry()
|
||||
.getGroup(g);
|
||||
long playtime = result.getLong("playtime");
|
||||
boolean frozen = result.getBoolean("frozen");
|
||||
boolean canInteract = result.getBoolean("canInteract");
|
||||
boolean caged = result.getBoolean("caged");
|
||||
final long playtime = result.getLong("playtime");
|
||||
final boolean frozen = result.getBoolean("frozen");
|
||||
final boolean canInteract = result.getBoolean("canInteract");
|
||||
final boolean caged = result.getBoolean("caged");
|
||||
return new SimpleUserData(u, username, user, group, playtime, frozen, canInteract, caged);
|
||||
}
|
||||
} catch (SQLException ex)
|
||||
{
|
||||
String sb = "An error occurred while trying to retrieve user data for UUID " +
|
||||
final String sb = "An error occurred while trying to retrieve user data for UUID " +
|
||||
uuid +
|
||||
" from the database." +
|
||||
"\nCaused by: " +
|
||||
@ -102,7 +102,7 @@ public class SimpleUserData implements UserData
|
||||
.error(sb);
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(UUID.fromString(uuid));
|
||||
final Player player = Bukkit.getPlayer(UUID.fromString(uuid));
|
||||
if (player == null) throw new IllegalStateException("Player should be online but they are not!");
|
||||
return new SimpleUserData(player);
|
||||
}, CommonsBase.getInstance()
|
||||
@ -136,7 +136,7 @@ public class SimpleUserData implements UserData
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGroup(@Nullable Group group)
|
||||
public void setGroup(@Nullable final Group group)
|
||||
{
|
||||
event.ping();
|
||||
this.group = group;
|
||||
@ -149,14 +149,14 @@ public class SimpleUserData implements UserData
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlaytime(long playtime)
|
||||
public void setPlaytime(final long playtime)
|
||||
{
|
||||
event.ping();
|
||||
this.playtime = playtime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPlaytime(long playtime)
|
||||
public void addPlaytime(final long playtime)
|
||||
{
|
||||
event.ping();
|
||||
this.playtime += playtime;
|
||||
@ -176,7 +176,7 @@ public class SimpleUserData implements UserData
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFrozen(boolean frozen)
|
||||
public void setFrozen(final boolean frozen)
|
||||
{
|
||||
event.ping();
|
||||
this.frozen = true;
|
||||
@ -189,7 +189,7 @@ public class SimpleUserData implements UserData
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInteractionState(boolean canInteract)
|
||||
public void setInteractionState(final boolean canInteract)
|
||||
{
|
||||
event.ping();
|
||||
this.canInteract = canInteract;
|
||||
@ -202,7 +202,7 @@ public class SimpleUserData implements UserData
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCaged(boolean caged)
|
||||
public void setCaged(final boolean caged)
|
||||
{
|
||||
event.ping();
|
||||
this.caged = caged;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package me.totalfreedom.fossil.command;
|
||||
|
||||
import me.totalfreedom.command.*;
|
||||
import me.totalfreedom.command.CommandBase;
|
||||
import me.totalfreedom.command.annotation.Base;
|
||||
import me.totalfreedom.command.annotation.Info;
|
||||
import me.totalfreedom.command.annotation.Permissive;
|
||||
@ -14,23 +14,17 @@ import org.bukkit.entity.Player;
|
||||
@Permissive(perm = "fossil.kick")
|
||||
public class KickCommand extends CommandBase
|
||||
{
|
||||
public KickCommand(Fossil plugin) {
|
||||
public KickCommand(final Fossil plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Base
|
||||
public void run(CommandSender sender) {
|
||||
public void run(final CommandSender sender) {
|
||||
sender.sendMessage(Component.text("You must specify a player to kick."));
|
||||
}
|
||||
|
||||
@Subcommand(permission = "fossil.kick", args = {Player.class, String.class})
|
||||
public void kickPlayer(Player player, String string) {
|
||||
public void kickPlayer(final Player player, final String string) {
|
||||
player.kick(Component.text(string));
|
||||
}
|
||||
|
||||
// TODO: Write the code to make this work properly.
|
||||
@Subcommand(name = "info", permission = "fossil.kick.info", args = {Player.class})
|
||||
public void playerinfo(Player player) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,12 @@
|
||||
package me.totalfreedom.base;
|
||||
|
||||
import me.totalfreedom.data.*;
|
||||
import me.totalfreedom.data.GroupRegistry;
|
||||
import me.totalfreedom.data.BanRegistry;
|
||||
import me.totalfreedom.data.ConfigRegistry;
|
||||
import me.totalfreedom.data.ModuleRegistry;
|
||||
import me.totalfreedom.data.ServiceRegistry;
|
||||
import me.totalfreedom.data.UserRegistry;
|
||||
import me.totalfreedom.data.EventRegistry;
|
||||
|
||||
public class Registration
|
||||
{
|
||||
@ -9,6 +15,8 @@ public class Registration
|
||||
private final ServiceRegistry serviceRegistry;
|
||||
private final ModuleRegistry moduleRegistry;
|
||||
private final GroupRegistry groupRegistry;
|
||||
private final BanRegistry banRegistry;
|
||||
private final ConfigRegistry configRegistry;
|
||||
|
||||
public Registration()
|
||||
{
|
||||
@ -17,6 +25,8 @@ public class Registration
|
||||
this.serviceRegistry = new ServiceRegistry();
|
||||
this.moduleRegistry = new ModuleRegistry();
|
||||
this.groupRegistry = new GroupRegistry();
|
||||
this.banRegistry = new BanRegistry();
|
||||
this.configRegistry = new ConfigRegistry();
|
||||
}
|
||||
|
||||
public ModuleRegistry getModuleRegistry()
|
||||
@ -43,4 +53,14 @@ public class Registration
|
||||
{
|
||||
return groupRegistry;
|
||||
}
|
||||
|
||||
public BanRegistry getBanRegistry()
|
||||
{
|
||||
return banRegistry;
|
||||
}
|
||||
|
||||
public ConfigRegistry getConfigRegistry()
|
||||
{
|
||||
return configRegistry;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package me.totalfreedom.command;
|
||||
|
||||
import jdk.jshell.MethodSnippet;
|
||||
import me.totalfreedom.api.Context;
|
||||
import me.totalfreedom.command.annotation.Subcommand;
|
||||
import me.totalfreedom.provider.ContextProvider;
|
||||
@ -14,11 +13,7 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class BukkitDelegator extends Command implements PluginIdentifiableCommand
|
||||
@ -41,7 +36,9 @@ public class BukkitDelegator extends Command implements PluginIdentifiableComman
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(@NotNull CommandSender sender, @NotNull String commandLabel, @NotNull String[] args)
|
||||
public boolean execute(@NotNull final CommandSender sender,
|
||||
@NotNull final String commandLabel,
|
||||
@NotNull final String[] args)
|
||||
{
|
||||
if (commandLabel.isEmpty() || !commandLabel.equalsIgnoreCase(getName()))
|
||||
return false;
|
||||
@ -63,23 +60,26 @@ public class BukkitDelegator extends Command implements PluginIdentifiableComman
|
||||
|
||||
if (args.length > 0)
|
||||
{
|
||||
ContextProvider provider = new ContextProvider();
|
||||
Set<Subcommand> nodes = command.getSubcommands().keySet();
|
||||
for (Subcommand node : nodes) {
|
||||
Class<?>[] argTypes = node.args();
|
||||
final ContextProvider provider = new ContextProvider();
|
||||
final Set<Subcommand> nodes = command.getSubcommands().keySet();
|
||||
for (final Subcommand node : nodes)
|
||||
{
|
||||
final Class<?>[] argTypes = node.args();
|
||||
if (argTypes.length != args.length)
|
||||
continue;
|
||||
|
||||
Object[] objects = new Object[0];
|
||||
|
||||
for (int i = 0; i < argTypes.length; i++) {
|
||||
Class<?> argType = argTypes[i];
|
||||
String arg = args[i];
|
||||
for (int i = 0; i < argTypes.length; i++)
|
||||
{
|
||||
final Class<?> argType = argTypes[i];
|
||||
final String arg = args[i];
|
||||
if (argType == String.class)
|
||||
continue;
|
||||
|
||||
Context<?> context = () -> provider.fromString(arg);
|
||||
if (!argType.isInstance(context.get())) {
|
||||
final Context<?> context = () -> provider.fromString(arg);
|
||||
if (!argType.isInstance(context.get()))
|
||||
{
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
objects = Arrays.copyOf(objects, objects.length + 1);
|
||||
@ -98,7 +98,8 @@ public class BukkitDelegator extends Command implements PluginIdentifiableComman
|
||||
return false;
|
||||
}
|
||||
|
||||
if (command.getBaseMethodPair() != null) {
|
||||
if (command.getBaseMethodPair() != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
command.getBaseMethodPair().getValue().invoke(command, sender);
|
||||
|
@ -29,7 +29,7 @@ public abstract class CommandBase
|
||||
|
||||
if (this.getClass().isAnnotationPresent(Base.class))
|
||||
{
|
||||
Method method = Stream.of(this.getClass().getDeclaredMethods())
|
||||
final Method method = Stream.of(this.getClass().getDeclaredMethods())
|
||||
.filter(m -> m.isAnnotationPresent(Base.class))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new RuntimeException("Base annotation present but no method found."));
|
||||
|
@ -1,14 +1,13 @@
|
||||
package me.totalfreedom.command;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class CommandHandler
|
||||
{
|
||||
private final JavaPlugin plugin;
|
||||
|
||||
public CommandHandler(JavaPlugin plugin)
|
||||
public CommandHandler(final JavaPlugin plugin)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
}
|
||||
@ -17,8 +16,9 @@ public class CommandHandler
|
||||
// We need to find a way to resolve PluginCommands so we can
|
||||
// set the executor and tab completer as necessary.
|
||||
// OR we need to find an alternative way to process tab completions.
|
||||
public <T extends CommandBase> void registerCommand(T command) {
|
||||
BukkitDelegator delegate = new BukkitDelegator(plugin, command);
|
||||
public <T extends CommandBase> void registerCommand(final T command)
|
||||
{
|
||||
final BukkitDelegator delegate = new BukkitDelegator(plugin, command);
|
||||
|
||||
Bukkit.getCommandMap().register(plugin.getName(), delegate);
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package me.totalfreedom.data;
|
||||
|
||||
import me.totalfreedom.security.ban.Ban;
|
||||
import me.totalfreedom.security.ban.BanID;
|
||||
import me.totalfreedom.sql.SQL;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -12,18 +11,18 @@ public class BanRegistry
|
||||
{
|
||||
private final List<Ban> bansList = new ArrayList<>();
|
||||
|
||||
public boolean addBan(Ban ban) {
|
||||
public boolean addBan(final Ban ban) {
|
||||
return bansList.add(ban);
|
||||
}
|
||||
|
||||
public boolean removeBan(Ban ban) {
|
||||
public boolean removeBan(final Ban ban) {
|
||||
return bansList.remove(ban);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Ban getBan(BanID banID)
|
||||
public Ban getBan(final BanID banID)
|
||||
{
|
||||
for (Ban ban : bansList)
|
||||
for (final Ban ban : bansList)
|
||||
{
|
||||
if (ban.getBanID().matches(banID))
|
||||
{
|
||||
|
@ -9,17 +9,17 @@ public class ConfigRegistry
|
||||
{
|
||||
private final Map<String, Configuration> configurationList = new HashMap<>();
|
||||
|
||||
public void register(String name, Configuration configuration)
|
||||
public void register(final String name, final Configuration configuration)
|
||||
{
|
||||
configurationList.put(name, configuration);
|
||||
}
|
||||
|
||||
public void unregister(String name)
|
||||
public void unregister(final String name)
|
||||
{
|
||||
configurationList.remove(name);
|
||||
}
|
||||
|
||||
public Configuration getConfiguration(String name)
|
||||
public Configuration getConfiguration(final String name)
|
||||
{
|
||||
return configurationList.get(name);
|
||||
}
|
||||
|
@ -15,18 +15,18 @@ public class GroupRegistry
|
||||
this.groups = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean registerGroup(Group group) {
|
||||
public boolean registerGroup(final Group group) {
|
||||
return groups.add(group);
|
||||
}
|
||||
|
||||
public boolean unregisterGroup(Group group) {
|
||||
public boolean unregisterGroup(final Group group) {
|
||||
return groups.remove(group);
|
||||
}
|
||||
|
||||
public Group getGroup(String name) {
|
||||
PlainTextComponentSerializer s = PlainTextComponentSerializer.plainText();
|
||||
for (Group group : groups) {
|
||||
String n = s.serialize(group.getName());
|
||||
public Group getGroup(final String name) {
|
||||
final PlainTextComponentSerializer s = PlainTextComponentSerializer.plainText();
|
||||
for (final Group group : groups) {
|
||||
final String n = s.serialize(group.getName());
|
||||
if (n.equalsIgnoreCase(name)) {
|
||||
return group;
|
||||
}
|
||||
|
@ -29,9 +29,9 @@ public class ModuleRegistry
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends JavaPlugin> ModuleProvider<T> getModule(Class<T> clazz)
|
||||
public <T extends JavaPlugin> ModuleProvider<T> getModule(final Class<T> clazz)
|
||||
{
|
||||
for (JavaPlugin plugin : plugins)
|
||||
for (final JavaPlugin plugin : plugins)
|
||||
{
|
||||
if (clazz.isInstance(plugin))
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ public class ServiceRegistry
|
||||
|
||||
public void startAll()
|
||||
{
|
||||
for (Service service : this.services)
|
||||
for (final Service service : this.services)
|
||||
{
|
||||
service.start();
|
||||
}
|
||||
@ -28,7 +28,7 @@ public class ServiceRegistry
|
||||
|
||||
public void stopAll()
|
||||
{
|
||||
for (Service service : this.services)
|
||||
for (final Service service : this.services)
|
||||
{
|
||||
service.stop();
|
||||
}
|
||||
@ -39,7 +39,7 @@ public class ServiceRegistry
|
||||
// and calling getClass() on this object would effectively be Class<T>, though we may lose
|
||||
// the identity of the code signature in the process.
|
||||
// In this case, that is fine.
|
||||
public <T extends Service> void register(Plugin plugin, final T service)
|
||||
public <T extends Service> void register(final Plugin plugin, final T service)
|
||||
{
|
||||
this.services.add(service);
|
||||
if (!service.getClass().isInstance(service))
|
||||
@ -57,12 +57,12 @@ public class ServiceRegistry
|
||||
ServicePriority.Normal);
|
||||
}
|
||||
|
||||
public <T extends Service> RegisteredServiceProvider<T> getService(Class<T> clazz)
|
||||
public <T extends Service> RegisteredServiceProvider<T> getService(final Class<T> clazz)
|
||||
{
|
||||
return Bukkit.getServicesManager().getRegistration(clazz);
|
||||
}
|
||||
|
||||
public void unregister(Class<? extends Service> clazz, Service service)
|
||||
public void unregister(final Class<? extends Service> clazz, final Service service)
|
||||
{
|
||||
this.services.remove(service);
|
||||
Bukkit.getServicesManager().unregister(clazz, service);
|
||||
|
@ -15,17 +15,17 @@ public class UserRegistry
|
||||
this.userDataMap = new HashMap<>();
|
||||
}
|
||||
|
||||
public UserData getUserData(User user)
|
||||
public UserData getUserData(final User user)
|
||||
{
|
||||
return userDataMap.get(user);
|
||||
}
|
||||
|
||||
public void registerUserData(User user, UserData userData)
|
||||
public void registerUserData(final User user, final UserData userData)
|
||||
{
|
||||
userDataMap.put(user, userData);
|
||||
}
|
||||
|
||||
public void unregisterUserData(User user)
|
||||
public void unregisterUserData(final User user)
|
||||
{
|
||||
userDataMap.remove(user);
|
||||
}
|
||||
|
@ -13,20 +13,20 @@ public class EventBus extends Service
|
||||
private final Set<FEvent> eventSet = new HashSet<>();
|
||||
private final SubscriptionBox<?> runningSubscriptions = new SubscriptionBox<>();
|
||||
|
||||
public EventBus(CommonsBase plugin)
|
||||
public EventBus(final CommonsBase plugin)
|
||||
{
|
||||
super("event_bus");
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public void addEvent(FEvent event)
|
||||
public void addEvent(final FEvent event)
|
||||
{
|
||||
eventSet.add(event);
|
||||
}
|
||||
|
||||
public <T extends FEvent> T getEvent(Class<T> eventClass)
|
||||
public <T extends FEvent> T getEvent(final Class<T> eventClass)
|
||||
{
|
||||
FEvent e = eventSet.stream()
|
||||
final FEvent e = eventSet.stream()
|
||||
.filter(event -> event.getEventClass().equals(eventClass))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
@ -34,9 +34,9 @@ public class EventBus extends Service
|
||||
return eventClass.cast(e);
|
||||
}
|
||||
|
||||
public <T extends FEvent> EventSubscription<T> subscribe(Class<T> eventClass, Callback<T> callback)
|
||||
public <T extends FEvent> EventSubscription<T> subscribe(final Class<T> eventClass, final Callback<T> callback)
|
||||
{
|
||||
Context<T> eventContext = () -> eventSet.stream()
|
||||
final Context<T> eventContext = () -> eventSet.stream()
|
||||
.filter(event -> event.getEventClass().equals(eventClass))
|
||||
.findFirst()
|
||||
.map(eventClass::cast)
|
||||
@ -50,7 +50,7 @@ public class EventBus extends Service
|
||||
return new EventSubscription<>(eventContext.get(), callback);
|
||||
}
|
||||
|
||||
public void unsubscribe(EventSubscription<?> subscription)
|
||||
public void unsubscribe(final EventSubscription<?> subscription)
|
||||
{
|
||||
runningSubscriptions.removeSubscription(subscription);
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
package me.totalfreedom.event;
|
||||
|
||||
import com.sun.source.tree.ContinueTree;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -13,11 +11,11 @@ class SubscriptionBox<T extends FEvent>
|
||||
this.subscriptions = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void addSubscription(EventSubscription<T> subscription) {
|
||||
public void addSubscription(final EventSubscription<T> subscription) {
|
||||
subscriptions.add(subscription);
|
||||
}
|
||||
|
||||
public void removeSubscription(EventSubscription<?> subscription) {
|
||||
public void removeSubscription(final EventSubscription<?> subscription) {
|
||||
subscriptions.remove(subscription);
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ import java.util.stream.Stream;
|
||||
|
||||
public class ContextProvider
|
||||
{
|
||||
public Object fromString(String string)
|
||||
public Object fromString(final String string)
|
||||
{
|
||||
return Stream.of(toBoolean(string),
|
||||
toDouble(string),
|
||||
@ -31,7 +31,7 @@ public class ContextProvider
|
||||
.orElse(string);
|
||||
}
|
||||
|
||||
private @Nullable Boolean toBoolean(String string)
|
||||
private @Nullable Boolean toBoolean(final String string)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -42,7 +42,7 @@ public class ContextProvider
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Double toDouble(String string)
|
||||
private @Nullable Double toDouble(final String string)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -53,7 +53,7 @@ public class ContextProvider
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Integer toInt(String string)
|
||||
private @Nullable Integer toInt(final String string)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -64,7 +64,7 @@ public class ContextProvider
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Long toLong(String string)
|
||||
private @Nullable Long toLong(final String string)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -75,7 +75,7 @@ public class ContextProvider
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Float toFloat(String string)
|
||||
private @Nullable Float toFloat(final String string)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -86,12 +86,12 @@ public class ContextProvider
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Player toPlayer(String string)
|
||||
private @Nullable Player toPlayer(final String string)
|
||||
{
|
||||
return Bukkit.getPlayer(string);
|
||||
}
|
||||
|
||||
private @Nullable CommandSender toCommandSender(String string)
|
||||
private @Nullable CommandSender toCommandSender(final String string)
|
||||
{
|
||||
if (toPlayer(string) == null) return null;
|
||||
|
||||
@ -103,9 +103,9 @@ public class ContextProvider
|
||||
return Bukkit.getWorld(string);
|
||||
}
|
||||
|
||||
private @Nullable Location toLocation(String string)
|
||||
private @Nullable Location toLocation(final String string)
|
||||
{
|
||||
String[] split = string.split(",");
|
||||
final String[] split = string.split(",");
|
||||
if (split.length != 4 || toWorld(split[0]) == null) return null;
|
||||
if (toDouble(split[1]) == null
|
||||
|| toDouble(split[2]) == null
|
||||
@ -114,7 +114,7 @@ public class ContextProvider
|
||||
return new Location(toWorld(split[0]), toDouble(split[1]), toDouble(split[2]), toDouble(split[3]));
|
||||
}
|
||||
|
||||
private @NotNull Component toComponent(String string)
|
||||
private @NotNull Component toComponent(final String string)
|
||||
{
|
||||
return Component.text(string);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package me.totalfreedom.service;
|
||||
|
||||
import me.totalfreedom.base.CommonsBase;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
@ -26,7 +27,7 @@ public class FreedomExecutor
|
||||
return asyncExecutor;
|
||||
}
|
||||
|
||||
public Executor scheduled(long delay, long period)
|
||||
public Executor scheduled(final long delay, final long period)
|
||||
{
|
||||
return r -> Bukkit.getScheduler()
|
||||
.runTaskTimer(
|
||||
@ -36,7 +37,7 @@ public class FreedomExecutor
|
||||
period);
|
||||
}
|
||||
|
||||
public Executor scheduledAsync(long delay, long period)
|
||||
public Executor scheduledAsync(final long delay, final long period)
|
||||
{
|
||||
return r -> Bukkit.getScheduler()
|
||||
.runTaskTimerAsynchronously(
|
||||
@ -46,12 +47,12 @@ public class FreedomExecutor
|
||||
period);
|
||||
}
|
||||
|
||||
public void runSync(Task task)
|
||||
public void runSync(@NotNull final Task task)
|
||||
{
|
||||
getSync().execute(task);
|
||||
}
|
||||
|
||||
public void runAsync(Task task)
|
||||
public void runAsync(@NotNull final Task task)
|
||||
{
|
||||
getAsync().execute(task);
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ public abstract class Service
|
||||
private final String name;
|
||||
private boolean isActive = false;
|
||||
|
||||
protected Service(String name)
|
||||
protected Service(final String name)
|
||||
{
|
||||
this.name = name;
|
||||
|
||||
|
@ -7,15 +7,15 @@ import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public interface SQL
|
||||
{
|
||||
CompletableFuture<Connection> getConnection(String url);
|
||||
CompletableFuture<Connection> getConnection(final String url);
|
||||
|
||||
CompletableFuture<PreparedStatement> prepareStatement(String query, Object... args);
|
||||
CompletableFuture<PreparedStatement> prepareStatement(final String query, final Object... args);
|
||||
|
||||
CompletableFuture<ResultSet> executeQuery(String query, Object... args);
|
||||
CompletableFuture<ResultSet> executeQuery(final String query, final Object... args);
|
||||
|
||||
CompletableFuture<Integer> executeUpdate(String query, Object... args);
|
||||
CompletableFuture<Integer> executeUpdate(final String query, final Object... args);
|
||||
|
||||
CompletableFuture<Boolean> execute(String query, Object... args);
|
||||
CompletableFuture<Boolean> execute(final String query, final Object... args);
|
||||
|
||||
CompletableFuture<Boolean> createTable(String table, String... columns);
|
||||
CompletableFuture<Boolean> createTable(final String table, final String... columns);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ public interface SQLProperties
|
||||
|
||||
default Properties getDefaultProperties()
|
||||
{
|
||||
Properties properties = new Properties();
|
||||
final Properties properties = new Properties();
|
||||
properties.setProperty("driver", "sqlite");
|
||||
properties.setProperty("host", "localhost");
|
||||
properties.setProperty("port", "3306");
|
||||
|
@ -11,17 +11,17 @@ public class FreedomLogger
|
||||
private final Logger logger;
|
||||
private boolean debug = false;
|
||||
|
||||
private FreedomLogger(String moduleName)
|
||||
private FreedomLogger(final String moduleName)
|
||||
{
|
||||
this.logger = LoggerFactory.getLogger("FreedomNetworkSuite::" + moduleName);
|
||||
}
|
||||
|
||||
public static FreedomLogger getLogger(String moduleName)
|
||||
public static FreedomLogger getLogger(final String moduleName)
|
||||
{
|
||||
return new FreedomLogger(moduleName);
|
||||
}
|
||||
|
||||
public void setDebugMode(boolean debug)
|
||||
public void setDebugMode(final boolean debug)
|
||||
{
|
||||
this.debug = debug;
|
||||
}
|
||||
@ -31,7 +31,7 @@ public class FreedomLogger
|
||||
*
|
||||
* @param message The message to send.
|
||||
*/
|
||||
public void info(String message)
|
||||
public void info(final String message)
|
||||
{
|
||||
logger.info(message);
|
||||
}
|
||||
@ -44,7 +44,7 @@ public class FreedomLogger
|
||||
* @param message The message to send.
|
||||
* @return A component representation of the message.
|
||||
*/
|
||||
public Component info(Supplier<String> message)
|
||||
public Component info(final Supplier<String> message)
|
||||
{
|
||||
logger.info(message.get());
|
||||
return Component.text(message.get());
|
||||
@ -55,7 +55,7 @@ public class FreedomLogger
|
||||
*
|
||||
* @param message The message to send.
|
||||
*/
|
||||
public void warn(String message)
|
||||
public void warn(final String message)
|
||||
{
|
||||
logger.warn(message);
|
||||
}
|
||||
@ -67,7 +67,7 @@ public class FreedomLogger
|
||||
*
|
||||
* @param message The message to send.
|
||||
*/
|
||||
public void error(String message)
|
||||
public void error(final String message)
|
||||
{
|
||||
logger.error(message);
|
||||
}
|
||||
@ -77,7 +77,7 @@ public class FreedomLogger
|
||||
*
|
||||
* @param th The exception to log.
|
||||
*/
|
||||
public void error(Throwable th)
|
||||
public void error(final Throwable th)
|
||||
{
|
||||
logger.error("An error occurred:\n", th);
|
||||
}
|
||||
@ -92,7 +92,7 @@ public class FreedomLogger
|
||||
* @param message The message to send.
|
||||
* @return A component representation of the message.
|
||||
*/
|
||||
public Component error(Supplier<String> message)
|
||||
public Component error(final Supplier<String> message)
|
||||
{
|
||||
logger.error(message.get());
|
||||
return Component.text(message.get());
|
||||
@ -104,7 +104,7 @@ public class FreedomLogger
|
||||
*
|
||||
* @param message The message to send.
|
||||
*/
|
||||
public void debug(String message)
|
||||
public void debug(final String message)
|
||||
{
|
||||
if (debug)
|
||||
logger.debug(message);
|
||||
@ -119,7 +119,7 @@ public class FreedomLogger
|
||||
* @param message The message to send.
|
||||
* @return A component representation of the message.
|
||||
*/
|
||||
public Component debug(Supplier<String> message)
|
||||
public Component debug(final Supplier<String> message)
|
||||
{
|
||||
if (debug)
|
||||
{
|
||||
|
@ -8,7 +8,7 @@ public class Identity
|
||||
|
||||
private final UUID id;
|
||||
|
||||
public Identity(String key)
|
||||
public Identity(final String key)
|
||||
{
|
||||
this.key = key;
|
||||
this.id = UUID.nameUUIDFromBytes(key.getBytes());
|
||||
|
@ -1,14 +0,0 @@
|
||||
package me.totalfreedom.utils;
|
||||
|
||||
public class MICheck
|
||||
{
|
||||
public double maintainabilityIndex(double fileLength, double vocabulary, double cyclomaticComplexity, double linesOfCode) {
|
||||
double halsteadVolume = fileLength * (Math.log(vocabulary) / Math.log(2));
|
||||
double maintainabilityIndexUnbounded = 171 - 5.2 * Math.log(halsteadVolume) - 0.23 * cyclomaticComplexity - 16.2 * Math.log(linesOfCode);
|
||||
return Math.max(0, maintainabilityIndexUnbounded * 100 / 171);
|
||||
}
|
||||
|
||||
public double complexity(double decisionPoints) {
|
||||
return decisionPoints + 1;
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ public class Pair<K, V>
|
||||
private final K key;
|
||||
private final V value;
|
||||
|
||||
public Pair(K key, V value) {
|
||||
public Pair(final K key, final V value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
|
@ -13,24 +13,24 @@ public class Shaper
|
||||
private final double end;
|
||||
private final World world;
|
||||
|
||||
public Shaper(World world, double start, double end)
|
||||
public Shaper(final World world, final double start, final double end)
|
||||
{
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.world = world;
|
||||
}
|
||||
|
||||
public List<Location> generate(int count, DoubleUnaryOperator x, DoubleUnaryOperator y, DoubleUnaryOperator z)
|
||||
public List<Location> generate(final int count, final DoubleUnaryOperator x, final DoubleUnaryOperator y, final DoubleUnaryOperator z)
|
||||
{
|
||||
double step = (start - end) / (count - 1);
|
||||
LinkedList<Location> lset = new LinkedList<>();
|
||||
final double step = (start - end) / (count - 1);
|
||||
final LinkedList<Location> lset = new LinkedList<>();
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
double t = start + i * step;
|
||||
double xp = x.applyAsDouble(t);
|
||||
double yp = y.applyAsDouble(t);
|
||||
double zp = z.applyAsDouble(t);
|
||||
final double t = start + i * step;
|
||||
final double xp = x.applyAsDouble(t);
|
||||
final double yp = y.applyAsDouble(t);
|
||||
final double zp = z.applyAsDouble(t);
|
||||
|
||||
lset.add(new Location(world, xp, yp, zp));
|
||||
}
|
||||
|
15
checkstyle.xml
Normal file
15
checkstyle.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC
|
||||
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
||||
"https://www.checkstyle.org/dtds/configuration_1_3.dtd">
|
||||
<module name="Checker">
|
||||
<module name="TreeWalker">
|
||||
<module name="FinalLocalVariable">
|
||||
<property name="validateEnhancedForLoopVariable" value="true"/>
|
||||
</module>
|
||||
<module name="FinalParameters"/>
|
||||
<module name="AvoidStaticImport"/>
|
||||
<module name="UnusedImports"/>
|
||||
<module name="AvoidStarImportCheck"/>
|
||||
</module>
|
||||
</module>
|
Loading…
Reference in New Issue
Block a user