Bump version, work on multipart transporters

This commit is contained in:
Aidan Brady 2013-12-20 16:47:09 -05:00
parent 0ab803feeb
commit 40e2d3b7fc
19 changed files with 253 additions and 64 deletions

View file

@ -6,7 +6,6 @@
<property environment="env" />
<property name="file.core" value="Mekanism-v${version.mod.major}.${version.mod.minor}.${version.mod.revis}.${env.BUILD_NUMBER}.jar"/>
<property name="file.generators" value="MekanismGenerators-v${version.mod.major}.${version.mod.minor}.${version.mod.revis}.${env.BUILD_NUMBER}.jar"/>
<property name="file.induction" value="MekanismInduction-v${version.mod.major}.${version.mod.minor}.${version.mod.revis}.${env.BUILD_NUMBER}.jar"/>
<property name="file.tools" value="MekanismTools-v${version.mod.major}.${version.mod.minor}.${version.mod.revis}.${env.BUILD_NUMBER}.jar"/>
<property name="file.mdk" value="MDK-v${version.mod.major}.${version.mod.minor}.${version.mod.revis}.${env.BUILD_NUMBER}.zip"/>
@ -14,7 +13,6 @@
<delete dir="coreContents"/>
<delete dir="generatorsContents"/>
<delete dir="inductionContents"/>
<delete dir="toolsContents"/>
<delete dir="mdkContents"/>
<delete dir="${dir.development}/forge"/>
@ -45,7 +43,6 @@
<mkdir dir="coreContents"/>
<mkdir dir="generatorsContents"/>
<mkdir dir="inductionContents"/>
<mkdir dir="toolsContents"/>
<mkdir dir="mdkContents"/>
@ -71,7 +68,6 @@
<copy todir="coreContents">
<fileset dir="${dir.mcp}/reobf/minecraft">
<exclude name="**/mekanism/generators/**"/>
<exclude name="**/mekanism/induction/**"/>
<exclude name="**/mekanism/tools/**"/>
</fileset>
@ -88,14 +84,6 @@
<fileset dir="${dir.development}etc/generators"/>
</copy>
<copy todir="inductionContents">
<fileset dir="${dir.mcp}/reobf/minecraft">
<include name = "**/mekanism/induction/**"/>
</fileset>
<fileset dir="${dir.development}etc/induction"/>
</copy>
<copy todir="toolsContents">
<fileset dir="${dir.mcp}/reobf/minecraft">
<include name = "**/mekanism/tools/**"/>
@ -119,10 +107,6 @@
<fileset dir="generatorsContents"/>
</jar>
<jar destfile="output/${file.induction}">
<fileset dir="inductionContents"/>
</jar>
<jar destfile="output/${file.tools}">
<fileset dir="toolsContents"/>
</jar>
@ -140,10 +124,6 @@
<fileset dir="generatorsContents"/>
</jar>
<jar destfile="Mekanism_Induction.jar">
<fileset dir="inductionContents"/>
</jar>
<jar destfile="Mekanism_Tools.jar">
<fileset dir="toolsContents"/>
</jar>

View file

@ -52,8 +52,16 @@ public enum TransmissionType
public static TransmissionType fromOldMeta(int meta)
{
if(meta <= metaArray.length)
if(meta < metaArray.length)
{
return metaArray[meta];
}
if(meta == 4 || meta == 5)
{
return ITEM;
}
return null;
}

View file

