-
Notifications
You must be signed in to change notification settings - Fork 1
Country Actions
A list of the different functions and actions that countries can call
Countries have the choice as to whether they would like to be part of the Kyoto Protocol or not. The boolean
protected isKyotoMember;
decides whether you are part of kyoto or not. Countries can choose to initialise this to a value other than the default which is true.
protected final boolean leaveKyoto()
protected final boolean joinKyoto()
These functions allow the agent to join and leave kyoto. There are limits on how often a user can leave or join. Once you join, you must wait at least 10 years until you can leave again. Upon leaving, there is a period of 4 years before you can rejoin.
Allows agents to apply carbon absorption mechanisms. i.e. Planting trees. In general these will cost money and reduce the users arable land area. The cost will increase as relative arable land area decreases
public final void investInCarbonAbsorption(double carbonAbsorptionChange)
Performs the investment in carbon absorption.
Input: Units of carbon absorption change
Side effect: Maintaining carbon output, Maintaining GDP Growth, Reducing cash, Increasing credits, Decreasing the arable area
public final double getInvestmentRequired(double carbonOffset)
public final double getInvestmentRequired(double carbonAbsorptionChange, double arableLandArea)
Returns the cost in cash of achieving a change in carbon absorption either given your current arable land area, or an arbitrary arable land area
public final double getCarbonAbsorptionChange(double investmentAmount)
public final double getCarbonAbsorptionChange(double investmentAmount, double arableLandArea)
Returns the change in carbon absorption level for a particular investment either given your current arable land area, or an arbitrary arable land area
public final double getForestAreaRequired(double carbonAbsorptionChange)
Returns the arable land area required to achieve a certain increase in carbon aborption
Allows agents to invest in carbon reduction. This is analogous to inserting filters in factories to reduce the carbon produced from industry.
public final void investInCarbonReduction(double carbonOutputChange)Performs the invest in carbon reduction.
Inputs: Units of carbon output change.
Side effect: Reducing carbon output, Maintaining GDP Growth Rate, Reducing cash
public final double getInvestmentRequired(double carbonOutputChange)
public final double getInvestmentRequired(double carbonOutputChange, double carbonOutput, double energyOutput)
Obtains an estimate for reducing the carbon output by a specified amount.
public final double getCarbonOutputChange(double investmentAmount)
public final double getCarbonOutputChange(double investmentAmount, double carbonOutput, double energyOutput)
Returns the reduction in carbon output for a specific investment amount
###Energy Usage Handler
Allows the agent to change their carbon out of their industry to the detriment of their GDP growth rate. Analogous to building and destroying factories
public void reduceEnergyOutput (double amount)Allows a country to reduce their energy output and their carbon output by the same amount.
Input: Amount of carbon to reduce output by
Side effect: Reducing carbon output, Reducing GDP growth, Maintaining cash
public final void investInCarbonIndustry(double investment)Performs the investment in carbon industry.
Input: amount of carbon
Side effect: Increasing carbon output, Increasing GDP growth, Reducing cash
Analogy: Closing down factories
public double calculateCostOfInvestingInCarbonIndustry (double growth)Given a specific increase in carbon output, a cost in cash of investment is found.
public double calculateCarbonIndustryGrowth (double cost)For a specified amount of cash investment, this returns how much the carbon industry will grow by.
Countries can use the functions used by the targetting service to find session and yearly targets for themselves and for other countries
public double querySessionTarget(UUID countryID)
public double queryYearTarget(UUID countryID)