Fixed updater and some other older changes
This commit is contained in:
parent
a00ca2611e
commit
994af42e54
6 changed files with 67 additions and 147 deletions
|
@ -1,4 +1,4 @@
|
|||
name: TheButtonMCChatPlugin
|
||||
name: ButtonChat
|
||||
main: buttondevteam.thebuttonmcchat.PluginMain
|
||||
version: 4.0
|
||||
commands:
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
package buttondevteam.thebuttonmcchat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ChatPlayer implements Serializable {
|
||||
private static final long serialVersionUID = 208589136914849018L;
|
||||
public String PlayerName;
|
||||
import buttondevteam.core.TBMCPlayer;
|
||||
|
||||
public class ChatPlayer extends TBMCPlayer {
|
||||
public String UserName;
|
||||
public List<String> UserNames;
|
||||
private short FlairTime;
|
||||
|
@ -34,12 +34,11 @@ public class ChatPlayer implements Serializable {
|
|||
public static final short FlairTimeCantPress = -2;
|
||||
public static final short FlairTimeNone = -3;
|
||||
|
||||
public UUID UUID;
|
||||
|
||||
public static HashMap<UUID, ChatPlayer> OnlinePlayers = new HashMap<>();
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static ChatPlayer GetFromName(String name) {
|
||||
Player p = Bukkit.getPlayer(name); // TODO
|
||||
OfflinePlayer p = Bukkit.getOfflinePlayer(name);
|
||||
if (p != null)
|
||||
return OnlinePlayers.get(p.getUniqueId());
|
||||
else
|
||||
|
|
|
@ -189,9 +189,6 @@ public class ChatProcessing {
|
|||
"%s{\"text\":\"[%s]%s\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"Copy message\",\"color\":\"blue\"}},\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"%s\"}},",
|
||||
(mp != null && mp.ChatOnly
|
||||
? "{\"text\":\"[C]\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Chat only\",\"color\":\"blue\"}]}}},"
|
||||
// (mp != null && mp.ChatOnly ?
|
||||
// "{\"text:\":\"\"}," - I have been staring at
|
||||
// this one line for hours... Hours...
|
||||
: ""),
|
||||
currentchannel.DisplayName, (mp != null && !mp.RPMode ? "[OOC]" : ""), suggestmsg));
|
||||
json.append("{\"text\":\" <\"},");
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package buttondevteam.thebuttonmcchat;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
@ -16,7 +14,6 @@ import org.bukkit.GameMode;
|
|||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -70,10 +67,30 @@ public class PlayerListener implements Listener {
|
|||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
if (essentials == null)
|
||||
essentials = ((Essentials) Bukkit.getPluginManager().getPlugin("Essentials"));
|
||||
final Player p = event.getPlayer();
|
||||
ChatPlayer mp = ChatPlayer.GetFromPlayer(p);
|
||||
if (!mp.FlairState.equals(FlairStates.NoComment)) {
|
||||
PluginMain.ConfirmUserMessage(mp);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLoad(TBMCPlayerLoadEvent e) {
|
||||
YamlConfiguration yc = e.GetPlayerConfig();
|
||||
ChatPlayer cp = e.GetPlayer().AsPluginPlayer(ChatPlayer.class);
|
||||
cp.UserName = yc.getString("username");
|
||||
short tcp = (short) yc.getInt("flairtime");
|
||||
cp.SetFlair(tcp);
|
||||
String flairstate = yc.getString("flairstate");
|
||||
if (flairstate != null)
|
||||
cp.FlairState = FlairStates.valueOf(flairstate);
|
||||
else
|
||||
cp.FlairState = FlairStates.NoComment;
|
||||
cp.UserNames = yc.getStringList("usernames");
|
||||
cp.FCount = yc.getInt("fcount");
|
||||
cp.FDeaths = yc.getInt("fdeaths");
|
||||
cp.FlairCheater = yc.getBoolean("flaircheater");
|
||||
ChatPlayer.OnlinePlayers.put(cp.UUID, cp);
|
||||
|
||||
Player p = Bukkit.getPlayer(cp.UUID);
|
||||
|
||||
if (!cp.FlairState.equals(FlairStates.NoComment)) {
|
||||
PluginMain.ConfirmUserMessage(cp);
|
||||
Timer timer = new Timer();
|
||||
PlayerJoinTimerTask tt = new PlayerJoinTimerTask() {
|
||||
@Override
|
||||
|
@ -81,11 +98,11 @@ public class PlayerListener implements Listener {
|
|||
p.setPlayerListName(p.getName() + mp.GetFormattedFlair());
|
||||
}
|
||||
};
|
||||
tt.mp = mp;
|
||||
tt.mp = cp;
|
||||
timer.schedule(tt, 1000);
|
||||
} else {
|
||||
if (mp.GetFlairTime() == 0x00)
|
||||
mp.SetFlair(ChatPlayer.FlairTimeNone);
|
||||
if (cp.GetFlairTime() == 0x00)
|
||||
cp.SetFlair(ChatPlayer.FlairTimeNone);
|
||||
Timer timer = new Timer();
|
||||
PlayerJoinTimerTask tt = new PlayerJoinTimerTask() {
|
||||
@Override
|
||||
|
@ -94,17 +111,7 @@ public class PlayerListener implements Listener {
|
|||
if (player == null)
|
||||
return;
|
||||
|
||||
/*
|
||||
* PlayerProfile pp = ((FastLoginBukkit) FastLoginBukkit
|
||||
* .getPlugin(FastLoginBukkit.class)).getStorage()
|
||||
* .getProfile(player.getName(), true); boolean ispremium =
|
||||
* pp != null && pp.isPremium();
|
||||
*/// Login stuff
|
||||
|
||||
if (/*
|
||||
* ispremium &&
|
||||
*/// Login stuff
|
||||
mp.FlairState.equals(FlairStates.NoComment)) {
|
||||
if (mp.FlairState.equals(FlairStates.NoComment)) {
|
||||
String json = String.format(
|
||||
"[\"\",{\"text\":\"If you're from Reddit and you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"%s\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]",
|
||||
PluginMain.FlairThreadURL);
|
||||
|
@ -116,113 +123,22 @@ public class PlayerListener implements Listener {
|
|||
}
|
||||
}
|
||||
};
|
||||
tt.mp = mp;
|
||||
;
|
||||
tt.mp = cp;
|
||||
timer.schedule(tt, 15 * 1000);
|
||||
}
|
||||
|
||||
/*
|
||||
* final Timer timer = new Timer(); mp.LoginWarningCount = 0;
|
||||
* PlayerJoinTimerTask tt = new PlayerJoinTimerTask() {
|
||||
*
|
||||
* @Override public void run() { final Player player =
|
||||
* Bukkit.getPlayer(mp.PlayerName); if (player == null) return;
|
||||
*
|
||||
* PlayerProfile pp = ((FastLoginBukkit) FastLoginBukkit
|
||||
* .getPlugin(FastLoginBukkit.class)).getStorage()
|
||||
* .getProfile(player.getName(), true); boolean ispremium = pp != null
|
||||
* && pp.isPremium(); final MaybeOfflinePlayer mplayer = mp;
|
||||
*
|
||||
* if (mp.LoginWarningCount < LoginWarningCountTotal) { if
|
||||
* (AuthMe.getInstance().api.isAuthenticated(player)) { // The player
|
||||
* logged in in any way if (!ispremium &&
|
||||
* !mp.FlairState.equals(FlairStates.Accepted) &&
|
||||
* !mp.FlairState.equals(FlairStates.Commented)) { // The player isn't
|
||||
* premium, and doesn't have a // flair String json = String .format(
|
||||
* "[\"\",{\"text\":\"Welcome! If you are a premium Minecraft user, please do /premium and relog, otherwise please verify your /r/thebutton flair to play, \",\"color\":\"gold\"},{\"text\":\"[here].\",\"color\":\"gold\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"%s\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"
|
||||
* , PluginMain.FlairThreadURL);
|
||||
* PluginMain.Instance.getServer().dispatchCommand( PluginMain.Console,
|
||||
* "tellraw " + mp.PlayerName + " " + json); } } } else { if
|
||||
* (AuthMe.getInstance().api.isAuthenticated(player)) { if (!ispremium
|
||||
* && !mplayer.FlairState .equals(FlairStates.Accepted) &&
|
||||
* !mplayer.FlairState .equals(FlairStates.Commented)) {
|
||||
* Bukkit.getScheduler().runTask(PluginMain.Instance, new Runnable() {
|
||||
*
|
||||
* @Override public void run() { player.kickPlayer(
|
||||
* "Please either use /premium and relog or verify your flair by commenting in the thread and using /u accept."
|
||||
* ); } }); timer.cancel(); } } } mp.LoginWarningCount++; } }; tt.mp =
|
||||
* mp; int timeout = AuthMe.getInstance().getConfig()
|
||||
* .getInt("settings.restrictions.timeout"); timer.schedule(tt, (timeout
|
||||
* / LoginWarningCountTotal) * 1000, (timeout / LoginWarningCountTotal)
|
||||
* * 1000);
|
||||
*/// Login stuff
|
||||
nicknames.put(essentials.getUser(p).getNickname(), p.getUniqueId());
|
||||
|
||||
/* NICKNAME LOGIC */
|
||||
cp.RPMode = true;
|
||||
|
||||
UUID id = p.getUniqueId();
|
||||
cp.FlairUpdate(); // Update display
|
||||
|
||||
File f = new File("plugins/Essentials/userdata/" + id + ".yml");
|
||||
if (f.exists()) {
|
||||
YamlConfiguration yc = new YamlConfiguration();
|
||||
try {
|
||||
yc.load(f);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} catch (InvalidConfigurationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
String nickname = yc.getString("nickname");
|
||||
if (nickname != null) {
|
||||
nicknames.put(nickname, id);
|
||||
|
||||
if (Enable) {
|
||||
if (!p.getName().equals("NorbiPeti")) {
|
||||
for (Player player : PluginMain.GetPlayers()) {
|
||||
if (player.getName().equals("NorbiPeti")) {
|
||||
player.chat("Hey, " + nickname + "!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mp.RPMode = true;
|
||||
|
||||
mp.FlairUpdate(); // Update display
|
||||
|
||||
if (mp.ChatOnly || p.getGameMode().equals(GameMode.SPECTATOR)) {
|
||||
mp.ChatOnly = false;
|
||||
if (cp.ChatOnly || p.getGameMode().equals(GameMode.SPECTATOR)) {
|
||||
cp.ChatOnly = false;
|
||||
p.setGameMode(GameMode.SURVIVAL);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLoad(TBMCPlayerLoadEvent e) {
|
||||
YamlConfiguration yc = e.GetPlayerConfig();
|
||||
ChatPlayer cp = new ChatPlayer();
|
||||
cp.UUID = UUID.fromString(yc.getString("uuid"));
|
||||
cp.UserName = yc.getString("username");
|
||||
String tcp = yc.getString("flairtime");
|
||||
if (tcp.equals("--"))
|
||||
cp.SetFlair(ChatPlayer.FlairTimeNonPresser);
|
||||
else if (tcp.equals("??"))
|
||||
cp.SetFlair(ChatPlayer.FlairTimeCantPress);
|
||||
else if (tcp.length() > 0)
|
||||
cp.SetFlair(Short.parseShort(tcp));
|
||||
String flairstate = yc.getString("flairstate");
|
||||
if (flairstate != null)
|
||||
cp.FlairState = FlairStates.valueOf(flairstate);
|
||||
else
|
||||
cp.FlairState = FlairStates.NoComment;
|
||||
cp.UserNames = yc.getStringList("usernames");
|
||||
cp.FCount = yc.getInt("fcount");
|
||||
cp.FDeaths = yc.getInt("fdeaths");
|
||||
cp.FlairCheater = yc.getBoolean("flaircheater");
|
||||
ChatPlayer.OnlinePlayers.put(cp.UUID, cp);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerSave(TBMCPlayerSaveEvent e) {
|
||||
YamlConfiguration yc = e.GetPlayerConfig();
|
||||
|
@ -230,7 +146,6 @@ public class PlayerListener implements Listener {
|
|||
yc.set("username", cp.UserName);
|
||||
yc.set("flairtime", cp.GetFlairTime());
|
||||
yc.set("flairstate", cp.FlairState.toString());
|
||||
yc.set("uuid", cp.UUID.toString());
|
||||
yc.set("usernames", cp.UserNames);
|
||||
yc.set("fcount", cp.FCount);
|
||||
yc.set("fdeaths", cp.FDeaths);
|
||||
|
@ -238,15 +153,15 @@ public class PlayerListener implements Listener {
|
|||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerAdd(TBMCPlayerAddEvent e) {
|
||||
TBMCPlayer p = e.GetPlayer();
|
||||
ChatPlayer player = new ChatPlayer();
|
||||
player.UUID = p.UUID;
|
||||
player.SetFlair(ChatPlayer.FlairTimeNone);
|
||||
player.FlairState = FlairStates.NoComment; // TODO: NullPointerException
|
||||
player.UserNames = new ArrayList<>(); // TODO: Move some code here from
|
||||
// join?
|
||||
ChatPlayer.OnlinePlayers.put(p.UUID, player);
|
||||
public void onPlayerAdd(TBMCPlayerAddEvent event) {
|
||||
TBMCPlayer tp = event.GetPlayer();
|
||||
ChatPlayer cp = new ChatPlayer();
|
||||
cp.UUID = tp.UUID;
|
||||
cp.SetFlair(ChatPlayer.FlairTimeNone);
|
||||
cp.FlairState = FlairStates.NoComment; // TODO: NullPointerException
|
||||
cp.UserNames = new ArrayList<>(); // TODO: Move some code here from
|
||||
// join?
|
||||
ChatPlayer.OnlinePlayers.put(cp.UUID, cp);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
|
|
@ -55,6 +55,7 @@ public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15.
|
|||
// Fired when plugin is first enabled
|
||||
@Override
|
||||
public void onEnable() {
|
||||
Instance = this;
|
||||
try {
|
||||
PluginMain.Instance.getLogger().info("Extracting necessary libraries...");
|
||||
final File[] libs = new File[] { new File(getDataFolder(), "htmlcleaner-2.16.jar"),
|
||||
|
@ -79,7 +80,6 @@ public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15.
|
|||
|
||||
getServer().getPluginManager().registerEvents(new PlayerListener(), this);
|
||||
CommandCaller.RegisterChatCommands(this);
|
||||
Instance = this;
|
||||
Console = this.getServer().getConsoleSender();
|
||||
LoadFiles(false);
|
||||
|
||||
|
|
|
@ -24,17 +24,26 @@ public class UpdatePlugin extends AdminCommandBase {
|
|||
@Override
|
||||
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage("§6---- Plugin names ----");
|
||||
sender.sendMessage("Downloading plugin names...");
|
||||
boolean first = true;
|
||||
for (String plugin : TBMCCoreAPI.GetPluginNames()) {
|
||||
if (first) {
|
||||
sender.sendMessage("§6---- Plugin names ----");
|
||||
first = false;
|
||||
}
|
||||
sender.sendMessage("- " + plugin);
|
||||
}
|
||||
}
|
||||
sender.sendMessage("Updating plugin...");
|
||||
String ret = "";
|
||||
if ((ret = TBMCCoreAPI.UpdatePlugin(args[0])).length() > 0)
|
||||
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage("Updating plugin...");
|
||||
String ret = "";
|
||||
if ((ret = TBMCCoreAPI.UpdatePlugin(args[0])).length() > 0) {
|
||||
sender.sendMessage("Internal error: " + ret);
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage("Updating done!");
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue