aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-14 20:03:07 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-14 20:03:07 +0000
commit1f48c6da89afb649c3b73674cb3c0664fa322a09 (patch)
tree493e5d87627fd9bb4de7eeb4094640108c04bf64 /src/Java/gtPlusPlus
parente562aa2059d09840cf2a3ad9333e477bcb670cd9 (diff)
downloadGT5-Unofficial-1f48c6da89afb649c3b73674cb3c0664fa322a09.tar.gz
GT5-Unofficial-1f48c6da89afb649c3b73674cb3c0664fa322a09.tar.bz2
GT5-Unofficial-1f48c6da89afb649c3b73674cb3c0664fa322a09.zip
+ Added recipes for the Large Arc Furnace and Casings.
- Disabled power output on Alternative Fusion. % Made the AutoMap implement Collection and Queue. $ Fixed energy buffers return bad inventory name.
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/AutoMap.java139
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java50
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java35
-rw-r--r--src/Java/gtPlusPlus/core/util/math/MathUtils.java11
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java22
7 files changed, 204 insertions, 63 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
index d5e016bbf8..4663229514 100644
--- a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
+++ b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
@@ -3,7 +3,7 @@ package gtPlusPlus.api.objects.data;
import java.io.Serializable;
import java.util.*;
-public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
+public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable, Collection<V>, Queue<V> {
/**
* The Internal Map
@@ -47,8 +47,8 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
return set(object);
}
- public synchronized V add(V object){
- return set(object);
+ public synchronized boolean add(V object){
+ return set(object) != null;
}
public synchronized V set(V object){
@@ -87,62 +87,129 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
return mInternalMap.isEmpty();
}
- public synchronized boolean clear(){
+ public synchronized void clear(){
this.mInternalID = 0;
this.mInternalMap.clear();
this.mInternalNameMap.clear();
- return true;
- }
-
- private final Class getMapType() {
- Class<? extends Object> g = mInternalMap.get(0).getClass();
- return g;
+ return;
}
+ @SuppressWarnings("unchecked")
public synchronized V[] toArray() {
- /*Collection<V> col = this.mInternalMap.values();
+ Collection<V> col = this.mInternalMap.values();
List<V> abcList = new ArrayList<V>();
for (V g : col) {
abcList.add(g);
}
- return (V[]) abcList.toArray();*/
- return (V[]) new AutoArray(this).getGenericArray();
+ return (V[]) abcList.toArray();
+ //return (V[]) new AutoArray(this).getGenericArray();
}
public synchronized final int getInternalID() {
return mInternalID;
- }
+ }
- public synchronized final boolean remove(V value) {
+ public synchronized final boolean remove(Object value) {
value.getClass();
if (this.mInternalMap.containsValue(value)) {
return this.mInternalMap.remove(mInternalNameMap.get(""+value.hashCode()), value);
}
return false;
- }
-
- private class AutoArray<E> {
-
- private final V[] arr;
- public final int length;
-
- public AutoArray(AutoMap aMap) {
- this.arr = (V[]) java.lang.reflect.Array.newInstance(aMap.getMapType(), aMap.size());
- this.length = aMap.size();
- }
- private V get(int i) {
- return arr[i];
- }
- private void set(int i, V e) {
- arr[i] = e;
+ }
+
+ @Override
+ public boolean contains(Object o) {
+ for (V g : this.mInternalMap.values()) {
+ if (g.equals(o)) {
+ return true;
+ }
}
- protected V[] getGenericArray() {
- return arr;
+ return false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <V> V[] toArray(V[] a) {
+ return (V[]) toArray();
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> c) {
+ boolean aTrue = true;
+ for (Object g : c) {
+ if (!this.contains(g)) {
+ aTrue = false;
+ }
+ }
+ return aTrue;
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends V> c) {
+ boolean aTrue = true;
+ for (V g : c) {
+ if (!this.add(g)) {
+ aTrue = false;
+ }
+ }
+ return aTrue;
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> c) {
+ boolean aTrue = true;
+ for (Object g : c) {
+ if (!this.remove(g)) {
+ aTrue = false;
+ }
+ }
+ return aTrue;
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> c) {
+ AutoMap<?> aTempAllocation = new AutoMap();
+ boolean aTrue = false;
+ aTempAllocation = this;
+ aTempAllocation.removeAll(c);
+ aTrue = this.removeAll(aTempAllocation);
+ aTempAllocation.clear();
+ return aTrue;
+ }
+
+ @Override
+ public boolean offer(V e) {
+ return add(e);
+ }
+
+ @Override
+ public V remove() {
+ V y = this.get(0);
+ if (remove(y))
+ return y;
+ else
+ return null;
+ }
+
+ @Override
+ public V poll() {
+ if (this.mInternalMap.isEmpty()) {
+ return null;
}
- @Override
- public String toString() {
- return Arrays.toString(arr);
+ return remove();
+ }
+
+ @Override
+ public V element() {
+ if (this.mInternalMap.isEmpty()) {
+ return null;
}
+ return this.get(0);
+ }
+
+ @Override
+ public V peek() {
+ return element();
}
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index e7577071c6..a7c0655f89 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -207,10 +207,20 @@ public class RECIPES_Machines {
}
private static void run(){
+
+ //Determines Casing Recipe Output
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !GTNH){
+ Casing_Amount=2;
+ }
+ else {
+ Casing_Amount=1;
+ }
+
initModItems();
controlCores();
energyCores();
wirelessChargers();
+ largeArcFurnace();
}
private static void initModItems(){
@@ -276,15 +286,7 @@ public class RECIPES_Machines {
private static void runModRecipes(){
if (LoadedMods.Gregtech){
- //Determines Casing Recipe Output
- if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !GTNH){
- Casing_Amount=2;
- }
- else {
- Casing_Amount=1;
- }
-
-
+
//Computer Cube
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
@@ -1898,4 +1900,34 @@ public class RECIPES_Machines {
}
}
+
+ private static void largeArcFurnace() {
+ int aCostMultiplier = GTNH ? 2 : 1;
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getTieredMachineHull(-1, 1 * aCostMultiplier),
+ CI.getEmitter(2, 2 * aCostMultiplier),
+ CI.getElectricPiston(4, 2 * aCostMultiplier),
+ CI.getSensor(4, 1 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier),
+ },
+ CI.getAlternativeTieredFluid(5, (144 * 2 * 4)), //Input Fluid
+ GregtechItemList.Casing_Industrial_Arc_Furnace.get(Casing_Amount),
+ 20 * 10 * 1 * (6),
+ MaterialUtils.getVoltageForTier(5));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ GregtechItemList.Casing_Industrial_Arc_Furnace.get(Casing_Amount),
+ CI.getFieldGenerator(4, 2 * aCostMultiplier),
+ CI.getRobotArm(5, 4 * aCostMultiplier),
+ CI.getEnergyCore(4, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 8 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, 5, 8 * aCostMultiplier),
+ },
+ CI.getAlternativeTieredFluid(6, (144 * 4 * 5)), //Input Fluid
+ GregtechItemList.Industrial_Arc_Furnace.get(1),
+ 60 * 20 * 8,
+ MaterialUtils.getVoltageForTier(6));
+ }
}
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index b473b30c3c..28fa12ac1a 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -13,6 +13,7 @@ import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.LOADER_Machine_Components;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
@@ -628,6 +629,38 @@ public class CI {
return a;
}
+ public static ItemStack getEnergyCore(int aTier, int aAmount) {
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1)
+ };
+ return ItemUtils.getSimpleStack(aOutput[MathUtils.balance(aTier, 0, 9)], aAmount);
+ }
+
+ public static ItemStack getPlate(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.plate, aTier, aAmount);
+ }
+
+ public static ItemStack getGear(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.gearGt, aTier, aAmount);
+ }
+
+ public static ItemStack getIngot(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.ingot, aTier, aAmount);
+ }
+
+ public static ItemStack getBolt(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.bolt, aTier, aAmount);
+ }
+
public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) {
aTier = Math.max(0, aTier);
@@ -1144,7 +1177,7 @@ public class CI {
aType = CI.machineHull_MAX;
}
else {
- aType = CI.machineHull_LV;
+ aType = GregtechItemList.Casing_Multi_Use.get(1, CI.machineHull_MV);
}
return ItemUtils.getSimpleStack(aType, aSize);
}
diff --git a/src/Java/gtPlusPlus/core/util/math/MathUtils.java b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
index 40ac23a1b8..030099cff1 100644
--- a/src/Java/gtPlusPlus/core/util/math/MathUtils.java
+++ b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
@@ -681,4 +681,15 @@ public class MathUtils {
return i;
}
+ /**
+ * Balances a number within a range.
+ * @param aInput - The number to balance
+ * @param aMin - The minimum bounds
+ * @param aMax - The maximum bounds
+ * @return - An Integer which will be between the bounds, or a boundary value.
+ */
+ public static int balance(int aInput, int aMin, int aMax) {
+ return Math.max(Math.min(aInput, aMax), aMin);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
index 6ec95ff16b..8925caf480 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_MiniFusionPlant.java
@@ -130,19 +130,18 @@ public class GregtechMTE_MiniFusionPlant extends GregtechMeta_MultiBlockBase {
//"Input voltage can be changed within the GUI",
"Place Input/Output Hatches on sides and bottom",
"Power can only be inserted into the back",
- "Power can only be extracted from the top",
+ //e"Power can only be extracted from the top",
+ TAG_HIDE_HATCHES
};
}
@Override
public int getMaxParallelRecipes() {
- // TODO Auto-generated method stub
return 1;
}
@Override
public int getEuDiscountForParallelism() {
- // TODO Auto-generated method stub
return 0;
}
@@ -317,7 +316,7 @@ public class GregtechMTE_MiniFusionPlant extends GregtechMeta_MultiBlockBase {
@Override
public boolean isEnetOutput() {
- return true;
+ return false;
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
index 1d2fad941b..b77529220f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java
@@ -294,7 +294,6 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
cur = String.format(fmt, cur);
return new String[] {
- this.getLocalName(),
cur+" EU stored",
max+" EU capacity"};
}
@@ -345,7 +344,7 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity {
@Override
public String getInventoryName() {
- return null;
+ return super.getInventoryName();
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
index 7b87cd0f24..e07837c2ba 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
@@ -41,20 +41,20 @@ public class GregtechEnergyBuffer
//Energy Buffers
- GregtechItemList.Energy_Buffer_1by1_ULV.set(new GregtechMetaEnergyBuffer(770, "energybuffer.01.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_LV.set(new GregtechMetaEnergyBuffer(771, "energybuffer.01.tier.01", "Low Voltage Energy Buffer", 1, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_MV.set(new GregtechMetaEnergyBuffer(772, "energybuffer.01.tier.02", "Medium Voltage Energy Buffer", 2, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_HV.set(new GregtechMetaEnergyBuffer(773, "energybuffer.01.tier.03", "High Voltage Energy Buffer", 3, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_EV.set(new GregtechMetaEnergyBuffer(774, "energybuffer.01.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_IV.set(new GregtechMetaEnergyBuffer(775, "energybuffer.01.tier.05", "Insane Voltage Energy Buffer", 5, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_LuV.set(new GregtechMetaEnergyBuffer(776, "energybuffer.01.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_ZPM.set(new GregtechMetaEnergyBuffer(777, "energybuffer.01.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_UV.set(new GregtechMetaEnergyBuffer(778, "energybuffer.01.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1).getStackForm(1L));
- GregtechItemList.Energy_Buffer_1by1_MAX.set(new GregtechMetaEnergyBuffer(779, "energybuffer.01.tier.09", "MAX Voltage Energy Buffer", 9, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_ULV.set(new GregtechMetaEnergyBuffer(770, "energybuffer.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LV.set(new GregtechMetaEnergyBuffer(771, "energybuffer.tier.01", "Low Voltage Energy Buffer", 1, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MV.set(new GregtechMetaEnergyBuffer(772, "energybuffer.tier.02", "Medium Voltage Energy Buffer", 2, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_HV.set(new GregtechMetaEnergyBuffer(773, "energybuffer.tier.03", "High Voltage Energy Buffer", 3, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_EV.set(new GregtechMetaEnergyBuffer(774, "energybuffer.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_IV.set(new GregtechMetaEnergyBuffer(775, "energybuffer.tier.05", "Insane Voltage Energy Buffer", 5, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LuV.set(new GregtechMetaEnergyBuffer(776, "energybuffer.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_ZPM.set(new GregtechMetaEnergyBuffer(777, "energybuffer.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_UV.set(new GregtechMetaEnergyBuffer(778, "energybuffer.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MAX.set(new GregtechMetaEnergyBuffer(779, "energybuffer.tier.09", "MAX Voltage Energy Buffer", 9, "", 1).getStackForm(1L));
// Creative Buffer Has Special ID
GregtechItemList.Energy_Buffer_CREATIVE
.set(new GregtechMetaCreativeEnergyBuffer(750,
- "energybuffer.01.tier.xx",
+ "energybuffer.tier.xx",
"512V Creative Energy Buffer", 3, "", 0)
.getStackForm(1L));