Merge branch 'master' into universal-wires

Conflicts:
	common/mekanism/induction/common/MekanismInduction.java
	resources/assets/mekanism/lang/en_US.lang
This commit is contained in:
Calclavia 2013-12-02 19:47:38 +08:00
commit 07332ca245
47 changed files with 402 additions and 333 deletions

View file

@ -35,7 +35,7 @@ public class ClientConnectionHandler implements IConnectionHandler
if(Mekanism.voiceServerEnabled)
{
try {
voiceClient = new VoiceClient(server, 36123);
voiceClient = new VoiceClient(server, Mekanism.VOICE_PORT);
voiceClient.run();
} catch(Exception e) {}
}
@ -47,7 +47,7 @@ public class ClientConnectionHandler implements IConnectionHandler
if(Mekanism.voiceServerEnabled)
{
try {
voiceClient = new VoiceClient(InetAddress.getLocalHost().getHostAddress(), 36123);
voiceClient = new VoiceClient(InetAddress.getLocalHost().getHostAddress(), Mekanism.VOICE_PORT);
voiceClient.run();
} catch(Exception e) {}
}

View file

@ -52,9 +52,9 @@ public class ClientPlayerTickHandler implements ITickHandler
{
if(!lastTickUpdate)
{
item.setState(stack, (byte)(item.getState(stack) < 2 ? item.getState(stack)+1 : 0));
item.setState(stack, (byte)(item.getState(stack) < 3 ? item.getState(stack)+1 : 0));
PacketHandler.sendPacket(Transmission.SERVER, new PacketConfiguratorState().setParams(item.getState(stack)));
entityPlayer.sendChatToPlayer(ChatMessageComponent.createFromText(EnumColor.DARK_BLUE + "[Mekanism] " + EnumColor.GREY + "Configure State: " + item.getColor(item.getState(stack)) + item.getState(item.getState(stack))));
entityPlayer.sendChatToPlayer(ChatMessageComponent.createFromText(EnumColor.DARK_BLUE + "[Mekanism] " + EnumColor.GREY + "Configure State: " + item.getColor(item.getState(stack)) + item.getStateDisplay(item.getState(stack))));
lastTickUpdate = true;
}
}

View file

@ -2,7 +2,6 @@ package mekanism.client.gui;
import mekanism.api.Object3D;
import mekanism.common.IRedstoneControl;
import mekanism.common.Mekanism;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.network.PacketSimpleGui;
@ -26,8 +25,6 @@ public class GuiConfigurationTab extends GuiElement
guiObj.drawTexturedModalRect(guiWidth - 26, guiHeight + 6, 0, 0, 26, 26);
IRedstoneControl control = (IRedstoneControl)tileEntity;
if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28)
{
guiObj.drawTexturedModalRect(guiWidth - 21, guiHeight + 10, 26, 0, 18, 18);
@ -44,8 +41,6 @@ public class GuiConfigurationTab extends GuiElement
{
mc.renderEngine.bindTexture(RESOURCE);
IRedstoneControl control = (IRedstoneControl)tileEntity;
if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28)
{
displayTooltip(MekanismUtils.localize("gui.configuration"), xAxis, yAxis);

View file

@ -28,6 +28,7 @@ public class GuiFactory extends GuiMekanism
guiElements.add(new GuiUpgradeManagement(this, tileEntity, tileEntity.tier.guiLocation));
guiElements.add(new GuiRecipeType(this, tileEntity, tileEntity.tier.guiLocation));
guiElements.add(new GuiConfigurationTab(this, tileEntity, tileEntity.tier.guiLocation));
guiElements.add(new GuiSortingTab(this, tileEntity, tileEntity.tier.guiLocation));
}
@Override

View file

@ -0,0 +1,73 @@
package mekanism.client.gui;
import java.util.ArrayList;
import mekanism.api.Object3D;
import mekanism.common.PacketHandler;
import mekanism.common.PacketHandler.Transmission;
import mekanism.common.network.PacketTileEntity;
import mekanism.common.tileentity.TileEntityFactory;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
public class GuiSortingTab extends GuiElement
{
public GuiSortingTab(GuiScreen gui, TileEntity tile, ResourceLocation def)
{
super(MekanismUtils.getResource(ResourceType.GUI, "GuiSortingTab.png"), gui, tile, def);
}
@Override
public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight)
{
mc.renderEngine.bindTexture(RESOURCE);
guiObj.drawTexturedModalRect(guiWidth - 26, guiHeight + 34, 0, 0, 26, 35);
if(xAxis >= -21 && xAxis <= -3 && yAxis >= 38 && yAxis <= 56)
{
guiObj.drawTexturedModalRect(guiWidth - 21, guiHeight + 38, 26, 0, 18, 18);
}
else {
guiObj.drawTexturedModalRect(guiWidth - 21, guiHeight + 38, 26, 18, 18, 18);
}
mc.renderEngine.bindTexture(defaultLocation);
}
@Override
public void renderForeground(int xAxis, int yAxis)
{
mc.renderEngine.bindTexture(RESOURCE);
getFontRenderer().drawString(((TileEntityFactory)tileEntity).sorting ? "On" : "Off", -21, 58, 0x0404040);
if(xAxis >= -21 && xAxis <= -3 && yAxis >= 38 && yAxis <= 56)
{
displayTooltip(MekanismUtils.localize("gui.factory.autoSort"), xAxis, yAxis);
}
mc.renderEngine.bindTexture(defaultLocation);
}
@Override
public void preMouseClicked(int xAxis, int yAxis, int button) {}
@Override
public void mouseClicked(int xAxis, int yAxis, int button)
{
if(button == 0)
{
if(xAxis >= -21 && xAxis <= -3 && yAxis >= 38 && yAxis <= 56)
{
ArrayList data = new ArrayList();
data.add(0);
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}
}
}

View file

@ -174,6 +174,7 @@ public class CommonProxy
Mekanism.FROM_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "JoulesToMJ", 25).getDouble(25);
Mekanism.TO_BC = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MJToJoules", .04).getDouble(.04);
Mekanism.ENERGY_PER_REDSTONE = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnergyPerRedstone", 10000).getDouble(10000);
Mekanism.VOICE_PORT = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "VoicePort", 36123).getInt();
Mekanism.TO_TE = Mekanism.TO_BC*10;
Mekanism.FROM_TE = Mekanism.FROM_BC/10;

View file

