Skip to content

Commit

Permalink
Project isn't dead!
Browse files Browse the repository at this point in the history
- implemented list of players
- implemented basic viewing of player

More coming soon!
  • Loading branch information
jmurth1234 committed Aug 27, 2015
1 parent 2a5ccdd commit deac12a
Show file tree
Hide file tree
Showing 13 changed files with 457 additions and 129 deletions.
11 changes: 11 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.
3 changes: 1 addition & 2 deletions PanelPlugin.iml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,10 @@
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-util:9.0.2.v20130417" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-security:9.0.2.v20130417" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.antlr:antlr4-annotations:4.2.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: junit:junit:4.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.persistence:persistence-api:1.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: junit:junit:4.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.hamcrest:hamcrest-core:1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.11" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="materialize" level="application" />
</component>
</module>
18 changes: 9 additions & 9 deletions src/main/java/net/rymate/jpanel/PanelPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,29 +94,29 @@ public void onEnable() {

// pages (temporary until the page manager is implemented
new IndexGetter("/", "index.hbs", this);
new PlayersPageGetter("/players", "players.hbs", this);
new FilesPageGetter("/files", "file-manager.hbs", this);
new SimplePageGetter("/files", "file-manager.hbs", this);

// text only paths
new StatsGetter("/stats");
new PlayersGetter("/online-players", this);
new LoginPost("/login");
new ClientLoginPost("/auth");
new FilePost("/file/*");
new SwitchThemeGetter("/switchtheme");
new FileGetter("/file/*");
new PlayerManagerPath("/player/:name/:action", this);

PanelNavigation nav = PanelNavigation.getInstance();
nav.registerPath("/", "Home");
nav.registerPath("/players", "Players");
nav.registerPath("/files", "Files");
//nav.registerPath("/switchtheme", "Change Theme");

if (getServer().getPluginManager().isPluginEnabled("Vault")) {
PanelNavigation.getInstance().registerPath("/permissions", "Permissions");
new PermissionsPageGetter("/permissions", "permissions.hbs", this);
new PlayerManagerPlus("/permissions", this);
//PanelNavigation.getInstance().registerPath("/permissions", "Permissions");
new SimplePageGetter("/players", "playersplus.hbs", this);
new PlayerManagerPlus("/players", this);
} else {
new PlayersPageGetter("/players", "players.hbs", this);
new PlayersGetter("/players", this);
new PlayerManagerPath("/player/:name/:action", this);
}


Expand All @@ -131,7 +131,7 @@ public void onPluginEnable(PluginEnableEvent event) {

if (pluginName.equals("Vault")) {
PanelNavigation.getInstance().registerPath("/perms", "Permissions");
new PermissionsPageGetter("/perms", "permissions.hbs", this);
new SimplePageGetter("/perms", "playersplus.hbs", this);
new PlayerManagerPlus("/permissions", this);
}

Expand Down
7 changes: 4 additions & 3 deletions src/main/java/net/rymate/jpanel/getters/GetterBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.rymate.jpanel.PanelNavigation;
import net.rymate.jpanel.PanelPlugin;
import net.rymate.jpanel.PanelSessions;
import org.bukkit.plugin.java.JavaPlugin;
import spark.ModelAndView;
import spark.Request;
import spark.Response;
Expand All @@ -18,7 +19,7 @@
* Created by Ryan on 07/07/2015.
*/
public abstract class GetterBase {
private PanelPlugin plugin;
private JavaPlugin plugin;
private PanelSessions sessions;
private String template;
private HashMap templateMap = new HashMap();
Expand All @@ -29,7 +30,7 @@ public GetterBase(String path, PanelPlugin plugin) {
get(path, (request, response) -> getText(request, response));
}

public GetterBase(String path, String template, PanelPlugin plugin) {
public GetterBase(String path, String template, JavaPlugin plugin) {
sessions = PanelSessions.getInstance();
this.plugin = plugin;
this.template = template;
Expand Down Expand Up @@ -70,7 +71,7 @@ public boolean isLoggedIn(String token) {
return sessions.isLoggedIn(token);
}

public PanelPlugin getPlugin() {
public JavaPlugin getPlugin() {
return plugin;
}
public void setPlugin(PanelPlugin plugin) {
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/net/rymate/jpanel/getters/IndexGetter.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package net.rymate.jpanel.getters;

import net.rymate.jpanel.PanelPlugin;
import org.bukkit.plugin.java.JavaPlugin;

import static spark.Spark.get;

/**
* Created by Ryan on 07/07/2015.
*/
public class IndexGetter extends GetterBase {
public IndexGetter(String path, String template, PanelPlugin plugin) {
public IndexGetter(String path, String template, JavaPlugin plugin) {
super(path, template, plugin);

// needed as part of the index page
get("/wsport", (request, response) -> getPlugin().getWebSocketPort() );
get("/wsport", (request, response) -> ((PanelPlugin) getPlugin()).getWebSocketPort());
}

}
15 changes: 0 additions & 15 deletions src/main/java/net/rymate/jpanel/getters/PermissionsPageGetter.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import spark.Request;
import spark.Response;

import java.awt.*;

/**
* Created by Ryan on 09/07/2015.
*/
Expand All @@ -19,7 +21,7 @@ protected Object getText(Request request, Response response) throws Exception {
if (!isLoggedIn(request.cookie("loggedin")))
return 0;

getPlugin().managePlayer(request.params(":name"), request.params(":action"));
((PanelPlugin)getPlugin()).managePlayer(request.params(":name"), request.params(":action"));

return "OK";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
/**
* Created by Ryan on 08/07/2015.
*/
public class FilesPageGetter extends GetterBase {
public class SimplePageGetter extends GetterBase {

public FilesPageGetter(String path, String template, PanelPlugin plugin) {
public SimplePageGetter(String path, String template, PanelPlugin plugin) {
super(path, template, plugin);
}

Expand Down
157 changes: 151 additions & 6 deletions src/main/java/net/rymate/jpanel/posters/PlayerManagerPlus.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public PlayerManagerPlus(String path, PanelPlugin plugin) {
if (permissionProvider != null) {
permission = permissionProvider.getProvider();
} else {
throw new NullPointerException("We couldn't get permissions from vault! This is probably a bug!");
throw new NullPointerException("We couldn't get permissions from Vault! This is probably a bug!");
}
}

Expand Down Expand Up @@ -89,6 +89,42 @@ Object getResponse(Request request, Response response) {
} else {
return "Invalid type specified!";
}
} else if (action.equals("info")) {
UUID playerUuid;

if (!requestJson.has("target")) {
return "no target";
} else {
playerUuid = UUID.fromString(requestJson.get("target").getAsString());
}

TinyPlayer tinyPlayer = new TinyPlayer();
if (plugin.getServer().getOfflinePlayer(playerUuid).isOnline()) {
Player player = plugin.getServer().getPlayer(playerUuid);
tinyPlayer.playerName = player.getName();
tinyPlayer.playerUuid = player.getUniqueId().toString();
tinyPlayer.extras.put("health", player.getHealth());
tinyPlayer.extras.put("world", player.getWorld().getName());
tinyPlayer.extras.put("online", true);
tinyPlayer.extras.put("groups", permission.getPlayerGroups(player));
} else {
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerUuid);
tinyPlayer.playerName = player.getName();
tinyPlayer.playerUuid = player.getUniqueId().toString();
tinyPlayer.extras.put("online", false);
}

responseMap.put("result", tinyPlayer);
} else if (action.equals("kick") || (action.equals("ban"))) {
String player;

if (!requestJson.has("target")) {
return "no target";
} else {
player = requestJson.get("target").getAsString();
}

plugin.managePlayer(player, action);
} else if (action.equals("getgroups")) {
if (!permission.hasGroupSupport()) {
return "your permissions plugin has no groups support";
Expand All @@ -112,7 +148,11 @@ Object getResponse(Request request, Response response) {

HashMap resultMap = new HashMap();

resultMap.put("groups", permission.getPlayerGroups(player));
if (world.equals("")) {
resultMap.put("groups", permission.getPlayerGroups(player));
} else {
resultMap.put("groups", permission.getPlayerGroups(world, player));
}
resultMap.put("world", player.getWorld().getName());

responseMap.put("result", resultMap);
Expand All @@ -132,16 +172,120 @@ Object getResponse(Request request, Response response) {

}

} else if (action.equals("kick") || (action.equals("ban"))) {
String player;
} else if (action.equals("addgroup")) {
if (!permission.hasGroupSupport()) {
return "your permissions plugin has no groups support";
}

UUID target;
String value;

if (!requestJson.has("target")) {
return "no target";
} else {
player = requestJson.get("target").getAsString();
target = UUID.fromString(requestJson.get("target").getAsString());
}

if (!requestJson.has("value")) {
return "no value";
} else {
value = requestJson.get("value").getAsString();
}

String world = "";

if (requestJson.has("world")) {
world = requestJson.get("world").getAsString();
}

if (plugin.getServer().getOfflinePlayer(target).isOnline()) {
Player player = plugin.getServer().getPlayer(target);

HashMap resultMap = new HashMap();
boolean success;
if (world.equals("")) {
success = permission.playerAddGroup(player, value);
} else {
success = permission.playerAddGroup(world, player, value);
}

resultMap.put("success", success);
resultMap.put("world", player.getWorld().getName());

responseMap.put("result", resultMap);

} else {
OfflinePlayer player = plugin.getServer().getOfflinePlayer(target);
if (world.equals("")) {
return "Please specify a world for offline players!";
}

HashMap resultMap = new HashMap();

resultMap.put("success", permission.playerAddGroup(world, player, value));
resultMap.put("world", world);

responseMap.put("result", resultMap);

}

} else if (action.equals("rmgroup")) {
if (!permission.hasGroupSupport()) {
return "your permissions plugin has no groups support";
}

UUID target;
String value;

if (!requestJson.has("target")) {
return "no target";
} else {
target = UUID.fromString(requestJson.get("target").getAsString());
}

if (!requestJson.has("value")) {
return "no value";
} else {
value = requestJson.get("value").getAsString();
}

String world = "";

if (requestJson.has("world")) {
world = requestJson.get("world").getAsString();
}

if (plugin.getServer().getOfflinePlayer(target).isOnline()) {
Player player = plugin.getServer().getPlayer(target);

HashMap resultMap = new HashMap();
boolean success;
if (world.equals("")) {
success = permission.playerRemoveGroup(player, value);
} else {
success = permission.playerRemoveGroup(world, player, value);
}

resultMap.put("success", success);
resultMap.put("world", player.getWorld().getName());

responseMap.put("result", resultMap);

} else {
OfflinePlayer player = plugin.getServer().getOfflinePlayer(target);
if (world.equals("")) {
return "Please specify a world for offline players!";
}

HashMap resultMap = new HashMap();

resultMap.put("success", permission.playerRemoveGroup(world, player, value));
resultMap.put("world", world);

responseMap.put("result", resultMap);

}

plugin.managePlayer(player, action);
}
}

Expand All @@ -151,5 +295,6 @@ Object getResponse(Request request, Response response) {
class TinyPlayer {
public String playerUuid;
public String playerName;
public HashMap extras = new HashMap<>();
}
}
Loading

0 comments on commit deac12a

Please sign in to comment.