@ -3,7 +3,8 @@ package mekanism.client.render;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
public class PartTransmitterIcons {
public class PartTransmitterIcons
{
private Icon sideIcon;
private Icon[] centerIcons;

View file

@ -3,6 +3,7 @@ package mekanism.client.render;
import java.util.HashMap;
import java.util.Map;
import mekanism.client.model.ModelTransporterBox;
import mekanism.client.render.MekanismRenderer.DisplayInteger;
import mekanism.client.render.MekanismRenderer.Model3D;
import mekanism.common.multipart.PartLogisticalTransporter;
@ -15,8 +16,15 @@ import mekanism.common.multipart.PartUniversalCable;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
@ -46,7 +54,15 @@ public class RenderPartTransmitter implements IIconRegister
private static final double height = 0.45;
private static final double offset = 0.015;
private ModelTransporterBox modelBox = new ModelTransporterBox();
private HashMap<ForgeDirection, HashMap<Fluid, DisplayInteger[]>> cachedLiquids = new HashMap<ForgeDirection, HashMap<Fluid, DisplayInteger[]>>();
private HashMap<ForgeDirection, HashMap<Integer, DisplayInteger>> cachedOverlays = new HashMap<ForgeDirection, HashMap<Integer, DisplayInteger>>();
private Minecraft mc = Minecraft.getMinecraft();
private EntityItem entityItem = new EntityItem(null);
private RenderItem renderer = (RenderItem)RenderManager.instance.getEntityClassRenderObject(EntityItem.class);
public static RenderPartTransmitter getInstance()
{
@ -102,6 +118,11 @@ public class RenderPartTransmitter implements IIconRegister
GL11.glPopMatrix();
}
public void renderContents(PartLogisticalTransporter transporter, Vector3 pos)
{
}
public void renderContents(PartUniversalCable cable, Vector3 pos)
{
if(cable.currentPower == 0)
@ -408,4 +429,140 @@ public class RenderPartTransmitter implements IIconRegister
{
return 0;
}
private void popTransporter()
{
GL11.glPopAttrib();
MekanismRenderer.glowOff();
MekanismRenderer.blendOff();
GL11.glPopMatrix();
}
private void pushTransporter()
{
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_LIGHTING);
MekanismRenderer.glowOn();
MekanismRenderer.blendOn();
}
private DisplayInteger getOverlayDisplay(World world, ForgeDirection side, int mode)
{
if(cachedOverlays.containsKey(side) && cachedOverlays.get(side).containsKey(mode))
{
return cachedOverlays.get(side).get(mode);
}
Icon icon = null;
switch(mode)
{
case 0:
icon = Item.gunpowder.getIcon(new ItemStack(Item.gunpowder), 0);
break;
case 1:
icon = Block.torchRedstoneActive.getIcon(0, 0);
break;
case 2:
icon = Block.torchRedstoneIdle.getIcon(0, 0);
break;
}
Model3D toReturn = new Model3D();
toReturn.baseBlock = Block.stone;
toReturn.setTexture(icon);
DisplayInteger display = DisplayInteger.createAndStart();
if(cachedOverlays.containsKey(side))
{
cachedOverlays.get(side).put(mode, display);
}
else {
HashMap<Integer, DisplayInteger> map = new HashMap<Integer, DisplayInteger>();
map.put(mode, display);
cachedOverlays.put(side, map);
}
switch(side)
{
case DOWN:
{
toReturn.minY = -0.01;
toReturn.maxY = 0;
toReturn.minX = 0;
toReturn.minZ = 0;
toReturn.maxX = 1;
toReturn.maxZ = 1;
break;
}
case UP:
{
toReturn.minY = 1;
toReturn.maxY = 1.01;
toReturn.minX = 0;
toReturn.minZ = 0;
toReturn.maxX = 1;
toReturn.maxZ = 1;
break;
}
case NORTH:
{
toReturn.minZ = -0.01;
toReturn.maxZ = 0;
toReturn.minX = 0;
toReturn.minY = 0;
toReturn.maxX = 1;
toReturn.maxY = 1;
break;
}
case SOUTH:
{
toReturn.minZ = 1;
toReturn.maxZ = 1.01;
toReturn.minX = 0;
toReturn.minY = 0;
toReturn.maxX = 1;
toReturn.maxY = 1;
break;
}
case WEST:
{
toReturn.minX = -0.01;
toReturn.maxX = 0;
toReturn.minY = 0;
toReturn.minZ = 0;
toReturn.maxY = 1;
toReturn.maxZ = 1;
break;
}
case EAST:
{
toReturn.minX = 1;
toReturn.maxX = 1.01;
toReturn.minY = 0;
toReturn.minZ = 0;
toReturn.maxY = 1;
toReturn.maxZ = 1;
break;
}
default:
{
break;
}
}
MekanismRenderer.renderObject(toReturn);
display.endList();
return display;
}
}

View file

@ -152,7 +152,7 @@ public class RenderLogisticalTransporter extends TileEntitySpecialRenderer
int mode = ((TileEntityDiversionTransporter)tileEntity).modes[pos.sideHit];
ForgeDirection side = ForgeDirection.getOrientation(pos.sideHit);
push();
pushTransporter();
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.8F);
@ -164,13 +164,13 @@ public class RenderLogisticalTransporter extends TileEntitySpecialRenderer
int display = getOverlayDisplay(world, side, mode).display;
GL11.glCallList(display);
pop();
popTransporter();
}
}
}
}
private void pop()
private void popTransporter()
{
GL11.glPopAttrib();
MekanismRenderer.glowOff();
@ -178,7 +178,7 @@ public class RenderLogisticalTransporter extends TileEntitySpecialRenderer
GL11.glPopMatrix();
}
private void push()
private void pushTransporter()
{
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);

