2012-11-05 14:29:04 -05:00
package mekanism.common ;
2012-08-15 16:41:41 -04:00
2014-01-05 02:24:06 -05:00
import java.io.File ;
2015-05-23 11:36:53 -04:00
import java.lang.ref.WeakReference ;
2014-01-05 02:24:06 -05:00
2015-02-27 22:49:48 -06:00
import mekanism.api.Coord4D ;
2014-01-13 16:37:15 -05:00
import mekanism.api.MekanismAPI ;
2023-02-20 22:07:07 +01:00
import mekanism.api.MekanismConfig ;
2014-08-01 00:58:12 +01:00
import mekanism.api.MekanismConfig.general ;
2022-10-13 18:32:24 +02:00
import mekanism.api.MekanismConfig.recipes ;
2015-03-05 13:48:01 -05:00
import mekanism.api.MekanismConfig.machines ;
2014-08-01 00:58:12 +01:00
import mekanism.api.MekanismConfig.usage ;
2023-02-20 22:07:07 +01:00
import mekanism.api.MekanismConfig.mekce ;
2014-09-14 05:20:16 +01:00
import mekanism.api.Pos3D ;
2015-02-27 17:33:01 +00:00
import mekanism.api.util.UnitDisplayUtils.EnergyType ;
import mekanism.api.util.UnitDisplayUtils.TempType ;
2015-04-07 10:41:17 -04:00
import mekanism.client.SparkleAnimation.INodeChecker ;
2016-01-25 00:13:42 -05:00
import mekanism.common.base.IGuiProvider ;
2014-08-09 22:20:49 -04:00
import mekanism.common.base.IUpgradeTile ;
2014-09-03 18:25:06 +01:00
import mekanism.common.block.BlockMachine.MachineType ;
2014-01-07 20:55:50 -05:00
import mekanism.common.entity.EntityRobit ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerAdvancedElectricMachine ;
2014-01-13 00:06:13 -05:00
import mekanism.common.inventory.container.ContainerChanceMachine ;
2014-04-12 02:51:02 +01:00
import mekanism.common.inventory.container.ContainerChemicalCrystallizer ;
2014-01-31 14:59:12 -05:00
import mekanism.common.inventory.container.ContainerChemicalDissolutionChamber ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerChemicalInfuser ;
import mekanism.common.inventory.container.ContainerChemicalOxidizer ;
2014-01-31 14:59:12 -05:00
import mekanism.common.inventory.container.ContainerChemicalWasher ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerDictionary ;
import mekanism.common.inventory.container.ContainerDigitalMiner ;
import mekanism.common.inventory.container.ContainerDynamicTank ;
import mekanism.common.inventory.container.ContainerElectricMachine ;
import mekanism.common.inventory.container.ContainerElectricPump ;
import mekanism.common.inventory.container.ContainerElectrolyticSeparator ;
import mekanism.common.inventory.container.ContainerEnergyCube ;
import mekanism.common.inventory.container.ContainerFactory ;
import mekanism.common.inventory.container.ContainerFilter ;
2016-02-26 19:51:37 -05:00
import mekanism.common.inventory.container.ContainerFluidTank ;
2014-06-19 12:42:59 +02:00
import mekanism.common.inventory.container.ContainerFluidicPlenisher ;
2016-03-14 23:57:37 -04:00
import mekanism.common.inventory.container.ContainerFormulaicAssemblicator ;
2016-04-23 17:09:01 -04:00
import mekanism.common.inventory.container.ContainerFuelwoodHeater ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerGasTank ;
2015-03-03 13:16:58 -05:00
import mekanism.common.inventory.container.ContainerInductionMatrix ;
2014-09-15 02:11:55 +01:00
import mekanism.common.inventory.container.ContainerLaserAmplifier ;
import mekanism.common.inventory.container.ContainerLaserTractorBeam ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerMetallurgicInfuser ;
import mekanism.common.inventory.container.ContainerNull ;
2015-03-13 09:14:57 -05:00
import mekanism.common.inventory.container.ContainerOredictionificator ;
2014-04-06 01:16:09 +01:00
import mekanism.common.inventory.container.ContainerPRC ;
2016-03-04 13:14:48 -05:00
import mekanism.common.inventory.container.ContainerQuantumEntangloporter ;
2016-02-26 19:51:37 -05:00
import mekanism.common.inventory.container.ContainerResistiveHeater ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerRobitCrafting ;
import mekanism.common.inventory.container.ContainerRobitInventory ;
import mekanism.common.inventory.container.ContainerRobitMain ;
import mekanism.common.inventory.container.ContainerRobitRepair ;
import mekanism.common.inventory.container.ContainerRobitSmelting ;
import mekanism.common.inventory.container.ContainerRotaryCondensentrator ;
2016-03-21 08:15:49 -04:00
import mekanism.common.inventory.container.ContainerSecurityDesk ;
2014-03-15 20:05:26 -04:00
import mekanism.common.inventory.container.ContainerSeismicVibrator ;
2015-02-26 17:23:53 -05:00
import mekanism.common.inventory.container.ContainerSolarNeutronActivator ;
2014-01-05 02:24:06 -05:00
import mekanism.common.inventory.container.ContainerTeleporter ;
2016-02-24 17:01:43 -05:00
import mekanism.common.inventory.container.ContainerThermalEvaporationController ;
2014-07-21 18:07:15 -04:00
import mekanism.common.inventory.container.ContainerUpgradeManagement ;
2015-03-28 20:34:57 -04:00
import mekanism.common.item.ItemPortableTeleporter ;
2015-03-12 16:52:04 -05:00
import mekanism.common.network.PacketPortableTeleporter.PortableTeleporterMessage ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityAdvancedElectricMachine ;
import mekanism.common.tile.TileEntityAdvancedFactory ;
2014-09-03 01:51:00 +01:00
import mekanism.common.tile.TileEntityAmbientAccumulator ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityBin ;
2016-02-28 11:52:52 -05:00
import mekanism.common.tile.TileEntityBoilerCasing ;
import mekanism.common.tile.TileEntityBoilerValve ;
2014-01-13 00:06:13 -05:00
import mekanism.common.tile.TileEntityChanceMachine ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityChargepad ;
2014-04-12 02:51:02 +01:00
import mekanism.common.tile.TileEntityChemicalCrystallizer ;
2014-01-26 17:12:03 -05:00
import mekanism.common.tile.TileEntityChemicalDissolutionChamber ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityChemicalInfuser ;
import mekanism.common.tile.TileEntityChemicalInjectionChamber ;
import mekanism.common.tile.TileEntityChemicalOxidizer ;
2014-01-26 17:12:03 -05:00
import mekanism.common.tile.TileEntityChemicalWasher ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityCombiner ;
import mekanism.common.tile.TileEntityContainerBlock ;
import mekanism.common.tile.TileEntityCrusher ;
import mekanism.common.tile.TileEntityDigitalMiner ;
import mekanism.common.tile.TileEntityDynamicTank ;
import mekanism.common.tile.TileEntityDynamicValve ;
import mekanism.common.tile.TileEntityElectricMachine ;
import mekanism.common.tile.TileEntityElectricPump ;
import mekanism.common.tile.TileEntityElectrolyticSeparator ;
import mekanism.common.tile.TileEntityEliteFactory ;
import mekanism.common.tile.TileEntityEnergizedSmelter ;
import mekanism.common.tile.TileEntityEnergyCube ;
import mekanism.common.tile.TileEntityEnrichmentChamber ;
import mekanism.common.tile.TileEntityFactory ;
2016-02-24 17:01:43 -05:00
import mekanism.common.tile.TileEntityFluidTank ;
2014-06-19 12:42:59 +02:00
import mekanism.common.tile.TileEntityFluidicPlenisher ;
2016-03-14 23:57:37 -04:00
import mekanism.common.tile.TileEntityFormulaicAssemblicator ;
2016-04-23 17:09:01 -04:00
import mekanism.common.tile.TileEntityFuelwoodHeater ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityGasTank ;
2015-03-02 23:05:54 -05:00
import mekanism.common.tile.TileEntityInductionCasing ;
2015-02-28 13:08:17 -06:00
import mekanism.common.tile.TileEntityInductionCell ;
2015-03-02 23:05:54 -05:00
import mekanism.common.tile.TileEntityInductionPort ;
2015-02-28 13:08:17 -06:00
import mekanism.common.tile.TileEntityInductionProvider ;
2014-07-15 00:13:20 +01:00
import mekanism.common.tile.TileEntityLaser ;
2014-07-26 16:45:48 -04:00
import mekanism.common.tile.TileEntityLaserAmplifier ;
2014-09-15 02:11:55 +01:00
import mekanism.common.tile.TileEntityLaserTractorBeam ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityLogisticalSorter ;
import mekanism.common.tile.TileEntityMetallurgicInfuser ;
2014-08-22 16:17:16 -04:00
import mekanism.common.tile.TileEntityMultiblock ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityObsidianTNT ;
2015-03-13 09:14:57 -05:00
import mekanism.common.tile.TileEntityOredictionificator ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityOsmiumCompressor ;
2014-04-06 01:16:09 +01:00
import mekanism.common.tile.TileEntityPRC ;
2016-03-21 16:53:29 -04:00
import mekanism.common.tile.TileEntityPersonalChest ;
2014-01-12 23:55:42 -05:00
import mekanism.common.tile.TileEntityPrecisionSawmill ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityPurificationChamber ;
2016-03-04 13:14:48 -05:00
import mekanism.common.tile.TileEntityQuantumEntangloporter ;
2016-02-26 19:51:37 -05:00
import mekanism.common.tile.TileEntityResistiveHeater ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityRotaryCondensentrator ;
2016-03-21 08:15:49 -04:00
import mekanism.common.tile.TileEntitySecurityDesk ;
2014-03-15 20:05:26 -04:00
import mekanism.common.tile.TileEntitySeismicVibrator ;
2015-02-25 11:11:30 -05:00
import mekanism.common.tile.TileEntitySolarNeutronActivator ;
2016-01-22 15:41:34 -05:00
import mekanism.common.tile.TileEntityStructuralGlass ;
2014-01-07 20:55:50 -05:00
import mekanism.common.tile.TileEntityTeleporter ;
2016-02-24 17:01:43 -05:00
import mekanism.common.tile.TileEntityThermalEvaporationController ;
2016-01-29 00:34:50 -05:00
import net.minecraft.block.Block ;
2012-12-20 16:53:39 -05:00
import net.minecraft.entity.player.EntityPlayer ;
2013-11-18 15:33:14 -05:00
import net.minecraft.entity.player.EntityPlayerMP ;
2014-05-29 17:55:47 +01:00
import net.minecraft.init.Blocks ;
2012-12-20 16:53:39 -05:00
import net.minecraft.inventory.Container ;
2015-03-28 20:34:57 -04:00
import net.minecraft.item.ItemStack ;
2015-03-05 13:48:01 -05:00
import net.minecraft.item.crafting.CraftingManager ;
2012-12-20 16:53:39 -05:00
import net.minecraft.tileentity.TileEntity ;
2015-02-27 22:49:48 -06:00
import net.minecraft.util.MovingObjectPosition ;
2012-12-20 16:53:39 -05:00
import net.minecraft.world.World ;
2015-05-23 11:36:53 -04:00
import net.minecraft.world.WorldServer ;
2014-04-20 04:34:19 +01:00
import net.minecraftforge.common.config.Configuration ;
2015-05-23 11:36:53 -04:00
import net.minecraftforge.common.util.FakePlayerFactory ;
2014-07-22 18:03:34 +01:00
import net.minecraftforge.common.util.ForgeDirection ;
2015-03-18 21:39:01 +00:00
import cpw.mods.fml.client.registry.RenderingRegistry ;
2014-06-03 20:57:59 +02:00
import cpw.mods.fml.common.FMLCommonHandler ;
2014-06-27 03:25:47 +01:00
import cpw.mods.fml.common.network.simpleimpl.MessageContext ;
2014-01-05 02:24:06 -05:00
import cpw.mods.fml.common.registry.GameRegistry ;
2014-01-12 11:46:25 -05:00
import cpw.mods.fml.relauncher.FMLInjectionData ;
2012-08-15 16:41:41 -04:00
/**
2012-11-05 14:29:04 -05:00
* Common proxy for the Mekanism mod.
2012-08-15 16:41:41 -04:00
* @author AidanBrady
*
*/
2016-01-25 00:13:42 -05:00
public class CommonProxy implements IGuiProvider
2012-08-15 16:41:41 -04:00
{
2015-03-18 21:39:01 +00:00
public static int MACHINE_RENDER_ID = RenderingRegistry . getNextAvailableRenderId ();
public static int BASIC_RENDER_ID = RenderingRegistry . getNextAvailableRenderId ();
public static int PLASTIC_RENDER_ID = RenderingRegistry . getNextAvailableRenderId ();
public static int CTM_RENDER_ID = RenderingRegistry . getNextAvailableRenderId ();
2015-05-23 11:36:53 -04:00
protected static WeakReference < EntityPlayer > dummyPlayer = new WeakReference < EntityPlayer > ( null );
2015-03-18 21:39:01 +00:00
2012-11-21 10:14:35 -05:00
/**
* Register tile entities that have special models. Overwritten in client to register TESRs.
*/
2014-03-07 19:00:25 -06:00
public void registerSpecialTileEntities ()
2013-01-20 20:15:59 -05:00
{
2013-05-23 13:30:12 -04:00
GameRegistry . registerTileEntity ( TileEntityEnrichmentChamber . class , "EnrichmentChamber" );
GameRegistry . registerTileEntity ( TileEntityOsmiumCompressor . class , "OsmiumCompressor" );
GameRegistry . registerTileEntity ( TileEntityCombiner . class , "Combiner" );
GameRegistry . registerTileEntity ( TileEntityCrusher . class , "Crusher" );
GameRegistry . registerTileEntity ( TileEntityFactory . class , "SmeltingFactory" );
GameRegistry . registerTileEntity ( TileEntityAdvancedFactory . class , "AdvancedSmeltingFactory" );
GameRegistry . registerTileEntity ( TileEntityEliteFactory . class , "UltimateSmeltingFactory" );
GameRegistry . registerTileEntity ( TileEntityPurificationChamber . class , "PurificationChamber" );
GameRegistry . registerTileEntity ( TileEntityEnergizedSmelter . class , "EnergizedSmelter" );
2013-04-05 16:26:48 -04:00
GameRegistry . registerTileEntity ( TileEntityMetallurgicInfuser . class , "MetallurgicInfuser" );
2013-11-03 11:38:36 -05:00
GameRegistry . registerTileEntity ( TileEntityGasTank . class , "GasTank" );
2013-11-02 21:07:55 -04:00
GameRegistry . registerTileEntity ( TileEntityEnergyCube . class , "EnergyCube" );
2013-04-05 16:26:48 -04:00
GameRegistry . registerTileEntity ( TileEntityElectricPump . class , "ElectricPump" );
2016-03-21 16:53:29 -04:00
GameRegistry . registerTileEntity ( TileEntityPersonalChest . class , "ElectricChest" ); //TODO rename
2013-04-28 15:23:08 -04:00
GameRegistry . registerTileEntity ( TileEntityDynamicTank . class , "DynamicTank" );
GameRegistry . registerTileEntity ( TileEntityDynamicValve . class , "DynamicValve" );
2013-05-19 18:43:01 -04:00
GameRegistry . registerTileEntity ( TileEntityChargepad . class , "Chargepad" );
2013-11-01 22:36:06 -04:00
GameRegistry . registerTileEntity ( TileEntityLogisticalSorter . class , "LogisticalSorter" );
2013-11-11 19:27:36 -05:00
GameRegistry . registerTileEntity ( TileEntityBin . class , "Bin" );
2013-11-18 15:33:14 -05:00
GameRegistry . registerTileEntity ( TileEntityDigitalMiner . class , "DigitalMiner" );
2013-11-24 08:27:52 -06:00
GameRegistry . registerTileEntity ( TileEntityObsidianTNT . class , "ObsidianTNT" );
2013-11-27 18:17:44 -05:00
GameRegistry . registerTileEntity ( TileEntityRotaryCondensentrator . class , "RotaryCondensentrator" );
2013-12-08 12:39:26 -05:00
GameRegistry . registerTileEntity ( TileEntityTeleporter . class , "MekanismTeleporter" );
2013-12-31 15:07:09 -05:00
GameRegistry . registerTileEntity ( TileEntityChemicalOxidizer . class , "ChemicalOxidizer" );
2013-12-11 20:46:39 -05:00
GameRegistry . registerTileEntity ( TileEntityChemicalInfuser . class , "ChemicalInfuser" );
2013-12-24 00:23:30 -05:00
GameRegistry . registerTileEntity ( TileEntityChemicalInjectionChamber . class , "ChemicalInjectionChamber" );
2014-01-03 02:09:21 +00:00
GameRegistry . registerTileEntity ( TileEntityElectrolyticSeparator . class , "ElectrolyticSeparator" );
2016-02-18 18:37:38 -05:00
GameRegistry . registerTileEntity ( TileEntityThermalEvaporationController . class , "SalinationController" ); //TODO rename
2014-01-12 23:55:42 -05:00
GameRegistry . registerTileEntity ( TileEntityPrecisionSawmill . class , "PrecisionSawmill" );
2014-01-26 17:12:03 -05:00
GameRegistry . registerTileEntity ( TileEntityChemicalDissolutionChamber . class , "ChemicalDissolutionChamber" );
GameRegistry . registerTileEntity ( TileEntityChemicalWasher . class , "ChemicalWasher" );
2014-04-12 02:51:02 +01:00
GameRegistry . registerTileEntity ( TileEntityChemicalCrystallizer . class , "ChemicalCrystallizer" );
2014-06-16 01:50:40 +02:00
GameRegistry . registerTileEntity ( TileEntitySeismicVibrator . class , "SeismicVibrator" );
2014-04-10 03:05:28 +01:00
GameRegistry . registerTileEntity ( TileEntityPRC . class , "PressurizedReactionChamber" );
2016-02-24 17:01:43 -05:00
GameRegistry . registerTileEntity ( TileEntityFluidTank . class , "PortableTank" ); //TODO rename
2014-06-19 12:42:59 +02:00
GameRegistry . registerTileEntity ( TileEntityFluidicPlenisher . class , "FluidicPlenisher" );
2014-07-15 00:13:20 +01:00
GameRegistry . registerTileEntity ( TileEntityLaser . class , "Laser" );
2014-07-26 16:45:48 -04:00
GameRegistry . registerTileEntity ( TileEntityLaserAmplifier . class , "LaserAmplifier" );
2014-09-15 02:11:55 +01:00
GameRegistry . registerTileEntity ( TileEntityLaserTractorBeam . class , "LaserTractorBeam" );
2015-02-25 11:11:30 -05:00
GameRegistry . registerTileEntity ( TileEntitySolarNeutronActivator . class , "SolarNeutronActivator" );
2014-09-15 02:11:55 +01:00
GameRegistry . registerTileEntity ( TileEntityAmbientAccumulator . class , "AmbientAccumulator" );
2015-03-02 23:05:54 -05:00
GameRegistry . registerTileEntity ( TileEntityInductionCasing . class , "InductionCasing" );
GameRegistry . registerTileEntity ( TileEntityInductionPort . class , "InductionPort" );
2015-02-28 13:08:17 -06:00
GameRegistry . registerTileEntity ( TileEntityInductionCell . class , "InductionCell" );
GameRegistry . registerTileEntity ( TileEntityInductionProvider . class , "InductionProvider" );
2015-03-13 09:14:57 -05:00
GameRegistry . registerTileEntity ( TileEntityOredictionificator . class , "Oredictionificator" );
2016-01-22 15:41:34 -05:00
GameRegistry . registerTileEntity ( TileEntityStructuralGlass . class , "StructuralGlass" );
2016-04-14 15:54:52 -04:00
GameRegistry . registerTileEntity ( TileEntityFormulaicAssemblicator . class , "FormulaicAssemblicator" );
2016-02-26 19:51:37 -05:00
GameRegistry . registerTileEntity ( TileEntityResistiveHeater . class , "ResistiveHeater" );
2016-02-28 11:52:52 -05:00
GameRegistry . registerTileEntity ( TileEntityBoilerCasing . class , "BoilerCasing" );
GameRegistry . registerTileEntity ( TileEntityBoilerValve . class , "BoilerValve" );
2016-03-21 08:15:49 -04:00
GameRegistry . registerTileEntity ( TileEntitySecurityDesk . class , "SecurityDesk" );
2016-04-22 23:15:18 -04:00
GameRegistry . registerTileEntity ( TileEntityQuantumEntangloporter . class , "QuantumEntangloporter" );
2016-04-23 17:09:01 -04:00
GameRegistry . registerTileEntity ( TileEntityFuelwoodHeater . class , "FuelwoodHeater" );
2013-01-20 20:15:59 -05:00
}
2015-03-12 16:52:04 -05:00
public void handleTeleporterUpdate ( PortableTeleporterMessage message ) {}
2014-03-07 19:00:25 -06:00
2013-04-12 21:32:43 -04:00
/**
2016-03-21 16:53:29 -04:00
* Handles an PERSONAL_CHEST_CLIENT_OPEN packet via the proxy, not handled on the server-side.
2013-04-12 21:32:43 -04:00
* @param entityplayer - player the packet was sent from
2016-03-21 16:53:29 -04:00
* @param id - the gui ID to open
2013-04-12 21:32:43 -04:00
* @param windowId - the container-specific window ID
* @param isBlock - if the chest is a block
* @param x - x coordinate
* @param y - y coordinate
* @param z - z coordinate
*/
2016-03-21 16:53:29 -04:00
public void openPersonalChest ( EntityPlayer entityplayer , int id , int windowId , boolean isBlock , int x , int y , int z ) {}
2014-03-07 19:00:25 -06:00
2012-08-15 16:41:41 -04:00
/**
* Register and load client-only render information.
*/
2012-09-08 12:48:24 -04:00
public void registerRenderInformation () {}
2014-03-07 19:00:25 -06:00
2012-09-03 12:11:25 -04:00
/**
* Gets the armor index number from ClientProxy.
2012-12-30 16:34:45 -05:00
* @param string - armor indicator
2012-09-03 12:11:25 -04:00
* @return armor index number
*/
2014-03-07 19:00:25 -06:00
public int getArmorIndex ( String string )
2012-08-30 19:27:35 -04:00
{
return 0 ;
}
2014-03-07 19:00:25 -06:00
2012-08-15 16:41:41 -04:00
/**
2012-09-08 12:48:24 -04:00
* Set and load the mod's common configuration properties.
2012-08-15 16:41:41 -04:00
*/
2012-09-08 12:48:24 -04:00
public void loadConfiguration ()
2012-08-20 20:34:12 -04:00
{
2020-12-30 00:40:36 +01:00
general . updateNotifications = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "UpdateNotificationsv2" , true ). getBoolean ();
2015-04-01 11:06:27 -04:00
general . controlCircuitOreDict = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ControlCircuitOreDict" , true ). getBoolean ();
general . logPackets = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "LogPackets" , false ). getBoolean ();
general . dynamicTankEasterEgg = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "DynamicTankEasterEgg" , false ). getBoolean ();
general . cardboardSpawners = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AllowSpawnerBoxPickup" , true ). getBoolean ();
general . enableWorldRegeneration = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EnableWorldRegeneration" , false ). getBoolean ();
2023-02-20 22:07:07 +01:00
mekce . enableBoPProgression = Mekanism . configurationce . get ( "mekce" , "enableBoPProgression" , true , "when true and biome's o plenty is installed atomic alloy is made by using ender instead of obsidian" ). getBoolean ();
2015-04-01 11:06:27 -04:00
general . spawnBabySkeletons = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "SpawnBabySkeletons" , true ). getBoolean ();
2014-08-01 00:58:12 +01:00
general . obsidianTNTDelay = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ObsidianTNTDelay" , 100 ). getInt ();
general . obsidianTNTBlastRadius = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ObsidianTNTBlastRadius" , 12 ). getInt ();
general . UPDATE_DELAY = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ClientUpdateDelay" , 10 ). getInt ();
general . osmiumPerChunk = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "OsmiumPerChunk" , 12 ). getInt ();
general . copperPerChunk = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "CopperPerChunk" , 16 ). getInt ();
general . tinPerChunk = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "TinPerChunk" , 14 ). getInt ();
general . saltPerChunk = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "SaltPerChunk" , 2 ). getInt ();
general . userWorldGenVersion = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "WorldRegenVersion" , 0 ). getInt ();
2015-04-01 11:06:27 -04:00
general . FROM_IC2 = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "JoulesToEU" , 10D ). getDouble ();
general . TO_IC2 = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EUToJoules" , . 1D ). getDouble ();
general . FROM_TE = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "JoulesToRF" , 2 . 5D ). getDouble ();
general . TO_TE = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "RFToJoules" , 0 . 4D ). getDouble ();
general . FROM_H2 = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "HydrogenEnergyDensity" , 200D , "Determines Electrolytic Separator usage" ). getDouble ();
general . ETHENE_BURN_TIME = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EthyleneBurnTime" , 40 ). getInt ();
2022-09-11 19:40:42 +02:00
general . METHANE_BURN_TIME = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MethaneBurnTime" , 10 ). getInt ();
2015-04-01 11:06:27 -04:00
general . ENERGY_PER_REDSTONE = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EnergyPerRedstone" , 10000D ). getDouble ();
general . DISASSEMBLER_USAGE = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "DisassemblerEnergyUsage" , 10 ). getInt ();
2013-12-27 01:12:46 +00:00
//If this is less than 1, upgrades make machines worse. If less than 0, I don't even know.
2014-08-01 00:58:12 +01:00
general . maxUpgradeMultiplier = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "UpgradeModifier" , 10 , null , 1 , Integer . MAX_VALUE ). getInt ();
2014-09-27 15:07:55 -04:00
general . minerSilkMultiplier = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MinerSilkMultiplier" , 6 ). getDouble ();
2022-10-24 16:37:43 +02:00
general . prefilledFluidTanks = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "PrefilledFluidTanks" , false ). getBoolean ();
general . prefilledGasTanks = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "PrefilledGasTanks" , false ). getBoolean ();
2015-05-06 08:34:04 -04:00
general . armoredJetpackDamageRatio = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ArmoredJetpackDamageRatio" , 0 . 8 ). getDouble ();
general . armoredJetpackDamageMax = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ArmoredJepackDamageMax" , 115 ). getInt ();
2015-05-10 19:33:28 -04:00
general . aestheticWorldDamage = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AestheticWorldDamage" , true ). getBoolean ();
2016-06-30 12:25:20 -04:00
general . opsBypassRestrictions = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "OpsBypassRestrictions" , false ). getBoolean ();
2016-02-18 18:37:38 -05:00
general . thermalEvaporationSpeed = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "ThermalEvaporationSpeed" , 1 . 0D ). getDouble ();
2015-06-30 15:01:14 -07:00
general . maxJetpackGas = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxJetpackGas" , 24000 ). getInt ();
general . maxScubaGas = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxScubaGas" , 24000 ). getInt ();
general . maxFlamethrowerGas = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxFlamethrowerGas" , 24000 ). getInt ();
2016-01-28 20:38:32 -05:00
general . maxPumpRange = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxPumpRange" , 80 ). getInt ();
general . pumpWaterSources = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "PumpWaterSources" , false ). getBoolean ();
general . maxPlenisherNodes = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxPlenisherNodes" , 4000 ). getInt ();
2016-02-02 21:39:37 -05:00
general . evaporationHeatDissipation = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EvaporationHeatDissipation" , 0 . 02D ). getDouble ();
general . evaporationTempMultiplier = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EvaporationTempMultiplier" , 0 . 1D ). getDouble ();
general . evaporationSolarMultiplier = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EvaporationSolarMultiplier" , 0 . 2D ). getDouble ();
general . evaporationMaxTemp = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EvaporationMaxTemp" , 3000D ). getDouble ();
2016-02-27 01:27:26 -05:00
general . energyPerHeat = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EnergyPerHeat" , 1000D ). getDouble ();
2016-02-29 00:31:19 -05:00
general . maxEnergyPerSteam = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "MaxEnergyPerSteam" , 100D ). getDouble ();
general . superheatingHeatTransfer = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "SuperheatingHeatTransfer" , 10000D ). getDouble ();
2016-05-28 02:01:21 -04:00
general . heatPerFuelTick = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "HeatPerFuelTick" , 4D ). getDouble ();
2016-06-10 11:15:15 -04:00
general . allowTransmitterAlloyUpgrade = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AllowTransmitterAlloyUpgrade" , true ). getBoolean ();
2016-08-15 02:58:15 +01:00
general . allowProtection = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AllowProtection" , true ). getBoolean ();
2023-01-31 23:02:18 +01:00
general . accurateHeavyWaterCapture = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AccurateHeavyWater" , false ). getBoolean ();
general . heavyWaterChance = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "AccurateHeavyWaterGen" , 5 ). getInt ();
2014-10-02 12:47:22 -04:00
general . blacklistIC2 = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "BlacklistIC2Power" , false ). getBoolean ();
general . blacklistRF = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "BlacklistRFPower" , false ). getBoolean ();
2022-09-04 14:06:37 +02:00
2023-02-21 00:20:47 +01:00
mekce . EnableQuartzCompat = Mekanism . configurationce . get ( "mekce" , "EnableQuartzCompat" , true , "Allows quartz dust to be enriched into quartz Also allows quartz ore to be enriched into quartz dust" ). getBoolean ();
mekce . EnableDiamondCompat = Mekanism . configurationce . get ( "mekce" , "EnableDiamondCompat" , true , "Allows oredict'ed diamonds to be used in the enrichment chamber, like synthetic diamonds." ). getBoolean ();
mekce . EnablePoorOresCompat = Mekanism . configurationce . get ( "mekce" , "EnablePoorOresCompat" , true , "Allows poor ores from railcraft to be used in the purification chamber and gives one clump ie one ingot." ). getBoolean ();
mekce . OreDictOsmium = Mekanism . configurationce . get ( "mekce" , "OreDictOsmium" , true , "Adds the oredict (osmium) to osmium" ). getBoolean ();
mekce . OreDictPlatinum = Mekanism . configurationce . get ( "mekce" , "OreDictPlatinum" , false , "Adds the oredict (platinum) to osmium" ). getBoolean ();
mekce . enableSiliconCompat = Mekanism . configurationce . get ( "mekce" , "EnableSiliconCompat" , true , "When a mod that adds silicon (galacticraft, enderio and projectred) is detected, recipe for control circuit is changed from using iron to silicon in the metalurgic infuser" ). getBoolean ();
mekce . digitalMinerMaxRadius = Mekanism . configurationce . get ( "mekce" , "DigitalMinerMaxRadius" , 32 , "Select range from 1 to 64, we do not recommend going over 32" , 1 , 64 ). getInt ();
mekce . enableSingleUseCardboxes = Mekanism . configurationce . get ( "mekce" , "EnableSingleUseCardboxes" , true , "This allows to force single use on cardboxes or not" ). getBoolean ();
2023-01-19 15:46:01 +01:00
2022-10-13 18:32:24 +02:00
2023-02-21 00:20:47 +01:00
mekce . IC2SinkTier = Mekanism . configurationce . get ( "mekce" , "IC2SinkTier" , 4 , "Tier level for machines, we recommend setting it to tier 2 for ic2 classic" , 1 , 4 ). getInt ();
mekce . IC2SourceTier = Mekanism . configurationce . get ( "mekce" , "IC2SourceTier" , 4 , "Tier level for generators, we recommend setting it to tier 2 for ic2 classic" , 1 , 4 ). getInt ();
2022-10-13 18:32:24 +02:00
2022-12-22 16:39:36 +01:00
String s = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "EnergyType" , "RF" , null , new String [] { "J" , "RF" , "MJ" , "EU" }). getString ();
2014-06-16 02:09:31 +02:00
if ( s != null )
{
if ( s . trim (). equalsIgnoreCase ( "j" ) || s . trim (). equalsIgnoreCase ( "joules" ))
{
2016-02-27 13:32:48 -05:00
general . energyUnit = EnergyType . J ;
2014-06-16 02:09:31 +02:00
}
else if ( s . trim (). equalsIgnoreCase ( "rf" ) || s . trim (). equalsIgnoreCase ( "te" ) || s . trim (). equalsIgnoreCase ( "thermal expansion" ))
{
2016-02-27 13:32:48 -05:00
general . energyUnit = EnergyType . RF ;
2014-06-16 02:09:31 +02:00
}
else if ( s . trim (). equalsIgnoreCase ( "eu" ) || s . trim (). equalsIgnoreCase ( "ic2" ))
{
2016-02-27 13:32:48 -05:00
general . energyUnit = EnergyType . EU ;
2014-06-16 02:09:31 +02:00
}
else if ( s . trim (). equalsIgnoreCase ( "mj" ) || s . trim (). equalsIgnoreCase ( "bc" ) || s . trim (). equalsIgnoreCase ( "buildcraft" ))
{
2016-02-27 13:32:48 -05:00
general . energyUnit = EnergyType . MJ ;
2014-06-16 02:09:31 +02:00
}
}
2014-03-07 19:00:25 -06:00
2015-02-27 17:30:30 +00:00
s = Mekanism . configuration . get ( Configuration . CATEGORY_GENERAL , "Temperature Units" , "K" , null , new String [] { "K" , "C" , "R" , "F" }). getString ();
if ( s != null )
{
if ( s . trim (). equalsIgnoreCase ( "k" ) || s . trim (). equalsIgnoreCase ( "kelvin" ))
{
general . tempUnit = TempType . K ;
}
else if ( s . trim (). equalsIgnoreCase ( "c" ) || s . trim (). equalsIgnoreCase ( "celsius" ) || s . trim (). equalsIgnoreCase ( "centigrade" ))
{
general . tempUnit = TempType . C ;
}
else if ( s . trim (). equalsIgnoreCase ( "r" ) || s . trim (). equalsIgnoreCase ( "rankine" ))
{
general . tempUnit = TempType . R ;
}
else if ( s . trim (). equalsIgnoreCase ( "f" ) || s . trim (). equalsIgnoreCase ( "fahrenheit" ))
{
general . tempUnit = TempType . F ;
}
else if ( s . trim (). equalsIgnoreCase ( "a" ) || s . trim (). equalsIgnoreCase ( "ambient" ) || s . trim (). equalsIgnoreCase ( "stp" ))
{
general . tempUnit = TempType . STP ;
}
}
2015-04-01 11:06:27 -04:00
general . laserRange = Mekanism . configuration . get ( "general" , "LaserRange" , 64 ). getInt ();
general . laserEnergyNeededPerHardness = Mekanism . configuration . get ( "general" , "LaserDiggingEnergy" , 100000 ). getInt ();
general . destroyDisabledBlocks = Mekanism . configuration . get ( "general" , "DestroyDisabledBlocks" , true ). getBoolean ();
2016-02-02 21:39:37 -05:00
2015-03-05 13:48:01 -05:00
for ( MachineType type : MachineType . getValidMachines ())
{
2015-04-01 11:06:27 -04:00
machines . setEntry ( type . name , Mekanism . configuration . get ( "machines" , type . name + "Enabled" , true ). getBoolean ());
2015-03-05 13:48:01 -05:00
}
2015-04-01 11:06:27 -04:00
usage . enrichmentChamberUsage = Mekanism . configuration . get ( "usage" , "EnrichmentChamberUsage" , 50D ). getDouble ();
usage . osmiumCompressorUsage = Mekanism . configuration . get ( "usage" , "OsmiumCompressorUsage" , 100D ). getDouble ();
usage . combinerUsage = Mekanism . configuration . get ( "usage" , "CombinerUsage" , 50D ). getDouble ();
usage . crusherUsage = Mekanism . configuration . get ( "usage" , "CrusherUsage" , 50D ). getDouble ();
usage . factoryUsage = Mekanism . configuration . get ( "usage" , "FactoryUsage" , 50D ). getDouble ();
usage . metallurgicInfuserUsage = Mekanism . configuration . get ( "usage" , "MetallurgicInfuserUsage" , 50D ). getDouble ();
usage . purificationChamberUsage = Mekanism . configuration . get ( "usage" , "PurificationChamberUsage" , 200D ). getDouble ();
usage . energizedSmelterUsage = Mekanism . configuration . get ( "usage" , "EnergizedSmelterUsage" , 50D ). getDouble ();
usage . digitalMinerUsage = Mekanism . configuration . get ( "usage" , "DigitalMinerUsage" , 100D ). getDouble ();
usage . electricPumpUsage = Mekanism . configuration . get ( "usage" , "ElectricPumpUsage" , 100D ). getDouble ();
usage . rotaryCondensentratorUsage = Mekanism . configuration . get ( "usage" , "RotaryCondensentratorUsage" , 50D ). getDouble ();
usage . oxidationChamberUsage = Mekanism . configuration . get ( "usage" , "OxidationChamberUsage" , 200D ). getDouble ();
usage . chemicalInfuserUsage = Mekanism . configuration . get ( "usage" , "ChemicalInfuserUsage" , 200D ). getDouble ();
usage . chemicalInjectionChamberUsage = Mekanism . configuration . get ( "usage" , "ChemicalInjectionChamberUsage" , 400D ). getDouble ();
usage . precisionSawmillUsage = Mekanism . configuration . get ( "usage" , "PrecisionSawmillUsage" , 50D ). getDouble ();
usage . chemicalDissolutionChamberUsage = Mekanism . configuration . get ( "usage" , "ChemicalDissolutionChamberUsage" , 400D ). getDouble ();
usage . chemicalWasherUsage = Mekanism . configuration . get ( "usage" , "ChemicalWasherUsage" , 200D ). getDouble ();
usage . chemicalCrystallizerUsage = Mekanism . configuration . get ( "usage" , "ChemicalCrystallizerUsage" , 400D ). getDouble ();
usage . seismicVibratorUsage = Mekanism . configuration . get ( "usage" , "SeismicVibratorUsage" , 50D ). getDouble ();
usage . pressurizedReactionBaseUsage = Mekanism . configuration . get ( "usage" , "PressurizedReactionBaseUsage" , 5D ). getDouble ();
usage . fluidicPlenisherUsage = Mekanism . configuration . get ( "usage" , "FluidicPlenisherUsage" , 100D ). getDouble ();
usage . laserUsage = Mekanism . configuration . get ( "usage" , "LaserUsage" , 5000D ). getDouble ();
usage . gasCentrifugeUsage = Mekanism . configuration . get ( "usage" , "GasCentrifugeUsage" , 100D ). getDouble ();
usage . heavyWaterElectrolysisUsage = Mekanism . configuration . get ( "usage" , "HeavyWaterElectrolysisUsage" , 800D ). getDouble ();
2016-03-14 23:57:37 -04:00
usage . formulaicAssemblicatorUsage = Mekanism . configuration . get ( "usage" , "FormulaicAssemblicatorUsage" , 100D ). getDouble ();
2014-07-07 21:17:15 +01:00
2015-04-01 11:06:27 -04:00
Tier . loadConfig ();
2022-10-13 18:32:24 +02:00
2023-02-21 01:36:55 +01:00
recipes . enableOsmiumBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableOsmiumBlock" , true ). getBoolean ();
recipes . enableBronzeBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableBronzeBlock" , true ). getBoolean ();
recipes . enableRefinedObsidianBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableRefinedObsidianBlock" , true ). getBoolean ();
recipes . enableCharcoalBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableCharcoalBlock" , true ). getBoolean ();
recipes . enableRefinedGlowstoneBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableGlowstoneBlock" , true ). getBoolean ();
recipes . enableSteelBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableSteelBlock" , true ). getBoolean ();
recipes . enableCopperBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableCopperBlock" , true ). getBoolean ();
recipes . enableTinBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableTinBlock" , true ). getBoolean ();
recipes . enableBins = Mekanism . configurationrecipes . get ( "recipes" , "enableBins" , true ). getBoolean ();
recipes . enableTeleporterFrame = Mekanism . configurationrecipes . get ( "recipes" , "enableTeleporterFrame" , true ). getBoolean ();
recipes . enableSteelCasing = Mekanism . configurationrecipes . get ( "recipes" , "enableSteelCasing" , true ). getBoolean ();
recipes . enableDynamicTank = Mekanism . configurationrecipes . get ( "recipes" , "enableDynamicTank" , true ). getBoolean ();
recipes . enableDynamicGlass = Mekanism . configurationrecipes . get ( "recipes" , "enableDynamicGlass" , true ). getBoolean ();
recipes . enableDynamicValve = Mekanism . configurationrecipes . get ( "recipes" , "enableDynamicValve" , true ). getBoolean ();
recipes . enableThermalEvaporationController = Mekanism . configurationrecipes . get ( "recipes" , "enableThermalEvaporationController" , true ). getBoolean ();
recipes . enableThermalEvaporationValve = Mekanism . configurationrecipes . get ( "recipes" , "enableThermalEvaporationValve" , true ). getBoolean ();
recipes . enableThermalEvaporationBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableThermalEvaporationBlock" , true ). getBoolean ();
recipes . enableInductionCasing = Mekanism . configurationrecipes . get ( "recipes" , "enableInductionCasing" , true ). getBoolean ();
recipes . enableInductionPorts = Mekanism . configurationrecipes . get ( "recipes" , "enableInductionPorts" , true ). getBoolean ();
recipes . enableInductionCells = Mekanism . configurationrecipes . get ( "recipes" , "enableInductionCells" , true ). getBoolean ();
recipes . enableInductionProviders = Mekanism . configurationrecipes . get ( "recipes" , "enableInductionProviders" , true ). getBoolean ();
recipes . enableSuperheatingElement = Mekanism . configurationrecipes . get ( "recipes" , "enableSuperheatingElement" , true ). getBoolean ();
recipes . enablePressureDispenser = Mekanism . configurationrecipes . get ( "recipes" , "enablePressureDispenser" , true ). getBoolean ();
recipes . enableBoilerCasing = Mekanism . configurationrecipes . get ( "recipes" , "enableBoilerCasing" , true ). getBoolean ();
recipes . enableBoilerValve = Mekanism . configurationrecipes . get ( "recipes" , "enableBoilerValve" , true ). getBoolean ();
recipes . enableSecurityDesk = Mekanism . configurationrecipes . get ( "recipes" , "enableSecurityDesk" , true ). getBoolean ();
recipes . enableEnrichmentChamber = Mekanism . configurationrecipes . get ( "recipes" , "enableEnrichmentChamber" , true ). getBoolean ();
recipes . enableOsmiumCompressor = Mekanism . configurationrecipes . get ( "recipes" , "enableOsmiumCompressor" , true ). getBoolean ();
recipes . enableCombiner = Mekanism . configurationrecipes . get ( "recipes" , "enableCombiner" , true ). getBoolean ();
recipes . enableCrusher = Mekanism . configurationrecipes . get ( "recipes" , "enableCrusher" , true ). getBoolean ();
recipes . enableDigitalMiner = Mekanism . configurationrecipes . get ( "recipes" , "enableDigitalMiner" , true ). getBoolean ();
recipes . enableFactories = Mekanism . configurationrecipes . get ( "recipes" , "enableFactories" , true ). getBoolean ();
recipes . enableMetallurgicInfuser = Mekanism . configurationrecipes . get ( "recipes" , "enableMetallurgicInfuser" , true ). getBoolean ();
recipes . enablePurificationChamber = Mekanism . configurationrecipes . get ( "recipes" , "enablePurificationChamber" , true ). getBoolean ();
recipes . enableEnergizedSmelter = Mekanism . configurationrecipes . get ( "recipes" , "enableEnergizedSmelter" , true ). getBoolean ();
recipes . enableTeleporterBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableTeleporterBlock" , true ). getBoolean ();
recipes . enableElectricPump = Mekanism . configurationrecipes . get ( "recipes" , "enableElectricPump" , true ). getBoolean ();
recipes . enablePersonalChest = Mekanism . configurationrecipes . get ( "recipes" , "enablePersonalChest" , true ). getBoolean ();
recipes . enableChargePad = Mekanism . configurationrecipes . get ( "recipes" , "enableChargePad" , true ). getBoolean ();
recipes . enableLogisticalSorter = Mekanism . configurationrecipes . get ( "recipes" , "enableLogisticalSorter" , true ). getBoolean ();
recipes . enableRotaryCondensentrator = Mekanism . configurationrecipes . get ( "recipes" , "enableRotaryCondensentrator" , true ). getBoolean ();
recipes . enableChemicalOxidiser = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicalOxidiser" , true ). getBoolean ();
recipes . enableChemicalInfuser = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicalInfuser" , true ). getBoolean ();
recipes . enableChemicalInjection = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicalInjection" , true ). getBoolean ();
recipes . enableElectrolyticSeparator = Mekanism . configurationrecipes . get ( "recipes" , "enableElectrolyticSeparator" , true ). getBoolean ();
recipes . enableElectroliticCore = Mekanism . configurationrecipes . get ( "recipes" , "enableElectroliticCore" , true ). getBoolean ();
recipes . enableCardboardBox = Mekanism . configurationrecipes . get ( "recipes" , "enableCardboardBox" , true ). getBoolean ();
recipes . enableSawdusttoPaper = Mekanism . configurationrecipes . get ( "recipes" , "enableSawdusttoPaper" , true ). getBoolean ();
recipes . enablePrecisionSawmill = Mekanism . configurationrecipes . get ( "recipes" , "enablePrecisionSawmill" , true ). getBoolean ();
recipes . enableChemicaDissolution = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicaDissolution" , true ). getBoolean ();
recipes . enableChemicalWasher = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicalWasher" , true ). getBoolean ();
recipes . enableChemicalCrystallizer = Mekanism . configurationrecipes . get ( "recipes" , "enableChemicalCrystallizer" , true ). getBoolean ();
recipes . enableSeismicVibrator = Mekanism . configurationrecipes . get ( "recipes" , "enableSeismicVibrator" , true ). getBoolean ();
recipes . enablePressurizedReactorChamber = Mekanism . configurationrecipes . get ( "recipes" , "enablePressurizedReactorChamber" , true ). getBoolean ();
recipes . enableLiquidTanks = Mekanism . configurationrecipes . get ( "recipes" , "enableLiquidTanks" , true ). getBoolean ();
recipes . enableFluidPlenisher = Mekanism . configurationrecipes . get ( "recipes" , "enableFluidPlenisher" , true ). getBoolean ();
recipes . enableLaser = Mekanism . configurationrecipes . get ( "recipes" , "enableLaser" , true ). getBoolean ();
recipes . enableLaserAmplifyier = Mekanism . configurationrecipes . get ( "recipes" , "enableLaserAmplifyier" , true ). getBoolean ();
recipes . enableLaserTractorBeam = Mekanism . configurationrecipes . get ( "recipes" , "enableLaserTractorBeam" , true ). getBoolean ();
recipes . enableEntangloporter = Mekanism . configurationrecipes . get ( "recipes" , "enableEntangloporter" , true ). getBoolean ();
recipes . enableSolarNeutronActivator = Mekanism . configurationrecipes . get ( "recipes" , "enableSolarNeutronActivator" , true ). getBoolean ();
recipes . enableOredictionator = Mekanism . configurationrecipes . get ( "recipes" , "enableOredictionator" , true ). getBoolean ();
recipes . enableResistiveHeater = Mekanism . configurationrecipes . get ( "recipes" , "enableResistiveHeater" , true ). getBoolean ();
recipes . enableFormulaicAssembler = Mekanism . configurationrecipes . get ( "recipes" , "enableFormulaicAssembler" , true ). getBoolean ();
recipes . enableFuelwoodHeater = Mekanism . configurationrecipes . get ( "recipes" , "enableFuelwoodHeater" , true ). getBoolean ();
recipes . enableEnergyCubes = Mekanism . configurationrecipes . get ( "recipes" , "enableEnergyCubes" , true ). getBoolean ();
recipes . enableObsidianTNT = Mekanism . configurationrecipes . get ( "recipes" , "enableObsidianTNT" , true ). getBoolean ();
recipes . enableGasTanks = Mekanism . configurationrecipes . get ( "recipes" , "enableGasTanks" , true ). getBoolean ();
recipes . enablePlasticBlocks = Mekanism . configurationrecipes . get ( "recipes" , "enablePlasticBlocks" , true ). getBoolean ();
recipes . enableSaltBlock = Mekanism . configurationrecipes . get ( "recipes" , "enableSaltBlock" , true ). getBoolean ();
recipes . enableUniversalCables = Mekanism . configurationrecipes . get ( "recipes" , "enableUniversalCables" , true ). getBoolean ();
recipes . enableMechanicalPipes = Mekanism . configurationrecipes . get ( "recipes" , "enableMechanicalPipes" , true ). getBoolean ();
recipes . enablePressurizedTubes = Mekanism . configurationrecipes . get ( "recipes" , "enablePressurizedTubes" , true ). getBoolean ();
recipes . enableLogisticalTransporter = Mekanism . configurationrecipes . get ( "recipes" , "enableLogisticalTransporter" , true ). getBoolean ();
recipes . enableThermoConductors = Mekanism . configurationrecipes . get ( "recipes" , "enableThermoConductors" , true ). getBoolean ();
recipes . enableElectricBow = Mekanism . configurationrecipes . get ( "recipes" , "enableElectricBow" , true ). getBoolean ();
recipes . enableEnergyTablet = Mekanism . configurationrecipes . get ( "recipes" , "enableEnergyTablet" , true ). getBoolean ();
recipes . enableMachineUpgrades = Mekanism . configurationrecipes . get ( "recipes" , "enableMachineUpgrades" , true ). getBoolean ();
recipes . enableRobit = Mekanism . configurationrecipes . get ( "recipes" , "enableRobit" , true ). getBoolean ();
recipes . enableAtomicDisassembler = Mekanism . configurationrecipes . get ( "recipes" , "enableAtomicDisassembler" , true ). getBoolean ();
recipes . enableCircuits = Mekanism . configurationrecipes . get ( "recipes" , "enableCircuits" , true ). getBoolean ();
recipes . enablePortableTeleporter = Mekanism . configurationrecipes . get ( "recipes" , "enablePortableTeleporter" , true ). getBoolean ();
recipes . enableTeleporterCore = Mekanism . configurationrecipes . get ( "recipes" , "enableTeleporterCore" , true ). getBoolean ();
recipes . enableConfigurator = Mekanism . configurationrecipes . get ( "recipes" , "enableConfigurator" , true ). getBoolean ();
recipes . enableNetworkReader = Mekanism . configurationrecipes . get ( "recipes" , "enableNetworkReader" , true ). getBoolean ();
recipes . enableJetpacks = Mekanism . configurationrecipes . get ( "recipes" , "enableJetpacks" , true ). getBoolean ();
recipes . enableScubaSet = Mekanism . configurationrecipes . get ( "recipes" , "enableScubaSet" , true ). getBoolean ();
recipes . enableFreeRunners = Mekanism . configurationrecipes . get ( "recipes" , "enableFreeRunners" , true ). getBoolean ();
recipes . enableConfigurationCard = Mekanism . configurationrecipes . get ( "recipes" , "enableConfigurationCard" , true ). getBoolean ();
recipes . enableCraftingFormula = Mekanism . configurationrecipes . get ( "recipes" , "enableCraftingFormula" , true ). getBoolean ();
recipes . enableSeismicReader = Mekanism . configurationrecipes . get ( "recipes" , "enableSeismicReader" , true ). getBoolean ();
recipes . enableHDPEParts = Mekanism . configurationrecipes . get ( "recipes" , "enableHDPEParts" , true ). getBoolean ();
recipes . enableFlamethrower = Mekanism . configurationrecipes . get ( "recipes" , "enableFlamethrower" , true ). getBoolean ();
recipes . enableGaugeDropper = Mekanism . configurationrecipes . get ( "recipes" , "enableGaugeDropper" , true ). getBoolean ();
recipes . enableTierInstaller = Mekanism . configurationrecipes . get ( "recipes" , "enableTierInstaller" , true ). getBoolean ();
2022-10-20 19:57:13 +02:00
2022-10-22 16:05:31 +02:00
if ( Mekanism . configurationrecipes . hasChanged ())
{
Mekanism . configurationrecipes . save ();
}
2014-07-07 21:17:15 +01:00
if ( Mekanism . configuration . hasChanged ())
2014-07-09 22:06:36 -04:00
{
2014-07-07 21:17:15 +01:00
Mekanism . configuration . save ();
2014-07-09 22:06:36 -04:00
}
2023-02-20 22:07:07 +01:00
if ( Mekanism . configurationce . hasChanged ())
{
Mekanism . configurationce . save ();
}
2012-08-20 20:34:12 -04:00
}
2014-03-07 19:00:25 -06:00
2012-08-15 16:41:41 -04:00
/**
2013-04-13 10:33:37 -04:00
* Set up and load the utilities this mod uses.
2012-08-15 16:41:41 -04:00
*/
2014-06-03 20:57:59 +02:00
public void loadUtilities ()
{
2014-07-09 22:06:36 -04:00
FMLCommonHandler . instance (). bus (). register ( Mekanism . worldTickHandler );
2014-06-03 20:57:59 +02:00
}
2014-03-07 19:00:25 -06:00
/**
* Whether or not the game is paused.
2013-05-09 08:56:36 -04:00
*/
2014-03-07 19:00:25 -06:00
public boolean isPaused ()
2013-04-28 15:23:08 -04:00
{
return false ;
}
2015-02-27 22:49:48 -06:00
/**
* Adds block hit effects on the client side.
*/
public void addHitEffects ( Coord4D coord , MovingObjectPosition mop ) {}
/**
* Does a generic creation animation, starting from the rendering block.
*/
public void doGenericSparkle ( TileEntity tileEntity , INodeChecker checker ) {}
2014-03-07 19:00:25 -06:00
2013-05-14 11:34:26 -04:00
/**
2014-08-22 18:34:19 -04:00
* Does the multiblock creation animation, starting from the rendering block.
2013-05-14 11:34:26 -04:00
*/
2015-02-27 22:49:48 -06:00
public void doMultiblockSparkle ( TileEntityMultiblock <?> tileEntity ) {}
2014-03-07 19:00:25 -06:00
2016-01-25 00:13:42 -05:00
@Override
2014-03-07 19:00:25 -06:00
public Object getClientGui ( int ID , EntityPlayer player , World world , int x , int y , int z )
2012-08-30 19:27:35 -04:00
{
return null ;
}
2014-03-07 19:00:25 -06:00
2016-01-25 00:13:42 -05:00
@Override
2014-03-07 19:00:25 -06:00
public Container getServerGui ( int ID , EntityPlayer player , World world , int x , int y , int z )
2012-08-15 16:41:41 -04:00
{
2014-04-20 04:34:19 +01:00
TileEntity tileEntity = world . getTileEntity ( x , y , z );
2014-03-07 19:00:25 -06:00
2012-08-15 16:41:41 -04:00
switch ( ID )
{
2013-12-09 20:52:49 -05:00
case 0 :
return new ContainerDictionary ( player . inventory );
2013-11-18 15:33:14 -05:00
case 2 :
2013-11-19 18:16:26 -05:00
return new ContainerDigitalMiner ( player . inventory , ( TileEntityDigitalMiner ) tileEntity );
2012-09-25 15:15:47 -04:00
case 3 :
2012-11-15 15:04:12 -05:00
return new ContainerElectricMachine ( player . inventory , ( TileEntityElectricMachine ) tileEntity );
2012-09-25 15:15:47 -04:00
case 4 :
2012-11-15 15:04:12 -05:00
return new ContainerAdvancedElectricMachine ( player . inventory , ( TileEntityAdvancedElectricMachine ) tileEntity );
2012-09-25 15:15:47 -04:00
case 5 :
2012-11-15 15:04:12 -05:00
return new ContainerAdvancedElectricMachine ( player . inventory , ( TileEntityAdvancedElectricMachine ) tileEntity );
2012-09-25 15:15:47 -04:00
case 6 :
2012-11-15 15:04:12 -05:00
return new ContainerElectricMachine ( player . inventory , ( TileEntityElectricMachine ) tileEntity );
2012-09-25 15:15:47 -04:00
case 7 :
2013-11-27 23:42:54 -05:00
return new ContainerRotaryCondensentrator ( player . inventory , ( TileEntityRotaryCondensentrator ) tileEntity );
2012-10-02 14:39:40 -04:00
case 8 :
2012-11-28 10:33:34 -05:00
return new ContainerEnergyCube ( player . inventory , ( TileEntityEnergyCube ) tileEntity );
2013-10-30 15:22:43 -04:00
case 9 :
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
2012-11-15 15:04:12 -05:00
case 10 :
2012-11-21 10:14:35 -05:00
return new ContainerGasTank ( player . inventory , ( TileEntityGasTank ) tileEntity );
2012-12-19 15:23:55 -05:00
case 11 :
2013-03-20 13:58:36 -04:00
return new ContainerFactory ( player . inventory , ( TileEntityFactory ) tileEntity );
2012-12-20 16:53:39 -05:00
case 12 :
return new ContainerMetallurgicInfuser ( player . inventory , ( TileEntityMetallurgicInfuser ) tileEntity );
2013-01-20 20:15:59 -05:00
case 13 :
return new ContainerTeleporter ( player . inventory , ( TileEntityTeleporter ) tileEntity );
2015-03-28 20:34:57 -04:00
case 14 :
ItemStack itemStack = player . getCurrentEquippedItem ();
if ( itemStack != null && itemStack . getItem () instanceof ItemPortableTeleporter )
{
return new ContainerNull ();
}
2013-01-23 15:42:45 -05:00
case 15 :
return new ContainerAdvancedElectricMachine ( player . inventory , ( TileEntityAdvancedElectricMachine ) tileEntity );
2013-03-20 16:28:45 -04:00
case 16 :
return new ContainerElectricMachine ( player . inventory , ( TileEntityElectricMachine ) tileEntity );
2013-04-03 15:37:26 -04:00
case 17 :
return new ContainerElectricPump ( player . inventory , ( TileEntityElectricPump ) tileEntity );
2013-04-28 15:23:08 -04:00
case 18 :
return new ContainerDynamicTank ( player . inventory , ( TileEntityDynamicTank ) tileEntity );
2013-05-19 18:43:01 -04:00
case 21 :
EntityRobit robit = ( EntityRobit ) world . getEntityByID ( x );
2014-03-07 19:00:25 -06:00
2013-05-19 18:43:01 -04:00
if ( robit != null )
{
return new ContainerRobitMain ( player . inventory , robit );
}
case 22 :
2016-07-05 17:30:34 -04:00
robit = ( EntityRobit ) world . getEntityByID ( x );
if ( robit != null )
{
return new ContainerRobitCrafting ( player . inventory , robit );
}
2013-05-19 18:43:01 -04:00
case 23 :
2016-07-05 17:30:34 -04:00
robit = ( EntityRobit ) world . getEntityByID ( x );
2014-03-07 19:00:25 -06:00
2016-07-05 17:30:34 -04:00
if ( robit != null )
2013-05-19 18:43:01 -04:00
{
2016-07-05 17:30:34 -04:00
return new ContainerRobitInventory ( player . inventory , robit );
2013-05-19 18:43:01 -04:00
}
2013-05-20 13:51:18 -04:00
case 24 :
2016-07-05 17:30:34 -04:00
robit = ( EntityRobit ) world . getEntityByID ( x );
2014-03-07 19:00:25 -06:00
2016-07-05 17:30:34 -04:00
if ( robit != null )
2013-05-20 13:51:18 -04:00
{
2016-07-05 17:30:34 -04:00
return new ContainerRobitSmelting ( player . inventory , robit );
2013-05-20 13:51:18 -04:00
}
2013-05-20 15:06:10 -04:00
case 25 :
2016-07-05 17:30:34 -04:00
robit = ( EntityRobit ) world . getEntityByID ( x );
if ( robit != null )
{
return new ContainerRobitRepair ( player . inventory , robit );
}
2013-10-25 00:23:38 -04:00
case 26 :
2013-10-26 00:02:57 -04:00
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
case 27 :
2013-11-20 15:15:02 -05:00
return new ContainerFilter ( player . inventory , ( TileEntityContainerBlock ) tileEntity );
2013-10-26 00:02:57 -04:00
case 28 :
2013-11-20 15:15:02 -05:00
return new ContainerFilter ( player . inventory , ( TileEntityContainerBlock ) tileEntity );
2013-12-11 20:24:37 -05:00
case 29 :
2013-12-31 15:07:09 -05:00
return new ContainerChemicalOxidizer ( player . inventory , ( TileEntityChemicalOxidizer ) tileEntity );
2013-12-11 20:24:37 -05:00
case 30 :
return new ContainerChemicalInfuser ( player . inventory , ( TileEntityChemicalInfuser ) tileEntity );
2013-12-24 00:23:30 -05:00
case 31 :
return new ContainerAdvancedElectricMachine ( player . inventory , ( TileEntityAdvancedElectricMachine ) tileEntity );
2014-01-03 02:09:21 +00:00
case 32 :
return new ContainerElectrolyticSeparator ( player . inventory , ( TileEntityElectrolyticSeparator ) tileEntity );
2014-01-11 23:35:39 +00:00
case 33 :
2016-02-18 18:37:38 -05:00
return new ContainerThermalEvaporationController ( player . inventory , ( TileEntityThermalEvaporationController ) tileEntity );
2014-01-13 00:06:13 -05:00
case 34 :
return new ContainerChanceMachine ( player . inventory , ( TileEntityChanceMachine ) tileEntity );
2014-01-31 14:59:12 -05:00
case 35 :
return new ContainerChemicalDissolutionChamber ( player . inventory , ( TileEntityChemicalDissolutionChamber ) tileEntity );
case 36 :
return new ContainerChemicalWasher ( player . inventory , ( TileEntityChemicalWasher ) tileEntity );
case 37 :
2014-04-12 02:51:02 +01:00
return new ContainerChemicalCrystallizer ( player . inventory , ( TileEntityChemicalCrystallizer ) tileEntity );
2014-03-15 20:05:26 -04:00
case 39 :
return new ContainerSeismicVibrator ( player . inventory , ( TileEntitySeismicVibrator ) tileEntity );
2014-04-06 01:16:09 +01:00
case 40 :
return new ContainerPRC ( player . inventory , ( TileEntityPRC ) tileEntity );
2014-06-18 21:05:32 +02:00
case 41 :
2016-02-26 19:51:37 -05:00
return new ContainerFluidTank ( player . inventory , ( TileEntityFluidTank ) tileEntity );
2014-06-19 12:42:59 +02:00
case 42 :
return new ContainerFluidicPlenisher ( player . inventory , ( TileEntityFluidicPlenisher ) tileEntity );
2014-07-21 18:07:15 -04:00
case 43 :
return new ContainerUpgradeManagement ( player . inventory , ( IUpgradeTile ) tileEntity );
2014-07-30 22:26:03 +01:00
case 44 :
2014-09-15 02:11:55 +01:00
return new ContainerLaserAmplifier ( player . inventory , ( TileEntityLaserAmplifier ) tileEntity );
2014-08-09 02:08:38 +01:00
case 45 :
2014-09-15 02:11:55 +01:00
return new ContainerLaserTractorBeam ( player . inventory , ( TileEntityLaserTractorBeam ) tileEntity );
2014-09-03 01:51:00 +01:00
case 46 :
2016-03-04 13:14:48 -05:00
return new ContainerQuantumEntangloporter ( player . inventory , ( TileEntityQuantumEntangloporter ) tileEntity );
2014-09-15 02:11:55 +01:00
case 47 :
2015-02-26 17:23:53 -05:00
return new ContainerSolarNeutronActivator ( player . inventory , ( TileEntitySolarNeutronActivator ) tileEntity );
case 48 :
2014-08-10 02:16:35 +01:00
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
2015-03-03 13:16:58 -05:00
case 49 :
return new ContainerInductionMatrix ( player . inventory , ( TileEntityInductionCasing ) tileEntity );
2015-03-04 00:11:09 -05:00
case 50 :
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
2015-03-07 21:08:28 -05:00
case 51 :
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
2015-03-13 09:14:57 -05:00
case 52 :
return new ContainerOredictionificator ( player . inventory , ( TileEntityOredictionificator ) tileEntity );
2016-02-26 19:51:37 -05:00
case 53 :
return new ContainerResistiveHeater ( player . inventory , ( TileEntityResistiveHeater ) tileEntity );
2016-02-28 16:44:05 -05:00
case 54 :
return new ContainerFilter ( player . inventory , ( TileEntityContainerBlock ) tileEntity );
2016-03-01 10:22:24 -05:00
case 55 :
return new ContainerNull ( player , ( TileEntityContainerBlock ) tileEntity );
2016-03-14 23:57:37 -04:00
case 56 :
return new ContainerFormulaicAssemblicator ( player . inventory , ( TileEntityFormulaicAssemblicator ) tileEntity );
2016-03-21 08:15:49 -04:00
case 57 :
return new ContainerSecurityDesk ( player . inventory , ( TileEntitySecurityDesk ) tileEntity );
2016-04-23 17:09:01 -04:00
case 58 :
return new ContainerFuelwoodHeater ( player . inventory , ( TileEntityFuelwoodHeater ) tileEntity );
2012-08-15 16:41:41 -04:00
}
2014-03-07 19:00:25 -06:00
2012-08-15 16:41:41 -04:00
return null ;
}
2014-03-07 19:00:25 -06:00
2013-11-24 12:12:42 -06:00
public void preInit () {}
2014-03-07 19:00:25 -06:00
2013-11-18 15:33:14 -05:00
public double getReach ( EntityPlayer player )
{
if ( player instanceof EntityPlayerMP )
{
return (( EntityPlayerMP ) player ). theItemInWorldManager . getBlockReachDistance ();
}
2014-03-07 19:00:25 -06:00
2013-11-18 15:33:14 -05:00
return 0 ;
}
2014-03-07 19:00:25 -06:00
2013-07-20 12:10:14 -04:00
/**
* Gets the Minecraft base directory.
* @return base directory
*/
public File getMinecraftDir ()
{
2014-01-12 11:46:25 -05:00
return ( File ) FMLInjectionData . data () [ 6 ] ;
2013-07-20 12:10:14 -04:00
}
2015-03-21 00:50:19 -05:00
public void updateConfigRecipes ()
{
for ( MachineType type : MachineType . getValidMachines ())
{
2015-03-22 02:23:45 +00:00
if ( machines . isEnabled ( type . name ))
2015-03-21 00:50:19 -05:00
{
CraftingManager . getInstance (). getRecipeList (). removeAll ( type . getRecipes ());
CraftingManager . getInstance (). getRecipeList (). addAll ( type . getRecipes ());
}
else {
CraftingManager . getInstance (). getRecipeList (). removeAll ( type . getRecipes ());
}
}
}
2014-03-07 19:00:25 -06:00
2015-03-21 00:50:19 -05:00
public void onConfigSync ( boolean fromPacket )
2013-12-22 16:49:04 -05:00
{
2014-08-01 00:58:12 +01:00
if ( general . cardboardSpawners )
2014-01-13 16:37:15 -05:00
{
2014-05-29 17:55:47 +01:00
MekanismAPI . removeBoxBlacklist ( Blocks . mob_spawner , 0 );
2014-01-13 16:37:15 -05:00
}
else {
2014-05-29 17:55:47 +01:00
MekanismAPI . addBoxBlacklist ( Blocks . mob_spawner , 0 );
2014-01-13 16:37:15 -05:00
}
2015-03-05 13:48:01 -05:00
2014-09-03 18:25:06 +01:00
MachineType . updateAllUsages ();
2015-03-05 13:48:01 -05:00
2015-03-21 00:50:19 -05:00
updateConfigRecipes ();
if ( fromPacket )
2015-03-05 13:48:01 -05:00
{
2015-03-21 00:50:19 -05:00
Mekanism . logger . info ( "Received config from server." );
2015-03-05 13:48:01 -05:00
}
2013-12-22 16:49:04 -05:00
}
2015-05-23 11:36:53 -04:00
private WeakReference < EntityPlayer > createNewPlayer ( WorldServer world )
{
EntityPlayer player = FakePlayerFactory . get ( world , Mekanism . gameProfile );
return new WeakReference < EntityPlayer > ( player );
}
private WeakReference < EntityPlayer > createNewPlayer ( WorldServer world , double x , double y , double z )
{
EntityPlayer player = FakePlayerFactory . get ( world , Mekanism . gameProfile );
player . posX = x ;
player . posY = y ;
player . posZ = z ;
return new WeakReference < EntityPlayer > ( player );
}
public final WeakReference < EntityPlayer > getDummyPlayer ( WorldServer world )
{
if ( dummyPlayer . get () == null )
{
dummyPlayer = createNewPlayer ( world );
}
else {
dummyPlayer . get (). worldObj = world ;
}
return dummyPlayer ;
}
public final WeakReference < EntityPlayer > getDummyPlayer ( WorldServer world , double x , double y , double z )
{
if ( dummyPlayer . get () == null )
{
dummyPlayer = createNewPlayer ( world , x , y , z );
}
else {
dummyPlayer . get (). worldObj = world ;
dummyPlayer . get (). posX = x ;
dummyPlayer . get (). posY = y ;
dummyPlayer . get (). posZ = z ;
}
return dummyPlayer ;
}
2014-06-27 03:25:47 +01:00
public EntityPlayer getPlayer ( MessageContext context )
{
return context . getServerHandler (). playerEntity ;
}
2016-01-29 00:34:50 -05:00
public int getGuiId ( Block block , int metadata )
{
if ( MachineType . get ( block , metadata ) != null )
{
return MachineType . get ( block , metadata ). guiId ;
}
else if ( block == MekanismBlocks . GasTank )
{
return 10 ;
}
else if ( block == MekanismBlocks . EnergyCube )
{
return 8 ;
}
return - 1 ;
}
2014-07-22 18:03:34 +01:00
2014-09-14 05:20:16 +01:00
public void renderLaser ( World world , Pos3D from , Pos3D to , ForgeDirection direction , double energy ) {}
2016-02-03 00:37:39 -05:00
public Object getFontRenderer ()
{
return null ;
}
2021-12-21 00:59:04 +01:00
public void Cape () {
}
2012-08-15 16:41:41 -04:00
}