mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
Squashed commit of the following:
commita42cb6aff9
Merge:2ecfb886
01fdf766
Author: Video <videogamesm12@gmail.com> Date: Mon Nov 29 02:41:34 2021 -0700 Merge pull request #125 from AtlasMediaGroup/shitcan-savedflags Shitcans SavedFlags commit01fdf766ee
Merge:58c21bb1
2ecfb886
Author: Video <videogamesm12@gmail.com> Date: Tue Nov 23 09:28:48 2021 -0700 Merge branch 'development' into shitcan-savedflags commit2ecfb88604
Merge:42143c11
bb2ddf11
Author: Video <videogamesm12@gmail.com> Date: Tue Nov 23 09:15:16 2021 -0700 Merge pull request #130 from AtlasMediaGroup/FS-215 Makes [Discord] a hyperlink (FS-215) commitbb2ddf1129
Merge:cf9fdc6f
42143c11
Author: Video <videogamesm12@gmail.com> Date: Tue Nov 23 03:31:19 2021 -0700 Merge branch 'development' into FS-215 commit58c21bb1aa
Merge:fdba119d
42143c11
Author: Video <videogamesm12@gmail.com> Date: Tue Nov 23 03:30:48 2021 -0700 Merge branch 'development' into shitcan-savedflags commitcf9fdc6fe4
Merge:387ea6f7
a598c933
Author: Video <videogamesm12@gmail.com> Date: Fri Oct 8 01:43:33 2021 -0600 Merge branch 'development' into FS-215 commit387ea6f71e
Merge:a1ecf881
180cd811
Author: Video <videogamesm12@gmail.com> Date: Fri Oct 1 00:35:12 2021 -0600 Merge branch 'development' into FS-215 commita1ecf88109
Merge:bd647afe
213a4338
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sun Sep 12 13:48:59 2021 +0100 Merge branch 'development' into FS-215 commitfdba119d5d
Merge:61857dd0
213a4338
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sun Sep 12 13:48:44 2021 +0100 Merge branch 'development' into shitcan-savedflags commit61857dd06f
Merge:2d18d461
0e12f5e7
Author: Video <videogamesm12@gmail.com> Date: Sun Sep 12 03:01:37 2021 -0600 Merge branch 'development' into shitcan-savedflags commitbd647afe92
Merge:69f17ef2
0e12f5e7
Author: Video <videogamesm12@gmail.com> Date: Sun Sep 12 02:50:39 2021 -0600 Merge branch 'development' into FS-215 commit69f17ef2d7
Merge:ee1b27fa
aebe1ace
Author: Video <videogamesm12@gmail.com> Date: Sun Sep 12 02:01:56 2021 -0600 Merge branch 'development' into FS-215 commitee1b27fa0d
Merge:2bdf14f3
0a9b95bf
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sat Sep 11 01:24:00 2021 +0100 Merge branch 'development' into FS-215 commit2d18d461fe
Merge:a4c81f20
0a9b95bf
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sat Sep 11 01:23:44 2021 +0100 Merge branch 'development' into shitcan-savedflags commit2bdf14f38c
Merge:f6d46b61
44ff621d
Author: Video <videogamesm12@gmail.com> Date: Mon Sep 6 15:26:13 2021 -0600 Merge branch 'development' into FS-215 commita4c81f202c
Merge:0d09c3a5
23caa4e8
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sat Sep 4 01:23:06 2021 +0100 Merge branch 'development' into shitcan-savedflags commitf6d46b6178
Merge:ee804d52
23caa4e8
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sat Sep 4 01:07:33 2021 +0100 Merge branch 'development' into FS-215 commitee804d52ff
Author: Video <videogamesm12@gmail.com> Date: Fri Sep 3 12:52:15 2021 -0600 Makes [Discord] a hyperlink (FS-215) I've decided to overhaul the implementation of DiscordToMinecraftListener to make it more easily workable. This overhaul allows me to implement FS-215 more easily. commit0d09c3a550
Merge:e2ccd14e
4c3f188b
Author: Ryan <Wild1145@users.noreply.github.com> Date: Sun Aug 29 20:09:03 2021 +0100 Merge branch 'development' into shitcan-savedflags commite2ccd14eb3
Author: Video <videogamesm12@gmail.com> Date: Fri Aug 27 16:54:55 2021 -0600 Unsaves SavedFlags
This commit is contained in:
parent
5849947c6b
commit
bf2323bed2
@ -1,98 +0,0 @@
|
|||||||
package me.totalfreedom.totalfreedommod;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.ObjectInputStream;
|
|
||||||
import java.io.ObjectOutputStream;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import me.totalfreedom.totalfreedommod.util.FLog;
|
|
||||||
import static me.totalfreedom.totalfreedommod.util.FUtil.SAVED_FLAGS_FILENAME;
|
|
||||||
|
|
||||||
public class SavedFlags extends FreedomService
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void onStart()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStop()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public Map<String, Boolean> getSavedFlags()
|
|
||||||
{
|
|
||||||
Map<String, Boolean> flags = null;
|
|
||||||
File input = new File(TotalFreedomMod.getPlugin().getDataFolder(), SAVED_FLAGS_FILENAME);
|
|
||||||
|
|
||||||
if (input.exists())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
try (FileInputStream fis = new FileInputStream(input); ObjectInputStream ois = new ObjectInputStream(fis))
|
|
||||||
{
|
|
||||||
flags = (HashMap<String, Boolean>)ois.readObject();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
FLog.severe(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return flags;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getSavedFlag(String flag) throws Exception
|
|
||||||
{
|
|
||||||
Boolean flagValue = null;
|
|
||||||
|
|
||||||
Map<String, Boolean> flags = getSavedFlags();
|
|
||||||
|
|
||||||
if (flags != null)
|
|
||||||
{
|
|
||||||
if (flags.containsKey(flag))
|
|
||||||
{
|
|
||||||
flagValue = flags.get(flag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flagValue != null)
|
|
||||||
{
|
|
||||||
return flagValue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new Exception();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSavedFlag(String flag, boolean value)
|
|
||||||
{
|
|
||||||
Map<String, Boolean> flags = getSavedFlags();
|
|
||||||
|
|
||||||
if (flags == null)
|
|
||||||
{
|
|
||||||
flags = new HashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
flags.put(flag, value);
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
final FileOutputStream fos = new FileOutputStream(new File(plugin.getDataFolder(), SAVED_FLAGS_FILENAME));
|
|
||||||
final ObjectOutputStream oos = new ObjectOutputStream(fos);
|
|
||||||
oos.writeObject(flags);
|
|
||||||
oos.close();
|
|
||||||
fos.close();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
FLog.severe(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -75,7 +75,6 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
public CommandLoader cl;
|
public CommandLoader cl;
|
||||||
// Services
|
// Services
|
||||||
public ServerInterface si;
|
public ServerInterface si;
|
||||||
public SavedFlags sf;
|
|
||||||
public WorldManager wm;
|
public WorldManager wm;
|
||||||
public LogViewer lv;
|
public LogViewer lv;
|
||||||
public AdminList al;
|
public AdminList al;
|
||||||
@ -299,7 +298,6 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
{
|
{
|
||||||
// Start services
|
// Start services
|
||||||
si = new ServerInterface();
|
si = new ServerInterface();
|
||||||
sf = new SavedFlags();
|
|
||||||
wm = new WorldManager();
|
wm = new WorldManager();
|
||||||
lv = new LogViewer();
|
lv = new LogViewer();
|
||||||
sql = new SQLite();
|
sql = new SQLite();
|
||||||
|
@ -192,7 +192,6 @@ public class CoreProtectBridge extends FreedomService
|
|||||||
return (megabytes / 1024);
|
return (megabytes / 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wipes DB for the specified world
|
|
||||||
public void clearDatabase(World world)
|
public void clearDatabase(World world)
|
||||||
{
|
{
|
||||||
clearDatabase(world, false);
|
clearDatabase(world, false);
|
||||||
@ -260,12 +259,6 @@ public class CoreProtectBridge extends FreedomService
|
|||||||
{
|
{
|
||||||
FLog.warning("Failed to delete the CoreProtect data for the " + world.getName());
|
FLog.warning("Failed to delete the CoreProtect data for the " + world.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
// This exits for flatlands wipes
|
|
||||||
if (shutdown)
|
|
||||||
{
|
|
||||||
server.shutdown();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
@ -86,6 +86,7 @@ public enum ConfigEntry
|
|||||||
DISCORD_ASSISTANT_EXECUTIVE_ROLE_ID(String.class, "discord.assistant_executive_role_id"),
|
DISCORD_ASSISTANT_EXECUTIVE_ROLE_ID(String.class, "discord.assistant_executive_role_id"),
|
||||||
DISCORD_EXECUTIVE_ROLE_ID(String.class, "discord.executive_role_id"),
|
DISCORD_EXECUTIVE_ROLE_ID(String.class, "discord.executive_role_id"),
|
||||||
DISCORD_SERVER_OWNER_ROLE_ID(String.class, "discord.server_owner_role_id"),
|
DISCORD_SERVER_OWNER_ROLE_ID(String.class, "discord.server_owner_role_id"),
|
||||||
|
DISCORD_INVITE_LINK(String.class, "discord.invite_link"),
|
||||||
//
|
//
|
||||||
PTERO_URL(String.class, "ptero.url"),
|
PTERO_URL(String.class, "ptero.url"),
|
||||||
PTERO_DEFAULT_EMAIL_DOMAIN(String.class, "ptero.default_email_domain"),
|
PTERO_DEFAULT_EMAIL_DOMAIN(String.class, "ptero.default_email_domain"),
|
||||||
|
@ -10,9 +10,12 @@ import net.dv8tion.jda.api.entities.Member;
|
|||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
import net.md_5.bungee.api.chat.ClickEvent;
|
import net.md_5.bungee.api.chat.ClickEvent;
|
||||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||||
|
import net.md_5.bungee.api.chat.HoverEvent;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
|
import net.md_5.bungee.api.chat.hover.content.Text;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -28,39 +31,66 @@ public class DiscordToMinecraftListener extends ListenerAdapter
|
|||||||
{
|
{
|
||||||
Member member = event.getMember();
|
Member member = event.getMember();
|
||||||
String tag = getDisplay(member);
|
String tag = getDisplay(member);
|
||||||
StringBuilder message = new StringBuilder(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_AQUA + "Discord" + ChatColor.DARK_GRAY + "]");
|
|
||||||
Message msg = event.getMessage();
|
Message msg = event.getMessage();
|
||||||
|
|
||||||
|
ComponentBuilder emsg = new ComponentBuilder();
|
||||||
|
|
||||||
|
// Prefix
|
||||||
|
emsg.append(ChatColor.DARK_GRAY + "[");
|
||||||
|
TextComponent inviteLink = new TextComponent("Discord");
|
||||||
|
inviteLink.setColor(ChatColor.DARK_AQUA.asBungee());
|
||||||
|
inviteLink.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
|
||||||
|
new Text("Click here to get the invite link!")));
|
||||||
|
inviteLink.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL,
|
||||||
|
ConfigEntry.DISCORD_INVITE_LINK.getString()));
|
||||||
|
emsg.append(inviteLink);
|
||||||
|
emsg.append(ChatColor.DARK_GRAY + "] ", ComponentBuilder.FormatRetention.NONE);
|
||||||
|
|
||||||
|
// Tag (if they have one)
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
{
|
{
|
||||||
message.append(" ").append(tag);
|
emsg.append(tag);
|
||||||
}
|
|
||||||
message.append(" ").append(ChatColor.RED).append(ChatColor.stripColor(member.getEffectiveName())).append(ChatColor.DARK_GRAY).append(":").append(ChatColor.RESET);
|
|
||||||
ComponentBuilder builder = new ComponentBuilder(message.toString());
|
|
||||||
if (!msg.getContentDisplay().isEmpty())
|
|
||||||
{
|
|
||||||
builder.append(" ").append(ChatColor.stripColor(msg.getContentDisplay()));
|
|
||||||
message.append(" ").append(ChatColor.stripColor(msg.getContentDisplay())); // for logging
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emsg.append(" ");
|
||||||
|
|
||||||
|
// User
|
||||||
|
TextComponent user = new TextComponent(ChatColor.stripColor(member.getEffectiveName()));
|
||||||
|
user.setColor(ChatColor.RED.asBungee());
|
||||||
|
emsg.append(user);
|
||||||
|
|
||||||
|
// Message
|
||||||
|
emsg.append(ChatColor.DARK_GRAY + ": " + ChatColor.RESET
|
||||||
|
+ ChatColor.stripColor(msg.getContentDisplay()), ComponentBuilder.FormatRetention.NONE);
|
||||||
|
|
||||||
|
// Attachments
|
||||||
if (!msg.getAttachments().isEmpty())
|
if (!msg.getAttachments().isEmpty())
|
||||||
{
|
{
|
||||||
|
if (!msg.getContentDisplay().isEmpty())
|
||||||
|
emsg.append(" ");
|
||||||
|
|
||||||
for (Message.Attachment attachment : msg.getAttachments())
|
for (Message.Attachment attachment : msg.getAttachments())
|
||||||
{
|
{
|
||||||
attachment.getUrl();
|
TextComponent media = new TextComponent("[Media] ");
|
||||||
builder.append(" ");
|
media.setColor(ChatColor.YELLOW.asBungee());
|
||||||
TextComponent text = new TextComponent(ChatColor.YELLOW + "[Media]");
|
media.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, attachment.getUrl()));
|
||||||
text.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, attachment.getUrl()));
|
media.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(attachment.getUrl())));
|
||||||
builder.append(text);
|
|
||||||
message.append(" [Media]"); // for logging
|
emsg.append(media, ComponentBuilder.FormatRetention.NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BaseComponent[] components = emsg.create();
|
||||||
|
|
||||||
for (Player player : Bukkit.getOnlinePlayers())
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (TotalFreedomMod.getPlugin().pl.getData(player).doesDisplayDiscord())
|
if (TotalFreedomMod.getPlugin().pl.getData(player).doesDisplayDiscord())
|
||||||
{
|
{
|
||||||
player.spigot().sendMessage(builder.create());
|
player.spigot().sendMessage(components);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FLog.info(message.toString());
|
|
||||||
|
FLog.info(TextComponent.toLegacyText(components), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,6 @@ import static org.bukkit.Bukkit.getServer;
|
|||||||
|
|
||||||
public class FUtil
|
public class FUtil
|
||||||
{
|
{
|
||||||
|
|
||||||
public static final String SAVED_FLAGS_FILENAME = "savedflags.dat";
|
|
||||||
/* See https://github.com/TotalFreedom/License - None of the listed names may be removed.
|
/* See https://github.com/TotalFreedom/License - None of the listed names may be removed.
|
||||||
Leaving this list here for anyone running TFM on a cracked server:
|
Leaving this list here for anyone running TFM on a cracked server:
|
||||||
public static final List<String> DEVELOPERS = Arrays.asList("Madgeek1450", "Prozza", "WickedGamingUK", "Wild1145", "aggelosQQ", "scripthead", "Telesphoreo", "CoolJWB");
|
public static final List<String> DEVELOPERS = Arrays.asList("Madgeek1450", "Prozza", "WickedGamingUK", "Wild1145", "aggelosQQ", "scripthead", "Telesphoreo", "CoolJWB");
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package me.totalfreedom.totalfreedommod.world;
|
package me.totalfreedom.totalfreedommod.world;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||||
import me.totalfreedom.totalfreedommod.util.FLog;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -32,8 +29,6 @@ public class Flatlands extends CustomWorld
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
wipeFlatlandsIfFlagged();
|
|
||||||
|
|
||||||
final WorldCreator worldCreator = new WorldCreator(getName());
|
final WorldCreator worldCreator = new WorldCreator(getName());
|
||||||
worldCreator.generateStructures(false);
|
worldCreator.generateStructures(false);
|
||||||
worldCreator.type(WorldType.NORMAL);
|
worldCreator.type(WorldType.NORMAL);
|
||||||
@ -63,32 +58,4 @@ public class Flatlands extends CustomWorld
|
|||||||
|
|
||||||
return world;
|
return world;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void wipeFlatlandsIfFlagged()
|
|
||||||
{
|
|
||||||
boolean doFlatlandsWipe = false;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
doFlatlandsWipe = plugin.sf.getSavedFlag("do_wipe_flatlands");
|
|
||||||
}
|
|
||||||
catch (Exception ignored)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
if (doFlatlandsWipe)
|
|
||||||
{
|
|
||||||
if (Bukkit.getServer().getWorld("flatlands") == null)
|
|
||||||
{
|
|
||||||
FLog.info("Wiping flatlands.");
|
|
||||||
plugin.sf.setSavedFlag("do_wipe_flatlands", false);
|
|
||||||
FileUtils.deleteQuietly(new File("./flatlands"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
FLog.severe("Can't wipe flatlands, it is already loaded.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,8 @@ discord:
|
|||||||
executive_role_id: ''
|
executive_role_id: ''
|
||||||
# Owner role ID
|
# Owner role ID
|
||||||
server_owner_role_id: ''
|
server_owner_role_id: ''
|
||||||
|
# Invite link for your Discord server
|
||||||
|
invite_link: 'https://discord.com/invite/PW4savJR9a'
|
||||||
|
|
||||||
# Pterodactyl
|
# Pterodactyl
|
||||||
ptero:
|
ptero:
|
||||||
|
Loading…
Reference in New Issue
Block a user