1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-29 14:05:25 +01:00
Jobs/com/gamingmesh/jobs/container/JobInfo.java
2016-11-20 11:53:19 +02:00

118 lines
3.3 KiB
Java

/**
* Jobs Plugin for Bukkit
* Copyright (C) 2011 Zak Ford <zak.j.ford@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.gamingmesh.jobs.container;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.resources.jfep.Parser;
public class JobInfo {
private ActionType actionType;
private int id;
private String meta;
private String name;
private double baseIncome, baseXp, basePoints;
private Parser moneyEquation, xpEquation, pointsEquation;
private int fromLevel = 0;
private int untilLevel = Integer.MAX_VALUE;
public JobInfo(ActionType actionType, int id, String meta, String name, double baseIncome, Parser moneyEquation, double baseXp, Parser xpEquation,
Parser pointsEquation, double basePoints, int fromLevel, int untilLevel) {
this.actionType = actionType;
this.id = id;
this.meta = meta;
this.name = name;
this.baseIncome = baseIncome;
this.moneyEquation = moneyEquation;
this.pointsEquation = pointsEquation;
this.basePoints = basePoints;
this.baseXp = baseXp;
this.xpEquation = xpEquation;
this.fromLevel = fromLevel;
this.untilLevel = untilLevel;
}
public int getFromLevel() {
return this.fromLevel;
}
public int getUntilLevel() {
return this.untilLevel;
}
public boolean isInLevelRange(int level) {
return level >= fromLevel && (level <= untilLevel || untilLevel == -1);
}
public String getName() {
return this.name;
}
public int getId() {
return this.id;
}
public ActionType getActionType() {
return this.actionType;
}
public String getMeta() {
return this.meta;
}
public double getBaseIncome() {
return this.baseIncome;
}
public double getBaseXp() {
return this.baseXp;
}
public double getBasePoints() {
return this.basePoints;
}
public double getIncome(double level, double numjobs) {
if (baseIncome == 0 || !Jobs.getGCManager().PaymentMethodsMoney)
return 0;
moneyEquation.setVariable("joblevel", level);
moneyEquation.setVariable("numjobs", numjobs);
moneyEquation.setVariable("baseincome", baseIncome);
return moneyEquation.getValue();
}
public double getExperience(double level, double numjobs) {
if (baseXp == 0 || !Jobs.getGCManager().PaymentMethodsExp)
return 0;
xpEquation.setVariable("joblevel", level);
xpEquation.setVariable("numjobs", numjobs);
xpEquation.setVariable("baseexperience", baseXp);
return xpEquation.getValue();
}
public double getPoints(double level, double numjobs) {
if (basePoints == 0 || !Jobs.getGCManager().PaymentMethodsPoints)
return 0;
pointsEquation.setVariable("joblevel", level);
pointsEquation.setVariable("numjobs", numjobs);
pointsEquation.setVariable("basepoints", basePoints);
return pointsEquation.getValue();
}
}