mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-04 15:26:05 +00:00
fuck you super there is development
This commit is contained in:
parent
6b8cab5005
commit
591b8644cb
@ -12,8 +12,9 @@
|
|||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.9.4-R0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.9.4-R0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.avaje:ebean:2.8.1" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.avaje:ebean:2.8.1" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.14.1-R0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.0" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.0" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.13.1-R0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.13.2-R0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.Pravian:Aero:5f82926" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.Pravian:Aero:5f82926" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.12-R0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.12-R0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||||
@ -62,7 +63,9 @@
|
|||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.13.1-R0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.13.1-R0.1-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-bukkit:7.0.0-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-bukkit:7.0.0-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-core:7.0.0-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-core:7.0.0-SNAPSHOT" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-jdk14:1.7.26" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit.worldedit-libs:core:7.0.0-SNAPSHOT" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit.worldedit-libs:bukkit:7.0.0-SNAPSHOT" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.8.1" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TFPatches:TF-WorldGuard:50fd4cb470" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TFPatches:TF-WorldGuard:50fd4cb470" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TFPatches.TF-WorldGuard:worldguard-core:50fd4cb470" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TFPatches.TF-WorldGuard:worldguard-core:50fd4cb470" level="project" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.intake:intake:4.2-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.intake:intake:4.2-SNAPSHOT" level="project" />
|
||||||
|
2
pom.xml
2
pom.xml
@ -102,7 +102,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.13.1-R0.1-SNAPSHOT</version>
|
<version>1.13.2-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ public class EntityWiper extends FreedomService
|
|||||||
{
|
{
|
||||||
int removed = 0;
|
int removed = 0;
|
||||||
|
|
||||||
boolean wipeExpl = ConfigEntry.ALLOW_EXPLOSIONS.getBoolean();
|
boolean wipeExpl = !ConfigEntry.ALLOW_EXPLOSIONS.getBoolean();
|
||||||
Iterator<Entity> entities = world.getEntities().iterator();
|
Iterator<Entity> entities = world.getEntities().iterator();
|
||||||
|
|
||||||
// Organise the entities in the world
|
// Organise the entities in the world
|
||||||
|
@ -188,6 +188,16 @@ public class LoginProcess extends FreedomService
|
|||||||
final Player player = event.getPlayer();
|
final Player player = event.getPlayer();
|
||||||
final FPlayer fPlayer = plugin.pl.getPlayer(player);
|
final FPlayer fPlayer = plugin.pl.getPlayer(player);
|
||||||
|
|
||||||
|
if (!ConfigEntry.SERVER_TABLIST_HEADER.getString().isEmpty())
|
||||||
|
{
|
||||||
|
player.setPlayerListHeader(FUtil.colorize(ConfigEntry.SERVER_TABLIST_HEADER.getString()).replace("\\n", "\n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ConfigEntry.SERVER_TABLIST_FOOTER.getString().isEmpty())
|
||||||
|
{
|
||||||
|
player.setPlayerListFooter(FUtil.colorize(ConfigEntry.SERVER_TABLIST_FOOTER.getString()).replace("\\n", "\n"));
|
||||||
|
}
|
||||||
|
|
||||||
for (Player p : Command_vanish.VANISHED)
|
for (Player p : Command_vanish.VANISHED)
|
||||||
{
|
{
|
||||||
if (!plugin.al.isAdmin(player))
|
if (!plugin.al.isAdmin(player))
|
||||||
|
@ -3,6 +3,7 @@ package me.totalfreedom.totalfreedommod;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import me.totalfreedom.totalfreedommod.admin.ActivityLog;
|
||||||
import me.totalfreedom.totalfreedommod.admin.AdminList;
|
import me.totalfreedom.totalfreedommod.admin.AdminList;
|
||||||
import me.totalfreedom.totalfreedommod.amp.AMP;
|
import me.totalfreedom.totalfreedommod.amp.AMP;
|
||||||
import me.totalfreedom.totalfreedommod.banning.BanManager;
|
import me.totalfreedom.totalfreedommod.banning.BanManager;
|
||||||
@ -27,6 +28,7 @@ import me.totalfreedom.totalfreedommod.command.CommandLoader;
|
|||||||
import me.totalfreedom.totalfreedommod.config.MainConfig;
|
import me.totalfreedom.totalfreedommod.config.MainConfig;
|
||||||
import me.totalfreedom.totalfreedommod.discord.Discord;
|
import me.totalfreedom.totalfreedommod.discord.Discord;
|
||||||
import me.totalfreedom.totalfreedommod.freeze.Freezer;
|
import me.totalfreedom.totalfreedommod.freeze.Freezer;
|
||||||
|
import me.totalfreedom.totalfreedommod.fun.CurseListener;
|
||||||
import me.totalfreedom.totalfreedommod.fun.ItemFun;
|
import me.totalfreedom.totalfreedommod.fun.ItemFun;
|
||||||
import me.totalfreedom.totalfreedommod.fun.Jumppads;
|
import me.totalfreedom.totalfreedommod.fun.Jumppads;
|
||||||
import me.totalfreedom.totalfreedommod.fun.Landminer;
|
import me.totalfreedom.totalfreedommod.fun.Landminer;
|
||||||
@ -75,6 +77,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
|||||||
public WorldManager wm;
|
public WorldManager wm;
|
||||||
public LogViewer lv;
|
public LogViewer lv;
|
||||||
public AdminList al;
|
public AdminList al;
|
||||||
|
public ActivityLog acl;
|
||||||
public RankManager rm;
|
public RankManager rm;
|
||||||
public CommandLoader cl;
|
public CommandLoader cl;
|
||||||
public CommandBlocker cb;
|
public CommandBlocker cb;
|
||||||
@ -111,6 +114,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
|||||||
public EntityWiper ew;
|
public EntityWiper ew;
|
||||||
public FrontDoor fd;
|
public FrontDoor fd;
|
||||||
public ServerPing sp;
|
public ServerPing sp;
|
||||||
|
public CurseListener cul;
|
||||||
public ItemFun it;
|
public ItemFun it;
|
||||||
public Landminer lm;
|
public Landminer lm;
|
||||||
public MobStacker ms;
|
public MobStacker ms;
|
||||||
@ -182,6 +186,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
|||||||
wm = services.registerService(WorldManager.class);
|
wm = services.registerService(WorldManager.class);
|
||||||
lv = services.registerService(LogViewer.class);
|
lv = services.registerService(LogViewer.class);
|
||||||
al = services.registerService(AdminList.class);
|
al = services.registerService(AdminList.class);
|
||||||
|
acl = services.registerService(ActivityLog.class);
|
||||||
rm = services.registerService(RankManager.class);
|
rm = services.registerService(RankManager.class);
|
||||||
cl = services.registerService(CommandLoader.class);
|
cl = services.registerService(CommandLoader.class);
|
||||||
cb = services.registerService(CommandBlocker.class);
|
cb = services.registerService(CommandBlocker.class);
|
||||||
@ -229,6 +234,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
|||||||
pv = services.registerService(PlayerVerification.class);
|
pv = services.registerService(PlayerVerification.class);
|
||||||
|
|
||||||
// Fun
|
// Fun
|
||||||
|
cul = services.registerService(CurseListener.class);
|
||||||
it = services.registerService(ItemFun.class);
|
it = services.registerService(ItemFun.class);
|
||||||
lm = services.registerService(Landminer.class);
|
lm = services.registerService(Landminer.class);
|
||||||
ms = services.registerService(MobStacker.class);
|
ms = services.registerService(MobStacker.class);
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package me.totalfreedom.totalfreedommod.banning;
|
package me.totalfreedom.totalfreedommod.banning;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -36,6 +38,9 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
private String by = null;
|
private String by = null;
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
private Date at = null;
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
private String reason = null; // Unformatted, &[0-9,a-f] instead of ChatColor
|
private String reason = null; // Unformatted, &[0-9,a-f] instead of ChatColor
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ -45,7 +50,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Ban(String username, String ip, String by, Date expire, String reason)
|
public Ban(String username, String ip, String by, Date at, Date expire, String reason)
|
||||||
{
|
{
|
||||||
this(username,
|
this(username,
|
||||||
new String[]
|
new String[]
|
||||||
@ -53,11 +58,12 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
ip
|
ip
|
||||||
},
|
},
|
||||||
by,
|
by,
|
||||||
|
at,
|
||||||
expire,
|
expire,
|
||||||
reason);
|
reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Ban(String username, String[] ips, String by, Date expire, String reason)
|
public Ban(String username, String[] ips, String by, Date at, Date expire, String reason)
|
||||||
{
|
{
|
||||||
this.username = username;
|
this.username = username;
|
||||||
if (ips != null)
|
if (ips != null)
|
||||||
@ -66,6 +72,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
}
|
}
|
||||||
dedupeIps();
|
dedupeIps();
|
||||||
this.by = by;
|
this.by = by;
|
||||||
|
this.at = at;
|
||||||
this.expiryUnix = FUtil.getUnixTime(expire);
|
this.expiryUnix = FUtil.getUnixTime(expire);
|
||||||
this.reason = reason;
|
this.reason = reason;
|
||||||
}
|
}
|
||||||
@ -82,12 +89,12 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
return new Ban(null, new String[]
|
return new Ban(null, new String[]
|
||||||
{
|
{
|
||||||
Ips.getIp(player)
|
Ips.getIp(player)
|
||||||
}, by.getName(), expiry, reason);
|
}, by.getName(), Date.from(Instant.now()), expiry, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Ban forPlayerIp(String ip, CommandSender by, Date expiry, String reason)
|
public static Ban forPlayerIp(String ip, CommandSender by, Date expiry, String reason)
|
||||||
{
|
{
|
||||||
return new Ban(null, ip, by.getName(), expiry, reason);
|
return new Ban(null, ip, by.getName(), Date.from(Instant.now()), expiry, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -102,6 +109,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
return new Ban(player,
|
return new Ban(player,
|
||||||
(String[])null,
|
(String[])null,
|
||||||
by.getName(),
|
by.getName(),
|
||||||
|
Date.from(Instant.now()),
|
||||||
expiry,
|
expiry,
|
||||||
reason);
|
reason);
|
||||||
}
|
}
|
||||||
@ -118,6 +126,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
return new Ban(player.getName(),
|
return new Ban(player.getName(),
|
||||||
Ips.getIp(player),
|
Ips.getIp(player),
|
||||||
by.getName(),
|
by.getName(),
|
||||||
|
Date.from(Instant.now()),
|
||||||
expiry,
|
expiry,
|
||||||
reason);
|
reason);
|
||||||
}
|
}
|
||||||
@ -127,6 +136,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
return new Ban(player.getName(),
|
return new Ban(player.getName(),
|
||||||
FUtil.getFuzzyIp(Ips.getIp(player)),
|
FUtil.getFuzzyIp(Ips.getIp(player)),
|
||||||
by.getName(),
|
by.getName(),
|
||||||
|
Date.from(Instant.now()),
|
||||||
expiry,
|
expiry,
|
||||||
reason);
|
reason);
|
||||||
}
|
}
|
||||||
@ -181,6 +191,12 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
.append(by);
|
.append(by);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (at != null)
|
||||||
|
{
|
||||||
|
message.append("\n").append(ChatColor.RED).append("Issued: ").append(ChatColor.GOLD)
|
||||||
|
.append(DATE_FORMAT.format(at));
|
||||||
|
}
|
||||||
|
|
||||||
if (getExpiryUnix() != 0)
|
if (getExpiryUnix() != 0)
|
||||||
{
|
{
|
||||||
message.append("\n").append(ChatColor.RED).append("Expires: ").append(ChatColor.GOLD)
|
message.append("\n").append(ChatColor.RED).append("Expires: ").append(ChatColor.GOLD)
|
||||||
@ -234,6 +250,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
this.ips.clear();
|
this.ips.clear();
|
||||||
this.ips.addAll(cs.getStringList("ips"));
|
this.ips.addAll(cs.getStringList("ips"));
|
||||||
this.by = cs.getString("by", null);
|
this.by = cs.getString("by", null);
|
||||||
|
this.at = FUtil.stringToDate(cs.getString("at", null));
|
||||||
this.reason = cs.getString("reason", null);
|
this.reason = cs.getString("reason", null);
|
||||||
this.expiryUnix = cs.getLong("expiry_unix", 0);
|
this.expiryUnix = cs.getLong("expiry_unix", 0);
|
||||||
dedupeIps();
|
dedupeIps();
|
||||||
@ -246,6 +263,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable
|
|||||||
cs.set("username", username);
|
cs.set("username", username);
|
||||||
cs.set("ips", ips.isEmpty() ? null : ips);
|
cs.set("ips", ips.isEmpty() ? null : ips);
|
||||||
cs.set("by", by);
|
cs.set("by", by);
|
||||||
|
cs.set("at", FUtil.dateToString(at));
|
||||||
cs.set("reason", reason);
|
cs.set("reason", reason);
|
||||||
cs.set("expiry_unix", expiryUnix > 0 ? expiryUnix : null);
|
cs.set("expiry_unix", expiryUnix > 0 ? expiryUnix : null);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import me.totalfreedom.totalfreedommod.util.FUtil;
|
|||||||
import me.totalfreedom.totalfreedommod.util.Groups;
|
import me.totalfreedom.totalfreedommod.util.Groups;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
|
@ -3,7 +3,9 @@ package me.totalfreedom.totalfreedommod.blocking;
|
|||||||
import me.totalfreedom.totalfreedommod.FreedomService;
|
import me.totalfreedom.totalfreedommod.FreedomService;
|
||||||
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||||
|
import me.totalfreedom.totalfreedommod.util.FLog;
|
||||||
import me.totalfreedom.totalfreedommod.util.Groups;
|
import me.totalfreedom.totalfreedommod.util.Groups;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.attribute.Attribute;
|
import org.bukkit.attribute.Attribute;
|
||||||
import org.bukkit.attribute.AttributeModifier;
|
import org.bukkit.attribute.AttributeModifier;
|
||||||
import org.bukkit.block.ShulkerBox;
|
import org.bukkit.block.ShulkerBox;
|
||||||
|
@ -3,6 +3,7 @@ package me.totalfreedom.totalfreedommod.blocking;
|
|||||||
import me.totalfreedom.totalfreedommod.FreedomService;
|
import me.totalfreedom.totalfreedommod.FreedomService;
|
||||||
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||||
|
import me.totalfreedom.totalfreedommod.util.FLog;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -54,6 +55,12 @@ public class InteractBlocker extends FreedomService
|
|||||||
{
|
{
|
||||||
final Player player = event.getPlayer();
|
final Player player = event.getPlayer();
|
||||||
|
|
||||||
|
if (event.getClickedBlock() != null && event.getClickedBlock().getType().equals(Material.STRUCTURE_BLOCK))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
event.getPlayer().closeInventory();
|
||||||
|
}
|
||||||
|
|
||||||
switch (event.getMaterial())
|
switch (event.getMaterial())
|
||||||
{
|
{
|
||||||
case WATER_BUCKET:
|
case WATER_BUCKET:
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.command;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||||
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Cuck someone", usage = "/<command> <player>")
|
||||||
|
public class Command_cuck extends FreedomCommand
|
||||||
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!FUtil.isExecutive(sender.getName()))
|
||||||
|
{
|
||||||
|
return noPerms();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Player player = getPlayer(args[0]);
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
msg(FreedomCommand.PLAYER_NOT_FOUND);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.remove();
|
||||||
|
|
||||||
|
msg("Cucked " + player.getName());
|
||||||
|
|
||||||
|
player.sendTitle(ChatColor.DARK_RED + "HAHA CUCKED", ChatColor.RED + "relog if u want to be uncucked loser", 20, 200, 60);
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
|
||||||
|
{
|
||||||
|
if (args.length == 1 && plugin.al.isAdmin(sender) && FUtil.isExecutive(sender.getName()))
|
||||||
|
{
|
||||||
|
return FUtil.getPlayerList();
|
||||||
|
}
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.command;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||||
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Curse someone", usage = "/<command> <player>")
|
||||||
|
public class Command_curse extends FreedomCommand
|
||||||
|
{
|
||||||
|
|
||||||
|
/* The only problem with this is someone can prevent themself from being cursed by declining to download the
|
||||||
|
resource pack. However, if they hit yes, then you can curse them whenever you want and they can't stop it unless
|
||||||
|
they go into their server settings. and set server resource packs to prompt or disabled */
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!FUtil.isExecutive(sender.getName()))
|
||||||
|
{
|
||||||
|
return noPerms();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Player player = getPlayer(args[0]);
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
msg(FreedomCommand.PLAYER_NOT_FOUND);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plugin.cul.cursedPlayers.containsKey(player))
|
||||||
|
{
|
||||||
|
msg("Already attempting to cruse!", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.setResourcePack("http://play.totalfreedom.me/cursed.zip");
|
||||||
|
msg("Attempting to curse " + player.getName(), ChatColor.GREEN);
|
||||||
|
plugin.cul.cursedPlayers.put(player, playerSender);
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
|
||||||
|
{
|
||||||
|
if (args.length == 1 && plugin.al.isAdmin(sender) && FUtil.isExecutive(sender.getName()))
|
||||||
|
{
|
||||||
|
return FUtil.getPlayerList();
|
||||||
|
}
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.command;
|
||||||
|
|
||||||
|
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Make arrows explode", usage = "/<command>", aliases = "ea")
|
||||||
|
public class Command_explosivearrows extends FreedomCommand
|
||||||
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
boolean onList = plugin.it.explosivePlayers.contains(playerSender);
|
||||||
|
if (onList)
|
||||||
|
{
|
||||||
|
plugin.it.explosivePlayers.remove(playerSender);
|
||||||
|
msg("You no longer have explosive arrows", ChatColor.RED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
plugin.it.explosivePlayers.add(playerSender);
|
||||||
|
msg("You now have explosive arrows", ChatColor.GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -7,7 +7,7 @@ import org.bukkit.command.Command;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.ONLY_CONSOLE)
|
@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Control mob rezzing parameters.", usage = "/<command> <on|off|setmax <count>|dragon|giant|ghast|slime>")
|
@CommandParameters(description = "Control mob rezzing parameters.", usage = "/<command> <on|off|setmax <count>|dragon|giant|ghast|slime>")
|
||||||
public class Command_moblimiter extends FreedomCommand
|
public class Command_moblimiter extends FreedomCommand
|
||||||
{
|
{
|
||||||
|
@ -153,7 +153,7 @@ public class Command_tag extends FreedomCommand
|
|||||||
|
|
||||||
int tagLimit = (plugin.al.isAdmin(sender) ? 30 : 20);
|
int tagLimit = (plugin.al.isAdmin(sender) ? 30 : 20);
|
||||||
|
|
||||||
final String rawTag = ChatColor.stripColor(strippedTag).toLowerCase();
|
final String rawTag = ChatColor.stripColor(outputTag).toLowerCase();
|
||||||
|
|
||||||
if (rawTag.length() > tagLimit)
|
if (rawTag.length() > tagLimit)
|
||||||
{
|
{
|
||||||
|
@ -45,6 +45,8 @@ public enum ConfigEntry
|
|||||||
SERVER_MASTER_BUILDER_MANAGEMENT(List.class, "server.master_builder_management"),
|
SERVER_MASTER_BUILDER_MANAGEMENT(List.class, "server.master_builder_management"),
|
||||||
SERVER_BAN_URL(String.class, "server.ban_url"),
|
SERVER_BAN_URL(String.class, "server.ban_url"),
|
||||||
SERVER_PERMBAN_URL(String.class, "server.permban_url"),
|
SERVER_PERMBAN_URL(String.class, "server.permban_url"),
|
||||||
|
SERVER_TABLIST_HEADER(String.class, "server.tablist_header"),
|
||||||
|
SERVER_TABLIST_FOOTER(String.class, "server.tablist_footer"),
|
||||||
//
|
//
|
||||||
DISCORD_TOKEN(String.class, "discord.token"),
|
DISCORD_TOKEN(String.class, "discord.token"),
|
||||||
DISCORD_REPORT_CHANNEL_ID(String.class, "discord.report_channel_id"),
|
DISCORD_REPORT_CHANNEL_ID(String.class, "discord.report_channel_id"),
|
||||||
|
@ -2,7 +2,6 @@ package me.totalfreedom.totalfreedommod.discord;
|
|||||||
|
|
||||||
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||||
import me.totalfreedom.totalfreedommod.admin.Admin;
|
import me.totalfreedom.totalfreedommod.admin.Admin;
|
||||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
|
||||||
import me.totalfreedom.totalfreedommod.playerverification.VPlayer;
|
import me.totalfreedom.totalfreedommod.playerverification.VPlayer;
|
||||||
import net.dv8tion.jda.core.events.message.priv.PrivateMessageReceivedEvent;
|
import net.dv8tion.jda.core.events.message.priv.PrivateMessageReceivedEvent;
|
||||||
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
||||||
@ -30,6 +29,7 @@ public class MessageListener extends ListenerAdapter
|
|||||||
{
|
{
|
||||||
VPlayer player = Discord.PLAYER_LINK_CODES.get(code);
|
VPlayer player = Discord.PLAYER_LINK_CODES.get(code);
|
||||||
player.setDiscordId(event.getMessage().getAuthor().getId());
|
player.setDiscordId(event.getMessage().getAuthor().getId());
|
||||||
|
player.setEnabled(true);
|
||||||
|
|
||||||
TotalFreedomMod.plugin().pv.saveVerificationData(player);
|
TotalFreedomMod.plugin().pv.saveVerificationData(player);
|
||||||
Discord.PLAYER_LINK_CODES.remove(code);
|
Discord.PLAYER_LINK_CODES.remove(code);
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.fun;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import me.totalfreedom.totalfreedommod.FreedomService;
|
||||||
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.player.PlayerResourcePackStatusEvent;
|
||||||
|
|
||||||
|
import static org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
|
||||||
|
|
||||||
|
public class CurseListener extends FreedomService
|
||||||
|
{
|
||||||
|
|
||||||
|
public HashMap<Player, Player> cursedPlayers = new HashMap<Player, Player>();
|
||||||
|
|
||||||
|
public CurseListener(TotalFreedomMod plugin)
|
||||||
|
{
|
||||||
|
super(plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStart()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStop()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onResourcePackStatus(PlayerResourcePackStatusEvent event)
|
||||||
|
{
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
PlayerResourcePackStatusEvent.Status cursed = event.getStatus();
|
||||||
|
Player cursedBy = cursedPlayers.get(player);
|
||||||
|
if (cursed.equals(Status.ACCEPTED))
|
||||||
|
{
|
||||||
|
cursedBy.sendMessage(ChatColor.GREEN + "Casting curse on " + player.getName() + "...");
|
||||||
|
}
|
||||||
|
else if (cursed.equals(Status.DECLINED))
|
||||||
|
{
|
||||||
|
cursedBy.sendMessage(ChatColor.RED + "Failed to start cast on " + player.getName() + "!");
|
||||||
|
cursedPlayers.remove(player);
|
||||||
|
}
|
||||||
|
else if (cursed.equals(Status.SUCCESSFULLY_LOADED))
|
||||||
|
{
|
||||||
|
cursedBy.sendMessage(ChatColor.GREEN + "Successfully cursed + " + player.getName() + "!");
|
||||||
|
cursedPlayers.remove(player);
|
||||||
|
}
|
||||||
|
else if (cursed.equals(Status.FAILED_DOWNLOAD))
|
||||||
|
{
|
||||||
|
cursedBy.sendMessage(ChatColor.RED + "Failed to cast curse on " + player.getName() + "!");
|
||||||
|
cursedPlayers.remove(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -9,6 +9,9 @@ import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
|||||||
import me.totalfreedom.totalfreedommod.player.FPlayer;
|
import me.totalfreedom.totalfreedommod.player.FPlayer;
|
||||||
import me.totalfreedom.totalfreedommod.util.DepreciationAggregator;
|
import me.totalfreedom.totalfreedommod.util.DepreciationAggregator;
|
||||||
import me.totalfreedom.totalfreedommod.util.FUtil;
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||||
|
import org.bukkit.entity.Arrow;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
@ -25,6 +28,8 @@ import org.bukkit.util.Vector;
|
|||||||
public class ItemFun extends FreedomService
|
public class ItemFun extends FreedomService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public List<Player> explosivePlayers = new ArrayList<Player>();
|
||||||
|
|
||||||
private final Random random = new Random();
|
private final Random random = new Random();
|
||||||
|
|
||||||
public ItemFun(TotalFreedomMod plugin)
|
public ItemFun(TotalFreedomMod plugin)
|
||||||
@ -271,6 +276,25 @@ public class ItemFun extends FreedomService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onProjectileHit(ProjectileHitEvent event)
|
||||||
|
{
|
||||||
|
Entity entity = event.getEntity();
|
||||||
|
Arrow arrow = null;
|
||||||
|
if (entity instanceof Arrow)
|
||||||
|
{
|
||||||
|
arrow = (Arrow)entity;
|
||||||
|
}
|
||||||
|
if (arrow != null && (arrow.getShooter() instanceof Player))
|
||||||
|
{
|
||||||
|
if (explosivePlayers.contains((Player)arrow.getShooter()))
|
||||||
|
{
|
||||||
|
arrow.getLocation().getWorld().createExplosion(arrow.getLocation().getX(), arrow.getLocation().getY(), arrow.getLocation().getZ(), ConfigEntry.EXPLOSIVE_RADIUS.getDouble().floatValue(), false, ConfigEntry.ALLOW_EXPLOSIONS.getBoolean());
|
||||||
|
arrow.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Location randomOffset(Location a, double magnitude)
|
private Location randomOffset(Location a, double magnitude)
|
||||||
{
|
{
|
||||||
return a.clone().add(randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude);
|
return a.clone().add(randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude);
|
||||||
|
@ -12,6 +12,7 @@ import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
|||||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||||
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD.Response;
|
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD.Response;
|
||||||
import me.totalfreedom.totalfreedommod.httpd.module.HTTPDModule;
|
import me.totalfreedom.totalfreedommod.httpd.module.HTTPDModule;
|
||||||
|
import me.totalfreedom.totalfreedommod.httpd.module.Module_activitylog;
|
||||||
import me.totalfreedom.totalfreedommod.httpd.module.Module_admins;
|
import me.totalfreedom.totalfreedommod.httpd.module.Module_admins;
|
||||||
import me.totalfreedom.totalfreedommod.httpd.module.Module_bans;
|
import me.totalfreedom.totalfreedommod.httpd.module.Module_bans;
|
||||||
import me.totalfreedom.totalfreedommod.httpd.module.Module_dump;
|
import me.totalfreedom.totalfreedommod.httpd.module.Module_dump;
|
||||||
@ -58,6 +59,7 @@ public class HTTPDaemon extends FreedomService
|
|||||||
|
|
||||||
// Modules
|
// Modules
|
||||||
modules.clear();
|
modules.clear();
|
||||||
|
module("activitylog", Module_activitylog.class, true);
|
||||||
module("admins", Module_admins.class, true);
|
module("admins", Module_admins.class, true);
|
||||||
module("bans", Module_bans.class, true);
|
module("bans", Module_bans.class, true);
|
||||||
module("dump", Module_dump.class, true);
|
module("dump", Module_dump.class, true);
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.httpd.module;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||||
|
import me.totalfreedom.totalfreedommod.admin.ActivityLog;
|
||||||
|
import me.totalfreedom.totalfreedommod.httpd.HTTPDaemon;
|
||||||
|
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD;
|
||||||
|
|
||||||
|
public class Module_activitylog extends HTTPDModule
|
||||||
|
{
|
||||||
|
|
||||||
|
public Module_activitylog(TotalFreedomMod plugin, NanoHTTPD.HTTPSession session)
|
||||||
|
{
|
||||||
|
super(plugin, session);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NanoHTTPD.Response getResponse()
|
||||||
|
{
|
||||||
|
File activityLogFile = new File(plugin.getDataFolder(), ActivityLog.FILENAME);
|
||||||
|
if (activityLogFile.exists())
|
||||||
|
{
|
||||||
|
return HTTPDaemon.serveFileBasic(new File(plugin.getDataFolder(), ActivityLog.FILENAME));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new NanoHTTPD.Response(NanoHTTPD.Response.Status.NOT_FOUND, NanoHTTPD.MIME_PLAINTEXT,
|
||||||
|
"Error 404: Not Found - The requested resource was not found on this server.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
src/main/resources/activitylog.yml
Normal file
3
src/main/resources/activitylog.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#
|
||||||
|
# TotalFreedomMod 5.2 Activity Log
|
||||||
|
#
|
@ -33,6 +33,12 @@ server:
|
|||||||
# URL players should appeal for permanent bans at
|
# URL players should appeal for permanent bans at
|
||||||
permban_url: http://bit.ly/TF_PermBan
|
permban_url: http://bit.ly/TF_PermBan
|
||||||
|
|
||||||
|
# What to display at the top of the tab list
|
||||||
|
tablist_header: ''
|
||||||
|
|
||||||
|
# What to display at the bottom of the tab list
|
||||||
|
tablist_footer: ''
|
||||||
|
|
||||||
# Discord
|
# Discord
|
||||||
discord:
|
discord:
|
||||||
# If you do not have a token, make a bot account and get one at https://discordapp.com/developers/applications/me
|
# If you do not have a token, make a bot account and get one at https://discordapp.com/developers/applications/me
|
||||||
@ -43,8 +49,6 @@ discord:
|
|||||||
report_channel_id: ''
|
report_channel_id: ''
|
||||||
# Do you want roles to sync with the server?
|
# Do you want roles to sync with the server?
|
||||||
role_sync: false
|
role_sync: false
|
||||||
# The official discord server's ID for this server
|
|
||||||
server_id: ''
|
|
||||||
# Super Admin role ID
|
# Super Admin role ID
|
||||||
super_role_id: ''
|
super_role_id: ''
|
||||||
# Telnet Admin role ID
|
# Telnet Admin role ID
|
||||||
|
Loading…
Reference in New Issue
Block a user