addon-challenges/src/main/java/world/bentobox/challenges/database/object/requirements/OtherRequirements.java

205 lines
4.6 KiB
Java

//
// Created by BONNe
// Copyright - 2019
//
package world.bentobox.challenges.database.object.requirements;
import java.util.HashSet;
import com.google.gson.annotations.Expose;
/**
* This class contains all necessary requirements to complete other type challenge.
*/
public class OtherRequirements extends Requirements
{
/**
* Constructor Requirements creates a new Requirements instance.
*/
public OtherRequirements()
{
// Empty constructor
}
// ---------------------------------------------------------------------
// Section: Getters and Setters
// ---------------------------------------------------------------------
/**
* Method OtherRequirements#getRequiredExperience returns the requiredExperience of this object.
*
* @return the requiredExperience (type int) of this object.
*/
public int getRequiredExperience()
{
return requiredExperience;
}
/**
* Method OtherRequirements#setRequiredExperience sets new value for the requiredExperience of this object.
* @param requiredExperience new value for this object.
*
*/
public void setRequiredExperience(int requiredExperience)
{
this.requiredExperience = requiredExperience;
}
/**
* Method OtherRequirements#isTakeExperience returns the takeExperience of this object.
*
* @return the takeExperience (type boolean) of this object.
*/
public boolean isTakeExperience()
{
return takeExperience;
}
/**
* Method OtherRequirements#setTakeExperience sets new value for the takeExperience of this object.
* @param takeExperience new value for this object.
*
*/
public void setTakeExperience(boolean takeExperience)
{
this.takeExperience = takeExperience;
}
/**
* Method OtherRequirements#getRequiredMoney returns the requiredMoney of this object.
*
* @return the requiredMoney (type double) of this object.
*/
public double getRequiredMoney()
{
return requiredMoney;
}
/**
* Method OtherRequirements#setRequiredMoney sets new value for the requiredMoney of this object.
* @param requiredMoney new value for this object.
*
*/
public void setRequiredMoney(double requiredMoney)
{
this.requiredMoney = requiredMoney;
}
/**
* Method OtherRequirements#isTakeMoney returns the takeMoney of this object.
*
* @return the takeMoney (type boolean) of this object.
*/
public boolean isTakeMoney()
{
return takeMoney;
}
/**
* Method OtherRequirements#setTakeMoney sets new value for the takeMoney of this object.
* @param takeMoney new value for this object.
*
*/
public void setTakeMoney(boolean takeMoney)
{
this.takeMoney = takeMoney;
}
/**
* Method OtherRequirements#getRequiredIslandLevel returns the requiredIslandLevel of this object.
*
* @return the requiredIslandLevel (type long) of this object.
*/
public long getRequiredIslandLevel()
{
return requiredIslandLevel;
}
/**
* Method OtherRequirements#setRequiredIslandLevel sets new value for the requiredIslandLevel of this object.
* @param requiredIslandLevel new value for this object.
*
*/
public void setRequiredIslandLevel(long requiredIslandLevel)
{
this.requiredIslandLevel = requiredIslandLevel;
}
// ---------------------------------------------------------------------
// Section: Other methods
// ---------------------------------------------------------------------
/**
* Method Requirements#copy allows copies Requirements object, to avoid changing content when it is necessary
* to use it.
* @return OtherRequirements copy
*/
@Override
public Requirements copy()
{
OtherRequirements clone = new OtherRequirements();
clone.setRequiredPermissions(new HashSet<>(this.getRequiredPermissions()));
clone.setRequiredExperience(this.requiredExperience);
clone.setTakeExperience(this.takeExperience);
clone.setRequiredMoney(this.requiredMoney);
clone.setTakeMoney(this.takeMoney);
clone.setRequiredIslandLevel(this.requiredIslandLevel);
return clone;
}
// ---------------------------------------------------------------------
// Section: Variables
// ---------------------------------------------------------------------
/**
* Necessary amount of experience for player to complete challenge.
*/
@Expose
private int requiredExperience;
/**
* Should take experience from player.
*/
@Expose
private boolean takeExperience;
/**
* Necessary amount of money in player account to complete challenge. Requires Economy plugin.
*/
@Expose
private double requiredMoney;
/**
* Should take money from player account. Requires Economy plugin.
*/
@Expose
private boolean takeMoney;
/**
* Necessary Island Level from Level Addon
*/
@Expose
private long requiredIslandLevel;
}