@ -100,7 +100,6 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.world.ChunkEvent;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import rebelkeithy.mods.metallurgy.api.IOreInfo;
import rebelkeithy.mods.metallurgy.api.MetallurgyAPI;
import thermalexpansion.api.crafting.CraftingManagers;
@ -204,7 +203,6 @@ public class Mekanism
public static Item TeleportationCore;
public static Item Configurator;
public static Item NetworkReader;
public static Item ManganeseAlloy;
public static Item WalkieTalkie;
public static Item ItemProxy;
@ -238,6 +236,7 @@ public class Mekanism
public static int obsidianTNTBlastRadius = 12;
public static int obsidianTNTDelay = 100;
public static int UPDATE_DELAY = 10;
public static int VOICE_PORT = 36123;
public static double ENERGY_PER_REDSTONE = 10000;
public static double TO_IC2;
@ -356,11 +355,8 @@ public class Mekanism
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(ControlCircuit), new Object[] {
"RER", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), EnrichedAlloy
}));
CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(new ItemStack(EnrichedIron, 2), new Object[] {
ManganeseAlloy, Item.ingotIron
}));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock, 1, 8), new Object[] {
"IFI", "CEC", "IFI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('F'), Block.furnaceIdle, Character.valueOf('C'), "circuitBasic", Character.valueOf('E'), EnrichedAlloy
"IFI", "ROR", "IFI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('F'), Block.furnaceIdle, Character.valueOf('R'), Item.redstone, Character.valueOf('O'), "ingotOsmium"
}));
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(TeleportationCore), new Object[] {
"LAL", "GDG", "LAL", Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('A'), AtomicCore, Character.valueOf('G'), Item.ingotGold, Character.valueOf('D'), Item.diamond
@ -467,7 +463,6 @@ public class Mekanism
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 0, new ItemStack(Item.ingotIron), 1.0F);
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 1, new ItemStack(Item.ingotGold), 1.0F);
FurnaceRecipes.smelting().addSmelting(Dust.itemID, 5, new ItemStack(Ingot, 1, 4), 1.0F);
FurnaceRecipes.smelting().addSmelting(EnrichedIron.itemID, 0, new ItemStack(EnrichedAlloy), 1.0F);
//Enrichment Chamber Recipes
RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreRedstone), new ItemStack(Item.redstone, 12));
@ -505,7 +500,9 @@ public class Mekanism
RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.obsidian), new ItemStack(Clump, 2, 6));
//Metallurgic Infuser Recipes
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("CARBON"), 10, new ItemStack(Item.ingotIron)), new ItemStack(EnrichedIron));
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("CARBON"), 10, new ItemStack(EnrichedIron)), new ItemStack(Dust, 1, 5));
RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("REDSTONE"), 10, new ItemStack(Item.ingotIron)), new ItemStack(EnrichedAlloy));
if(InfuseRegistry.contains("BIO"))
{
@ -517,9 +514,7 @@ public class Mekanism
InfuseRegistry.registerInfuseObject(new ItemStack(Item.coal, 1, 0), new InfuseObject(InfuseRegistry.get("CARBON"), 10));
InfuseRegistry.registerInfuseObject(new ItemStack(Item.coal, 1, 1), new InfuseObject(InfuseRegistry.get("CARBON"), 20));
InfuseRegistry.registerInfuseObject(new ItemStack(CompressedCarbon), new InfuseObject(InfuseRegistry.get("CARBON"), 100));
//Smelting
FurnaceRecipes.smelting().addSmelting(Block.dirt.blockID, new ItemStack(ManganeseAlloy, 2), 0);
InfuseRegistry.registerInfuseObject(new ItemStack(Item.redstone), new InfuseObject(InfuseRegistry.get("REDSTONE"), 10));
}
/**
@ -550,7 +545,7 @@ public class Mekanism
DirtyDust = new ItemDirtyDust(configuration.getItem("DirtyDust", 11220).getInt()-256);
Configurator = new ItemConfigurator(configuration.getItem("Configurator", 11221).getInt()).setUnlocalizedName("Configurator");
NetworkReader = new ItemNetworkReader(configuration.getItem("NetworkReader", 11222).getInt()).setUnlocalizedName("NetworkReader");
ManganeseAlloy = new ItemMekanism(configuration.getItem("ManganeseAlloy", 11223).getInt()).setUnlocalizedName("ManganeseAlloy");
//OPEN 11223
WalkieTalkie = new ItemWalkieTalkie(configuration.getItem("WalkieTalkie", 11224).getInt()).setUnlocalizedName("WalkieTalkie");
configuration.save();
@ -575,7 +570,6 @@ public class Mekanism
GameRegistry.registerItem(DirtyDust, "DirtyDust");
GameRegistry.registerItem(Configurator, "Configurator");
GameRegistry.registerItem(NetworkReader, "NetworkReader");
GameRegistry.registerItem(ManganeseAlloy, "MaganeseAlloy");
GameRegistry.registerItem(WalkieTalkie, "WalkieTalkie");
}
@ -1097,6 +1091,7 @@ public class Mekanism
InfuseRegistry.registerInfuseType(new InfuseType("CARBON", MekanismUtils.getResource(ResourceType.INFUSE, "Infusions.png"), 0, 0));
InfuseRegistry.registerInfuseType(new InfuseType("TIN", MekanismUtils.getResource(ResourceType.INFUSE, "Infusions.png"), 4, 0));
InfuseRegistry.registerInfuseType(new InfuseType("DIAMOND", MekanismUtils.getResource(ResourceType.INFUSE, "Infusions.png"), 8, 0));
InfuseRegistry.registerInfuseType(new InfuseType("REDSTONE", MekanismUtils.getResource(ResourceType.INFUSE, "Infusions.png"), 16, 0));
}
@EventHandler

View file

@ -547,7 +547,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityplayer, int facing, float playerX, float playerY, float playerZ)
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityplayer, int facing, float posX, float posY, float posZ)
{
if(ItemAttacher.canAttach(entityplayer.getCurrentEquippedItem()))
{

View file

@ -15,6 +15,8 @@ import cpw.mods.fml.relauncher.SideOnly;
/**
* Block class for handling multiple ore block IDs.
* 0: Osmium Ore
* 1: Copper Ore
* 2: Tin Ore
* @author AidanBrady
*
*/
@ -35,19 +37,15 @@ public class BlockOre extends Block
public void registerIcons(IconRegister register)
{
icons[0] = register.registerIcon("mekanism:OsmiumOre");
icons[1] = register.registerIcon("mekanism:CopperOre");
icons[2] = register.registerIcon("mekanism:TinOre");
}
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(int side, int meta)
{
switch(meta)
{
case 0:
return icons[0];
}
return null;
return icons[meta];
}
@Override
@ -61,5 +59,7 @@ public class BlockOre extends Block
public void getSubBlocks(int i, CreativeTabs creativetabs, List list)
{
list.add(new ItemStack(i, 1, 0));
list.add(new ItemStack(i, 1, 1));
list.add(new ItemStack(i, 1, 2));
}
}

