Skip to content

Commit

Permalink
Merge pull request #1 from ArcticZeroo/develop
Browse files Browse the repository at this point in the history
Merges develop into master to bring it up to date with Mineplex's API
  • Loading branch information
ArcticZeroo authored Jan 12, 2017
2 parents 1e4cf0e + 0c6e7d5 commit 72a549e
Show file tree
Hide file tree
Showing 20 changed files with 340 additions and 76 deletions.
21 changes: 11 additions & 10 deletions config/ranks.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,46 +5,47 @@ module.exports = {
'HERO',
'LEGEND',
'TITAN',
'ETERNAL',
'YT',
'TWITCH',
'YOUTUBE',
'BUILDER',
'MAPLEAD',
'MEDIA',
'TRAINEE',
'MODERATOR',
'SR.MODERATOR',
'MOD',
'SR.MOD',
'C.MOD',
'SUPPORT',
'JR.DEV',
'ADMIN',
'DEVELOPER',
'DEV',
'LEADER',
'OWNER'
],
convert: {
'NONE' : 'PLAYER',
'ALL' : 'PLAYER',

'YOUTUBE_SMALL': 'YT',
'YOUTUBESMALL' : 'YT',

'MAPDEV' : 'BUILDER',

'HELPER' : 'TRAINEE',

'MOD' : 'MODERATOR',
'MODERATOR' : 'MOD',

'SR.MOD' : 'SR.MODERATOR',
'SRMOD' : 'SR.MODERATOR',
'SNRMOD' : 'SR.MODERATOR',
'SNRMODERATOR' : 'SR.MODERATOR',
'SR.MODERATOR' : 'SR.MOD',
'SRMOD' : 'SR.MOD',
'SNRMOD' : 'SR.MOD',
'SNRMODERATOR' : 'SR.MOD',

'CMOD' : 'C.MOD',

'JRDEV' : 'JR.DEV',
'JNRDEV' : 'JR.DEV',

'DEV' : 'DEVELOPER',
'DEVELOPER' : 'DEV',

'LT' : 'LEADER'
}
Expand Down
3 changes: 2 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
require('./lib/Prototypes');
var MineplexAPIWrapper = require(`./lib/MineplexAPIWrapper`);
module.exports = MineplexAPIWrapper;
module.exports = MineplexAPIWrapper;
24 changes: 12 additions & 12 deletions lib/Amplifier/Amplifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ var Player = require('../Player/');
class Amplifier extends Player.Components.Data{
constructor(data, group){
super(data, 'playerName');
this._group = group;
this._duration = data.duration;
this._activationTime = new Date(data.activationTime);
this._startTime = new Date(data.startTime);
this._endTime = new Date(data.endTime);
this._multiplier = data.multiplier;
this.group = group;
this.duration = data.duration;
this.activationTime = new Date(data.activationTime);
this.startTime = new Date(data.startTime);
this.endTime = new Date(data.endTime);
this.multiplier = data.multiplier;
}

getGroup(){
return this._group;
return this.group;
}

getDuration(){
return this._duration;
return this.duration;
}

getActivationTime(){
return this._activationTime;
return this.activationTime;
}

getStartTime(){
return this._startTime;
return this.startTime;
}

getEndTime(){
return this._endTime;
return this.endTime;
}

isActive(){
Expand All @@ -37,7 +37,7 @@ class Amplifier extends Player.Components.Data{
}

getMultiplier(){
return this._multiplier;
return this.multiplier;
}
}

Expand Down
10 changes: 5 additions & 5 deletions lib/Amplifier/AmplifierGroup.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ var Amplifier = require('./Amplifier');

class AmplifierGroup{
constructor(data, group){
this._group = group;
this._amplifiers = [];
this.group = group;
this.amplifiers = [];
data.forEach((amplifier)=>{
this._amplifiers.push(new Amplifier(amplifier));
this.amplifiers.push(new Amplifier(amplifier));
});
}

getGroup(){
return this._group;
return this.group;
}

getAmplifiers(){
return this._amplifiers;
return this.amplifiers;
}
}

Expand Down
8 changes: 4 additions & 4 deletions lib/Amplifier/AmplifierGroups.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ var AmplifierGroup = require('./AmplifierGroup');

class AmplifierGroups{
constructor(data){
this._groups = {};
this.groups = {};
for(var group in data){
this._groups[group] = new AmplifierGroup(data[group], group);
this.groups[group] = new AmplifierGroup(data[group], group);
}
}

getGroups(){
return this._groups;
return this.groups;
}

getGroup(group){
return this._groups[group];
return this.groups[group];
}

}
Expand Down
27 changes: 27 additions & 0 deletions lib/Fountain.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
class Fountain{
constructor(data){
this.brawlActive = data.brawlActive;
this.percent = data.percent;
}

isBrawlActive(){
return this.brawlActive;
}

getBrawlActiveString(){
return (this.brawlActive) ? 'active' : 'inactive';
}

getPercentFull(){
return this.percent;
}

getMultiplier(){
var percentFull = this.getPercentFull();
if(percentFull >= 300) return 3.0;
if(percentFull >= 200) return 2.0;
return 1.0;
}
}

module.exports = Fountain;
58 changes: 43 additions & 15 deletions lib/MineplexAPIWrapper.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,63 @@
var MineplexAPI = require('mineplex-api');
var ServerStatus = require('./ServerStatus');
var Player = require('./Player');
var Amplifiers = require('./Amplifier');
var Ranks = require('./Ranks');
var ServerStatus = require('./Network');
var Fountain = require('./Fountain');

class MineplexAPIWrapper{
constructor(apikey){
this.mineplexAPI = new MineplexAPI(apikey);
constructor(apiKey) {
this.mineplexAPI = new MineplexAPI(apiKey);
this.ranks = Ranks;
this.components = {
Player : Player,
Amplifiers : Amplifiers,
ServerStatus: ServerStatus,
Fountain : Fountain
}
}

getApi(){
return this.mineplexAPI;
}

getServerStatus(callback){
this.mineplexAPI.get.server((success, res)=>{
getNetworkStatus(callback){
this.mineplexAPI.get.network.status((success, res)=>{
if(!success) return callback(false, res);

var status = new ServerStatus(res);
callback(true, status);
callback(true, new ServerStatus.Network(res));
});
}

getServerTotal(callback){
this.mineplexAPI.get.server((success, res)=>{
getRegionUsStatus(callback){
this.mineplexAPI.get.network.us.status((success, res)=>{
if(!success) return callback(false, res);

var status = new ServerStatus(res);
callback(true, status.getTotal());
callback(true, new ServerStatus.Region('US', res));
});
}

getServerGroups(callback){
this.mineplexAPI.get.server((success, res)=>{
getRegionUsServer(server, callback){
this.mineplexAPI.get.network.us.server(server, (success, res)=>{
if(!success) return callback(false, res);

var status = new ServerStatus(res);
callback(true, status.getGroups());
callback(true, new ServerStatus.Server(res));
});
}

getRegionEuStatus(callback){
this.mineplexAPI.get.network.eu.status((success, res)=>{
if(!success) return callback(false, res);

callback(true, new ServerStatus.Region('EU', res));
});
}

getRegionEuServer(server, callback){
this.mineplexAPI.get.network.eu.server(server, (success, res)=>{
if(!success) return callback(false, res);

callback(true, new ServerStatus.Server(res));
});
}

Expand Down Expand Up @@ -120,6 +140,14 @@ class MineplexAPIWrapper{
callback(true, new Amplifiers.AmplifierGroup(res));
});
}

getFountainStatus(callback){
this.mineplexAPI.get.fountain((success, res)=>{
if(!success) return callback(false, res);

callback(true, new Fountain(res));
});
}
}

module.exports = MineplexAPIWrapper;
23 changes: 23 additions & 0 deletions lib/Network/NetworkStatus.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
let RegionStatus = require('./RegionStatus');

class NetworkStatus{
constructor(data){
this.us = new RegionStatus('US', data.US);
this.eu = new RegionStatus('EU', data.EU);
this.playerCount = data.playerCount;
}

getPlayerCount(){
return this.playerCount;
}

getRegionEuStatus(){
return this.us;
}

getRegionUsStatus(){
return this.eu;
}
}

module.exports = NetworkStatus;
44 changes: 44 additions & 0 deletions lib/Network/RegionStatus.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
class RegionStatus{
constructor(region, data){
this.region = region;

this.status = data.status;

this.playerCount = data.playerCount;

this.motd = [data.motd.mainLine];
for(let motdLine of data.motd.otherLines){
this.motd.push(motdLine);
}
}

getRegion(){
return this.region;
}

getStatus(){
return this.status;
}

getPlayerCount(){
return this.playerCount;
}

getMotdLines(){
return this.motd;
}

getMotd(){
return this.motd.join('\n');
}

toJSON(){
return {
status : this.getStatus(),
motd : this.getMotdLines(),
playerCount : this.getPlayerCount(),
}
}
}

module.exports = RegionStatus;
Loading

0 comments on commit 72a549e

Please sign in to comment.