2015-05-07 19:45:06 +02:00
|
|
|
package com.pahimar.ee3.api.exchange;
|
2014-07-07 21:31:10 +02:00
|
|
|
|
2016-05-20 19:56:53 +02:00
|
|
|
import java.util.ArrayList;
|
2016-05-17 04:02:23 +02:00
|
|
|
import java.util.Collections;
|
2014-07-14 20:39:23 +02:00
|
|
|
import java.util.List;
|
2016-05-25 05:12:49 +02:00
|
|
|
import java.util.Map;
|
2014-07-07 21:31:10 +02:00
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
import com.pahimar.ee3.EquivalentExchange3;
|
|
|
|
import com.pahimar.ee3.exchange.WrappedStack;
|
|
|
|
import cpw.mods.fml.common.Mod;
|
2016-05-17 04:02:23 +02:00
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
public final class EnergyValueRegistryProxy {
|
2014-07-07 21:31:10 +02:00
|
|
|
@Mod.Instance("EE3")
|
|
|
|
private static Object ee3Mod;
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-25 05:12:49 +02:00
|
|
|
public static Map<WrappedStack, EnergyValue> getPreCalculationEnergyValues() {
|
|
|
|
return getEnergyValues(Phase.PRE_CALCULATION);
|
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-25 05:12:49 +02:00
|
|
|
public static Map<WrappedStack, EnergyValue> getPostCalculationEnergyValues() {
|
|
|
|
return getEnergyValues(Phase.POST_CALCULATION);
|
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-25 05:12:49 +02:00
|
|
|
public static Map<WrappedStack, EnergyValue> getEnergyValues() {
|
|
|
|
return getEnergyValues(Phase.ALL);
|
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-25 05:12:49 +02:00
|
|
|
public static Map<WrappedStack, EnergyValue> getEnergyValues(Phase phase) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
public static boolean hasEnergyValue(Object object) {
|
2014-07-14 04:05:27 +02:00
|
|
|
return hasEnergyValue(object, false);
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static boolean hasEnergyValue(Object object, boolean strict) {
|
2014-07-07 21:31:10 +02:00
|
|
|
init();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
if (ee3Mod != null) {
|
2023-01-03 17:47:36 +01:00
|
|
|
return EE3Wrapper.ee3mod.getEnergyValueRegistry().hasEnergyValue(
|
|
|
|
object, strict
|
|
|
|
);
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
|
|
|
|
2015-02-03 05:12:08 +01:00
|
|
|
return false;
|
2014-07-14 04:05:27 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static EnergyValue getEnergyValue(Object object) {
|
2014-07-14 04:05:27 +02:00
|
|
|
return getEnergyValue(object, false);
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static EnergyValue getEnergyValue(Object object, boolean strict) {
|
2014-07-07 21:31:10 +02:00
|
|
|
init();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
if (ee3Mod != null) {
|
2023-01-03 17:47:36 +01:00
|
|
|
return EE3Wrapper.ee3mod.getEnergyValueRegistry().getEnergyValue(
|
|
|
|
object, strict
|
|
|
|
);
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
|
|
|
|
2015-02-03 05:12:08 +01:00
|
|
|
return null;
|
2014-07-14 04:05:27 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static EnergyValue getEnergyValueForStack(Object object) {
|
2015-04-19 21:01:35 +02:00
|
|
|
return getEnergyValueForStack(object, false);
|
|
|
|
}
|
2015-02-20 04:09:10 +01:00
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static EnergyValue getEnergyValueForStack(Object object, boolean strict) {
|
2015-04-19 21:01:35 +02:00
|
|
|
init();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
if (ee3Mod != null) {
|
2023-01-03 17:47:36 +01:00
|
|
|
return EE3Wrapper.ee3mod.getEnergyValueRegistry().getEnergyValueForStack(
|
|
|
|
object, strict
|
|
|
|
);
|
2015-04-19 21:01:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
2014-07-14 20:39:23 +02:00
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-17 04:02:23 +02:00
|
|
|
public static List getStacksInRange(Number start, Number finish) {
|
|
|
|
return getStacksInRange(start, finish);
|
2014-07-14 20:39:23 +02:00
|
|
|
}
|
|
|
|
|
2022-12-02 12:36:58 +01:00
|
|
|
@Deprecated
|
2016-05-17 04:02:23 +02:00
|
|
|
public static List getStacksInRange(EnergyValue start, EnergyValue finish) {
|
2014-07-15 00:37:50 +02:00
|
|
|
init();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
if (ee3Mod != null) {
|
2023-01-03 17:47:36 +01:00
|
|
|
return new ArrayList<>(
|
|
|
|
EE3Wrapper.ee3mod.getEnergyValueRegistry().getStacksInRange(start, finish)
|
|
|
|
);
|
2014-07-15 00:37:50 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
return Collections.EMPTY_LIST;
|
2014-07-14 20:39:23 +02:00
|
|
|
}
|
|
|
|
|
2016-05-19 15:58:16 +02:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
|
|
|
public static void addPreAssignedEnergyValue(Object object, float energyValue) {
|
|
|
|
setEnergyValue(object, energyValue, Phase.PRE_CALCULATION);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
|
|
|
public static void addPreAssignedEnergyValue(Object object, EnergyValue energyValue) {
|
|
|
|
setEnergyValue(object, energyValue, Phase.PRE_CALCULATION);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
|
|
|
public static void addPreCalculationEnergyValue(Object object, float energyValue) {
|
|
|
|
setEnergyValue(object, energyValue, Phase.PRE_CALCULATION);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
2023-01-03 17:47:36 +01:00
|
|
|
public static void
|
|
|
|
addPreCalculationEnergyValue(Object object, EnergyValue energyValue) {
|
2016-05-19 15:58:16 +02:00
|
|
|
setEnergyValue(object, energyValue, Phase.PRE_CALCULATION);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
|
|
|
public static void addPostAssignedEnergyValue(Object object, float energyValue) {
|
|
|
|
setEnergyValue(object, energyValue);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
2023-01-03 17:47:36 +01:00
|
|
|
public static void
|
|
|
|
addPostAssignedEnergyValue(Object object, EnergyValue energyValue) {
|
2016-05-19 15:58:16 +02:00
|
|
|
setEnergyValue(object, energyValue);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
|
|
|
public static void addPostCalculationEnergyValue(Object object, float energyValue) {
|
|
|
|
setEnergyValue(object, energyValue);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @deprecated
|
|
|
|
* @param object
|
|
|
|
* @param energyValue
|
|
|
|
*/
|
|
|
|
@Deprecated
|
2023-01-03 17:47:36 +01:00
|
|
|
public static void
|
|
|
|
addPostCalculationEnergyValue(Object object, EnergyValue energyValue) {
|
2016-05-19 15:58:16 +02:00
|
|
|
setEnergyValue(object, energyValue);
|
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static void setEnergyValue(Object object, Number energyValue) {
|
2016-05-18 19:53:13 +02:00
|
|
|
setEnergyValue(object, new EnergyValue(energyValue), Phase.POST_CALCULATION);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void setEnergyValue(Object object, EnergyValue energyValue) {
|
2016-05-17 04:02:23 +02:00
|
|
|
setEnergyValue(object, energyValue, Phase.POST_CALCULATION);
|
2015-04-09 18:40:19 +02:00
|
|
|
}
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public static void setEnergyValue(Object object, Number energyValue, Phase phase) {
|
2016-05-18 19:53:13 +02:00
|
|
|
setEnergyValue(object, new EnergyValue(energyValue), phase);
|
|
|
|
}
|
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
public static void
|
|
|
|
setEnergyValue(Object object, EnergyValue energyValue, Phase phase) {
|
2015-04-09 18:40:19 +02:00
|
|
|
init();
|
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
if (ee3Mod != null) {
|
2023-01-03 17:47:36 +01:00
|
|
|
EE3Wrapper.ee3mod.getEnergyValueRegistry().setEnergyValue(
|
|
|
|
object, energyValue, phase
|
|
|
|
);
|
2015-04-09 18:40:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-03 17:47:36 +01:00
|
|
|
private static class EE3Wrapper { private static EquivalentExchange3 ee3mod; }
|
2014-07-21 03:32:23 +02:00
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
private static void init() {
|
|
|
|
if (ee3Mod != null) {
|
2014-07-14 04:05:27 +02:00
|
|
|
EE3Wrapper.ee3mod = (EquivalentExchange3) ee3Mod;
|
|
|
|
}
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|
2015-04-09 18:40:19 +02:00
|
|
|
|
2016-05-17 04:02:23 +02:00
|
|
|
public enum Phase {
|
2016-05-19 15:58:16 +02:00
|
|
|
@Deprecated PRE_ASSIGNMENT,
|
2015-06-10 05:25:40 +02:00
|
|
|
PRE_CALCULATION,
|
2016-05-19 15:58:16 +02:00
|
|
|
@Deprecated POST_ASSIGNMENT,
|
|
|
|
POST_CALCULATION,
|
|
|
|
@Deprecated RUNTIME,
|
2016-05-25 05:12:49 +02:00
|
|
|
ALL
|
2015-04-09 18:40:19 +02:00
|
|
|
}
|
2014-07-07 21:31:10 +02:00
|
|
|
}
|