mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-26 17:05:01 +00:00
We dont use javadoc & format fixes
This commit is contained in:
parent
76bb2d08ac
commit
a0b29c1d01
1
.gitignore
vendored
1
.gitignore
vendored
@ -23,6 +23,7 @@ manifest.mf
|
||||
/.idea/discord.xml
|
||||
/.idea/jarRepositories.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/uiDesigner.xml
|
||||
/.idea/libraries
|
||||
*.iml
|
||||
|
||||
|
@ -41,9 +41,9 @@ public class Monitors extends FreedomService
|
||||
int potionsThrown = playerThrownPotions.size();
|
||||
boolean trollPotions = false;
|
||||
|
||||
for(ThrownPotion potion : playerThrownPotions)
|
||||
for (ThrownPotion potion : playerThrownPotions)
|
||||
{
|
||||
if(isTrollPotion(potion))
|
||||
if (isTrollPotion(potion))
|
||||
{
|
||||
trollPotions = true;
|
||||
}
|
||||
@ -69,7 +69,7 @@ public class Monitors extends FreedomService
|
||||
if (event.getEntity().getShooter() instanceof Player)
|
||||
{
|
||||
ThrownPotion potion = event.getEntity();
|
||||
if(potion.getShooter() instanceof Player)
|
||||
if (potion.getShooter() instanceof Player)
|
||||
{
|
||||
Player player = (Player)potion.getShooter();
|
||||
|
||||
@ -77,11 +77,11 @@ public class Monitors extends FreedomService
|
||||
recentlyThrownPotions.get(player).add(potion);
|
||||
allThrownPotions.add(new AbstractMap.SimpleEntry<>(potion, System.currentTimeMillis()));
|
||||
|
||||
if(recentlyThrownPotions.get(player).size() > 128)
|
||||
if (recentlyThrownPotions.get(player).size() > 128)
|
||||
{
|
||||
recentlyThrownPotions.get(player).remove(0);
|
||||
}
|
||||
if(allThrownPotions.size() > 1024)
|
||||
if (allThrownPotions.size() > 1024)
|
||||
{
|
||||
allThrownPotions.remove(0); // Remove the first element in the set.
|
||||
}
|
||||
@ -95,7 +95,7 @@ public class Monitors extends FreedomService
|
||||
if (event.getEntity().getShooter() instanceof Player)
|
||||
{
|
||||
ThrownPotion potion = event.getEntity();
|
||||
if(potion.getShooter() instanceof Player)
|
||||
if (potion.getShooter() instanceof Player)
|
||||
{
|
||||
Player player = (Player)potion.getShooter();
|
||||
|
||||
@ -103,11 +103,11 @@ public class Monitors extends FreedomService
|
||||
recentlyThrownPotions.get(player).add(potion);
|
||||
allThrownPotions.add(new AbstractMap.SimpleEntry<>(potion, System.currentTimeMillis()));
|
||||
|
||||
if(recentlyThrownPotions.get(player).size() > 128)
|
||||
if (recentlyThrownPotions.get(player).size() > 128)
|
||||
{
|
||||
recentlyThrownPotions.get(player).remove(0);
|
||||
}
|
||||
if(allThrownPotions.size() > 1024)
|
||||
if (allThrownPotions.size() > 1024)
|
||||
{
|
||||
allThrownPotions.remove(0); // Remove the first element in the set.
|
||||
}
|
||||
@ -115,19 +115,14 @@ public class Monitors extends FreedomService
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of potions the player has thrown with unix time stamps.
|
||||
* @param player The player that has thrown potions.
|
||||
* @return A list of map entries with the key as the thrown potion and the value as a long (unix time stamp when the throw happened).
|
||||
*/
|
||||
public List<Map.Entry<ThrownPotion, Long>> getPlayerThrownPotions(Player player)
|
||||
{
|
||||
List<Map.Entry<ThrownPotion, Long>> thrownPotions = new ArrayList<>();
|
||||
|
||||
for(Map.Entry<ThrownPotion, Long> potionEntry : allThrownPotions)
|
||||
for (Map.Entry<ThrownPotion, Long> potionEntry : allThrownPotions)
|
||||
{
|
||||
ThrownPotion potion = potionEntry.getKey();
|
||||
if(potion.getShooter() != null && potion.getShooter().equals(player))
|
||||
if (potion.getShooter() != null && potion.getShooter().equals(player))
|
||||
{
|
||||
thrownPotions.add(potionEntry);
|
||||
}
|
||||
@ -136,18 +131,13 @@ public class Monitors extends FreedomService
|
||||
return thrownPotions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Detects if a thrown potion is most likely a troll potion.
|
||||
* @param potion Any thrown potion that should be checked.
|
||||
* @return A boolean that indicates if the potion param is most likely a troll potion.
|
||||
*/
|
||||
public boolean isTrollPotion(ThrownPotion potion)
|
||||
{
|
||||
int badEffectsDetected = 0;
|
||||
|
||||
for(PotionEffect effect : potion.getEffects())
|
||||
for (PotionEffect effect : potion.getEffects())
|
||||
{
|
||||
if(badPotionEffects.contains(effect.getType()) && effect.getAmplifier() > 2 && effect.getDuration() > 200)
|
||||
if (badPotionEffects.contains(effect.getType()) && effect.getAmplifier() > 2 && effect.getDuration() > 200)
|
||||
{
|
||||
badEffectsDetected++;
|
||||
}
|
||||
|
@ -13,17 +13,12 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import me.totalfreedom.totalfreedommod.FreedomService;
|
||||
import net.coreprotect.CoreProtectAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
/**
|
||||
* Links TF-FAWE and the CoreProtect API together with two functions.
|
||||
* @author CoolJWB
|
||||
*/
|
||||
public class FAWEBridge extends FreedomService
|
||||
{
|
||||
private CoreProtectAPI api;
|
||||
@ -39,7 +34,7 @@ public class FAWEBridge extends FreedomService
|
||||
/*
|
||||
* Iterates over blocks placed by GenerationCommands (in the EditSession) and adds them to the CoreProtect logs.
|
||||
*/
|
||||
Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
|
||||
server.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
@ -60,9 +55,9 @@ public class FAWEBridge extends FreedomService
|
||||
if (blockVector3 != null)
|
||||
{
|
||||
EditSession editSession = playerAndSessionEntry.getValue();
|
||||
World world = Bukkit.getWorld(editSession.getWorld().getName());
|
||||
World world = server.getWorld(editSession.getWorld().getName());
|
||||
Location location = new Location(world, blockVector3.getX(), blockVector3.getY(), blockVector3.getZ());
|
||||
BlockData blockData = Bukkit.createBlockData(dataAndVectorEntry.get(blockVector3));
|
||||
BlockData blockData = server.createBlockData(dataAndVectorEntry.get(blockVector3));
|
||||
api.logRemoval(playerAndSessionEntry.getKey(), location, blockData.getMaterial(), blockData);
|
||||
}
|
||||
}
|
||||
@ -85,7 +80,7 @@ public class FAWEBridge extends FreedomService
|
||||
{
|
||||
if (blockVector3 != null && !pattern.apply(blockVector3).getBlockType().getMaterial().isAir())
|
||||
{
|
||||
World world = Bukkit.getWorld(playerAndSessionEntry.getValue().getWorld().getName());
|
||||
World world = server.getWorld(playerAndSessionEntry.getValue().getWorld().getName());
|
||||
Location location = new Location(world, blockVector3.getX(), blockVector3.getY(), blockVector3.getZ());
|
||||
BaseBlock block = pattern.apply(blockVector3);
|
||||
Material material = Material.getMaterial(block.getBlockType().getId().replaceFirst("minecraft:", "").toUpperCase());
|
||||
@ -106,26 +101,20 @@ public class FAWEBridge extends FreedomService
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a single block edit to CoreProtect.
|
||||
* @param playerName The name of the player.
|
||||
* @param editSession A WorldEdit edit session to find the world.
|
||||
* @param pattern A WorldEdit pattern for the new block placed.
|
||||
* @param blockVector3 A WorldEdit BlockVector3 for coordinates.
|
||||
*/
|
||||
|
||||
public void logBlockEdit(String playerName, EditSession editSession, Pattern pattern, BlockVector3 blockVector3)
|
||||
{
|
||||
// Cache the world used for the next iterations to come.
|
||||
if(world == null || !world.getName().equals(editSession.getWorld().getName()))
|
||||
if (world == null || !world.getName().equals(editSession.getWorld().getName()))
|
||||
{
|
||||
world = Bukkit.getWorld(editSession.getWorld().getName());
|
||||
world = server.getWorld(editSession.getWorld().getName());
|
||||
}
|
||||
|
||||
Map.Entry<String, EditSession> playerAndSessionEntry = new AbstractMap.SimpleEntry(playerName, editSession);
|
||||
Block block = world.getBlockAt(blockVector3.getBlockX(), blockVector3.getBlockY(), blockVector3.getBlockZ());
|
||||
|
||||
// Add the broken block to CoreProtect if it's not air.
|
||||
if(!block.getType().isAir())
|
||||
if (!block.getType().isAir())
|
||||
{
|
||||
String blockData = block.getBlockData().getAsString();
|
||||
blockData = new Gson().fromJson(new Gson().toJson(blockData), blockData.getClass()); // Overwrite original with deep clones.
|
||||
@ -135,24 +124,17 @@ public class FAWEBridge extends FreedomService
|
||||
}
|
||||
|
||||
// Add the placed block to CoreProtect if it's not air.
|
||||
if(!pattern.apply(blockVector3).getBlockType().getMaterial().isAir())
|
||||
if (!pattern.apply(blockVector3).getBlockType().getMaterial().isAir())
|
||||
{
|
||||
blocksPlaced.putIfAbsent(playerAndSessionEntry, new AbstractMap.SimpleEntry<>(pattern, new ArrayList<>()));
|
||||
blocksPlaced.get(playerAndSessionEntry).getValue().add(new Gson().fromJson(new Gson().toJson(blockVector3), blockVector3.getClass()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a pattern within a region to CoreProtect.
|
||||
* @param playerName The name of the player.
|
||||
* @param editSession A WorldEdit edit session to find the world.
|
||||
* @param region A region of blocks.
|
||||
* @param pattern A WorldEdit pattern for the new blocks placed.
|
||||
*/
|
||||
public void logBlockEdits(String playerName, EditSession editSession, Region region, Pattern pattern)
|
||||
{
|
||||
// Add the broken blocks to CoreProtect.
|
||||
World world = Bukkit.getWorld(region.getWorld().getName());
|
||||
World world = server.getWorld(region.getWorld().getName());
|
||||
List<Block> blocks = new ArrayList<>();
|
||||
|
||||
for (BlockVector3 blockVector3 : region)
|
||||
@ -163,20 +145,13 @@ public class FAWEBridge extends FreedomService
|
||||
logBlockEdit(playerName, editSession, pattern, blocks);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a list of block edits to CoreProtect.
|
||||
* @param playerName The name of the player.
|
||||
* @param editSession A WorldEdit edit session to find the world.
|
||||
* @param pattern A WorldEdit pattern for the new block placed.
|
||||
* @param blocks A list of blocks.
|
||||
*/
|
||||
public void logBlockEdit(String playerName, EditSession editSession, Pattern pattern, List<Block> blocks)
|
||||
{
|
||||
Map.Entry<String, EditSession> playerAndSessionEntry = new AbstractMap.SimpleEntry(playerName, editSession);
|
||||
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () ->
|
||||
server.getScheduler().scheduleSyncDelayedTask(plugin, () ->
|
||||
{
|
||||
for(Block block : blocks)
|
||||
for (Block block : blocks)
|
||||
{
|
||||
BlockVector3 blockVector3 = BlockVector3.at(block.getX(), block.getY(), block.getZ());
|
||||
|
||||
|
@ -30,7 +30,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
{
|
||||
Admin admin = plugin.al.getAdmin(playerSender);
|
||||
|
||||
if(args.length <= 0)
|
||||
if (args.length <= 0)
|
||||
{
|
||||
setPotionSpyState(admin, !admin.getPotionSpy());
|
||||
return true;
|
||||
@ -50,10 +50,10 @@ public class Command_potionspy extends FreedomCommand
|
||||
break;
|
||||
|
||||
case "history":
|
||||
if(args.length == 3)
|
||||
if (args.length == 3)
|
||||
{
|
||||
Player player = Bukkit.getPlayer(args[1]);
|
||||
if(player == null)
|
||||
if (player == null)
|
||||
{
|
||||
msg(sender, "Please specify a valid player name.");
|
||||
return true;
|
||||
@ -65,12 +65,12 @@ public class Command_potionspy extends FreedomCommand
|
||||
List<String> potionThrowNotifications = new ArrayList<>();
|
||||
int lastPage = (int)Math.ceil(thrownPotions.size() / 5.0);
|
||||
|
||||
if(thrownPotions.isEmpty())
|
||||
if (thrownPotions.isEmpty())
|
||||
{
|
||||
msg(sender, noPlayerRecord);
|
||||
return true;
|
||||
}
|
||||
if(!NumberUtils.isNumber(args[2]))
|
||||
if (!NumberUtils.isNumber(args[2]))
|
||||
{
|
||||
msg(sender, String.format(validPageText, lastPage));
|
||||
return true;
|
||||
@ -79,7 +79,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
Collections.reverse(thrownPotions);
|
||||
int pageIndex = Integer.parseInt(args[2]);
|
||||
|
||||
for(Map.Entry<ThrownPotion, Long> potionEntry : thrownPotions)
|
||||
for (Map.Entry<ThrownPotion, Long> potionEntry : thrownPotions)
|
||||
{
|
||||
ThrownPotion potion = potionEntry.getKey();
|
||||
boolean trollPotions = plugin.mo.isTrollPotion(potion);
|
||||
@ -89,7 +89,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
}
|
||||
|
||||
List<String> page = FUtil.getPageFromList(potionThrowNotifications, 5, pageIndex - 1);
|
||||
if(!page.isEmpty())
|
||||
if (!page.isEmpty())
|
||||
{
|
||||
msg(sender, ChatColor.translateAlternateColorCodes('&', titleText));
|
||||
for (String potionThrowNotification : page)
|
||||
@ -105,7 +105,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
|
||||
msg(sender, ChatColor.translateAlternateColorCodes('&', String.format(bottomText, pageIndex, lastPage)));
|
||||
}
|
||||
else if(args.length == 2)
|
||||
else if (args.length == 2)
|
||||
{
|
||||
List<Map.Entry<ThrownPotion, Long>> thrownPotions = new ArrayList<>();
|
||||
thrownPotions.addAll(plugin.mo.getAllThrownPotions()); // Make a copy of the list to avoid modifying the original.
|
||||
@ -113,7 +113,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
List<String> potionThrowNotifications = new ArrayList<>();
|
||||
int lastPage = (int)Math.ceil(thrownPotions.size() / 5.0);
|
||||
|
||||
if(thrownPotions.isEmpty())
|
||||
if (thrownPotions.isEmpty())
|
||||
{
|
||||
if(Bukkit.getPlayer(args[1]) != null)
|
||||
{
|
||||
@ -125,7 +125,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if(!NumberUtils.isNumber(args[1]))
|
||||
if (!NumberUtils.isNumber(args[1]))
|
||||
{
|
||||
msg(sender, String.format(validPageText, lastPage));
|
||||
return true;
|
||||
@ -134,7 +134,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
Collections.reverse(thrownPotions);
|
||||
int pageIndex = Integer.parseInt(args[1]);
|
||||
|
||||
for(Map.Entry<ThrownPotion, Long> potionEntry : thrownPotions)
|
||||
for (Map.Entry<ThrownPotion, Long> potionEntry : thrownPotions)
|
||||
{
|
||||
ThrownPotion potion = potionEntry.getKey();
|
||||
Player player = (Player)potion.getShooter();
|
||||
@ -148,7 +148,7 @@ public class Command_potionspy extends FreedomCommand
|
||||
}
|
||||
|
||||
List<String> page = FUtil.getPageFromList(potionThrowNotifications, 5, pageIndex - 1);
|
||||
if(!page.isEmpty())
|
||||
if (!page.isEmpty())
|
||||
{
|
||||
msg(sender, ChatColor.translateAlternateColorCodes('&', titleText));
|
||||
for (String potionThrowNotification : page)
|
||||
@ -176,11 +176,6 @@ public class Command_potionspy extends FreedomCommand
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets and updates the potion spy state for an admin.
|
||||
* @param admin The admin that the state should be changed for.
|
||||
* @param state A boolean that will set the state of potion spy for the admin (enabled or disabled).
|
||||
*/
|
||||
private void setPotionSpyState(Admin admin, boolean state)
|
||||
{
|
||||
admin.setPotionSpy(state);
|
||||
@ -199,21 +194,21 @@ public class Command_potionspy extends FreedomCommand
|
||||
{
|
||||
long unix = now - past;
|
||||
long seconds = Math.round(unix / 1000.0);
|
||||
if(seconds < 60)
|
||||
if (seconds < 60)
|
||||
{
|
||||
return seconds + "s";
|
||||
}
|
||||
else
|
||||
{
|
||||
long minutes = Math.round(seconds / 60.0);
|
||||
if(minutes < 60)
|
||||
if (minutes < 60)
|
||||
{
|
||||
return minutes + "m";
|
||||
}
|
||||
else
|
||||
{
|
||||
long hours = Math.round(minutes / 60.0);
|
||||
if(hours < 24)
|
||||
if (hours < 24)
|
||||
{
|
||||
return hours + "h";
|
||||
}
|
||||
|
@ -782,13 +782,6 @@ public class FUtil
|
||||
return colors;
|
||||
}
|
||||
|
||||
/**
|
||||
* Detects if two colors are alike.
|
||||
* @param first The first Color to check.
|
||||
* @param second The second Color to check.
|
||||
* @param tresHold The maximum allowed difference between the colors.
|
||||
* @return Returns true if the colors are alike.
|
||||
*/
|
||||
public static boolean colorClose(Color first, Color second, int tresHold)
|
||||
{
|
||||
int redDelta = Math.abs(first.getRed() - second.getRed());
|
||||
|
Loading…
Reference in New Issue
Block a user