aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorbasdxz <tudurap.com@gmail.com>2020-11-04 09:07:01 +0000
committerbasdxz <tudurap.com@gmail.com>2020-11-04 09:07:01 +0000
commitcd67397e44d5301c030bf6f6545c055dbb66c375 (patch)
treefe389776a7406286d3f5d2ec016024afa092bda4 /src/main
parentf14ea1f84ab07a7fd32fa520ca4fc1e18a1333d5 (diff)
parent5de583bf34003095ff286aa132aa0e005020cab7 (diff)
downloadGT5-Unofficial-cd67397e44d5301c030bf6f6545c055dbb66c375.tar.gz
GT5-Unofficial-cd67397e44d5301c030bf6f6545c055dbb66c375.tar.bz2
GT5-Unofficial-cd67397e44d5301c030bf6f6545c055dbb66c375.zip
Merge branch 'BassAddons'
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/TecTech.java2
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java39
-rw-r--r--src/main/java/com/github/technus/tectech/loader/TecTechConfig.java146
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java22
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/alignment/enumerable/ExtendedFacing.java28
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java15
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/spark/ThaumSpark.java29
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java146
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElement.java8
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementChain.java22
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementCheckOnly.java6
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementDeferred.java2
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureElementNoPlacement.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/IStructureNavigate.java8
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/StructureDefinition.java50
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/StructureIterationType.java8
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/StructureUtility.java654
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/adders/IBlockAdder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/adders/IHatchAdder.java6
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/structure/adders/ITileAdder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java123
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectableSimple.java22
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsBA0.java37
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java75
-rw-r--r--src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java12
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Capacitor.java18
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java595
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java272
-rw-r--r--src/main/java/com/github/technus/tectech/util/Util.java1
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_6.pngbin0 -> 814 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_6.pngbin0 -> 838 bytes
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang3
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemCapacitorLuV.pngbin0 -> 570 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemCapacitorZPM.pngbin0 -> 563 bytes
38 files changed, 1347 insertions, 1041 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java
index 47a3b576b1..809a7e877d 100644
--- a/src/main/java/com/github/technus/tectech/TecTech.java
+++ b/src/main/java/com/github/technus/tectech/TecTech.java
@@ -78,7 +78,7 @@ public class TecTech {
LOGGER.error(Reference.MODID + " could not load its config file. Things are going to be weird!");
}
- if (configTecTech.modAdminErrorLogs) {
+ if (configTecTech.MOD_ADMIN_ERROR_LOGS) {
LOGGER.setDebugOutput(DEBUG_MODE);
LOGGER.debug("moduleAdminErrorLogs is enabled");
moduleAdminErrorLogs = new IngameErrorLog();
diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
index 7ab4a8fab5..df5c11e67b 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
@@ -224,7 +224,12 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 8),
getItemContainer("MicaInsulatorFoil").get(28)
- }, Materials.Indium.getMolten(144), CustomItemList.tM_TeslaPrimary_5.get(1), 50, 30720);
+ }, Materials.Indium.getMolten(144), CustomItemList.tM_TeslaPrimary_5.get(1), 200, 30720);
+ //Tesla Primary Coils T6
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8),
+ getItemContainer("MicaInsulatorFoil").get(32)
+ }, Materials.Naquadah.getMolten(144), CustomItemList.tM_TeslaPrimary_6.get(1), 200, 122880);
//endregion
@@ -928,8 +933,6 @@ public class DreamCraftRecipeLoader implements Runnable {
48000, 64, 200000, 8, new Object[]{
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L),
- ItemList.Gravistar.get(4L),
- ItemList.Emitter_UHV.get(4L),
new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
@@ -949,9 +952,7 @@ public class DreamCraftRecipeLoader implements Runnable {
96000, 128, 400000, 16, new Object[]{
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L),
- ItemList.Gravistar.get(8L),
- ItemList.Emitter_UEV.get(4L),
- new Object[]{OrePrefixes.circuit.get(Materials.Nano), 4},
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8L},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
@@ -1083,7 +1084,7 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 64),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64)
}, new FluidStack[]{
- Materials.SolderingAlloy.getMolten(3744L),
+ Materials.SolderingAlloy.getMolten(3760L),
Materials.Naquadria.getMolten(4032L),
new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000)
}, getItemContainer("NanoCircuit").get(1L), 8000, 8000000);
@@ -1104,7 +1105,7 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Neutronium, 16),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64)
}, new FluidStack[]{
- Materials.SolderingAlloy.getMolten(4032L),
+ Materials.SolderingAlloy.getMolten(3760L),
Materials.UUMatter.getFluid(8000L),
Materials.Osmium.getMolten(1152L)
}, getItemContainer("PikoCircuit").get(1L), 10000, 8000000);
@@ -1123,7 +1124,7 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 8),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64)
}, new FluidStack[]{
- Materials.SolderingAlloy.getMolten(4608L),
+ Materials.SolderingAlloy.getMolten(3760L),
Materials.UUMatter.getFluid(24000L),
Materials.Osmium.getMolten(2304L)
}, getItemContainer("QuantumCircuit").get(1L), 20000, 32000000);
@@ -1623,6 +1624,20 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24),
}, Materials.Epoxid.getMolten(360), CustomItemList.teslaCapacitor.getWithDamage(1, 4), 320, 7680);
+ //LuV Tesla Capacitor
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4),
+ GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28),
+ }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720);
+ //ZPM Tesla Capacitor
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4),
+ GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32),
+ }, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880);
//Tesla Cover
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
CustomItemList.teslaComponent.getWithDamage(4, 0),
@@ -1687,6 +1702,12 @@ public class DreamCraftRecipeLoader implements Runnable {
//IV Tesla Capacitor
GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4),
GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), 300, 2);
+ //LuV Tesla Capacitor
+ GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5),
+ GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), 300, 2);
+ //ZPM Tesla Capacitor
+ GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6),
+ GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), 300, 2);
//endregion
diff --git a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
index 0c2920e585..66e549ddb1 100644
--- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
+++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
@@ -9,87 +9,132 @@ public class TecTechConfig extends ConfigManager {
super(pConfigBaseDirectory, pModCollectionDirectory, pModID);
}
- public boolean modAdminErrorLogs;
-
//final static to allow compiler to remove the debug code when this is false
public static boolean DEBUG_MODE = false;
+ public boolean DISABLE_MATERIAL_LOADING_FFS;
+
public boolean BOOM_ENABLE;
+ public boolean DISABLE_BLOCK_HARDNESS_NERF;
public boolean EASY_SCAN;
public boolean NERF_FUSION;
public boolean ENABLE_TURRET_EXPLOSIONS;
- public boolean DISABLE_MATERIAL_LOADING_FFS;
- public boolean DISABLE_BLOCK_HARDNESS_NERF;
public float TURRET_DAMAGE_FACTOR;
public float TURRET_EXPLOSION_FACTOR;
- public float TESLA_MULTI_MIN_EFFICIENCY;
- public float TESLA_MULTI_MAX_EFFICIENCY;
- public float TESLA_MULTI_OVERDRIVE_LOSS;
- public float TESLA_SINGLE_MIN_EFFICIENCY;
- public float TESLA_SINGLE_MAX_EFFICIENCY;
- public float TESLA_SINGLE_OVERDRIVE_LOSS;
+ public boolean MOD_ADMIN_ERROR_LOGS;
+ public boolean TESLA_MULTI_GAS_OUTPUT;
+ public float TESLA_MULTI_LOSS_FACTOR_OVERDRIVE;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T0;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T1;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T2;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON;
+ public int TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1;
+ public int TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2;
+ public int TESLA_MULTI_RANGE_COVER;
+ public int TESLA_MULTI_RANGE_TOWER;
+ public int TESLA_MULTI_RANGE_TRANSCEIVER;
+ public float TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE;
+ public int TESLA_SINGLE_LOSS_PER_BLOCK;
+ public int TESLA_SINGLE_RANGE;
/**
* This loading phases do not correspond to mod loading phases!
*/
@Override
protected void PreInit() {
- modAdminErrorLogs = false;
- EASY_SCAN = false;
+ DISABLE_MATERIAL_LOADING_FFS = false;
+
BOOM_ENABLE = true;
- NERF_FUSION = false;
DISABLE_BLOCK_HARDNESS_NERF = false;
+ EASY_SCAN = false;
+ NERF_FUSION = false;
ENABLE_TURRET_EXPLOSIONS = true;
- DISABLE_MATERIAL_LOADING_FFS = false;
TURRET_DAMAGE_FACTOR = 10;
TURRET_EXPLOSION_FACTOR = 1;
- TESLA_MULTI_MIN_EFFICIENCY = 0.955F;
- TESLA_MULTI_MAX_EFFICIENCY = 0.98F;
- TESLA_MULTI_OVERDRIVE_LOSS = 0.005F;
- TESLA_SINGLE_MIN_EFFICIENCY = 0.91F;
- TESLA_SINGLE_MAX_EFFICIENCY = 0.95F;
- TESLA_SINGLE_OVERDRIVE_LOSS = 0.010F;
- }
+ MOD_ADMIN_ERROR_LOGS = false;
+
+ TESLA_MULTI_GAS_OUTPUT = false;
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = 0.25F;
+ TESLA_MULTI_LOSS_PER_BLOCK_T0 = 1;
+ TESLA_MULTI_LOSS_PER_BLOCK_T1 = 1;
+ TESLA_MULTI_LOSS_PER_BLOCK_T2 = 1;
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = 100;
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = 50;
+ TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = 50;
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = 2;
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = 4;
+ TESLA_MULTI_RANGE_COVER = 16;
+ TESLA_MULTI_RANGE_TOWER = 32;
+ TESLA_MULTI_RANGE_TRANSCEIVER = 16;
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = 0.25F;
+ TESLA_SINGLE_LOSS_PER_BLOCK = 1;
+ TESLA_SINGLE_RANGE = 20;
+ }
/**
* This loading phases do not correspond to mod loading phases!
*/
@Override
protected void Init() {
- modAdminErrorLogs = _mainConfig.getBoolean("AdminErrorLog", "Modules", modAdminErrorLogs,
- "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join");
- DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "Debug", DEBUG_MODE,
+ DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "debug", DEBUG_MODE,
"Enables logging and other purely debug features");
- EASY_SCAN = _mainConfig.getBoolean("EasyScan", "Features", EASY_SCAN,
- "Enables tricorder to scan EM i/o hatches directly, too CHEEKY");
- BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "Features", BOOM_ENABLE,
+ DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "debug",
+ DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing");
+
+ BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "features", BOOM_ENABLE,
"Set to false to disable explosions on everything bad that you can do");
- NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "Features", NERF_FUSION,
+ DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean("DisableBlockHardnessNerf", "features",
+ DISABLE_BLOCK_HARDNESS_NERF, "Set to true to disable the block hardness nerf");
+ EASY_SCAN = _mainConfig.getBoolean("EasyScan", "features", EASY_SCAN,
+ "Enables tricorder to scan EM i/o hatches directly, too CHEEKY");
+ NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "features", NERF_FUSION,
"Set to true to enable removal of plasmas heavier than Fe and other weird ones");
- ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean("TurretBoomEnable", "Features", ENABLE_TURRET_EXPLOSIONS,
- "Set to false to disable explosions caused by EM turrets");
- TURRET_DAMAGE_FACTOR = _mainConfig.getFloat("TurretDamageFactor", "Features", TURRET_DAMAGE_FACTOR, 0, Short.MAX_VALUE,
- "Damage is multiplied by this number");
- TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "Features", TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE,
- "Explosion strength is multiplied by this number");
- DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean("DisableBlockHardnessNerf", "Features", DISABLE_BLOCK_HARDNESS_NERF,
- "Set to true to disable the block hardness nerf");
- DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "Debug", DISABLE_MATERIAL_LOADING_FFS,
- "Set to true to disable gregtech material processing");
- TESLA_MULTI_MIN_EFFICIENCY = _mainConfig.getFloat("teslaMultiMinEfficency", "Features", TESLA_MULTI_MIN_EFFICIENCY, 0, 1,
- "Worst possible power loss per block for the multi block tesla");
- TESLA_MULTI_MAX_EFFICIENCY = _mainConfig.getFloat("teslaMultiMaxEfficency", "Features", TESLA_MULTI_MAX_EFFICIENCY, 0, 1,
- "Best possible power loss per block for the multi block tesla");
- TESLA_MULTI_OVERDRIVE_LOSS = _mainConfig.getFloat("teslaMultiOverdriveLoss", "Features", TESLA_MULTI_OVERDRIVE_LOSS, 0, 1,
- "Additional losses for overdrive use on the multi block tesla");
- TESLA_SINGLE_MIN_EFFICIENCY = _mainConfig.getFloat("teslaSingleMinEfficency", "Features", TESLA_SINGLE_MIN_EFFICIENCY, 0, 1,
- "Worst possible power loss per block for the single block tesla");
- TESLA_SINGLE_MAX_EFFICIENCY = _mainConfig.getFloat("teslaSingleMaxEfficency", "Features", TESLA_SINGLE_MAX_EFFICIENCY, 0, 1,
- "Best possible power loss per block for the single block tesla");
- TESLA_SINGLE_OVERDRIVE_LOSS = _mainConfig.getFloat("teslaSingleOverdriveLoss", "Features", TESLA_SINGLE_OVERDRIVE_LOSS, 0, 1,
- "Additional losses for overdrive use on the single block tesla");
+ ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean("TurretBoomEnable", "features",
+ ENABLE_TURRET_EXPLOSIONS, "Set to false to disable explosions caused by EM turrets");
+ TURRET_DAMAGE_FACTOR = _mainConfig.getFloat("TurretDamageFactor", "features", TURRET_DAMAGE_FACTOR,
+ 0, Short.MAX_VALUE, "Damage is multiplied by this number");
+ TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "features",
+ TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE, "Explosion strength is multiplied by this number");
+
+ MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean("AdminErrorLog", "modules", MOD_ADMIN_ERROR_LOGS,
+ "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join");
+
+ TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean("TeslaMultiGasOutput", "tesla_tweaks",
+ TESLA_MULTI_GAS_OUTPUT, "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio");
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaMultiLossFactorOverdrive", "tesla_tweaks",
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Tower power loss per amp as a factor of the tier voltage");
+ TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt("TeslaMultiLossPerBlockT0", "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T0, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using no plasmas");
+ TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt("TeslaMultiLossPerBlockT1", "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T1, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma");
+ TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt("TeslaMultiLossPerBlockT2", "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T2, 0, Integer.MAX_VALUE, "Tesla Tower power transmission loss per block per amp using radon plasma");
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Helium",
+ "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM, 0, Integer.MAX_VALUE, "Tesla Tower helium plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT1Nitrogen",
+ "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN, 0, Integer.MAX_VALUE, "Tesla Tower nitrogen plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt("TeslaMultiPlasmaPerSecondT2Radon",
+ "tesla_tweaks", TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON, 0, Integer.MAX_VALUE, "Tesla Tower radon plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT1",
+ "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1, 0, Integer.MAX_VALUE, "Tesla Tower T1 Plasmas Range Multiplier");
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt("TeslaMultiRangeCoefficientPlasmaT2",
+ "tesla_tweaks", TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2, 0, Integer.MAX_VALUE, "Tesla Tower T2 Plasmas Range Multiplier");
+ TESLA_MULTI_RANGE_COVER = _mainConfig.getInt("TeslaMultiRangeCover", "tesla_tweaks",
+ TESLA_MULTI_RANGE_COVER, 0, Integer.MAX_VALUE, "Tesla Tower to Tesla Coil Rich Edition Cover max range");
+ TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt("TeslaMultiRangeTower", "tesla_tweaks",
+ TESLA_MULTI_RANGE_TOWER, 0, Integer.MAX_VALUE, "Tesla Tower to Tower max range");
+ TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt("TeslaMultiRangeTransceiver", "tesla_tweaks",
+ TESLA_MULTI_RANGE_TRANSCEIVER, 0, Integer.MAX_VALUE, "Tesla Tower to Transceiver max range");
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat("TeslaSingleLossFactorOverdrive", "tesla_tweaks",
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE, 0, 1, "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage");
+ TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt("TeslaSingleLossPerBlock", "tesla_tweaks",
+ TESLA_SINGLE_LOSS_PER_BLOCK, 0, Integer.MAX_VALUE, "Tesla Transceiver power transmission loss per block per amp");
+ TESLA_SINGLE_RANGE = _mainConfig.getInt("TeslaSingleRange", "tesla_tweaks",
+ TESLA_SINGLE_RANGE, 0, Integer.MAX_VALUE, "Tesla Transceiver to max range");
}
/**
@@ -97,6 +142,5 @@ public class TecTechConfig extends ConfigManager {
*/
@Override
protected void PostInit() {
-
}
}
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
index 70f64d3719..7b8cc14f4d 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
@@ -191,6 +191,7 @@ public class BloodyRecipeLoader implements Runnable {
GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
new Object[]{"WWW", "WwW", "WWW",
'W', OrePrefixes.wireGt02.get(Materials.Superconductor)});
+ //TODO Add Tesla Primary Coils T6
//endregion
@@ -1157,6 +1158,21 @@ public class BloodyRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24),
}, Materials.Epoxid.getMolten(360), CustomItemList.teslaCapacitor.getWithDamage(1, 4), 320, 7680);
+ //LuV Tesla Capacitor
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28),
+ }, Materials.Epoxid.getMolten(432), CustomItemList.teslaCapacitor.getWithDamage(1, 5), 320, 30720);
+ //ZPM Tesla Capacitor
+ //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ // GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4),
+ // GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16),
+ // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32),
+ // GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32),
+ //}, Materials.Epoxid.getMolten(504), CustomItemList.teslaCapacitor.getWithDamage(1, 6), 320, 122880);
+ //TODO Allow with the coils, useless alone and will only cause trouble
//Tesla Cover
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
CustomItemList.teslaComponent.getWithDamage(4, 0),
@@ -1221,6 +1237,12 @@ public class BloodyRecipeLoader implements Runnable {
//IV Tesla Capacitor
GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 12), 300, 2);
+ //LuV Tesla Capacitor
+ GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 5),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 14), 300, 2);
+ //ZPM Tesla Capacitor
+ GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 6),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 16), 300, 2);
//endregion
diff --git a/src/main/java/com/github/technus/tectech/mechanics/alignment/enumerable/ExtendedFacing.java b/src/main/java/com/github/technus/tectech/mechanics/alignment/enumerable/ExtendedFacing.java
index 2a93bcc540..5949b432df 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/alignment/enumerable/ExtendedFacing.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/alignment/enumerable/ExtendedFacing.java
@@ -128,6 +128,7 @@ public enum ExtendedFacing {
private static final Map<String, ExtendedFacing> NAME_LOOKUP = stream(VALUES).collect(toMap(ExtendedFacing::getName2, (extendedFacing) -> extendedFacing));
private final ForgeDirection direction;
+ private final ForgeDirection a,b,c;
private final Rotation rotation;
private final Flip flip;
@@ -206,6 +207,9 @@ public enum ExtendedFacing {
default:
throw new RuntimeException("More impossible...");
}
+ this.a=a;
+ this.b=b;
+ this.c=c;
integerAxisSwap =new IntegerAxisSwap(a,b,c);
}
@@ -327,4 +331,28 @@ public enum ExtendedFacing {
public IntegerAxisSwap getIntegerAxisSwap() {
return integerAxisSwap;
}
+
+ public ForgeDirection getRelativeLeftInWorld() {
+ return a;
+ }
+
+ public ForgeDirection getRelativeRightInWorld() {
+ return a.getOpposite();
+ }
+
+ public ForgeDirection getRelativeDownInWorld() {
+ return b;
+ }
+
+ public ForgeDirection getRelativeUpInWorld() {
+ return b.getOpposite();
+ }
+
+ public ForgeDirection getRelativeBackInWorld() {
+ return c;
+ }
+
+ public ForgeDirection getRelativeForwardInWorld() {
+ return c.getOpposite();
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java
index f2fd17817d..58caed7951 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/spark/RendererMessage.java
@@ -5,6 +5,7 @@ import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import eu.usrv.yamcore.network.client.AbstractClientMessageHandler;
import io.netty.buffer.ByteBuf;
+import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.DimensionManager;
@@ -71,12 +72,14 @@ public class RendererMessage implements IMessage {
private static void thaumLightning(int tX, int tY, int tZ, int tXN, int tYN, int tZN, int wID) {
//This is enough to check for thaum, since it only ever matters for client side effects (Tested not to crash)
if (Loader.isModLoaded("Thaumcraft")) {
- World world = DimensionManager.getWorld(wID);
- FXLightningBolt bolt = new FXLightningBolt(world, tX + 0.5F, tY + 0.5F, tZ + 0.5F, tX + tXN + 0.5F, tY + tYN + 0.5F, tZ + tZN + 0.5F, world.rand.nextLong(), 6, 0.5F, 8);
- bolt.defaultFractal();
- bolt.setType(2);
- bolt.setWidth(0.125F);
- bolt.finalizeBolt();
+ World world = Minecraft.getMinecraft().theWorld;
+ if (world.provider.dimensionId == wID){
+ FXLightningBolt bolt = new FXLi