Merge branch 'master' into universal-wires
Conflicts: common/mekanism/induction/common/MekanismInduction.java resources/assets/mekanism/lang/en_US.lang
|
@ -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) {}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
73
common/mekanism/client/gui/GuiSortingTab.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()))
|
||||
{
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {}
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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) }));
|
||||
|
||||
|
|
|
@ -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())
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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>();
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.3 KiB |
BIN
resources/assets/mekanism/gui/GuiSortingTab.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
BIN
resources/assets/mekanism/textures/blocks/CopperOre.png
Normal file
After Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 567 B |
BIN
resources/assets/mekanism/textures/blocks/TinOre.png
Normal file
After Width: | Height: | Size: 553 B |
BIN
resources/assets/mekanism/textures/items/CopperIngot.png
Normal file
After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 752 B |
Before Width: | Height: | Size: 1.5 KiB |
BIN
resources/assets/mekanism/textures/items/TinIngot.png
Normal file
After Width: | Height: | Size: 328 B |