folder rework

This commit is contained in:
DarkGuardsman 2013-09-02 15:28:00 -04:00
parent 29b0ce2e72
commit 5a563266cc
84 changed files with 241 additions and 347 deletions

View file

@ -4,53 +4,67 @@ import universalelectricity.core.UniversalElectricity;
import universalelectricity.core.electricity.NetworkLoader; import universalelectricity.core.electricity.NetworkLoader;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Loader;
/** /** The Universal Electricity compatibility module allows your mod to be compatible with most major
* The Universal Electricity compatiblity module allows your mod to be compatible with most major
* power systems in Minecraft. * power systems in Minecraft.
* *
* @author Calclavia, Micdoodle * @author Calclavia, Micdoodle */
*
*/
public class Compatibility public class Compatibility
{ {
/** /** Version of build craft api UE was compiled with */
* Universal Electricity measures in Kilowatts. public static String BCx_VERSION = "@BCxVersion@";
* /** Version of industrial craft api UE was compiled with */
* Multiply this to convert foreign energy into UE Joules. public static String ICx_VERSION = "@ICxVersion@";
*/ /** Version of thermal expansion api UE was compiled with */
public static float BC3_RATIO = 1; public static String TEx_VERSION = "@TExVersion@";
public static float IC2_RATIO = 0.04f;
/** /** Has the initiate method been called yet */
* Multiply this to convert UE Joules into foreign energy. The reciprocal conversion ratio. public static boolean INIT = false;
*/
public static float TO_IC2_RATIO = 1 / IC2_RATIO;
public static float TO_BC_RATIO = 1 / BC3_RATIO;
/** /** Ratio of Build craft(MJ) power to UE power(KW). Multiply BC3 power by this to convert to UE */
* You must call this function to enable the Universal Network module. public static float BC3_RATIO = 1;
*/ /** Ratio of Industrial craft(EU) power to UE power(KW). Multiply IC2 power by this to convert to UE */
public static void initiate() public static float IC2_RATIO = 0.04f;
{
/**
* Loads the configuration and sets all the values.
*/
UniversalElectricity.CONFIGURATION.load();
IC2_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", IC2_RATIO).getDouble(IC2_RATIO);
BC3_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", BC3_RATIO).getDouble(BC3_RATIO);
TO_IC2_RATIO = 1 / IC2_RATIO;
TO_BC_RATIO = 1 / BC3_RATIO;
UniversalElectricity.CONFIGURATION.save();
NetworkLoader.setNetworkClass(UniversalNetwork.class);
}
public static boolean isIndustrialCraft2Loaded() /** Ratio of UE power(KW) to Industrial craft(EU) power. Multiply UE power by this to convert it to IC2 power */
{ public static float TO_IC2_RATIO = 1 / IC2_RATIO;
return Loader.isModLoaded("IC2"); /** Ratio of UE power(KW) to Build craft(MJ) power. Multiply UE power by this to convert it to BC3 power */
} public static float TO_BC_RATIO = 1 / BC3_RATIO;
public static boolean isBuildcraftLoaded() /** You must call this function to enable the Universal Network module. */
{ public static void initiate()
return Loader.isModLoaded("BuildCraft|Energy"); {
} if (!INIT)
{
/** Outputs basic version information */
System.out.println("[UniversalElectricity] Loading compatibility API version " + UniversalElectricity.VERSION);
System.out.println("[UniversalElectricity] Compiled with IndustrialCraft API version " + Compatibility.ICx_VERSION);
System.out.println("[UniversalElectricity] Compiled with BuildCraft API version " + Compatibility.BCx_VERSION);
System.out.println("[UniversalElectricity] Compiled with ThermalExpansion API version " + Compatibility.TEx_VERSION);
/** Loads the configuration and sets all the values. */
UniversalElectricity.CONFIGURATION.load();
IC2_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", IC2_RATIO).getDouble(IC2_RATIO);
BC3_RATIO = (float) UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", BC3_RATIO).getDouble(BC3_RATIO);
TO_IC2_RATIO = 1 / IC2_RATIO;
TO_BC_RATIO = 1 / BC3_RATIO;
UniversalElectricity.CONFIGURATION.save();
/** Sets the main network to the Universal version */
NetworkLoader.setNetworkClass(UniversalNetwork.class);
}
}
/** Check to see using the FML loader too see if IC2 is loaded */
public static boolean isIndustrialCraft2Loaded()
{
return Loader.isModLoaded("IC2");
}
/** Check to see using the FML loader too see if BC3 is loaded */
public static boolean isBuildcraftLoaded()
{
return Loader.isModLoaded("BuildCraft|Energy");
}
//TODO add Thermal expansion isLoaded check
} }