View file

@ -134,7 +134,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
* @author AidanBrady
*
*/
@Mod(modid = "Mekanism", name = "Mekanism", version = "5.6.0")
@Mod(modid = "Mekanism", name = "Mekanism", version = "6.0.0")
@NetworkMod(channels = {"MEK"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)
public class Mekanism
{
@ -159,7 +159,7 @@ public class Mekanism
public static Configuration configuration;
/** Mekanism version number */
public static Version versionNumber = new Version(5, 6, 0);
public static Version versionNumber = new Version(6, 0, 0);
/** Map of Teleporters */
public static Map<Teleporter.Code, ArrayList<Coord4D>> teleporters = new HashMap<Teleporter.Code, ArrayList<Coord4D>>();

View file

@ -5,9 +5,11 @@ import java.util.List;
import mekanism.api.Coord4D;
import mekanism.api.EnumColor;
import mekanism.common.EntityBalloon;
import mekanism.common.util.MekanismUtils;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@ -61,7 +63,7 @@ public class ItemBalloon extends ItemMekanism
@Override
public String getItemDisplayName(ItemStack stack)
{
return getColor(stack).getName() + " Balloon";
return getColor(stack).getName() + " " + MekanismUtils.localize("tooltip.balloon");
}
@Override
@ -95,6 +97,12 @@ public class ItemBalloon extends ItemMekanism
return false;
}
/*@Override
public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
{
return false;
}*/
private boolean canReplace(World world, int x, int y, int z)
{
return world.isAirBlock(x, y, z) || Block.blocksList[world.getBlockId(x, y, z)].isBlockReplaceable(world, x, y, z);

View file

@ -20,7 +20,8 @@ public class MultipartMekanism implements IPartFactory, IPartConverter
public void init()
{
MultiPartRegistry.registerConverter(this);
MultiPartRegistry.registerParts(this, new String[] {"mekanism:universal_cable", "mekanism:mechanical_pipe", "mekanism:pressurized_tube", "mekanism:logistical_transporter"});
MultiPartRegistry.registerParts(this, new String[] {"mekanism:universal_cable", "mekanism:mechanical_pipe", "mekanism:pressurized_tube", "mekanism:logistical_transporter",
"mekanism:restrictive_transporter", "mekanism:diversion_transporter"});
MultipartGenerator.registerPassThroughInterface("mekanism.api.transmitters.ITransmitter");
MultipartGenerator.registerPassThroughInterface("mekanism.common.ILogisticalTransporter");
@ -34,14 +35,31 @@ public class MultipartMekanism implements IPartFactory, IPartConverter
@Override
public TMultiPart createPart(String name, boolean client)
{
if(name == "mekanism:universal_cable")
if(name.equals("mekanism:universal_cable"))
{
return new PartUniversalCable();
if(name == "mekanism:mechanical_pipe")
}
else if(name.equals("mekanism:mechanical_pipe"))
{
return new PartMechanicalPipe();
if(name == "mekanism:pressurized_tube")
}
else if(name.equals("mekanism:pressurized_tube"))
{
return new PartPressurizedTube();
if(name == "mekanism:logistical_transporter")
}
else if(name.equals("mekanism:logistical_transporter"))
{
return new PartLogisticalTransporter();
}
else if(name.equals("mekanism:restrictive_transporter"))
{
return new PartLogisticalTransporter();
}
else if(name.equals("mekanism:diversion_transporter"))
{
return new PartDiversionTransporter();
}
return null;
}
@ -57,7 +75,7 @@ public class MultipartMekanism implements IPartFactory, IPartConverter
if(world.getBlockId(pos.x, pos.y, pos.z) == Mekanism.transmitterID)
{
int meta = world.getBlockMetadata(pos.x, pos.y, pos.z);
return PartTransmitter.getPartType(TransmissionType.fromOldMeta(meta));
return PartTransmitter.getPartType(TransmissionType.fromOldMeta(meta), meta);
}
return null;

View file

@ -0,0 +1,6 @@
package mekanism.common.multipart;
public class PartDiversionTransporter extends PartLogisticalTransporter
{
}

View file

@ -1,7 +1,11 @@
package mekanism.common.multipart;
import codechicken.lib.vec.Vector3;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.transmitters.TransmissionType;
import mekanism.client.render.PartTransmitterIcons;
import mekanism.client.render.RenderPartTransmitter;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.inventory.IInventory;
import net.minecraft.tileentity.TileEntity;
@ -12,11 +16,13 @@ public class PartLogisticalTransporter extends PartSidedPipe
{
public static PartTransmitterIcons transporterIcons;
@Override
public String getType()
{
return "mekanism:logistical_transporter";
}
@Override
public TransmissionType getTransmissionType()
{
return TransmissionType.ITEM;
@ -29,16 +35,26 @@ public class PartLogisticalTransporter extends PartSidedPipe
transporterIcons.registerSideIcon(register, "LogisticalTransporterSide");
}
@Override
@SideOnly(Side.CLIENT)
public void renderDynamic(Vector3 pos, float f, int pass)
{
RenderPartTransmitter.getInstance().renderContents(this, pos);
}
@Override
public Icon getCenterIcon()
{
return transporterIcons.getCenterIcon(0);
}
@Override
public Icon getSideIcon()
{
return transporterIcons.getSideIcon();
}
@Override
public boolean isValidAcceptor(TileEntity tile, ForgeDirection side)
{
return tile instanceof IInventory;

View file

@ -86,7 +86,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
largeSides[6] = new IndexedCuboid6(6, new Cuboid6(0.25, 0.25, 0.25, 0.75, 0.75, 0.75));
}
public static TMultiPart getPartType(TransmissionType type)
public static TMultiPart getPartType(TransmissionType type, int sub)
{
switch(type)
{
@ -97,7 +97,17 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
case GAS:
return new PartPressurizedTube();
case ITEM:
{
switch(sub)
{
case 3:
return new PartLogisticalTransporter();
case 4:
return new PartLogisticalTransporter();
case 5:
return new PartDiversionTransporter();
}
}
default:
return null;
}

View file

@ -29,7 +29,7 @@ import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.6.0", dependencies = "required-after:Mekanism")
@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "6.0.0", dependencies = "required-after:Mekanism")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MekanismGenerators implements IModule
{
@ -40,7 +40,7 @@ public class MekanismGenerators implements IModule
public static MekanismGenerators instance;
/** MekanismGenerators version number */
public static Version versionNumber = new Version(5, 6, 0);
public static Version versionNumber = new Version(6, 0, 0);
//Items
public static Item BioFuel;

View file

@ -32,7 +32,7 @@ import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.6.0", dependencies = "required-after:Mekanism")
@Mod(modid = "MekanismTools", name = "MekanismTools", version = "6.0.0", dependencies = "required-after:Mekanism")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MekanismTools implements IModule
{
@ -40,7 +40,7 @@ public class MekanismTools implements IModule
public static MekanismTools instance;
/** MekanismTools version number */
public static Version versionNumber = new Version(5, 6, 0);
public static Version versionNumber = new Version(6, 0, 0);
//Enums: Tools
public static EnumToolMaterial toolOBSIDIAN = EnumHelper.addToolMaterial("OBSIDIAN", 3, 2500, 20F, 10, 100);

View file

@ -3,7 +3,7 @@
"modid": "Mekanism",
"name": "Mekanism",
"description": "Energy, Armor, Tools, Weapons, Machines, Magic.",
"version": "5.6.0",
"version": “6.0.0”,
"mcversion": "1.6.4",
"updateUrl": "",
"authors": [

View file

@ -3,7 +3,7 @@
"modid": "MekanismGenerators",
"name": "MekanismGenerators",
"description": "Generators module of Mekanism.",
"version": "5.6.0",
"version": “6.0.0”,
"mcversion": "1.6.4",
"updateUrl": "",
"authors": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,17 +0,0 @@
[
{
"modid": "MekanismInduction",
"name": "MekanismInduction",
"description": "Induction module of Mekanism.",
"version": "5.6.0",
"mcversion": "1.6.4",
"updateUrl": "",
"authors": [
"aidancbrady"
],
"credits": "Thanks to everyone who has contributed to this ongoing project.",
"logoFile": "logo.png",
"screenshots": [
]
}
]

View file

@ -3,7 +3,7 @@
"modid": "MekanismTools",
"name": "MekanismTools",
"description": "Tools module for Mekanism.",
"version": "5.6.0",
"version": “6.0.0”,
"mcversion": "1.6.4",
"updateUrl": "",
"authors": [

View file

@ -266,6 +266,8 @@ tooltip.configurator.noLink=No link
tooltip.configurator.linkMsg=Bound to
tooltip.configurator.dim=dimension
tooltip.balloon=Balloon
tooltip.jetpack.regular=Regular
tooltip.jetpack.hover=Hover
tooltip.jetpack.disabled=Disabled