Skip to content
This repository was archived by the owner on Nov 24, 2018. It is now read-only.

Added clusters #40

Merged
merged 1 commit into from
Feb 6, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/main/java/me/checkium/vhackapi/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public class Utils {
* Unknown - maybe the charset?
*/
private static final byte[] byt;

public static boolean debug = false;

static {
assertionstatus = !Utils.class.desiredAssertionStatus();
Expand Down Expand Up @@ -113,6 +115,12 @@ public static String StringRequest(String format, String data, String php)
InputStream is;
try {
is = new URL(Utils.generateURL(format, data, php)).openStream();
if(debug == true){

URL url = new URL(Utils.generateURL(format, data, php));
System.out.println(url.toString());

}
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
jsonText = Utils.readJson(rd);
} catch (IOException e) {
Expand Down
157 changes: 157 additions & 0 deletions src/main/java/me/checkium/vhackapi/cluster/Cluster.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
package me.checkium.vhackapi.cluster;

import org.json.JSONArray;
import org.json.JSONObject;

import me.checkium.vhackapi.Utils;

public class Cluster {

private JSONObject cData;

public Cluster(JSONObject cData){

this.cData = cData;

}

public String getClusterName(){

return cData.getString("cName");

}

public String getClusterTag(){

return cData.getString("cTag");

}

public String getClustetLeader(){

return cData.getString("cLeader");

}

public int getNumberOfMembers(){

return cData.getInt("cMemeber");

}

public int getMaxNumberOfMemebers(){

return cData.getInt("cMaxMember");

}

public ClusterMember[] getClusterMemebers(){

JSONObject usersRaw = Utils.JSONRequest("user::::pass::::uhash", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash, "vh_getClusterMember.php");
JSONArray usersRaw2 = usersRaw.getJSONArray("users");
ClusterMember[] members = new ClusterMember[usersRaw2.length()];
for(int i = 0; i<usersRaw2.length(); i++){

JSONObject jo = usersRaw2.getJSONObject(i);
members[i] = new ClusterMember(jo);

}
return members;

}

public ClusterMember[] getClusterRequests(){

try{
JSONObject jo = Utils.JSONRequest("user::::pass::::uhash", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash, "vh_getClusterRequests.php");
JSONArray ja = jo.getJSONArray("requests");
ClusterMember[] applicants = new ClusterMember[ja.length()];
for(int i = 0; i<ja.length(); i++){

JSONObject jo2 = ja.getJSONObject(i);
applicants[i] = new ClusterMember(jo2);

}
return applicants;
} catch(Exception e) {
return null;
}

}

public void kickClusterMember(ClusterMember m){

try{
Utils.JSONRequest("user::::pass::::uhash::::user2kick", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash + "::::" + m.getID(), "vh_clusterKick.php");
} catch(Exception e) {

}

}

public void promoteClusterMember(ClusterMember m){

try{
Utils.JSONRequest("user::::pass::::uhash::::uid", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash + "::::" + m.getID(), "vh_clusterPromote.php");
} catch(Exception e){

}

}
public int getClusterMoney(){

return cData.getInt("cMoney");

}

public int getClusterScore(){

return cData.getInt("cScore");

}

public int getClusterReps(){

return cData.getInt("cElo");

}

public int getNumberOfRequests(){

return cData.getInt("cReqs");

}

//Too slow, needs working
/*public String[] getClusterMessages(){

JSONArray messagesArray = cData.getJSONArray("messages");
String[] messages = new String[messagesArray.length() - 1];
for(int i = (messagesArray.length() - 1); i >= 0; i--){

int i2 = 0;
JSONObject messageRaw = messagesArray.getJSONObject(i);
String dateAuthor = messageRaw.getString("from");
String message = messageRaw.getString("message");
String format = dateAuthor + ": " + message;
messages[i2] = format;
i++;

}
return messages;

}*/

public void chat(String msg){

Utils.JSONRequest("user::::pass::::uhash::::msg", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash + "::::" + msg, "vh_clusterMessage.php");

}

public void addClusterSlot(){

Utils.JSONRequest("user::::pass::::uhash", ClusterManager.username + "::::" + ClusterManager.password + "::::" + ClusterManager.uhash, "vh_addClusterSlot.php");

}

}
73 changes: 73 additions & 0 deletions src/main/java/me/checkium/vhackapi/cluster/ClusterManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package me.checkium.vhackapi.cluster;

import org.json.JSONObject;

import me.checkium.vhackapi.Utils;

public class ClusterManager {

JSONObject cData;
protected static String username, password, uhash;

public ClusterManager(String username, String password, String uhash){

ClusterManager.username = username;
ClusterManager.password = password;
ClusterManager.uhash = uhash;
this.cData = getClusterData();

}

public JSONObject getClusterData(){

try{
JSONObject cData = Utils.JSONRequest("user::::pass::::uhash", username + "::::" + password + "::::" + uhash, "vh_ClusterData.php");
return cData;
} catch(Exception e) {
return null;
}

}

public Cluster getCluster(){

return new Cluster(cData);

}

public Cluster createCluster(String cName, String cID){

try{
Utils.JSONRequest("user::::pass::::uhash::::cname::::cid", username + "::::" + password + "::::" + uhash + "::::" + cName + "::::" + cID, "vh_clusterAdd.php");
return new Cluster(getClusterData());
} catch(Exception e) {

return null;

}

}

public Cluster joinCluster(String cName){

try{
Utils.JSONRequest("user::::pass::::uhash::::cname", username + "::::" + password + "::::" + uhash + "::::" + cName, "vh_clusterJoin.php");
return new Cluster(getClusterData());
} catch(Exception e) {

return null;

}

}

public void leaveCluster(){

try{
Utils.JSONRequest("user::::pass::::uhash", username + "::::" + password + "::::" + uhash, "vh_clusterLeave.php");
} catch(Exception e) {

}

}
}
65 changes: 65 additions & 0 deletions src/main/java/me/checkium/vhackapi/cluster/ClusterMember.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package me.checkium.vhackapi.cluster;

import org.json.JSONObject;

public class ClusterMember {

String username, lastactive;
ClusterRank rank;
int score, reps, userid;

public ClusterMember(JSONObject memberData){

this.username = memberData.getString("username");
this.lastactive = memberData.getString("userlastactive");
this.score = memberData.getInt("userscore");
this.reps = memberData.getInt("userelo");
this.userid = memberData.getInt("userid");
int rank = memberData.getInt("userposition");
switch(rank){

case 1: this.rank = ClusterRank.MEMBER; break;
case 2: this.rank = ClusterRank.COLEADER; break;
case 3: this.rank = ClusterRank.LEADER; break;

}

}

public String getUsername(){

return username;

}

public String getLastActivity(){

return lastactive;

}

public int getID(){

return userid;

}

public int getScore(){

return score;

}

public int getReps(){

return reps;

}

public ClusterRank getRank(){

return rank;

}

}
23 changes: 23 additions & 0 deletions src/main/java/me/checkium/vhackapi/cluster/ClusterRank.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package me.checkium.vhackapi.cluster;

public enum ClusterRank {

MEMBER ("Member"),
LEADER ("Leader"),
COLEADER ("Co-Leader");

String tostring;

ClusterRank(String tostring){

this.tostring = tostring;

}

public String toString(){

return tostring;

}

}
6 changes: 6 additions & 0 deletions src/main/java/me/checkium/vhackapi/vHackAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import me.checkium.vhackapi.Spyware.SpywareManager;
import me.checkium.vhackapi.botnet.BotnetManager;
import me.checkium.vhackapi.chat.Chat;
import me.checkium.vhackapi.cluster.ClusterManager;
import me.checkium.vhackapi.console.Console;
import me.checkium.vhackapi.others.PackageOpener;
import me.checkium.vhackapi.upgrades.UpgradeManager;
Expand Down Expand Up @@ -37,6 +38,11 @@ public BotnetManager getBotnetManager() {
BotnetManager manager = new BotnetManager(username, password, userHash);
return manager;
}

public ClusterManager getClusterManager() {
ClusterManager manager = new ClusterManager(username, password, userHash);
return manager;
}

public String getStats(Stats stat) {
fetchStats();
Expand Down