View file

@ -60,6 +60,7 @@ public class UniversalElectricity
{ {
if (!INIT) if (!INIT)
{ {
System.out.println("[UniversalElectricity] Loading core API version " + UniversalElectricity.VERSION);
/** /**
* Loads the configuration and sets all the values. * Loads the configuration and sets all the values.
*/ */
@ -78,6 +79,6 @@ public class UniversalElectricity
} }
} }
INIT = true; INIT = true;
} }
} }

View file

@ -1,4 +1,4 @@
package dark.core; package dark.client;
import java.awt.Color; import java.awt.Color;
@ -8,8 +8,10 @@ import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import dark.client.FXBeam;
import dark.client.renders.RenderCopperWire; import dark.client.renders.RenderCopperWire;
import dark.common.CommonProxy;
import dark.common.CoreRecipeLoader;
import dark.common.DarkMain;
import dark.common.transmit.TileEntityWire; import dark.common.transmit.TileEntityWire;
public class ClientProxy extends CommonProxy public class ClientProxy extends CommonProxy

View file

@ -14,7 +14,7 @@ import org.lwjgl.opengl.GL11;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.FMLClientHandler;
import dark.core.DarkMain; import dark.common.DarkMain;
/** Based off Thaumcraft's Beam Renderer. /** Based off Thaumcraft's Beam Renderer.
* *

View file

@ -14,7 +14,7 @@ import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import dark.core.helpers.BlockRenderInfo; import dark.prefab.helpers.BlockRenderInfo;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;

View file

@ -16,7 +16,7 @@ import buildcraft.api.power.IPowerReceptor;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.client.models.ModelCopperWire; import dark.client.models.ModelCopperWire;
import dark.core.DarkMain; import dark.common.DarkMain;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RenderCopperWire extends RenderMachine public class RenderCopperWire extends RenderMachine

View file

@ -18,8 +18,8 @@ import net.minecraft.world.World;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import dark.core.helpers.BlockRenderInfo; import dark.prefab.helpers.BlockRenderInfo;
import dark.core.helpers.EntityFakeBlock; import dark.prefab.helpers.EntityFakeBlock;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;

View file

@ -1,4 +1,4 @@
package dark.core; package dark.common;
import java.io.File; import java.io.File;
import java.util.HashMap; import java.util.HashMap;
@ -13,7 +13,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import dark.core.helpers.Pair; import dark.prefab.IExtraObjectInfo;
import dark.prefab.helpers.Pair;
/** Handler to make registering all parts of a block a bit easier /** Handler to make registering all parts of a block a bit easier
* *

View file

@ -1,4 +1,4 @@
package dark.core; package dark.common;
import java.awt.Color; import java.awt.Color;

View file

@ -1,13 +1,13 @@
package dark.core; package dark.common;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.FurnaceRecipes;
import dark.core.items.EnumMeterials; import dark.common.items.EnumMeterials;
import dark.core.items.EnumOreParts; import dark.common.items.EnumOreParts;
import dark.core.items.ItemParts.Parts; import dark.common.items.ItemWrench;
import dark.core.items.ItemWrench; import dark.common.items.ItemParts.Parts;
public class CoreRecipeLoader extends RecipeLoader public class CoreRecipeLoader extends RecipeLoader
{ {

View file

@ -1,4 +1,4 @@
package dark.core; package dark.common;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@ -27,26 +27,26 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.event.FMLServerStoppingEvent;
import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import dark.common.BlockRegistry.BlockData;
import dark.common.blocks.BlockOre;
import dark.common.debug.BlockDebug; import dark.common.debug.BlockDebug;
import dark.common.debug.BlockDebug.debugBlocks; import dark.common.debug.BlockDebug.debugBlocks;
import dark.common.items.EnumMeterials;
import dark.common.items.ItemBattery;
import dark.common.items.ItemBlockOre;
import dark.common.items.ItemOreDirv;
import dark.common.items.ItemParts;
import dark.common.items.ItemTools;
import dark.common.items.ItemWrench;
import dark.common.items.ItemParts.Parts;
import dark.common.transmit.BlockWire; import dark.common.transmit.BlockWire;
import dark.common.transmit.TileEntityWire; import dark.common.transmit.TileEntityWire;
import dark.core.BlockRegistry.BlockData;
import dark.core.blocks.BlockOre;
import dark.core.helpers.FluidRestrictionHandler;
import dark.core.helpers.SaveManager;
import dark.core.items.EnumMeterials;
import dark.core.items.ItemBattery;
import dark.core.items.ItemBlockHolder;
import dark.core.items.ItemBlockOre;
import dark.core.items.ItemOreDirv;
import dark.core.items.ItemParts;
import dark.core.items.ItemParts.Parts;
import dark.core.items.ItemTools;
import dark.core.items.ItemWrench;
import dark.prefab.BlockMulti; import dark.prefab.BlockMulti;
import dark.prefab.ModPrefab; import dark.prefab.ModPrefab;
import dark.prefab.TileEntityMulti; import dark.prefab.TileEntityMulti;
import dark.prefab.helpers.FluidRestrictionHandler;
import dark.prefab.helpers.SaveManager;
import dark.prefab.items.ItemBlockHolder;
/** @author HangCow, DarkGuardsman */ /** @author HangCow, DarkGuardsman */
@Mod(modid = DarkMain.MOD_ID, name = DarkMain.MOD_NAME, version = DarkMain.VERSION, dependencies = "after:BuildCraft|Energy", useMetadata = true) @Mod(modid = DarkMain.MOD_ID, name = DarkMain.MOD_NAME, version = DarkMain.VERSION, dependencies = "after:BuildCraft|Energy", useMetadata = true)

