aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorPrometheus0000 <prometheus0000000@gmail.com>2021-01-04 09:38:25 -0500
committerGitHub <noreply@github.com>2021-01-04 09:38:25 -0500
commitaf189671431ddb4d126e6800ec810c2c7e846b24 (patch)
tree6d3ce9cb5165e52c055f12741f6791ef5fce7c22 /src/main/java
parent03a3c907ea8858ccc77581268cd5107a22243829 (diff)
parent4f0e72c4c76a9454809f07f10ee0ad242f911b87 (diff)
downloadGT5-Unofficial-af189671431ddb4d126e6800ec810c2c7e846b24.tar.gz
GT5-Unofficial-af189671431ddb4d126e6800ec810c2c7e846b24.tar.bz2
GT5-Unofficial-af189671431ddb4d126e6800ec810c2c7e846b24.zip
Merge pull request #19 from GTNewHorizons/experimental
update
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/GT_Mod.java15
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java19
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java11
-rw-r--r--src/main/java/gregtech/api/enums/HeatingCoilLevel.java69
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java8
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java13
-rw-r--r--src/main/java/gregtech/api/interfaces/IHeatingCoil.java18
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java7
-rw-r--r--src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java109
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java98
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java67
-rw-r--r--src/main/java/gregtech/api/objects/ReverseShapedRecipe.java43
-rw-r--r--src/main/java/gregtech/api/objects/ReverseShapelessRecipe.java43
-rw-r--r--src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java126
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java2
-rw-r--r--src/main/java/gregtech/api/util/GT_Shaped_Recipe.java25
-rw-r--r--src/main/java/gregtech/api/util/GT_Shapeless_Recipe.java36
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java179
-rw-r--r--src/main/java/gregtech/common/GT_Client.java22
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings1.java5
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings2.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings3.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings4.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings5.java73
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings6.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings8.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings_Abstract.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Concretes.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Granites.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings1.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings2.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings3.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings4.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings5.java42
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings6.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings8.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings_Abstract.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Concretes.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Granites.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_LongDistancePipe.java36
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Machines.java9
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Ores.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Stones_Abstract.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Casings.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Machines.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Packet_Ores.java3
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Steel.java3
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java446
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java180
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/long_distance/GT_MetaTileEntity_LongDistancePipelineBase.java255
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/long_distance/GT_MetaTileEntity_LongDistancePipelineFluid.java110
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/long_distance/GT_MetaTileEntity_LongDistancePipelineItem.java183
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AbstractMultiFurnace.java98
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java505
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java298
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java350
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java365
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java3
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java5
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java9
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java11
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java281
71 files changed, 2821 insertions, 1460 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index b0ac434c61..09096911c2 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -32,6 +32,8 @@ import gregtech.api.enums.SubTag;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.internal.IGT_Mod;
import gregtech.api.objects.ItemData;
+import gregtech.api.objects.ReverseShapedRecipe;
+import gregtech.api.objects.ReverseShapelessRecipe;
import gregtech.api.objects.XSTR;
import gregtech.api.threads.GT_Runnable_MachineBlockUpdate;
import gregtech.api.util.GT_Assemblyline_Server;
@@ -810,6 +812,16 @@ public class GT_Mod implements IGT_Mod {
}
gregtechproxy.onPostLoad();
+
+
+ for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) {
+ if (i >= GregTech_API.METATILEENTITIES.length)
+ break;
+ if (GregTech_API.METATILEENTITIES[i] != null) {
+ GT_Log.out.println("META " + i + " " + GregTech_API.METATILEENTITIES[i].getMetaName());
+ }
+ }
+
if (gregtechproxy.mSortToTheEnd) {
gregtechproxy.registerUnificationEntries();
} else {
@@ -1077,6 +1089,9 @@ public class GT_Mod implements IGT_Mod {
achievements = new GT_Achievements();
+ ReverseShapedRecipe.runReverseRecipes();
+ ReverseShapelessRecipe.runReverseRecipes();
+
GT_Recipe.GTppRecipeHelper = true;
GT_Log.out.println("GT_Mod: Loading finished, deallocating temporary Init Variables.");
GregTech_API.sBeforeGTPreload = null;
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index 932d267a34..17f171a953 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -25,6 +25,7 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
import net.minecraftforge.fluids.Fluid;
@@ -89,8 +90,16 @@ public class GregTech_API {
* 9728 - 10239 are reserved for 28Smiles.
* 10240 - 10751 are reserved for VirMan.
* 10752 - 11263 are reserved for Briareos81.
- * 11264 - 12000 are reserved for the next one who asks me.
- * 9728 - 32766 are currently free.
+ * 11264 - 12000 are reserved for Quantum64.
+ * 12001 - 12500 are reserved for RedMage17.
+ * 12501 - 13000 are reserved for bartimaeusnek.
+ * 13001 - 13100 are reserved for Techlone
+ * 13101 - 13500 are reserved for kekzdealer
+ * 13501 - 14999 are currently free.
+ * 15000 - 16999 are reserved for TecTech.
+ * 17000 - 29999 are currently free.
+ * 30000 - 31999 are reserved for Alkalus.
+ * 32001 - 32766 are currently free.
* <p/>
* Contact me if you need a free ID-Range, which doesn't conflict with other Addons.
* You could make an ID-Config, but we all know, what "stupid" customers think about conflicting ID's
@@ -257,6 +266,8 @@ public class GregTech_API {
sBlockCasings5,
sBlockCasings6,
sBlockCasings8;
+ public static Block
+ sBlockLongDistancePipes;
/**
* Getting assigned by the Config
*/
@@ -389,8 +400,8 @@ public class GregTech_API {
* @param aZ is the Z-Coord of the update causing Block
*/
public static boolean causeMachineUpdate(World aWorld, int aX, int aY, int aZ) {
- if (aWorld != null && !aWorld.isRemote) { //World might be null during Worldgen
- GT_Runnable_MachineBlockUpdate.setMachineUpdateValues(aWorld, aX, aY, aZ);
+ if (aWorld != null && !aWorld.isRemote) { // World might be null during Worldgen
+ GT_Runnable_MachineBlockUpdate.setMachineUpdateValues(aWorld, new ChunkCoordinates(aX, aY, aZ));
return true;
}
return false;
diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java
index 66b2e8a08f..8545f42bea 100644
--- a/src/main/java/gregtech/api/enums/GT_Values.java
+++ b/src/main/java/gregtech/api/enums/GT_Values.java
@@ -4,6 +4,7 @@ import gregtech.api.interfaces.internal.IGT_Mod;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
import gregtech.api.net.IGT_NetworkHandler;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
@@ -126,6 +127,16 @@ public class GT_Values {
"Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage",
"Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage",
"Maximum Voltage"};
+
+ public static final String[] TIER_COLORS =
+ new String[]{
+ EnumChatFormatting.RED.toString(), EnumChatFormatting.GRAY.toString(), EnumChatFormatting.AQUA.toString(),
+ EnumChatFormatting.GOLD.toString(), EnumChatFormatting.DARK_PURPLE.toString(), EnumChatFormatting.DARK_BLUE.toString(),
+ EnumChatFormatting.LIGHT_PURPLE.toString(), EnumChatFormatting.WHITE.toString(), EnumChatFormatting.DARK_AQUA.toString(),
+ EnumChatFormatting.DARK_RED.toString(), EnumChatFormatting.GREEN.toString(), EnumChatFormatting.DARK_GREEN.toString(),
+ EnumChatFormatting.YELLOW.toString(), EnumChatFormatting.UNDERLINE.toString(), EnumChatFormatting.BOLD.toString(),
+ EnumChatFormatting.OBFUSCATED.toString()};
+
/**
* This way it is possible to have a Call Hierarchy of NullPointers in ItemStack based Functions, and also because most of the time I don't know what kind of Data Type the "null" stands for
*/
diff --git a/src/main/java/gregtech/api/enums/HeatingCoilLevel.java b/src/main/java/gregtech/api/enums/HeatingCoilLevel.java
new file mode 100644
index 0000000000..f4b28ede2b
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/HeatingCoilLevel.java
@@ -0,0 +1,69 @@
+package gregtech.api.enums;
+
+import net.minecraft.util.EnumChatFormatting;
+
+public enum HeatingCoilLevel {
+ None, // 0
+ ULV, //Not implemented 901
+ LV, //Cupronickel 1801
+ MV, //KANTHAL 2701
+ HV, //NICHROME 3601
+ EV, //TUNGSTENSTEEL 4501
+ IV, //HSSG 5401
+ LuV, //HSSS 6301
+ ZPM, //NAQUADAH 7201
+ UV, //NAQUADAHALLOY 8101
+ UHV, //TRINIUM 9001
+ UEV, //ELECTRUMFLUX 9901
+ UIV, //AWAKENEDDRACONIUM 10801
+ //Not Implemented yet
+ UMV,
+ UXV,
+ OpV,
+ MAX,
+ ;
+
+ /**
+ * @return the Coils Tier Name
+ */
+ public String getTierName() {
+ if (this.ordinal() < 1 || (this.ordinal()-1) >= GT_Values.VN.length)
+ return "ERROR!";
+ return GT_Values.TIER_COLORS[this.ordinal() - 1] + GT_Values.VOLTAGE_NAMES[this.ordinal() - 1] + EnumChatFormatting.RESET;
+ }
+
+ /**
+ * @return the coil heat, used for recipes in the Electronic Blast Furnace for example
+ */
+ public long getHeat() {
+ return this == None ? 0 : 1L + (900L * this.ordinal());
+ }
+
+ /**
+ * @return the coil tier, used for discount in the Pyrolyse Ofen for example
+ */
+ public byte getTier() {
+ return (byte) (this.ordinal() - 2);
+ }
+
+ /**
+ * @return the coil Level, used for Parallels in the Multi Furnace for example
+ */
+ public byte getLevel() {
+ return (byte) Math.min(16, 2 << (this.ordinal() - 2));
+ }
+
+ /**
+ * @return the coil Discount, used for discount in the Multi Furnace for example
+ */
+ public byte getCostDiscount() {
+ return (byte) Math.max(1, 2 << (this.ordinal() - 1 - 6)); //-1 bcs. of none, -4 = offset
+ }
+
+ public static HeatingCoilLevel getFromTier(byte tier){
+ if (tier < 0 || tier > HeatingCoilLevel.values().length -1)
+ return HeatingCoilLevel.None;
+
+ return HeatingCoilLevel.values()[tier+2];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 2fba2462b5..94efa0605f 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -1398,6 +1398,12 @@ public enum ItemList implements IItemContainer {
Super_Chest_HV,
Super_Chest_EV,
Super_Chest_IV,
+
+ Long_Distance_Pipeline_Fluid,
+ Long_Distance_Pipeline_Item,
+
+ Long_Distance_Pipeline_Fluid_Pipe,
+ Long_Distance_Pipeline_Item_Pipe,
NULL,
Cover_RedstoneTransmitterExternal,
@@ -1437,7 +1443,9 @@ public enum ItemList implements IItemContainer {
Casing_Coil_Nichrome,
Casing_Coil_TungstenSteel,
Casing_Coil_HSSG,
+ Casing_Coil_HSSS,
Casing_Coil_Naquadah,
+ Casing_Coil_Trinium,
Casing_Coil_NaquadahAlloy,
Casing_Coil_ElectrumFlux,
Casing_Coil_AwakenedDraconium,
diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java
index e0d0ce6abe..de2c0919e7 100644
--- a/src/main/java/gregtech/api/enums/Textures.java
+++ b/src/main/java/gregtech/api/enums/Textures.java
@@ -45,6 +45,17 @@ public class Textures {
OVERLAY_SCHEST,
OVERLAY_STANK,
+
+ OVERLAY_PIPELINE_FLUID_BACK,
+ OVERLAY_PIPELINE_FLUID_FRONT,
+ OVERLAY_PIPELINE_FLUID_SIDE,
+
+ OVERLAY_PIPELINE_ITEM_BACK,
+ OVERLAY_PIPELINE_ITEM_FRONT,
+ OVERLAY_PIPELINE_ITEM_SIDE,
+
+ LONG_DISTANCE_PIPE_FLUID,
+ LONG_DISTANCE_PIPE_ITEM,
MACHINE_CASING_TANK_1,
MACHINE_CASING_TANK_2,
@@ -283,6 +294,8 @@ public class Textures {
MACHINE_COIL_NAQUADAHALLOY,
MACHINE_COIL_ELECTRUMFLUX,
MACHINE_COIL_AWAKENEDDRACONIUM,
+ MACHINE_COIL_HSSS,
+ MACHINE_COIL_TRINIUM,
BOILER_SOLAR,
BOILER_FRONT,
diff --git a/src/main/java/gregtech/api/interfaces/IHeatingCoil.java b/src/main/java/gregtech/api/interfaces/IHeatingCoil.java
new file mode 100644
index 0000000000..c8ceccf941
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/IHeatingCoil.java
@@ -0,0 +1,18 @@
+package gregtech.api.interfaces;
+
+import gregtech.api.enums.HeatingCoilLevel;
+import net.minecraft.item.ItemStack;
+
+import java.util.function.Consumer;
+
+public interface IHeatingCoil {
+
+ HeatingCoilLevel getCoilHeat(int meta);
+ default HeatingCoilLevel getCoilHeat(ItemStack stack) {
+ return getCoilHeat(stack.getItemDamage());
+ }
+
+ void setOnCoilCheck(Consumer<IHeatingCoil> callback);
+ Consumer<IHeatingCoil> getOnCoilCheck();
+}
+
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
index 8e135fbc85..9ab1ac0f67 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
@@ -141,8 +141,7 @@ public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTil
*/
@Override
default void onMachineBlockUpdate(){
- if(!isDead() && getMetaTileEntity()!=null &&
- getMetaTileEntity().getBaseMetaTileEntity()==this){
+ if(!isDead() && getMetaTileEntity() != null && getMetaTileEntity().getBaseMetaTileEntity() == this){
getMetaTileEntity().onMachineBlockUpdate();
}
}
@@ -152,8 +151,8 @@ public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTil
*/
@Override
default boolean isMachineBlockUpdateRecursive() {
- return !isDead() && getMetaTileEntity()!=null &&
- getMetaTileEntity().getBaseMetaTileEntity()==this &&
+ return !isDead() && getMetaTileEntity() != null &&
+ getMetaTileEntity().getBaseMetaTileEntity() == this &&
getMetaTileEntity().isMachineBlockUpdateRecursive();
}
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java b/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java
new file mode 100644
index 0000000000..734eae19f4
--- /dev/null
+++ b/src/main/java/gregtech/api/items/GT_Block_LongDistancePipe.java
@@ -0,0 +1,109 @@
+package gregtech.api.items;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.GregTech_API;
+import gregtech.api.e