View file

@ -16,6 +16,8 @@ import net.minecraft.util.Icon;
/**
* Item class for handling multiple ore block IDs.
* 0: Osmium Ore
* 1: Copper Ore
* 2: Tin Ore
* @author AidanBrady
*
*/
@ -71,6 +73,12 @@ public class ItemBlockOre extends ItemBlock
case 0:
name = "OsmiumOre";
break;
case 1:
name = "CopperOre";
break;
case 2:
name = "TinOre";
break;
default:
name = "Unknown";
break;

View file

@ -40,7 +40,20 @@ public class ItemConfigurator extends ItemEnergized
public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag)
{
super.addInformation(itemstack, entityplayer, list, flag);
list.add(EnumColor.PINK + "State: " + EnumColor.GREY + getState(getState(itemstack)));
list.add(EnumColor.PINK + MekanismUtils.localize("gui.state") + ": " + EnumColor.GREY + getStateDisplay(getState(itemstack)));
if(getState(itemstack) == 3)
{
if(hasLink(itemstack))
{
Object3D obj = getLink(itemstack);
list.add(EnumColor.GREY + MekanismUtils.localize("tooltip.configurator.linkMsg") + " " + EnumColor.INDIGO + MekanismUtils.getCoordDisplay(obj) + EnumColor.GREY + ", " + MekanismUtils.localize("tooltip.configurator.dim") + " " + EnumColor.INDIGO + obj.dimensionId);
}
else {
list.add(EnumColor.GREY + MekanismUtils.localize("tooltip.configurator.noLink"));
}
}
}
@Override
@ -174,6 +187,17 @@ public class ItemConfigurator extends ItemEnergized
world.playSoundEffect(x, y, z, "random.click", 1.0F, 1.0F);
}
return true;
}
}
else if(getState(stack) == 3)
{
if(!world.isRemote && player.isSneaking())
{
Object3D obj = new Object3D(x, y, z, world.provider.dimensionId);
player.addChatMessage(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Set link to block " + EnumColor.INDIGO + MekanismUtils.getCoordDisplay(obj) + EnumColor.GREY + ", dimension " + EnumColor.INDIGO + obj.dimensionId);
setLink(stack, obj);
return true;
}
}
@ -182,7 +206,7 @@ public class ItemConfigurator extends ItemEnergized
return false;
}
public String getState(int state)
public String getStateDisplay(int state)
{
switch(state)
{
@ -192,6 +216,8 @@ public class ItemConfigurator extends ItemEnergized
return MekanismUtils.localize("tooltip.configurator.empty");
case 2:
return MekanismUtils.localize("tooltip.configurator.wrench");
case 3:
return MekanismUtils.localize("tooltip.configurator.link");
}
return "unknown";
@ -207,6 +233,8 @@ public class ItemConfigurator extends ItemEnergized
return EnumColor.AQUA;
case 2:
return EnumColor.YELLOW;
case 3:
return EnumColor.PINK;
}
return EnumColor.GREY;
@ -238,6 +266,36 @@ public class ItemConfigurator extends ItemEnergized
return state;
}
public boolean hasLink(ItemStack itemStack)
{
return getLink(itemStack) != null;
}
public Object3D getLink(ItemStack itemStack)
{
if(itemStack.stackTagCompound == null || !itemStack.getTagCompound().hasKey("position"))
{
return null;
}
return Object3D.read(itemStack.getTagCompound().getCompoundTag("position"));
}
public void setLink(ItemStack itemStack, Object3D obj)
{
if(itemStack.getTagCompound() == null)
{
itemStack.setTagCompound(new NBTTagCompound());
}
itemStack.getTagCompound().setCompoundTag("position", obj.write(new NBTTagCompound()));
}
public void clearLink(ItemStack itemStack)
{
itemStack.getTagCompound().removeTag("position");
}
@Override
public boolean canSend(ItemStack itemStack)

View file