View file

@ -1,4 +1,4 @@
package dark.core; package dark.common;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -6,8 +6,8 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapedOreRecipe;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import dark.core.helpers.Pair; import dark.prefab.helpers.Pair;
import dark.core.helpers.Triple; import dark.prefab.helpers.Triple;
public abstract class RecipeLoader public abstract class RecipeLoader
{ {

View file

@ -1,4 +1,4 @@
package dark.core.blocks; package dark.common.blocks;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -13,10 +13,10 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.core.IExtraObjectInfo; import dark.common.items.EnumMeterials;
import dark.core.helpers.Pair; import dark.prefab.IExtraObjectInfo;
import dark.core.items.EnumMeterials; import dark.prefab.helpers.Pair;
public class BlockOre extends Block implements IExtraObjectInfo public class BlockOre extends Block implements IExtraObjectInfo
{ {

View file

@ -1,4 +1,4 @@
package dark.core.blocks; package dark.common.blocks;
import java.util.Random; import java.util.Random;

View file

@ -1,4 +1,4 @@
package dark.core.blocks; package dark.common.blocks;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -15,10 +15,10 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.core.IExtraObjectInfo;
import dark.core.helpers.Pair;
import dark.prefab.BlockMachine; import dark.prefab.BlockMachine;
import dark.prefab.IExtraObjectInfo;
import dark.prefab.helpers.Pair;
public class BlockDebug extends BlockMachine implements IExtraObjectInfo public class BlockDebug extends BlockMachine implements IExtraObjectInfo
{ {

View file

@ -1,11 +1,11 @@
package dark.core.items; package dark.common.items;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import universalelectricity.prefab.ore.OreGenReplaceStone; import universalelectricity.prefab.ore.OreGenReplaceStone;
import dark.core.DarkMain; import dark.common.DarkMain;
/** Class for storing materials, there icon names, sub items to be made from them or there sub ores /** Class for storing materials, there icon names, sub items to be made from them or there sub ores
* *

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.common.items;
public enum EnumOreParts public enum EnumOreParts
{ {

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.common.items;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack;
import universalelectricity.core.item.ItemElectric; import universalelectricity.core.item.ItemElectric;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
public class ItemBattery extends ItemElectric public class ItemBattery extends ItemElectric
{ {

View file

@ -1,8 +1,8 @@
package dark.core.items; package dark.common.items;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import dark.core.DarkMain; import dark.common.DarkMain;
public class ItemBlockOre extends ItemBlock public class ItemBlockOre extends ItemBlock
{ {

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.common.items;
import java.util.List; import java.util.List;
@ -9,7 +9,8 @@ import net.minecraft.util.Icon;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.prefab.items.ItemBasic;
/** A series of items that are derived from a basic ore block /** A series of items that are derived from a basic ore block
* *

View file

@ -1,7 +1,9 @@
package dark.core.items; package dark.common.items;
import java.util.List; import java.util.List;
import dark.prefab.items.ItemBasic;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.common.items;
import java.util.List; import java.util.List;
@ -20,10 +20,11 @@ import universalelectricity.core.block.IElectrical;
import universalelectricity.core.block.IElectricalStorage; import universalelectricity.core.block.IElectricalStorage;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.core.helpers.FluidHelper;
import dark.interfaces.IToolReadOut; import dark.interfaces.IToolReadOut;
import dark.interfaces.IToolReadOut.EnumTools; import dark.interfaces.IToolReadOut.EnumTools;
import dark.prefab.helpers.FluidHelper;
import dark.prefab.items.ItemBasic;
public class ItemTools extends ItemBasic public class ItemTools extends ItemBasic
{ {

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.common.items;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -8,7 +8,8 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import buildcraft.api.tools.IToolWrench; import buildcraft.api.tools.IToolWrench;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.prefab.items.ItemBasic;
public class ItemWrench extends ItemBasic implements IToolWrench public class ItemWrench extends ItemBasic implements IToolWrench
{ {

View file

@ -17,10 +17,10 @@ import net.minecraftforge.common.Configuration;
import universalelectricity.core.block.IConductor; import universalelectricity.core.block.IConductor;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import universalelectricity.prefab.tile.TileEntityConductor; import universalelectricity.prefab.tile.TileEntityConductor;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.core.IExtraObjectInfo;
import dark.core.helpers.Pair;
import dark.prefab.BlockMachine; import dark.prefab.BlockMachine;
import dark.prefab.IExtraObjectInfo;
import dark.prefab.helpers.Pair;
public class BlockWire extends BlockMachine implements IExtraObjectInfo public class BlockWire extends BlockMachine implements IExtraObjectInfo
{ {

View file

@ -1,7 +1,7 @@
package dark.common.transmit; package dark.common.transmit;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.prefab.TileEntityMachine; import dark.prefab.TileEntityMachine;
public class TileEntityLaserEmitter extends TileEntityMachine public class TileEntityLaserEmitter extends TileEntityMachine

View file

@ -1,53 +0,0 @@
package dark.core.access;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.world.World;
import universalelectricity.prefab.network.PacketManager;
import com.google.common.io.ByteArrayDataInput;
public class GuiPacketManager extends PacketManager
{
public enum GuiPacketType
{
USER_LISTS_REQUEST,
USER_LISTS,
LISTS_DATA,
LISTS_DATA_REQUEST;
}
@Override
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
{
if (player != null)
{
World world = player.worldObj;
GuiPacketType packetID = GuiPacketType.values()[dataStream.readInt()];
if (world.isRemote)
{
if (packetID == GuiPacketType.USER_LISTS)
{
}
if (packetID == GuiPacketType.LISTS_DATA)
{
}
}
else
{
if (packetID == GuiPacketType.USER_LISTS_REQUEST)
{
}
}
}
}
public void requestData()
{
}
}

View file

@ -1,19 +0,0 @@
package dark.core.helpers;
import net.minecraft.nbt.NBTTagCompound;
/** Classes the register to need saving on world save use this
*
* @author DarkGuardsman */
public interface INbtSave
{
/** gets the file name to save as */
public String saveFileName();
/** the data to save when saving to the file */
public NBTTagCompound getSaveData();
/** can the file be saved at this moment */
public boolean shouldSave(boolean isServer);
}

View file

@ -1,45 +0,0 @@
package dark.core.helpers;
import java.util.ArrayList;
import java.util.List;
import net.minecraftforge.common.MinecraftForge;
public class SaveManager
{
public static List<INbtSave> nbtSaveList = new ArrayList<INbtSave>();
public static boolean isInitialized = false;
public static SaveManager intance = new SaveManager();
/** registers a class that uses INbtSave to save data to a file in the worldSave file
*
* @param saveClass */
public void registerNbtSave(INbtSave saveClass)
{
if (!isInitialized)
{
MinecraftForge.EVENT_BUS.register(this);
isInitialized = true;
}
if (saveClass != null && !nbtSaveList.contains(saveClass))
{
nbtSaveList.add(saveClass);
}
}
/** Called to get all INbtSave classes to do a save to world */
public static void save(boolean isServer)
{
for (INbtSave save : nbtSaveList)
{
if (save.shouldSave(isServer))
{
NBTFileLoader.saveData(save.saveFileName(), save.getSaveData());
}
}
}
}

View file

@ -3,7 +3,7 @@ package dark.interfaces;
import java.util.List; import java.util.List;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import dark.core.tile.network.NetworkTileEntities; import dark.prefab.tilenetwork.NetworkTileEntities;
public interface INetworkPart extends ITileConnector public interface INetworkPart extends ITileConnector
{ {

View file

@ -2,8 +2,8 @@ package dark.interfaces;
import java.util.List; import java.util.List;
import dark.core.access.AccessLevel; import dark.prefab.access.AccessLevel;
import dark.core.access.UserAccess; import dark.prefab.access.UserAccess;
/** Used by any object that needs to restrict access to it by a set of usernames /** Used by any object that needs to restrict access to it by a set of usernames
* *

View file

@ -15,7 +15,7 @@ import net.minecraftforge.common.Configuration;
import universalelectricity.prefab.block.BlockAdvanced; import universalelectricity.prefab.block.BlockAdvanced;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.interfaces.INetworkPart; import dark.interfaces.INetworkPart;
/** Basic TileEntity Container class designed to be used by generic machines. It is suggested that /** Basic TileEntity Container class designed to be used by generic machines. It is suggested that

View file

@ -1,13 +1,10 @@
package dark.core; package dark.prefab;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import dark.core.helpers.Pair;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import dark.prefab.helpers.Pair;
/** Used to handle info about the block that would normally be handled by the mod main class. Use the /** Used to handle info about the block that would normally be handled by the mod main class. Use the
* BlockRegistry in order for these methods to be called on load of the mod. * BlockRegistry in order for these methods to be called on load of the mod.
@ -22,7 +19,10 @@ public interface IExtraObjectInfo
/** True will cause a config file to be generated for this block */ /** True will cause a config file to be generated for this block */
public boolean hasExtraConfigs(); public boolean hasExtraConfigs();
/** Loads the config file for this block */ /** Loads the config file for this block. This is a single config file that is tied to just this
* block alone. Anything can be stored in the config file but its suggested to use it for
* advanced settings for the block/tile. Things like power, update rate, optional features,
* graphics, or crafting cost */
public void loadExtraConfigs(Configuration config); public void loadExtraConfigs(Configuration config);
/** Optional way to handle recipes based out of the block/item class */ /** Optional way to handle recipes based out of the block/item class */

View file

@ -12,8 +12,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import dark.core.BlockRegistry; import dark.common.BlockRegistry;
import dark.core.BlockRegistry.BlockData; import dark.common.BlockRegistry.BlockData;
public abstract class ModPrefab public abstract class ModPrefab
{ {

View file

@ -8,6 +8,7 @@ import net.minecraftforge.common.ForgeDirection;
import universalelectricity.prefab.tile.TileEntityAdvanced; import universalelectricity.prefab.tile.TileEntityAdvanced;
import dark.interfaces.IExternalInv; import dark.interfaces.IExternalInv;
import dark.interfaces.IInvBox; import dark.interfaces.IInvBox;
import dark.prefab.invgui.InvChest;
public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, ISidedInventory public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, ISidedInventory
{ {

View file

@ -28,6 +28,7 @@ import dark.interfaces.IExternalInv;
import dark.interfaces.IInvBox; import dark.interfaces.IInvBox;
import dark.interfaces.IPowerLess; import dark.interfaces.IPowerLess;
import dark.interfaces.PowerSystems; import dark.interfaces.PowerSystems;
import dark.prefab.invgui.InvChest;
public abstract class TileEntityMachine extends TileEntityUniversalElectrical implements ISidedInventory, IExternalInv, IDisableable, IPacketReceiver, IPowerLess public abstract class TileEntityMachine extends TileEntityUniversalElectrical implements ISidedInventory, IExternalInv, IDisableable, IPacketReceiver, IPowerLess
{ {

View file

@ -1,4 +1,4 @@
package dark.core.access; package dark.prefab.access;
public enum AccessLevel public enum AccessLevel
{ {

View file

@ -1,4 +1,4 @@
package dark.core.access; package dark.prefab.access;
public class GlobalAccess public class GlobalAccess
{ {

View file

@ -1,13 +1,10 @@
package dark.core.access; package dark.prefab.access;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.Mod.ServerStarting; import cpw.mods.fml.common.Mod.ServerStarting;
import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent;
import dark.core.helpers.INbtSave;
import dark.core.helpers.SaveManager;
public class GlobalAccessLoader implements INbtSave public class GlobalAccessLoader
{ {
public static boolean isInitialized = false; public static boolean isInitialized = false;
@ -21,7 +18,7 @@ public class GlobalAccessLoader implements INbtSave
if (!isInitialized) if (!isInitialized)
{ {
MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(this);
SaveManager.intance.registerNbtSave(this); //SaveManager.intance.registerNbtSave(this);
isInitialized = true; isInitialized = true;
} }
} }
@ -35,21 +32,4 @@ public class GlobalAccessLoader implements INbtSave
} }
} }
@Override
public String saveFileName()
{
return GlobalAccessLoader.SAVE_NAME;
}
@Override
public NBTTagCompound getSaveData()
{
return GlobalAccessManager.getMasterSaveFile();
}
@Override
public boolean shouldSave(boolean isServer)
{
return isServer && GlobalAccessManager.hasLoaded && !GlobalAccessManager.loading;
}
} }

View file

@ -1,4 +1,4 @@
package dark.core.access; package dark.prefab.access;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -8,7 +8,7 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import dark.core.helpers.NBTFileLoader; import dark.prefab.helpers.NBTFileLoader;
public class GlobalAccessManager public class GlobalAccessManager
{ {

View file

@ -1,4 +1,4 @@
package dark.core.access; package dark.prefab.access;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package dark.core.damage; package dark.prefab.damage;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;

View file

@ -1,4 +1,4 @@
package dark.core.damage; package dark.prefab.damage;
import net.minecraft.potion.PotionEffect; import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;

View file

@ -1,4 +1,4 @@
package dark.core.damage; package dark.prefab.damage;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLiving;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
public interface IAutoCrafter public interface IAutoCrafter
{ {

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -11,7 +11,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
public class ItemFindingHelper public class ItemWorldHelper
{ {
/** gets all EntityItems in a location using a start and end point */ /** gets all EntityItems in a location using a start and end point */
@ -29,7 +29,7 @@ public class ItemFindingHelper
* @return a list of EntityItem that match the itemStacks desired */ * @return a list of EntityItem that match the itemStacks desired */
public static List<EntityItem> findSelectItems(World world, Vector3 start, Vector3 end, List<ItemStack> disiredItems) public static List<EntityItem> findSelectItems(World world, Vector3 start, Vector3 end, List<ItemStack> disiredItems)
{ {
List<EntityItem> entityItems = ItemFindingHelper.findAllItemIn(world, start, end); List<EntityItem> entityItems = ItemWorldHelper.findAllItemIn(world, start, end);
return filterEntityItemsList(entityItems, disiredItems); return filterEntityItemsList(entityItems, disiredItems);
} }
@ -90,43 +90,46 @@ public class ItemFindingHelper
} }
return newItemList; return newItemList;
} }
/** Drops an item stack at the exact center of the location without any velocity or random throw
* angle
*
* @param world - world to drop the item in
* @param x y z - location vector
* @param stack - itemstack to drop
* @return if the item was spawned in the world */
public static boolean dropItemStackExact(World world, double x, double y, double z, ItemStack stack)
{
if (!world.isRemote && stack != null)
{
EntityItem entity = new EntityItem(world, x, y, z, stack);
entity.delayBeforeCanPickup = 10;
return world.spawnEntityInWorld(entity);
}
return false;
}
/** grabs all the items that the block can drop then pass them onto dropBlockAsItem_do /** grabs all the items that the block can drop then pass them onto dropBlockAsItem_do
* *
* @param world * @param world
* @param x * @param x
* @param y * @param y
* @param z */ * @param z */
public static void dropBlockAsItem(World world, int x, int y, int z) public static void dropBlockAsItem(World world, Vector3 loc)
{ {
if (!world.isRemote) if (!world.isRemote)
{ {
int meta = world.getBlockMetadata(x, y, z); int meta = loc.getBlockMetadata(world);
int id = world.getBlockId(x, y, z); int id = loc.getBlockID(world);
ArrayList<ItemStack> items = Block.blocksList[id].getBlockDropped(world, x, y, z, meta, 0); ArrayList<ItemStack> items = Block.blocksList[id].getBlockDropped(world, loc.intX(), loc.intY(), loc.intZ(), meta, 0);
for (ItemStack item : items) for (ItemStack item : items)
{ {
dropItemStackExact(world, x + .5, y + .5, z + .5, item); dropItemStack(world, loc, item, false);
} }
} }
} }
public static ItemStack dropItemStack(World world, Vector3 location, ItemStack itemStack, boolean random)
{
if (!world.isRemote && world.getGameRules().getGameRuleBooleanValue("doTileDrops"))
{
float f = 0.7F;
double xx = 0;
double yy = 0;
double zz = 0;
if (random)
{
xx = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
yy = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
zz = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
}
EntityItem entityitem = new EntityItem(world, (double) location.x + xx, (double) location.y + yy, (double) location.z + zz, itemStack);
entityitem.delayBeforeCanPickup = 10;
world.spawnEntityInWorld(entityitem);
return null;
}
return itemStack;
}
} }

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;

View file

@ -1,8 +1,8 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.util.Random; import java.util.Random;
public class MathHelper public class MathHelper extends net.minecraft.util.MathHelper
{ {
/** Generates an array of random numbers /** Generates an array of random numbers
* *

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
public class Matrix4 public class Matrix4
{ {

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
/** Used by machines that only rotate to 4 directions /** Used by machines that only rotate to 4 directions
* *

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
public class Pair<L, R> public class Pair<L, R>
{ {

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;

View file

@ -1,4 +1,4 @@
package dark.core.helpers; package dark.prefab.helpers;
public class Triple<A, B, C> public class Triple<A, B, C>
{ {

View file

@ -1,10 +1,13 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
/** Allows the use of a tile inv without the need for a container class
*
* @author DarkGuardsman */
public class ContainerFake extends Container public class ContainerFake extends Container
{ {
TileEntity entity = null; TileEntity entity = null;

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
@ -8,7 +8,7 @@ import org.lwjgl.opengl.GL11;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class GuiButtonArrow extends GuiButton public class GuiButtonArrow extends GuiButton

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -19,9 +19,9 @@ import universalelectricity.core.vector.Vector2;
import universalelectricity.prefab.vector.Region2; import universalelectricity.prefab.vector.Region2;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
import dark.core.access.UserAccess;
import dark.interfaces.IScroll; import dark.interfaces.IScroll;
import dark.prefab.access.UserAccess;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class GuiGlobalList extends GuiContainer implements IScroll public class GuiGlobalList extends GuiContainer implements IScroll

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
/** Add this to a container class if using WatchedSlot to trigger the container on slot change */ /** Add this to a container class if using WatchedSlot to trigger the container on slot change */
public interface ISlotWatcher public interface ISlotWatcher

View file

@ -1,4 +1,4 @@
package dark.prefab; package dark.prefab.invgui;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;

View file

@ -1,4 +1,4 @@
package dark.core.gui; package dark.prefab.invgui;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.prefab.items;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -6,7 +6,7 @@ import net.minecraft.util.Icon;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.DarkMain; import dark.common.DarkMain;
public class ItemBasic extends Item public class ItemBasic extends Item
{ {

View file

@ -1,4 +1,4 @@
package dark.core.items; package dark.prefab.items;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;

View file

@ -1,4 +1,4 @@
package dark.core.terminal; package dark.prefab.terminal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package dark.core.terminal; package dark.prefab.terminal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,12 +1,12 @@
package dark.core.terminal; package dark.prefab.terminal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import dark.core.access.AccessLevel;
import dark.interfaces.ISpecialAccess; import dark.interfaces.ISpecialAccess;
import dark.interfaces.ITerminal; import dark.interfaces.ITerminal;
import dark.prefab.access.AccessLevel;
public class CommandUser extends TerminalCommand public class CommandUser extends TerminalCommand
{ {

View file

@ -1,4 +1,4 @@
package dark.core.terminal; package dark.prefab.terminal;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;

View file

@ -1,4 +1,4 @@
package dark.core.terminal; package dark.prefab.terminal;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package dark.core.terminal; package dark.prefab.terminal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
@ -20,11 +20,11 @@ import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.network.PacketDispatcher; import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.common.network.Player; import cpw.mods.fml.common.network.Player;
import dark.core.access.AccessLevel;
import dark.core.access.UserAccess;
import dark.interfaces.ISpecialAccess; import dark.interfaces.ISpecialAccess;
import dark.interfaces.ITerminal; import dark.interfaces.ITerminal;
import dark.prefab.TileEntityMachine; import dark.prefab.TileEntityMachine;
import dark.prefab.access.AccessLevel;
import dark.prefab.access.UserAccess;
/** @author Calclavia, DarkGuardsman */ /** @author Calclavia, DarkGuardsman */
public abstract class TileEntityTerminal extends TileEntityMachine implements ISpecialAccess, IPacketReceiver, ITerminal public abstract class TileEntityTerminal extends TileEntityMachine implements ISpecialAccess, IPacketReceiver, ITerminal

View file

@ -1,4 +1,4 @@
package dark.core.tile.network; package dark.prefab.tilenetwork;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;

View file

@ -1,4 +1,4 @@
package dark.core.tile.network; package dark.prefab.tilenetwork;
public class NetworkPowerWires public class NetworkPowerWires
{ {

View file

@ -1,4 +1,4 @@
package dark.core.tile.network; package dark.prefab.tilenetwork;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import universalelectricity.core.block.IElectricalStorage; import universalelectricity.core.block.IElectricalStorage;

View file

@ -1,4 +1,4 @@
package dark.core.tile.network; package dark.prefab.tilenetwork;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -12,8 +12,8 @@ import universalelectricity.core.path.Pathfinder;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import universalelectricity.core.vector.VectorHelper; import universalelectricity.core.vector.VectorHelper;
import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.FMLLog;
import dark.core.helpers.ConnectionHelper;
import dark.interfaces.INetworkPart; import dark.interfaces.INetworkPart;
import dark.prefab.helpers.ConnectionHelper;
public abstract class NetworkTileEntities public abstract class NetworkTileEntities
{ {