Cables render! Thanks QLIB and @amadornes :)

This commit is contained in:
Modmuss50 2015-04-24 19:35:04 +01:00
parent 6e0ec1d861
commit 0327f3df62
5 changed files with 27 additions and 23 deletions

View file

@ -6,14 +6,13 @@ package techreborn.partSystem;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
import techreborn.lib.vecmath.Vecs3d; import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube; import techreborn.lib.vecmath.Vecs3dCube;
import uk.co.qmunity.lib.client.render.RenderHelper;
import java.util.List; import java.util.List;
@ -52,7 +51,7 @@ public interface IModPart {
* Only called when there's a block/lighting/render update in the chunk this part is in. * Only called when there's a block/lighting/render update in the chunk this part is in.
*/ */
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public boolean renderStatic(Vecs3d translation, RenderBlocks renderBlocks, int pass); public boolean renderStatic(Vecs3d translation, RenderHelper renderHelper, int pass);
/** /**
* Writes the part's data to an NBT tag, which is saved with the game data. * Writes the part's data to an NBT tag, which is saved with the game data.

View file

@ -5,22 +5,15 @@
package techreborn.partSystem.QLib; package techreborn.partSystem.QLib;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import techreborn.lib.Location; import techreborn.lib.Location;
import techreborn.lib.vecmath.Vecs3d; import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube; import techreborn.lib.vecmath.Vecs3dCube;
import techreborn.partSystem.ModPart; import techreborn.partSystem.ModPart;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import uk.co.qmunity.lib.client.render.RenderHelper; import uk.co.qmunity.lib.client.render.RenderHelper;
import uk.co.qmunity.lib.part.IPart; import uk.co.qmunity.lib.part.*;
import uk.co.qmunity.lib.part.IPartCollidable;
import uk.co.qmunity.lib.part.IPartRenderPlacement;
import uk.co.qmunity.lib.part.IPartSelectable;
import uk.co.qmunity.lib.part.IPartTicking;
import uk.co.qmunity.lib.part.IPartUpdateListener;
import uk.co.qmunity.lib.part.ITilePartHolder;
import uk.co.qmunity.lib.part.PartBase;
import uk.co.qmunity.lib.raytrace.QMovingObjectPosition; import uk.co.qmunity.lib.raytrace.QMovingObjectPosition;
import uk.co.qmunity.lib.raytrace.RayTracer; import uk.co.qmunity.lib.raytrace.RayTracer;
import uk.co.qmunity.lib.vec.Vec3d; import uk.co.qmunity.lib.vec.Vec3d;
@ -72,7 +65,7 @@ public class QModPart extends PartBase implements IPartCollidable, IPartSelectab
@Override @Override
public boolean renderStatic(Vec3i translation, RenderHelper renderer, RenderBlocks renderBlocks, int pass) { public boolean renderStatic(Vec3i translation, RenderHelper renderer, RenderBlocks renderBlocks, int pass) {
return iModPart.renderStatic(new Vecs3d(translation.getX(), translation.getY(), translation.getZ()),renderBlocks , pass); return iModPart.renderStatic(new Vecs3d(translation.getX(), translation.getY(), translation.getZ()),renderer , pass);
} }
@Override @Override

View file

@ -16,7 +16,6 @@ import codechicken.multipart.TSlottedPart;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -24,6 +23,7 @@ import techreborn.lib.Location;
import techreborn.lib.vecmath.Vecs3d; import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube; import techreborn.lib.vecmath.Vecs3dCube;
import techreborn.partSystem.ModPart; import techreborn.partSystem.ModPart;
import uk.co.qmunity.lib.client.render.RenderHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -184,7 +184,11 @@ public class FMPModPart extends TMultiPart implements TSlottedPart, JNormalOcclu
boolean render = false; boolean render = false;
RenderBlocks renderer = RenderBlocks.getInstance(); RenderBlocks renderer = RenderBlocks.getInstance();
renderer.blockAccess = getWorld(); renderer.blockAccess = getWorld();
render = iModPart.renderStatic(new Vecs3d(pos.x, pos.y, pos.z), renderer, pass); render = iModPart.renderStatic(new Vecs3d(pos.x, pos.y, pos.z), uk.co.qmunity.lib.client.render.RenderHelper.instance, pass);
RenderHelper.instance.resetRenderedSides();
RenderHelper.instance.resetTextureRotations();
RenderHelper.instance.resetTransformations();
RenderHelper.instance.setColor(0xFFFFFF);
return render; return render;
} }
} }

View file

@ -5,8 +5,8 @@ import ic2.api.energy.event.EnergyTileUnloadEvent;
import ic2.api.energy.tile.IEnergyConductor; import ic2.api.energy.tile.IEnergyConductor;
import ic2.api.energy.tile.IEnergyTile; import ic2.api.energy.tile.IEnergyTile;
import ic2.core.IC2; import ic2.core.IC2;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -18,6 +18,8 @@ import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube; import techreborn.lib.vecmath.Vecs3dCube;
import techreborn.partSystem.ModPart; import techreborn.partSystem.ModPart;
import techreborn.partSystem.ModPartUtils; import techreborn.partSystem.ModPartUtils;
import techreborn.partSystem.QLib.ModLib2QLib;
import uk.co.qmunity.lib.client.render.RenderHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -91,7 +93,7 @@ public class CablePart extends ModPart implements IEnergyConductor {
checkConnectedSides(); checkConnectedSides();
List<Vecs3dCube> vecs3dCubesList = new ArrayList<Vecs3dCube>(); List<Vecs3dCube> vecs3dCubesList = new ArrayList<Vecs3dCube>();
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
if (connectedSides.containsKey(dir)) if (connectedSides.containsValue(dir))
vecs3dCubesList.add(boundingBoxes[Functions.getIntDirFromDirection(dir)]); vecs3dCubesList.add(boundingBoxes[Functions.getIntDirFromDirection(dir)]);
} }
return vecs3dCubesList; return vecs3dCubesList;
@ -104,8 +106,14 @@ public class CablePart extends ModPart implements IEnergyConductor {
@Override @Override
public boolean renderStatic(Vecs3d translation, RenderBlocks renderBlocks, int pass) { public boolean renderStatic(Vecs3d translation, RenderHelper renderer, int pass) {
return false; renderer.setOverrideTexture(Blocks.coal_block.getIcon(0, 0));
renderer.renderBox(ModLib2QLib.convert(boundingBoxes[6]));
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
if (connectedSides.containsKey(dir))
renderer.renderBox(ModLib2QLib.convert(boundingBoxes[Functions.getIntDirFromDirection(dir)]));
}
return true;
} }
@Override @Override

View file

@ -4,13 +4,13 @@
package techreborn.partSystem.parts; package techreborn.partSystem.parts;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import techreborn.lib.vecmath.Vecs3d; import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube; import techreborn.lib.vecmath.Vecs3dCube;
import techreborn.partSystem.ModPart; import techreborn.partSystem.ModPart;
import uk.co.qmunity.lib.client.render.RenderHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -42,7 +42,7 @@ public class NullPart extends ModPart {
} }
@Override @Override
public boolean renderStatic(Vecs3d translation, RenderBlocks renderBlocks, int pass) { public boolean renderStatic(Vecs3d translation, RenderHelper renderBlocks, int pass) {
return false; return false;
} }