Remove unused Heatable and HeatData
This commit is contained in:
parent
b59d440b41
commit
e0e91bc064
@ -1,85 +0,0 @@
|
||||
package com.massivecraft.massivecore;
|
||||
|
||||
public final class HeatData
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CONSTANTS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static final transient double HEAT_MIN = 0D;
|
||||
public static final transient double HEAT_HIGH = 1D;
|
||||
public static final transient long MILLIS_CALC_EPSILON = 50;
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS: RAW
|
||||
// -------------------------------------------- //
|
||||
|
||||
private final double heat;
|
||||
public double getHeat() { return this.heat; }
|
||||
|
||||
private final long lastCalcMillis;
|
||||
public long getLastCalcMillis() { return this.lastCalcMillis; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS: INSPECT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public double getOverheat()
|
||||
{
|
||||
return this.getHeat() - HEAT_HIGH;
|
||||
}
|
||||
|
||||
public boolean isOverheated()
|
||||
{
|
||||
return this.getOverheat() > 0;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS: WITH
|
||||
// -------------------------------------------- //
|
||||
|
||||
public HeatData withHeat(double heat) { return new HeatData(heat, lastCalcMillis); }
|
||||
public HeatData withLastCalcMillis(long lastCalcMillis) { return new HeatData(heat, lastCalcMillis); }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private HeatData(double heat, long lastCalcMillis)
|
||||
{
|
||||
this.heat = Math.max(0, heat);
|
||||
this.lastCalcMillis = lastCalcMillis;
|
||||
}
|
||||
|
||||
private HeatData()
|
||||
{
|
||||
this.heat = 0;
|
||||
this.lastCalcMillis = 0;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FACTORY: VALUE OF
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static HeatData valueOf(double heat, long lastCalcMillis)
|
||||
{
|
||||
return new HeatData(heat, lastCalcMillis);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FACTORY: RECALCULATED
|
||||
// -------------------------------------------- //
|
||||
|
||||
public HeatData recalculated(long now, double heatPerMilli)
|
||||
{
|
||||
if (this.lastCalcMillis + MILLIS_CALC_EPSILON >= now) return this;
|
||||
|
||||
long deltaMillis = now - this.lastCalcMillis;
|
||||
double heatDelta = heatPerMilli * deltaMillis;
|
||||
double heatTarget = this.heat + heatDelta;
|
||||
heatTarget = Math.max(0, heatTarget);
|
||||
|
||||
return valueOf(heatTarget, now);
|
||||
}
|
||||
|
||||
}
|
@ -1,107 +0,0 @@
|
||||
package com.massivecraft.massivecore;
|
||||
|
||||
public abstract class Heatable
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// ABSTRACT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public abstract HeatData getData();
|
||||
public abstract void setData(HeatData data);
|
||||
|
||||
public abstract double getHeatPerMilli();
|
||||
public abstract double getHeatPerExecution();
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CUSTOM
|
||||
// -------------------------------------------- //
|
||||
|
||||
private HeatData getRecalculatedData(double heatPerMilli)
|
||||
{
|
||||
long now = System.currentTimeMillis();
|
||||
HeatData data = this.getData().recalculated(now, heatPerMilli);
|
||||
this.setData(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
public void addHeat(double heatPerMilli, double heat)
|
||||
{
|
||||
long now = System.currentTimeMillis();
|
||||
HeatData data = this.getData().recalculated(now, heatPerMilli);
|
||||
data = data.withHeat(data.getHeat() + heat);
|
||||
this.setData(data);
|
||||
}
|
||||
|
||||
public double getHeat(double heatPerMilli)
|
||||
{
|
||||
HeatData data = getRecalculatedData(heatPerMilli);
|
||||
return data.getHeat();
|
||||
}
|
||||
|
||||
public boolean isOverheated(double heatPerMilli)
|
||||
{
|
||||
HeatData data = getRecalculatedData(heatPerMilli);
|
||||
return data.isOverheated();
|
||||
}
|
||||
|
||||
public double getOverheat(double heatPerMilli)
|
||||
{
|
||||
HeatData data = getRecalculatedData(heatPerMilli);
|
||||
return data.getOverheat();
|
||||
}
|
||||
|
||||
public long getCooldownMillisLeft(double heatPerMilli)
|
||||
{
|
||||
double overheat = this.getOverheat(heatPerMilli);
|
||||
return (long) (-overheat / heatPerMilli);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// DEFAULT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public void addHeat(double heat)
|
||||
{
|
||||
this.addHeat(this.getHeatPerMilli(), heat);
|
||||
}
|
||||
|
||||
public void addHeat()
|
||||
{
|
||||
this.addHeat(this.getHeatPerExecution());
|
||||
}
|
||||
|
||||
public double getHeat()
|
||||
{
|
||||
return this.getHeat(this.getHeatPerMilli());
|
||||
}
|
||||
|
||||
public boolean isOverheated()
|
||||
{
|
||||
return this.isOverheated(this.getHeatPerMilli());
|
||||
}
|
||||
|
||||
public double getOverheat()
|
||||
{
|
||||
return this.getOverheat(this.getHeatPerMilli());
|
||||
}
|
||||
|
||||
public long getCooldownMillisLeft()
|
||||
{
|
||||
return this.getCooldownMillisLeft(this.getHeatPerMilli());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// UTIL
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static double calcHeatPerExecution(long executionCount, long periodMillis)
|
||||
{
|
||||
return 1D / (double)executionCount;
|
||||
}
|
||||
|
||||
public static double calcHeatPerMilli(long executionCount, long periodMillis)
|
||||
{
|
||||
return - 1D / (double)periodMillis;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user