2012-11-05 20:29:04 +01:00
|
|
|
package mekanism.common;
|
2012-08-15 22:41:41 +02:00
|
|
|
|
2014-01-05 08:24:06 +01:00
|
|
|
import java.io.File;
|
|
|
|
|
2014-07-22 19:03:34 +02:00
|
|
|
import mekanism.api.Coord4D;
|
2014-01-13 22:37:15 +01:00
|
|
|
import mekanism.api.MekanismAPI;
|
2014-06-16 02:09:31 +02:00
|
|
|
import mekanism.common.EnergyDisplay.EnergyType;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.entity.EntityRobit;
|
2014-01-05 08:24:06 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerAdvancedElectricMachine;
|
2014-01-13 06:06:13 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerChanceMachine;
|
2014-04-12 03:51:02 +02:00
|
|
|
import mekanism.common.inventory.container.ContainerChemicalCrystallizer;
|
2014-01-31 20:59:12 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerChemicalDissolutionChamber;
|
2014-01-05 08:24:06 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerChemicalInfuser;
|
|
|
|
import mekanism.common.inventory.container.ContainerChemicalOxidizer;
|
2014-01-31 20:59:12 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerChemicalWasher;
|
2014-01-05 08:24:06 +01: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;
|
2014-06-19 12:42:59 +02:00
|
|
|
import mekanism.common.inventory.container.ContainerFluidicPlenisher;
|
2014-01-05 08:24:06 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerGasTank;
|
|
|
|
import mekanism.common.inventory.container.ContainerMetallurgicInfuser;
|
|
|
|
import mekanism.common.inventory.container.ContainerNull;
|
2014-04-06 02:16:09 +02:00
|
|
|
import mekanism.common.inventory.container.ContainerPRC;
|
2014-06-18 21:05:32 +02:00
|
|
|
import mekanism.common.inventory.container.ContainerPortableTank;
|
2014-01-05 08:24:06 +01: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;
|
2014-01-12 00:35:39 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerSalinationController;
|
2014-03-16 01:05:26 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerSeismicVibrator;
|
2014-01-05 08:24:06 +01:00
|
|
|
import mekanism.common.inventory.container.ContainerTeleporter;
|
2014-07-22 00:07:15 +02:00
|
|
|
import mekanism.common.inventory.container.ContainerUpgradeManagement;
|
2014-07-22 22:11:43 +02:00
|
|
|
import mekanism.common.network.PacketLaserFire.LaserFireMessage;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityAdvancedElectricMachine;
|
|
|
|
import mekanism.common.tile.TileEntityAdvancedFactory;
|
|
|
|
import mekanism.common.tile.TileEntityBin;
|
2014-01-13 06:06:13 +01:00
|
|
|
import mekanism.common.tile.TileEntityChanceMachine;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityChargepad;
|
2014-04-12 03:51:02 +02:00
|
|
|
import mekanism.common.tile.TileEntityChemicalCrystallizer;
|
2014-01-26 23:12:03 +01:00
|
|
|
import mekanism.common.tile.TileEntityChemicalDissolutionChamber;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityChemicalInfuser;
|
|
|
|
import mekanism.common.tile.TileEntityChemicalInjectionChamber;
|
|
|
|
import mekanism.common.tile.TileEntityChemicalOxidizer;
|
2014-01-26 23:12:03 +01:00
|
|
|
import mekanism.common.tile.TileEntityChemicalWasher;
|
2014-01-08 02:55:50 +01: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.TileEntityElectricChest;
|
|
|
|
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;
|
2014-06-19 12:42:59 +02:00
|
|
|
import mekanism.common.tile.TileEntityFluidicPlenisher;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityGasTank;
|
2014-07-15 01:13:20 +02:00
|
|
|
import mekanism.common.tile.TileEntityLaser;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityLogisticalSorter;
|
|
|
|
import mekanism.common.tile.TileEntityMetallurgicInfuser;
|
|
|
|
import mekanism.common.tile.TileEntityObsidianTNT;
|
|
|
|
import mekanism.common.tile.TileEntityOsmiumCompressor;
|
2014-04-06 02:16:09 +02:00
|
|
|
import mekanism.common.tile.TileEntityPRC;
|
2014-06-18 03:01:23 +02:00
|
|
|
import mekanism.common.tile.TileEntityPortableTank;
|
2014-01-13 05:55:42 +01:00
|
|
|
import mekanism.common.tile.TileEntityPrecisionSawmill;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityPurificationChamber;
|
|
|
|
import mekanism.common.tile.TileEntityRotaryCondensentrator;
|
2014-01-12 00:35:39 +01:00
|
|
|
import mekanism.common.tile.TileEntitySalinationController;
|
2014-03-16 01:05:26 +01:00
|
|
|
import mekanism.common.tile.TileEntitySeismicVibrator;
|
2014-01-08 02:55:50 +01:00
|
|
|
import mekanism.common.tile.TileEntityTeleporter;
|
2012-12-20 22:53:39 +01:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2013-11-18 21:33:14 +01:00
|
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
2014-05-29 18:55:47 +02:00
|
|
|
import net.minecraft.init.Blocks;
|
2012-12-20 22:53:39 +01:00
|
|
|
import net.minecraft.inventory.Container;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
import net.minecraft.world.World;
|
2014-04-20 05:34:19 +02:00
|
|
|
import net.minecraftforge.common.config.Configuration;
|
2014-07-22 19:03:34 +02:00
|
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
2014-06-03 20:57:59 +02:00
|
|
|
import cpw.mods.fml.common.FMLCommonHandler;
|
2014-06-27 04:25:47 +02:00
|
|
|
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
2014-01-05 08:24:06 +01:00
|
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
2014-01-12 17:46:25 +01:00
|
|
|
import cpw.mods.fml.relauncher.FMLInjectionData;
|
2012-08-15 22:41:41 +02:00
|
|
|
|
|
|
|
/**
|
2012-11-05 20:29:04 +01:00
|
|
|
* Common proxy for the Mekanism mod.
|
2012-08-15 22:41:41 +02:00
|
|
|
* @author AidanBrady
|
|
|
|
*
|
|
|
|
*/
|
2012-08-31 01:27:35 +02:00
|
|
|
public class CommonProxy
|
2012-08-15 22:41:41 +02:00
|
|
|
{
|
2012-11-21 16:14:35 +01:00
|
|
|
/**
|
|
|
|
* Register tile entities that have special models. Overwritten in client to register TESRs.
|
|
|
|
*/
|
2014-03-08 02:00:25 +01:00
|
|
|
public void registerSpecialTileEntities()
|
2013-01-21 02:15:59 +01:00
|
|
|
{
|
2013-05-23 19:30:12 +02: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 22:26:48 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityMetallurgicInfuser.class, "MetallurgicInfuser");
|
2013-11-03 17:38:36 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityGasTank.class, "GasTank");
|
2013-11-03 02:07:55 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityEnergyCube.class, "EnergyCube");
|
2013-04-05 22:26:48 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityElectricPump.class, "ElectricPump");
|
2013-04-13 02:25:21 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityElectricChest.class, "ElectricChest");
|
2013-04-28 21:23:08 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityDynamicTank.class, "DynamicTank");
|
|
|
|
GameRegistry.registerTileEntity(TileEntityDynamicValve.class, "DynamicValve");
|
2013-05-20 00:43:01 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChargepad.class, "Chargepad");
|
2013-11-02 03:36:06 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityLogisticalSorter.class, "LogisticalSorter");
|
2013-11-12 01:27:36 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityBin.class, "Bin");
|
2013-11-18 21:33:14 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityDigitalMiner.class, "DigitalMiner");
|
2013-11-24 15:27:52 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityObsidianTNT.class, "ObsidianTNT");
|
2013-11-28 00:17:44 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityRotaryCondensentrator.class, "RotaryCondensentrator");
|
2013-12-08 18:39:26 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityTeleporter.class, "MekanismTeleporter");
|
Rename Oxidation Chamber to Chemical Oxidizer and added model, will explain why below. This means a minor lang update @crafteverywhere, @VeryBigBro, @Vexatos
Notice that all Mekanism machines that perform similar tasks have a similar ending word; for example, the Metallurgic Infuser infuses alloys into ingots, and the Chemical Infuser infuses chemicals into other chemicals. Every ore processing machine has "Chamber" as the final word, and as this is not directly linked to ore processing, it would be best to move the "Oxidation" side of the machine to the end. Furthermore, for this chemical line, I am trying to keep "Chemical" as the first word in each machine title: Chemical Infuser, Chemical Oxidizer, Chemical Injection Chamber, etc. Hope that makes sense!
2013-12-31 21:07:09 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer");
|
2013-12-12 02:46:39 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser");
|
2013-12-24 06:23:30 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber");
|
2014-01-03 03:09:21 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityElectrolyticSeparator.class, "ElectrolyticSeparator");
|
2014-01-12 00:35:39 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntitySalinationController.class, "SalinationController");
|
2014-01-13 05:55:42 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityPrecisionSawmill.class, "PrecisionSawmill");
|
2014-01-26 23:12:03 +01:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalDissolutionChamber.class, "ChemicalDissolutionChamber");
|
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalWasher.class, "ChemicalWasher");
|
2014-04-12 03:51:02 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityChemicalCrystallizer.class, "ChemicalCrystallizer");
|
2014-06-16 01:50:40 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntitySeismicVibrator.class, "SeismicVibrator");
|
2014-04-10 04:05:28 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityPRC.class, "PressurizedReactionChamber");
|
2014-06-18 03:01:23 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityPortableTank.class, "PortableTank");
|
2014-06-19 12:42:59 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityFluidicPlenisher.class, "FluidicPlenisher");
|
2014-07-15 01:13:20 +02:00
|
|
|
GameRegistry.registerTileEntity(TileEntityLaser.class, "Laser");
|
2013-01-21 02:15:59 +01:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-04-13 16:33:37 +02:00
|
|
|
/**
|
|
|
|
* Registers a client-side sound, assigned to a TileEntity.
|
2014-07-22 22:11:43 +02:00
|
|
|
* @param tileEntity - TileEntity who is registering the sound
|
2013-04-13 16:33:37 +02:00
|
|
|
*/
|
2014-07-16 22:59:45 +02:00
|
|
|
public void registerSound(TileEntity tileEntity) {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-04-13 16:33:37 +02:00
|
|
|
/**
|
|
|
|
* Unregisters a client-side sound, assigned to a TileEntity;
|
2013-04-14 17:55:51 +02:00
|
|
|
* @param tileEntity - TileEntity who is unregistering the sound
|
2013-04-13 16:33:37 +02:00
|
|
|
*/
|
|
|
|
public void unregisterSound(TileEntity tileEntity) {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-04-13 03:32:43 +02:00
|
|
|
/**
|
|
|
|
* Handles an ELECTRIC_CHEST_CLIENT_OPEN packet via the proxy, not handled on the server-side.
|
|
|
|
* @param entityplayer - player the packet was sent from
|
|
|
|
* @param id - the electric chest gui ID to open
|
|
|
|
* @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
|
|
|
|
*/
|
|
|
|
public void openElectricChest(EntityPlayer entityplayer, int id, int windowId, boolean isBlock, int x, int y, int z) {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
/**
|
|
|
|
* Register and load client-only render information.
|
|
|
|
*/
|
2012-09-08 18:48:24 +02:00
|
|
|
public void registerRenderInformation() {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-09-03 18:11:25 +02:00
|
|
|
/**
|
|
|
|
* Gets the armor index number from ClientProxy.
|
2012-12-30 22:34:45 +01:00
|
|
|
* @param string - armor indicator
|
2012-09-03 18:11:25 +02:00
|
|
|
* @return armor index number
|
|
|
|
*/
|
2014-03-08 02:00:25 +01:00
|
|
|
public int getArmorIndex(String string)
|
2012-08-31 01:27:35 +02:00
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
/**
|
2012-09-08 18:48:24 +02:00
|
|
|
* Set and load the mod's common configuration properties.
|
2012-08-15 22:41:41 +02:00
|
|
|
*/
|
2012-09-08 18:48:24 +02:00
|
|
|
public void loadConfiguration()
|
2012-08-21 02:34:12 +02:00
|
|
|
{
|
2014-03-08 02:00:25 +01:00
|
|
|
Mekanism.updateNotifications = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "UpdateNotifications", true).getBoolean(true);
|
|
|
|
Mekanism.controlCircuitOreDict = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ControlCircuitOreDict", true).getBoolean(true);
|
|
|
|
Mekanism.logPackets = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "LogPackets", false).getBoolean(false);
|
2014-07-10 04:06:36 +02:00
|
|
|
Mekanism.dynamicTankEasterEgg = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "DynamicTankEasterEgg", false).getBoolean(false);
|
2014-03-08 02:00:25 +01:00
|
|
|
Mekanism.voiceServerEnabled = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "VoiceServerEnabled", true).getBoolean(true);
|
|
|
|
Mekanism.cardboardSpawners = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AllowSpawnerBoxPickup", true).getBoolean(true);
|
2014-07-10 04:06:36 +02:00
|
|
|
Mekanism.enableWorldRegeneration = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnableWorldRegeneration", false).getBoolean(false);
|
2014-07-17 05:53:00 +02:00
|
|
|
Mekanism.creativeOverrideElectricChest = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "CreativeOverrideElectricChest", true).getBoolean(true);
|
2014-07-13 04:34:58 +02:00
|
|
|
Mekanism.spawnBabySkeletons = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SpawnBabySkeletons", true).getBoolean(true);
|
2014-03-08 02:00:25 +01:00
|
|
|
Mekanism.obsidianTNTDelay = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ObsidianTNTDelay", 100).getInt();
|
|
|
|
Mekanism.obsidianTNTBlastRadius = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ObsidianTNTBlastRadius", 12).getInt();
|
|
|
|
Mekanism.UPDATE_DELAY = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ClientUpdateDelay", 10).getInt();
|
2014-07-10 04:06:36 +02:00
|
|
|
Mekanism.osmiumPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OsmiumPerChunk", 12).getInt();
|
|
|
|
Mekanism.copperPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "CopperPerChunk", 16).getInt();
|
|
|
|
Mekanism.tinPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "TinPerChunk", 14).getInt();
|
|
|
|
Mekanism.saltPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SaltPerChunk", 2).getInt();
|
|
|
|
Mekanism.userWorldGenVersion = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "WorldRegenVersion", 0).getInt();
|
2014-03-08 02:00:25 +01:00
|
|
|
Mekanism.FROM_IC2 = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "JoulesToEU", 10D).getDouble(10D);
|
|
|
|
Mekanism.TO_IC2 = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EUToJoules", .1D).getDouble(.1D);
|
|
|
|
Mekanism.FROM_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "JoulesToMJ", 25D).getDouble(25D);
|
|
|
|
Mekanism.TO_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MJToJoules", .04D).getDouble(.04D);
|
2014-04-18 23:21:23 +02:00
|
|
|
Mekanism.FROM_H2 = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "HydrogenEnergyDensity", 2000D).getDouble(2000D);
|
2014-03-08 02:00:25 +01:00
|
|
|
Mekanism.ENERGY_PER_REDSTONE = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnergyPerRedstone", 10000D).getDouble(10000D);
|
2014-07-07 22:17:15 +02:00
|
|
|
Mekanism.VOICE_PORT = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "VoicePort", 36123, null, 1, 65535).getInt();
|
2013-12-27 02:12:46 +01:00
|
|
|
//If this is less than 1, upgrades make machines worse. If less than 0, I don't even know.
|
2014-07-07 22:17:15 +02:00
|
|
|
Mekanism.maxUpgradeMultiplier = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "UpgradeModifier", 10, null, 1, Integer.MAX_VALUE).getInt();
|
2014-06-16 02:09:31 +02:00
|
|
|
|
2014-07-07 22:17:15 +02:00
|
|
|
String s = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnergyType", "J", 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"))
|
|
|
|
{
|
|
|
|
Mekanism.activeType = EnergyType.J;
|
|
|
|
}
|
|
|
|
else if(s.trim().equalsIgnoreCase("rf") || s.trim().equalsIgnoreCase("te") || s.trim().equalsIgnoreCase("thermal expansion"))
|
|
|
|
{
|
|
|
|
Mekanism.activeType = EnergyType.RF;
|
|
|
|
}
|
|
|
|
else if(s.trim().equalsIgnoreCase("eu") || s.trim().equalsIgnoreCase("ic2"))
|
|
|
|
{
|
|
|
|
Mekanism.activeType = EnergyType.EU;
|
|
|
|
}
|
|
|
|
else if(s.trim().equalsIgnoreCase("mj") || s.trim().equalsIgnoreCase("bc") || s.trim().equalsIgnoreCase("buildcraft"))
|
|
|
|
{
|
|
|
|
Mekanism.activeType = EnergyType.MJ;
|
|
|
|
}
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
|
|
|
Mekanism.TO_TE = Mekanism.TO_BC*10;
|
|
|
|
Mekanism.FROM_TE = Mekanism.FROM_BC/10;
|
|
|
|
|
2014-01-13 22:37:15 +01:00
|
|
|
if(Mekanism.cardboardSpawners)
|
|
|
|
{
|
2014-05-29 18:55:47 +02:00
|
|
|
MekanismAPI.removeBoxBlacklist(Blocks.mob_spawner, 0);
|
2014-01-13 22:37:15 +01:00
|
|
|
}
|
|
|
|
else {
|
2014-05-29 18:55:47 +02:00
|
|
|
MekanismAPI.addBoxBlacklist(Blocks.mob_spawner, 0);
|
2014-01-13 22:37:15 +01:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-12-15 04:29:25 +01:00
|
|
|
Mekanism.enrichmentChamberUsage = Mekanism.configuration.get("usage", "EnrichmentChamberUsage", 50D).getDouble(50D);
|
2014-01-10 23:42:53 +01:00
|
|
|
Mekanism.osmiumCompressorUsage = Mekanism.configuration.get("usage", "OsmiumCompressorUsage", 100D).getDouble(100D);
|
2013-12-15 04:29:25 +01:00
|
|
|
Mekanism.combinerUsage = Mekanism.configuration.get("usage", "CombinerUsage", 50D).getDouble(50D);
|
|
|
|
Mekanism.crusherUsage = Mekanism.configuration.get("usage", "CrusherUsage", 50D).getDouble(50D);
|
|
|
|
Mekanism.factoryUsage = Mekanism.configuration.get("usage", "FactoryUsage", 50D).getDouble(50D);
|
|
|
|
Mekanism.metallurgicInfuserUsage = Mekanism.configuration.get("usage", "MetallurgicInfuserUsage", 50D).getDouble(50D);
|
2014-01-10 23:42:53 +01:00
|
|
|
Mekanism.purificationChamberUsage = Mekanism.configuration.get("usage", "PurificationChamberUsage", 200D).getDouble(200D);
|
2013-12-15 04:29:25 +01:00
|
|
|
Mekanism.energizedSmelterUsage = Mekanism.configuration.get("usage", "EnergizedSmelterUsage", 50D).getDouble(50D);
|
|
|
|
Mekanism.digitalMinerUsage = Mekanism.configuration.get("usage", "DigitalMinerUsage", 100D).getDouble(100D);
|
2014-06-10 12:24:44 +02:00
|
|
|
Mekanism.electricPumpUsage = Mekanism.configuration.get("usage", "ElectricPumpUsage", 100D).getDouble(100D);
|
2013-12-15 04:29:25 +01:00
|
|
|
Mekanism.rotaryCondensentratorUsage = Mekanism.configuration.get("usage", "RotaryCondensentratorUsage", 50D).getDouble(50D);
|
2014-01-10 23:42:53 +01:00
|
|
|
Mekanism.oxidationChamberUsage = Mekanism.configuration.get("usage", "OxidationChamberUsage", 200D).getDouble(200D);
|
|
|
|
Mekanism.chemicalInfuserUsage = Mekanism.configuration.get("usage", "ChemicalInfuserUsage", 200D).getDouble(200D);
|
|
|
|
Mekanism.chemicalInjectionChamberUsage = Mekanism.configuration.get("usage", "ChemicalInjectionChamberUsage", 400D).getDouble(400D);
|
2014-01-13 05:55:42 +01:00
|
|
|
Mekanism.precisionSawmillUsage = Mekanism.configuration.get("usage", "PrecisionSawmillUsage", 50D).getDouble(50D);
|
2014-01-26 23:12:03 +01:00
|
|
|
Mekanism.chemicalDissolutionChamberUsage = Mekanism.configuration.get("usage", "ChemicalDissolutionChamberUsage", 400D).getDouble(400D);
|
|
|
|
Mekanism.chemicalWasherUsage = Mekanism.configuration.get("usage", "ChemicalWasherUsage", 200D).getDouble(200D);
|
2014-04-12 03:51:02 +02:00
|
|
|
Mekanism.chemicalCrystallizerUsage = Mekanism.configuration.get("usage", "ChemicalCrystallizerUsage", 400D).getDouble(400D);
|
2014-03-16 01:05:26 +01:00
|
|
|
Mekanism.seismicVibratorUsage = Mekanism.configuration.get("usage", "SeismicVibratorUsage", 50D).getDouble(50D);
|
2014-04-06 02:16:09 +02:00
|
|
|
Mekanism.pressurizedReactionBaseUsage = Mekanism.configuration.get("usage", "PressurizedReactionBaseUsage", 5D).getDouble(5D);
|
2014-06-19 12:42:59 +02:00
|
|
|
Mekanism.fluidicPlenisherUsage = Mekanism.configuration.get("usage", "FluidicPlenisherUsage", 100D).getDouble(100D);
|
2014-07-07 22:17:15 +02:00
|
|
|
|
|
|
|
if(Mekanism.configuration.hasChanged())
|
2014-07-10 04:06:36 +02:00
|
|
|
{
|
2014-07-07 22:17:15 +02:00
|
|
|
Mekanism.configuration.save();
|
2014-07-10 04:06:36 +02:00
|
|
|
}
|
2012-08-21 02:34:12 +02:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
/**
|
2013-04-13 16:33:37 +02:00
|
|
|
* Set up and load the utilities this mod uses.
|
2012-08-15 22:41:41 +02:00
|
|
|
*/
|
2014-06-03 20:57:59 +02:00
|
|
|
public void loadUtilities()
|
|
|
|
{
|
2014-07-10 04:06:36 +02:00
|
|
|
FMLCommonHandler.instance().bus().register(Mekanism.worldTickHandler);
|
2014-06-03 20:57:59 +02:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-11-05 16:52:56 +01:00
|
|
|
/**
|
|
|
|
* Set up and load the sound handler.
|
|
|
|
*/
|
|
|
|
public void loadSoundHandler() {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-12-30 22:34:45 +01:00
|
|
|
/**
|
|
|
|
* Unload the sound handler.
|
|
|
|
*/
|
|
|
|
public void unloadSoundHandler() {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether or not the game is paused.
|
2013-05-09 14:56:36 +02:00
|
|
|
*/
|
2014-03-08 02:00:25 +01:00
|
|
|
public boolean isPaused()
|
2013-04-28 21:23:08 +02:00
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-05-14 17:34:26 +02:00
|
|
|
/**
|
|
|
|
* Does the Dynamic Tank creation animation, starting from the rendering block.
|
|
|
|
*/
|
|
|
|
public void doTankAnimation(TileEntityDynamicTank tileEntity) {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
/**
|
2012-11-15 21:04:12 +01:00
|
|
|
* Get the actual interface for a GUI. Client-only.
|
2012-08-15 22:41:41 +02:00
|
|
|
* @param ID - gui ID
|
|
|
|
* @param player - player that opened the GUI
|
|
|
|
* @param world - world the GUI was opened in
|
|
|
|
* @param x - gui's x position
|
|
|
|
* @param y - gui's y position
|
|
|
|
* @param z - gui's z position
|
2012-11-15 21:04:12 +01:00
|
|
|
* @return the GuiScreen of the GUI
|
2012-08-15 22:41:41 +02:00
|
|
|
*/
|
2014-03-08 02:00:25 +01:00
|
|
|
public Object getClientGui(int ID, EntityPlayer player, World world, int x, int y, int z)
|
2012-08-31 01:27:35 +02:00
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
/**
|
2012-11-15 21:04:12 +01:00
|
|
|
* Get the container for a GUI. Common.
|
2012-08-15 22:41:41 +02:00
|
|
|
* @param ID - gui ID
|
|
|
|
* @param player - player that opened the GUI
|
|
|
|
* @param world - world the GUI was opened in
|
|
|
|
* @param x - gui's x position
|
|
|
|
* @param y - gui's y position
|
|
|
|
* @param z - gui's z position
|
2012-11-15 21:04:12 +01:00
|
|
|
* @return the Container of the GUI
|
2012-08-15 22:41:41 +02:00
|
|
|
*/
|
2014-03-08 02:00:25 +01:00
|
|
|
public Container getServerGui(int ID, EntityPlayer player, World world, int x, int y, int z)
|
2012-08-15 22:41:41 +02:00
|
|
|
{
|
2014-04-20 05:34:19 +02:00
|
|
|
TileEntity tileEntity = world.getTileEntity(x, y, z);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
switch(ID)
|
|
|
|
{
|
2013-12-10 02:52:49 +01:00
|
|
|
case 0:
|
|
|
|
return new ContainerDictionary(player.inventory);
|
2013-11-18 21:33:14 +01:00
|
|
|
case 2:
|
2013-11-20 00:16:26 +01:00
|
|
|
return new ContainerDigitalMiner(player.inventory, (TileEntityDigitalMiner)tileEntity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 3:
|
2012-11-15 21:04:12 +01:00
|
|
|
return new ContainerElectricMachine(player.inventory, (TileEntityElectricMachine)tileEntity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 4:
|
2012-11-15 21:04:12 +01:00
|
|
|
return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 5:
|
2012-11-15 21:04:12 +01:00
|
|
|
return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 6:
|
2012-11-15 21:04:12 +01:00
|
|
|
return new ContainerElectricMachine(player.inventory, (TileEntityElectricMachine)tileEntity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 7:
|
2013-11-28 05:42:54 +01:00
|
|
|
return new ContainerRotaryCondensentrator(player.inventory, (TileEntityRotaryCondensentrator)tileEntity);
|
2012-10-02 20:39:40 +02:00
|
|
|
case 8:
|
2012-11-28 16:33:34 +01:00
|
|
|
return new ContainerEnergyCube(player.inventory, (TileEntityEnergyCube)tileEntity);
|
2013-10-30 20:22:43 +01:00
|
|
|
case 9:
|
|
|
|
return new ContainerNull(player, (TileEntityContainerBlock)tileEntity);
|
2012-11-15 21:04:12 +01:00
|
|
|
case 10:
|
2012-11-21 16:14:35 +01:00
|
|
|
return new ContainerGasTank(player.inventory, (TileEntityGasTank)tileEntity);
|
2012-12-19 21:23:55 +01:00
|
|
|
case 11:
|
2013-03-20 18:58:36 +01:00
|
|
|
return new ContainerFactory(player.inventory, (TileEntityFactory)tileEntity);
|
2012-12-20 22:53:39 +01:00
|
|
|
case 12:
|
|
|
|
return new ContainerMetallurgicInfuser(player.inventory, (TileEntityMetallurgicInfuser)tileEntity);
|
2013-01-21 02:15:59 +01:00
|
|
|
case 13:
|
|
|
|
return new ContainerTeleporter(player.inventory, (TileEntityTeleporter)tileEntity);
|
2013-01-23 21:42:45 +01:00
|
|
|
case 15:
|
|
|
|
return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2013-03-20 21:28:45 +01:00
|
|
|
case 16:
|
|
|
|
return new ContainerElectricMachine(player.inventory, (TileEntityElectricMachine)tileEntity);
|
2013-04-03 21:37:26 +02:00
|
|
|
case 17:
|
|
|
|
return new ContainerElectricPump(player.inventory, (TileEntityElectricPump)tileEntity);
|
2013-04-28 21:23:08 +02:00
|
|
|
case 18:
|
|
|
|
return new ContainerDynamicTank(player.inventory, (TileEntityDynamicTank)tileEntity);
|
2013-05-20 00:43:01 +02:00
|
|
|
case 21:
|
|
|
|
EntityRobit robit = (EntityRobit)world.getEntityByID(x);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-05-20 00:43:01 +02:00
|
|
|
if(robit != null)
|
|
|
|
{
|
|
|
|
return new ContainerRobitMain(player.inventory, robit);
|
|
|
|
}
|
|
|
|
case 22:
|
|
|
|
return new ContainerRobitCrafting(player.inventory, world);
|
|
|
|
case 23:
|
|
|
|
EntityRobit robit1 = (EntityRobit)world.getEntityByID(x);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-05-20 00:43:01 +02:00
|
|
|
if(robit1 != null)
|
|
|
|
{
|
|
|
|
return new ContainerRobitInventory(player.inventory, robit1);
|
|
|
|
}
|
2013-05-20 19:51:18 +02:00
|
|
|
case 24:
|
|
|
|
EntityRobit robit2 = (EntityRobit)world.getEntityByID(x);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-05-20 19:51:18 +02:00
|
|
|
if(robit2 != null)
|
|
|
|
{
|
|
|
|
return new ContainerRobitSmelting(player.inventory, robit2);
|
|
|
|
}
|
2013-05-20 21:06:10 +02:00
|
|
|
case 25:
|
|
|
|
return new ContainerRobitRepair(player.inventory, world);
|
2013-10-25 06:23:38 +02:00
|
|
|
case 26:
|
2013-10-26 06:02:57 +02:00
|
|
|
return new ContainerNull(player, (TileEntityContainerBlock)tileEntity);
|
|
|
|
case 27:
|
2013-11-20 21:15:02 +01:00
|
|
|
return new ContainerFilter(player.inventory, (TileEntityContainerBlock)tileEntity);
|
2013-10-26 06:02:57 +02:00
|
|
|
case 28:
|
2013-11-20 21:15:02 +01:00
|
|
|
return new ContainerFilter(player.inventory, (TileEntityContainerBlock)tileEntity);
|
2013-12-12 02:24:37 +01:00
|
|
|
case 29:
|
Rename Oxidation Chamber to Chemical Oxidizer and added model, will explain why below. This means a minor lang update @crafteverywhere, @VeryBigBro, @Vexatos
Notice that all Mekanism machines that perform similar tasks have a similar ending word; for example, the Metallurgic Infuser infuses alloys into ingots, and the Chemical Infuser infuses chemicals into other chemicals. Every ore processing machine has "Chamber" as the final word, and as this is not directly linked to ore processing, it would be best to move the "Oxidation" side of the machine to the end. Furthermore, for this chemical line, I am trying to keep "Chemical" as the first word in each machine title: Chemical Infuser, Chemical Oxidizer, Chemical Injection Chamber, etc. Hope that makes sense!
2013-12-31 21:07:09 +01:00
|
|
|
return new ContainerChemicalOxidizer(player.inventory, (TileEntityChemicalOxidizer)tileEntity);
|
2013-12-12 02:24:37 +01:00
|
|
|
case 30:
|
|
|
|
return new ContainerChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity);
|
2013-12-24 06:23:30 +01:00
|
|
|
case 31:
|
|
|
|
return new ContainerAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2014-01-03 03:09:21 +01:00
|
|
|
case 32:
|
|
|
|
return new ContainerElectrolyticSeparator(player.inventory, (TileEntityElectrolyticSeparator)tileEntity);
|
2014-01-12 00:35:39 +01:00
|
|
|
case 33:
|
|
|
|
return new ContainerSalinationController(player.inventory, (TileEntitySalinationController)tileEntity);
|
2014-01-13 06:06:13 +01:00
|
|
|
case 34:
|
|
|
|
return new ContainerChanceMachine(player.inventory, (TileEntityChanceMachine)tileEntity);
|
2014-01-31 20:59:12 +01:00
|
|
|
case 35:
|
|
|
|
return new ContainerChemicalDissolutionChamber(player.inventory, (TileEntityChemicalDissolutionChamber)tileEntity);
|
|
|
|
case 36:
|
|
|
|
return new ContainerChemicalWasher(player.inventory, (TileEntityChemicalWasher)tileEntity);
|
|
|
|
case 37:
|
2014-04-12 03:51:02 +02:00
|
|
|
return new ContainerChemicalCrystallizer(player.inventory, (TileEntityChemicalCrystallizer)tileEntity);
|
2014-03-16 01:05:26 +01:00
|
|
|
case 39:
|
|
|
|
return new ContainerSeismicVibrator(player.inventory, (TileEntitySeismicVibrator)tileEntity);
|
2014-04-06 02:16:09 +02:00
|
|
|
case 40:
|
|
|
|
return new ContainerPRC(player.inventory, (TileEntityPRC)tileEntity);
|
2014-06-18 21:05:32 +02:00
|
|
|
case 41:
|
|
|
|
return new ContainerPortableTank(player.inventory, (TileEntityPortableTank)tileEntity);
|
2014-06-19 12:42:59 +02:00
|
|
|
case 42:
|
|
|
|
return new ContainerFluidicPlenisher(player.inventory, (TileEntityFluidicPlenisher)tileEntity);
|
2014-07-22 00:07:15 +02:00
|
|
|
case 43:
|
|
|
|
return new ContainerUpgradeManagement(player.inventory, (IUpgradeTile)tileEntity);
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
return null;
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-11-24 19:12:42 +01:00
|
|
|
public void preInit() {}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-11-18 21:33:14 +01:00
|
|
|
public double getReach(EntityPlayer player)
|
|
|
|
{
|
|
|
|
if(player instanceof EntityPlayerMP)
|
|
|
|
{
|
|
|
|
return ((EntityPlayerMP)player).theItemInWorldManager.getBlockReachDistance();
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-11-18 21:33:14 +01:00
|
|
|
return 0;
|
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-07-20 18:10:14 +02:00
|
|
|
/**
|
|
|
|
* Gets the Minecraft base directory.
|
|
|
|
* @return base directory
|
|
|
|
*/
|
|
|
|
public File getMinecraftDir()
|
|
|
|
{
|
2014-01-12 17:46:25 +01:00
|
|
|
return (File)FMLInjectionData.data()[6];
|
2013-07-20 18:10:14 +02:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
|
|
|
public void onConfigSync()
|
2013-12-22 22:49:04 +01:00
|
|
|
{
|
2014-01-13 22:37:15 +01:00
|
|
|
if(Mekanism.cardboardSpawners)
|
|
|
|
{
|
2014-05-29 18:55:47 +02:00
|
|
|
MekanismAPI.removeBoxBlacklist(Blocks.mob_spawner, 0);
|
2014-01-13 22:37:15 +01:00
|
|
|
}
|
|
|
|
else {
|
2014-05-29 18:55:47 +02:00
|
|
|
MekanismAPI.addBoxBlacklist(Blocks.mob_spawner, 0);
|
2014-01-13 22:37:15 +01:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2014-06-03 08:46:03 +02:00
|
|
|
Mekanism.logger.info("Received config from server.");
|
2013-12-22 22:49:04 +01:00
|
|
|
}
|
2014-06-27 04:25:47 +02:00
|
|
|
|
|
|
|
public EntityPlayer getPlayer(MessageContext context)
|
|
|
|
{
|
|
|
|
return context.getServerHandler().playerEntity;
|
|
|
|
}
|
2014-07-22 19:03:34 +02:00
|
|
|
|
2014-07-22 22:11:43 +02:00
|
|
|
public void renderLaser(World world, Coord4D from, Coord4D to, ForgeDirection direction)
|
|
|
|
{
|
|
|
|
Mekanism.packetHandler.sendToAllAround(new LaserFireMessage(from, to, direction), from.getTargetPoint(50D));
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isClientSide()
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|