@ -11,7 +11,7 @@ import net.minecraft.util.Icon;
public class ItemIngot extends ItemMekanism
{
public Icon[] icons = new Icon[256];
public static String[] en_USNames = {"Obsidian", "Osmium", "Bronze", "Glowstone", "Steel"};
public static String[] en_USNames = {"Obsidian", "Osmium", "Bronze", "Glowstone", "Steel", "Copper", "Tin"};
public ItemIngot(int id)
{
@ -38,7 +38,7 @@ public class ItemIngot extends ItemMekanism
@Override
public void getSubItems(int id, CreativeTabs tabs, List itemList)
{
for (int counter = 0; counter <= 4; ++counter)
for (int counter = 0; counter <= 6; ++counter)
{
itemList.add(new ItemStack(this, 1, counter));
}

View file

@ -84,6 +84,8 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
/** This machine's previous amount of energy. */
public double prevEnergy;
public boolean sorting;
public int secondaryEnergyStored;
/** This machine's current RedstoneControl type. */
@ -152,7 +154,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
ChargeUtils.discharge(1, this);
handleSecondaryFuel();
//sortInventory();
sortInventory();
if(inventory[2] != null && inventory[3] == null)
{
@ -248,63 +250,52 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
public void sortInventory()
{
boolean didOp = false;
int[] inputSlots = null;
List<InvID> invStacks = new ArrayList<InvID>();
List<Integer> nullSlots = new ArrayList<Integer>();
List<Integer> fullSlots = new ArrayList<Integer>();
if(tier == FactoryTier.BASIC)
if(sorting)
{
inputSlots = new int[] {5, 6, 7};
}
else if(tier == FactoryTier.ADVANCED)
{
inputSlots = new int[] {5, 6, 7, 8, 9};
}
else if(tier == FactoryTier.ELITE)
{
inputSlots = new int[] {5, 6, 7, 8, 9, 10, 11};
}
for(int id : inputSlots)
{
invStacks.add(InvID.get(id, inventory));
boolean didOp = false;
if(inventory[id] == null)
int[] inputSlots = null;
List<InvID> invStacks = new ArrayList<InvID>();
if(tier == FactoryTier.BASIC)
{
nullSlots.add(id);
inputSlots = new int[] {5, 6, 7};
}
else if(inventory[id].stackSize > 1)
else if(tier == FactoryTier.ADVANCED)
{
fullSlots.add(id);
inputSlots = new int[] {5, 6, 7, 8, 9};
}
}
Collections.sort(invStacks);
for(InvID invID1 : invStacks)
{
for(InvID invID2 : invStacks)
else if(tier == FactoryTier.ELITE)
{
if(invID1.ID == invID2.ID || StackUtils.diffIgnoreNull(invID1.stack, invID2.stack) || Math.abs(invID1.size()-invID2.size()) < 2) continue;
List<ItemStack> evened = StackUtils.even(inventory[invID1.ID], inventory[invID2.ID]);
inventory[invID1.ID] = evened.get(0);
inventory[invID2.ID] = evened.get(1);
didOp = true;
break;
inputSlots = new int[] {5, 6, 7, 8, 9, 10, 11};
}
if(didOp) break;
for(int id : inputSlots)
{
invStacks.add(InvID.get(id, inventory));
}
for(InvID invID1 : invStacks)
{
for(InvID invID2 : invStacks)
{
if(invID1.ID == invID2.ID || StackUtils.diffIgnoreNull(invID1.stack, invID2.stack) || Math.abs(invID1.size()-invID2.size()) < 2) continue;
List<ItemStack> evened = StackUtils.even(inventory[invID1.ID], inventory[invID2.ID]);
inventory[invID1.ID] = evened.get(0);
inventory[invID2.ID] = evened.get(1);
didOp = true;
break;
}
if(didOp) break;
}
}
}
public static class InvID implements Comparable<InvID>
public static class InvID
{
public ItemStack stack;
public int ID;
@ -324,29 +315,6 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
{
return stack != null ? stack.itemID : 0;
}
@Override
public int compareTo(InvID arg0)
{
if(arg0.id() < id())
{
return 1;
}
else if(arg0.id() > id())
{
return -1;
}
else if(arg0.size() < size())
{
return 1;
}
else if(arg0.size() > size())
{
return -1;
}
return 0;
}
public static InvID get(int id, ItemStack[] inv)
{
@ -572,6 +540,18 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
@Override
public void handlePacketData(ByteArrayDataInput dataStream)
{
if(!worldObj.isRemote)
{
int type = dataStream.readInt();
if(type == 0)
{
sorting = !sorting;
}
return;
}
super.handlePacketData(dataStream);
clientActive = dataStream.readBoolean();
@ -579,6 +559,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
recipeTicks = dataStream.readInt();
controlType = RedstoneControl.values()[dataStream.readInt()];
secondaryEnergyStored = dataStream.readInt();
sorting = dataStream.readBoolean();
for(int i = 0; i < tier.processes; i++)
{
@ -608,6 +589,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
recipeTicks = nbtTags.getInteger("recipeTicks");
controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")];
secondaryEnergyStored = nbtTags.getInteger("secondaryEnergyStored");
sorting = nbtTags.getBoolean("sorting");
for(int i = 0; i < tier.processes; i++)
{
@ -633,6 +615,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
nbtTags.setInteger("recipeTicks", recipeTicks);
nbtTags.setInteger("controlType", controlType.ordinal());
nbtTags.setInteger("secondaryEnergyStored", secondaryEnergyStored);
nbtTags.setBoolean("sorting", sorting);
for(int i = 0; i < tier.processes; i++)
{
@ -657,6 +640,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip
data.add(recipeTicks);
data.add(controlType.ordinal());
data.add(secondaryEnergyStored);
data.add(sorting);
data.add(progress);
data.add(sideConfig);

View file

@ -1121,6 +1121,11 @@ public final class MekanismUtils
return Mekanism.hooks.BuildCraftLoaded || Mekanism.forceBuildcraft;
}
public static String getCoordDisplay(Object3D obj)
{
return "[" + obj.xCoord + ", " + obj.yCoord + ", " + obj.zCoord + "]";
}
public static enum ResourceType
{
GUI("gui"),

View file

@ -23,10 +23,10 @@ public final class StackUtils
}
int remain = stack.stackSize % 2;
int split = (int)((float)stack.stackSize/2F);
int split = (int)((float)(stack.stackSize)/2F);
ret.add(MekanismUtils.size(stack, split+remain));
ret.add(MekanismUtils.size(stack, split));
ret.add(size(stack, split+remain));
ret.add(size(stack, split));
return ret;
}
@ -60,7 +60,7 @@ public final class StackUtils
List<ItemStack> split = split(size(stack1, diff));
ret.add(subtract(stack1, split.get(0)));
ret.add(add(stack2, split.get(1)));
ret.add(add(stack2, split.get(0)));
}
else if(getSize(stack2) > getSize(stack1))
{
@ -69,7 +69,7 @@ public final class StackUtils
List<ItemStack> split = split(size(stack2, diff));
ret.add(subtract(stack2, split.get(0)));
ret.add(add(stack1, split.get(1)));
ret.add(add(stack1, split.get(0)));
}
return ret;

View file

@ -6,13 +6,7 @@ import java.net.SocketException;
import java.util.HashSet;
import java.util.Set;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.NetLoginHandler;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet1Login;
import net.minecraft.server.MinecraftServer;
import cpw.mods.fml.common.network.IConnectionHandler;
import cpw.mods.fml.common.network.Player;
import mekanism.common.Mekanism;
public class VoiceServerManager
{
@ -31,7 +25,7 @@ public class VoiceServerManager
System.out.println("[Mekanism] VoiceServer: Starting up server...");
try {
serverSocket = new ServerSocket(36123);
serverSocket = new ServerSocket(Mekanism.VOICE_PORT);
(listenThread = new ListenThread()).start();
} catch(Exception e) {}

View file

@ -68,7 +68,14 @@ public class GuiMultimeter extends GuiContainer
ArrayList data = new ArrayList();
data.add((byte)3);
data.add(Float.parseFloat(textFieldLimit.getText()));
if(!textFieldLimit.getText().isEmpty())
{
data.add(Float.parseFloat(textFieldLimit.getText()));
}
else {
data.add(0);
}
PacketHandler.sendPacket(Transmission.SERVER, new PacketTileEntity().setParams(Object3D.get(tileEntity), data));
}

View file

@ -20,7 +20,6 @@ import mekanism.induction.common.furnace.TileEntityAdvancedFurnace;
import mekanism.induction.common.item.ItemBlockContractor;
import mekanism.induction.common.item.ItemBlockMultimeter;
import mekanism.induction.common.item.ItemBlockWire;
import mekanism.induction.common.item.ItemLinker;
import mekanism.induction.common.tileentity.TileEntityBattery;
import mekanism.induction.common.tileentity.TileEntityEMContractor;
import mekanism.induction.common.tileentity.TileEntityMultimeter;
@ -103,8 +102,6 @@ public class MekanismInduction implements IModule
return NEXT_ITEM_ID++;
}
// Items
public static Item Linker;
/** With Forge Multipart; Use EnumWireMaterial reference. **/
private static Item itemPartWire;
@ -143,9 +140,7 @@ public class MekanismInduction implements IModule
TileEntityEMContractor.MAX_SPEED = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Contractor Max Item Speed", TileEntityEMContractor.MAX_SPEED).getDouble(TileEntityEMContractor.MAX_SPEED);
TileEntityEMContractor.PUSH_DELAY = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Contractor Item Push Delay", TileEntityEMContractor.PUSH_DELAY).getInt(TileEntityEMContractor.PUSH_DELAY);
// Items
Linker = new ItemLinker(Mekanism.configuration.get(Mekanism.configuration.CATEGORY_ITEM, "Linker", getNextItemID()).getInt()).setUnlocalizedName("Linker");
//Register Items
if (Loader.isModLoaded("ForgeMultipart"))
{
try
@ -188,8 +183,6 @@ public class MekanismInduction implements IModule
Mekanism.configuration.save();
GameRegistry.registerItem(Linker, "Linker");
GameRegistry.registerBlock(Tesla, "Tesla");
GameRegistry.registerBlock(Multimeter, ItemBlockMultimeter.class, "Multimeter");
GameRegistry.registerBlock(ElectromagneticContractor, ItemBlockContractor.class, "ElectromagneticContractor");
@ -255,15 +248,11 @@ public class MekanismInduction implements IModule
@EventHandler
public void postInit(FMLPostInitializationEvent evt)
{
/**
* Recipes
*/
final ItemStack defaultWire = EnumWireMaterial.IRON.getWire();
/** Linker **/
GameRegistry.addRecipe(new MekanismRecipe(new ItemStack(Linker), new Object[] { " E ", "GCG", " E ", 'E', Item.eyeOfEnder, 'C', Mekanism.EnergyTablet.getUnchargedItem(), 'G', "ingotOsmium" }));
/** Tesla - by Jyzarc */
GameRegistry.addRecipe(new MekanismRecipe(new ItemStack(Tesla), new Object[] { "WEW", " C ", " I ", 'W', Mekanism.EnrichedAlloy, 'E', Item.eyeOfEnder, 'C', Mekanism.EnergyTablet.getUnchargedItem(), 'I', new ItemStack(Mekanism.BasicBlock, 1, 8) }));

View file

@ -1,9 +1,11 @@
package mekanism.induction.common.block;
import mekanism.api.EnumColor;
import mekanism.api.Object3D;
import mekanism.common.Mekanism;
import mekanism.common.item.ItemConfigurator;
import mekanism.common.util.MekanismUtils;
import mekanism.induction.client.render.BlockRenderingHandler;
import mekanism.induction.common.item.ItemCoordLink;
import mekanism.induction.common.tileentity.TileEntityEMContractor;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
@ -36,42 +38,46 @@ public class BlockEMContractor extends Block implements ITileEntityProvider
}
@Override
public boolean onBlockActivated(World world, int par2, int par3, int par4, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float posX, float posY, float posZ)
{
TileEntityEMContractor contractor = (TileEntityEMContractor) world.getBlockTileEntity(par2, par3, par4);
TileEntityEMContractor contractor = (TileEntityEMContractor)world.getBlockTileEntity(x, y, z);
if(entityPlayer.getCurrentEquippedItem() != null)
if(player.getCurrentEquippedItem() != null)
{
if(entityPlayer.getCurrentEquippedItem().itemID == Item.dyePowder.itemID)
if(player.getCurrentEquippedItem().itemID == Item.dyePowder.itemID)
{
contractor.setDye(entityPlayer.getCurrentEquippedItem().getItemDamage());
contractor.setDye(player.getCurrentEquippedItem().getItemDamage());
if(!entityPlayer.capabilities.isCreativeMode)
if(!player.capabilities.isCreativeMode)
{
entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
return true;
}
else if(entityPlayer.getCurrentEquippedItem().getItem() instanceof ItemCoordLink)
else if(player.getCurrentEquippedItem().getItem() instanceof ItemConfigurator)
{
ItemCoordLink link = ((ItemCoordLink) entityPlayer.getCurrentEquippedItem().getItem());
Object3D linkVec = link.getLink(entityPlayer.getCurrentEquippedItem());
if(linkVec != null)
ItemConfigurator item = ((ItemConfigurator)player.getCurrentEquippedItem().getItem());
if(item.getState(player.getCurrentEquippedItem()) == 3)
{
if(linkVec.getTileEntity(world) instanceof TileEntityEMContractor)
Object3D linkVec = item.getLink(player.getCurrentEquippedItem());
if(linkVec != null)
{
contractor.setLink((TileEntityEMContractor) linkVec.getTileEntity(world), true);
if(world.isRemote)
if(linkVec.getTileEntity(world) instanceof TileEntityEMContractor)
{
entityPlayer.addChatMessage("Linked " + getLocalizedName() + " with " + " [" + (int) linkVec.xCoord + ", " + (int) linkVec.yCoord + ", " + (int) linkVec.zCoord + "]");
contractor.setLink((TileEntityEMContractor)linkVec.getTileEntity(world), true);
if(world.isRemote)
{
player.addChatMessage(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + MekanismUtils.localize("text.contractor.success") + "!");
}
item.clearLink(player.getCurrentEquippedItem());
return true;
}
link.clearLink(entityPlayer.getCurrentEquippedItem());
return true;
}
}
@ -79,7 +85,7 @@ public class BlockEMContractor extends Block implements ITileEntityProvider
}
}
if(!entityPlayer.isSneaking())
if(!player.isSneaking())
{
contractor.incrementFacing();
}
@ -94,7 +100,7 @@ public class BlockEMContractor extends Block implements ITileEntityProvider
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, int blockID)
{
TileEntityEMContractor tileContractor = (TileEntityEMContractor) world.getBlockTileEntity(x, y, z);
TileEntityEMContractor tileContractor = (TileEntityEMContractor)world.getBlockTileEntity(x, y, z);
if(!world.isRemote && !tileContractor.isLatched())
{

View file

@ -3,10 +3,12 @@
*/
package mekanism.induction.common.block;
import mekanism.api.EnumColor;
import mekanism.api.Object3D;
import mekanism.common.Mekanism;
import mekanism.common.item.ItemConfigurator;
import mekanism.common.util.MekanismUtils;
import mekanism.induction.client.render.BlockRenderingHandler;
import mekanism.induction.common.item.ItemCoordLink;
import mekanism.induction.common.tileentity.TileEntityTesla;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
@ -29,8 +31,8 @@ public class BlockTesla extends Block implements ITileEntityProvider
public BlockTesla(int id)
{
super(id, Material.piston);
this.setCreativeTab(Mekanism.tabMekanism);
this.setTextureName("mekanism:machine");
setCreativeTab(Mekanism.tabMekanism);
setTextureName("mekanism:machine");
setHardness(5F);
setResistance(10F);
}
@ -44,64 +46,68 @@ public class BlockTesla extends Block implements ITileEntityProvider
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
{
TileEntity t = world.getBlockTileEntity(x, y, z);
TileEntityTesla tileEntity = ((TileEntityTesla) t).getControllingTelsa();
if(entityPlayer.getCurrentEquippedItem() != null)
if(player.getCurrentEquippedItem() != null)
{
if(entityPlayer.getCurrentEquippedItem().itemID == Item.dyePowder.itemID)
if(player.getCurrentEquippedItem().itemID == Item.dyePowder.itemID)
{
tileEntity.setDye(entityPlayer.getCurrentEquippedItem().getItemDamage());
tileEntity.setDye(player.getCurrentEquippedItem().getItemDamage());
if(!entityPlayer.capabilities.isCreativeMode)
if(!player.capabilities.isCreativeMode)
{
entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
return true;
}
else if(entityPlayer.getCurrentEquippedItem().itemID == Item.redstone.itemID)
else if(player.getCurrentEquippedItem().itemID == Item.redstone.itemID)
{
boolean status = tileEntity.toggleEntityAttack();
if(!entityPlayer.capabilities.isCreativeMode)
if(!player.capabilities.isCreativeMode)
{
entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
if(!world.isRemote)
{
entityPlayer.addChatMessage("Toggled entity attack to: " + status);
player.addChatMessage("Toggled entity attack to: " + status);
}
return true;
}
else if(entityPlayer.getCurrentEquippedItem().getItem() instanceof ItemCoordLink)
else if(player.getCurrentEquippedItem().getItem() instanceof ItemConfigurator)
{
if(tileEntity.linked == null)
{
ItemCoordLink link = ((ItemCoordLink) entityPlayer.getCurrentEquippedItem().getItem());
Object3D linkObj = link.getLink(entityPlayer.getCurrentEquippedItem());
if(linkObj != null)
ItemConfigurator item = ((ItemConfigurator)player.getCurrentEquippedItem().getItem());
if(item.getState(player.getCurrentEquippedItem()) == 3)
{
if(!world.isRemote)
Object3D linkObj = item.getLink(player.getCurrentEquippedItem());
if(linkObj != null)
{
int dimID = link.getLinkDim(entityPlayer.getCurrentEquippedItem());
World otherWorld = MinecraftServer.getServer().worldServerForDimension(dimID);
if(linkObj.getTileEntity(otherWorld) instanceof TileEntityTesla)
if(!world.isRemote)
{
tileEntity.setLink(new Vector3(((TileEntityTesla) linkObj.getTileEntity(otherWorld)).getTopTelsa()), dimID, true);
entityPlayer.addChatMessage("Linked " + this.getLocalizedName() + " with " + " [" + (int) linkObj.xCoord + ", " + (int) linkObj.yCoord + ", " + (int) linkObj.zCoord + "]");
link.clearLink(entityPlayer.getCurrentEquippedItem());
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "ambient.weather.thunder", 5, 1);
return true;
int dimID = item.getLink(player.getCurrentEquippedItem()).dimensionId;
World otherWorld = MinecraftServer.getServer().worldServerForDimension(dimID);
if(linkObj.getTileEntity(otherWorld) instanceof TileEntityTesla)
{
tileEntity.setLink(new Vector3(((TileEntityTesla)linkObj.getTileEntity(otherWorld)).getTopTelsa()), dimID, true);
player.addChatMessage(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + MekanismUtils.localize("text.tesla.success") + "!");
item.clearLink(player.getCurrentEquippedItem());
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "ambient.weather.thunder", 5, 1);
return true;
}
}
}
}
@ -111,7 +117,7 @@ public class BlockTesla extends Block implements ITileEntityProvider
if(!world.isRemote)
{
entityPlayer.addChatMessage("Unlinked Tesla.");
player.addChatMessage("Unlinked Tesla.");
}
return true;
@ -123,10 +129,10 @@ public class BlockTesla extends Block implements ITileEntityProvider
if(world.isRemote)
{
entityPlayer.addChatMessage("Tesla receive mode is now " + receiveMode);
player.addChatMessage("Tesla receive mode is now " + receiveMode);
}
return true;
}
return false;

View file

@ -1,88 +0,0 @@
/**
*
*/
package mekanism.induction.common.item;
import java.util.List;
import mekanism.api.Object3D;
import mekanism.common.item.ItemMekanism;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* @author Calclavia
*
*/
public abstract class ItemCoordLink extends ItemMekanism
{
public ItemCoordLink(String name, int id)
{
super(id);
this.setMaxStackSize(1);
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag)
{
super.addInformation(itemstack, entityplayer, list, flag);
if (hasLink(itemstack))
{
Object3D obj = getLink(itemstack);
int dimID = getLinkDim(itemstack);
list.add("Bound to [" + (int) obj.xCoord + ", " + (int) obj.yCoord + ", " + (int) obj.zCoord + "], dimension '" + dimID + "'");
}
else
{
list.add("No block bound");
}
}
public boolean hasLink(ItemStack itemStack)
{
return getLink(itemStack) != null;
}
public Object3D getLink(ItemStack itemStack)
{
if (itemStack.stackTagCompound == null || !itemStack.getTagCompound().hasKey("position"))
{
return null;
}
return Object3D.read(itemStack.getTagCompound().getCompoundTag("position"));
}
public void setLink(ItemStack itemStack, Object3D obj, int dimID)
{
if (itemStack.getTagCompound() == null)
{
itemStack.setTagCompound(new NBTTagCompound());
}
itemStack.getTagCompound().setCompoundTag("position", obj.write(new NBTTagCompound()));
itemStack.stackTagCompound.setInteger("dimID", dimID);
}
public int getLinkDim(ItemStack itemStack)
{
if (itemStack.stackTagCompound == null)
{
return 0;
}
return itemStack.stackTagCompound.getInteger("dimID");
}
public void clearLink(ItemStack itemStack)
{
itemStack.getTagCompound().removeTag("position");
itemStack.getTagCompound().removeTag("dimID");
}
}

View file

@ -1,34 +0,0 @@
/**
*
*/
package mekanism.induction.common.item;
import mekanism.api.Object3D;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
/**
* @author Calclavia
*
*/
public class ItemLinker extends ItemCoordLink
{
public ItemLinker(int id)
{
super("linker", id);
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
if (!world.isRemote)
{
int dimID = world.provider.dimensionId;
player.addChatMessage("Set link to block [" + x + ", " + y + ", " + z + "], dimension '" + dimID + "'");
this.setLink(stack, new Object3D(x, y, z), dimID);
}
return true;
}
}

View file

@ -165,7 +165,6 @@ public class TileEntityBattery extends TileEntityElectricBlock
//Main inventory
if(nbtTags.hasKey("CellItems"))
{
System.out.println("yay");
NBTTagList tagList = nbtTags.getTagList("CellItems");
structure.inventory = new ArrayList<ItemStack>();

View file

@ -134,7 +134,6 @@ public class TileEntityTesla extends TileEntityElectricBlock implements ITesla
{
if(new Vector3((TileEntity)tesla).distance(new Vector3(this)) < getRange())
{
//Make sure Tesla is not part of this tower.
if(!connectedTeslas.contains(tesla) && tesla.canReceive(this))
{
@ -257,7 +256,7 @@ public class TileEntityTesla extends TileEntityElectricBlock implements ITesla
@Override
public boolean canReceive(TileEntity tileEntity)
{
return canReceive && !outputBlacklist.contains(tileEntity) && getRequest(ForgeDirection.UNKNOWN) > 0;
return canReceive && !outputBlacklist.contains(tileEntity) && getMaxEnergy()-getEnergy() > 0;
}
@Override
@ -528,19 +527,19 @@ public class TileEntityTesla extends TileEntityElectricBlock implements ITesla
}
@Override
public void writeToNBT(NBTTagCompound nbt)
public void writeToNBT(NBTTagCompound nbtTags)
{
super.writeToNBT(nbt);
nbt.setInteger("dyeID", dyeID);
nbt.setBoolean("canReceive", canReceive);
nbt.setBoolean("attackEntities", attackEntities);
super.writeToNBT(nbtTags);
nbtTags.setInteger("dyeID", dyeID);
nbtTags.setBoolean("canReceive", canReceive);
nbtTags.setBoolean("attackEntities", attackEntities);
if(linked != null)
{
nbt.setInteger("link_x", (int)linked.x);
nbt.setInteger("link_y", (int)linked.y);
nbt.setInteger("link_z", (int)linked.z);
nbt.setInteger("linkDim", linkDim);
nbtTags.setInteger("link_x", (int)linked.x);
nbtTags.setInteger("link_y", (int)linked.y);
nbtTags.setInteger("link_z", (int)linked.z);
nbtTags.setInteger("linkDim", linkDim);
}
}

View file

@ -23,6 +23,7 @@ import buildcraft.api.power.IPowerReceptor;
import buildcraft.api.power.PowerHandler;
import buildcraft.api.power.PowerHandler.PowerReceiver;
import buildcraft.api.power.PowerHandler.Type;
import cofh.api.energy.IEnergyHandler;
/**
* A universal conductor class.
@ -33,7 +34,7 @@ import buildcraft.api.power.PowerHandler.Type;
* @author Calclavia, micdoodle8
*
*/
public abstract class TileEntityUniversalConductor extends TileEntityConductor implements IEnergySink, IPowerReceptor
public abstract class TileEntityUniversalConductor extends TileEntityConductor implements IEnergySink, IPowerReceptor, IEnergyHandler
{
protected boolean isAddedToEnergyNet;
public PowerHandler powerHandler;
@ -65,7 +66,7 @@ public abstract class TileEntityUniversalConductor extends TileEntityConductor i
this.adjacentConnections[i] = tileEntity;
}
}
else if (Compatibility.isIndustrialCraft2Loaded() && tileEntity instanceof IEnergyTile)
else if (tileEntity instanceof IEnergyTile)
{
if (tileEntity instanceof IEnergyAcceptor)
{
@ -87,23 +88,26 @@ public abstract class TileEntityUniversalConductor extends TileEntityConductor i
this.adjacentConnections[i] = tileEntity;
}
else if (Compatibility.isBuildcraftLoaded() && tileEntity instanceof IPowerReceptor)
else if (tileEntity instanceof IPowerReceptor)
{
if (((IPowerReceptor) tileEntity).getPowerReceiver(side.getOpposite()) != null)
{
this.adjacentConnections[i] = tileEntity;
}
}
else if (tileEntity instanceof IEnergyHandler)
{
if (((IEnergyHandler) tileEntity).canInterface(side.getOpposite()))
{
this.adjacentConnections[i] = tileEntity;
}
}
}
}
return this.adjacentConnections;
}
/*
* @Override public boolean canUpdate() { return !this.isAddedToEnergyNet; }
*/
@Override
public void updateEntity()
{
@ -185,7 +189,7 @@ public abstract class TileEntityUniversalConductor extends TileEntityConductor i
}
/**
* BuildCraft functions
* BuildCraft Functions
*/
@Override
public PowerReceiver getPowerReceiver(ForgeDirection side)
@ -214,4 +218,51 @@ public abstract class TileEntityUniversalConductor extends TileEntityConductor i
{
return this.getWorldObj();
}
/**
* Thermal Expansion Functions
*/
@Override
public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate)
{
ElectricityPack pack = ElectricityPack.getFromWatts(maxReceive * Compatibility.TE_RATIO, 1);
float request = this.getMaxEnergyStored(from);
if (!simulate)
{
if (request > 0)
{
return (int) (maxReceive - (this.getNetwork().produce(pack, new Vector3(this).modifyPositionFromSide(from).getTileEntity(this.worldObj)) * Compatibility.TO_TE_RATIO));
}
return 0;
}
return (int) Math.min(maxReceive, request * Compatibility.TO_TE_RATIO);
}
@Override
public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate)
{
return 0;
}
@Override
public boolean canInterface(ForgeDirection from)
{
return true;
}
@Override
public int getEnergyStored(ForgeDirection from)
{
return 0;
}
@Override
public int getMaxEnergyStored(ForgeDirection from)
{
return (int) (this.getNetwork().getRequest(new Vector3(this).modifyPositionFromSide(from).getTileEntity(this.worldObj)).getWatts() * Compatibility.TO_TE_RATIO);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -13,7 +13,6 @@ item.AtomicDisassembler.name=Atomar-Disassembler
item.AtomicCore.name=Atomar-Kern
item.ElectricBow.name=Elektrischer Bogen
item.BoundingBlock.name=Begrenzungsblock
tile.GasTank.name=Gastank
item.StorageTank.name=Speichertank
item.ControlCircuit.name=Kontrollschaltkreis
item.EnrichedIron.name=Angereichertes Eisen
@ -25,6 +24,9 @@ item.NetworkReader.name=Netzwerklesegerät
item.ManganeseAlloy.name=Manganlegierung
item.WalkieTalkie.name=Walkie-Talkie
//Gas Tank
tile.GasTank.GasTank.name=Gastank
//Basic Block
tile.BasicBlock.OsmiumBlock.name=Osmiumblock
tile.BasicBlock.BronzeBlock.name=Bronzeblock
@ -155,6 +157,8 @@ gui.slots=Slots
gui.configuration=Konfiguration
gui.configuration.strictInput=Strikter Input
gui.rotaryCondensentrator.toggleOperation=Schalte Betrieb
gui.factory.secondaryEnergy=Sekundärenergie
gui.factory.smelting=Schmelzen
gui.factory.enriching=Anreichern
@ -162,9 +166,10 @@ gui.factory.crushing=Zerstoßen
gui.factory.compressing=Komprimieren
gui.factory.combining=Kombinieren
gui.factory.purifying=Purifizieren
gui.factory.autoSort=Auto-Sortieren
gui.oredictFilter=OreDict-Filter
gui.oredictFilter.noKey=Kein Kennwort eingegeben
gui.oredictFilter.noKey=Keine Kennung eingegeben
gui.oredictFilter.sameKey=Selbes Kennwort
gui.itemFilter=Item-Filter
@ -190,7 +195,7 @@ gui.robit.rename=Benenne diesen Robit um
gui.robit.teleport=Teleport zurück nach Hause
gui.robit.togglePickup=Schalte 'Drop-Aufsammel'-Modus
gui.password.setPassword=Passwort einstellen
gui.password.setPassword=Passwort setzen
gui.password.enterPassword=Gib Passwort ein
gui.password.fieldsEmpty=Feld(er) leer
gui.password.notMatching=Passt nicht
@ -205,7 +210,7 @@ gui.logisticalSorter.roundRobin=Round-Robin
gui.electricChest.editPassword=Passwort ändern
gui.digitalMinerConfig=Digitalbergbaukonfig
gui.digitalMinerConfig=Konfiguration
gui.digitalMiner.autoPull=Auto-Anziehen
gui.digitalMiner.replaceBlock=Ersetze Block

View file

@ -21,7 +21,6 @@ item.PortableTeleporter.name=Portable Teleporter
item.TeleportationCore.name=Teleportation Core
item.Configurator.name=Configurator
item.NetworkReader.name=Network Reader
item.ManganeseAlloy.name=Manganese Alloy
item.WalkieTalkie.name=Walkie-Talkie
//Gas Tank
@ -64,6 +63,8 @@ tile.MachineBlock2.RotaryCondensentrator.name=Rotary Condensentrator
//Ore Block
tile.OreBlock.OsmiumOre.name=Osmium Ore
tile.OreBlock.CopperOre.name=Copper Ore
tile.OreBlock.TinOre.name=Tin Ore
//Transmitters
tile.Transmitter.PressurizedTube.name=Pressurized Tube
@ -114,6 +115,8 @@ item.osmiumIngot.name=Osmium Ingot
item.bronzeIngot.name=Bronze Ingot
item.glowstoneIngot.name=Glowstone Ingot
item.steelIngot.name=Steel Ingot
item.copperIngot.name=Copper Ingot
item.tinIngot.name=Tin Ingot
//Gasses
gas.hydrogen=Hydrogen
@ -153,6 +156,7 @@ gui.teleport=Teleport
gui.eject=Eject
gui.input=Input
gui.slots=Slots
gui.state=State
gui.configuration=Configuration
gui.configuration.strictInput=Strict Input
@ -166,6 +170,7 @@ gui.factory.crushing=Crushing
gui.factory.compressing=Compressing
gui.factory.combining=Combining
gui.factory.purifying=Purifying
gui.factory.autoSort=Auto-sort
gui.oredictFilter=OreDict Filter
gui.oredictFilter.noKey=No key entered
@ -225,11 +230,15 @@ gui.digitalMiner.idle=Idle
tooltip.configurator.modify=Modify
tooltip.configurator.empty=Empty
tooltip.configurator.wrench=Wrench
tooltip.configurator.link=Link
tooltip.configurator.pumpReset=Reset Electric Pump calculation
tooltip.configurator.toggleDiverter=Diverter mode changed to
tooltip.configurator.toggleColor=Color bumped to
tooltip.configurator.viewColor=Current color
tooltip.configurator.unauth=This chest is locked
tooltip.configurator.noLink=No link
tooltip.configurator.linkMsg=Bound to
tooltip.configurator.dim=dimension
//Redstone control
control.disabled=Disabled
@ -371,6 +380,7 @@ tile.Multimeter.name=Multimeter
tile.ElectromagneticContractor.name=Electromagnetic Contractor
tile.Battery.name=Modular Battery
<<<<<<< HEAD
tile.mekanism:wire.copper.name=Copper Wire
tile.mekanism:wire.tin.name=Tin Wire
tile.mekanism:wire.iron.name=Iron Wire
@ -380,6 +390,11 @@ tile.mekanism:wire.superconductor.name=Superconductor Wire
//Items
item.Linker.name=Electrostatic Linker
=======
//General text
text.contractor.success=Linked contractor successfully
text.tesla.success=Linked tesla successfully
>>>>>>> master
//Gui text
gui.heatGenerator.fuel=Fuel

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B