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.SideOnly;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube;
import uk.co.qmunity.lib.client.render.RenderHelper;
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.
*/
@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.

View file

@ -5,22 +5,15 @@
package techreborn.partSystem.QLib;
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.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube;
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.part.IPart;
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.part.*;
import uk.co.qmunity.lib.raytrace.QMovingObjectPosition;
import uk.co.qmunity.lib.raytrace.RayTracer;
import uk.co.qmunity.lib.vec.Vec3d;
@ -72,7 +65,7 @@ public class QModPart extends PartBase implements IPartCollidable, IPartSelectab
@Override
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

View file

@ -16,7 +16,6 @@ import codechicken.multipart.TSlottedPart;
import cpw.mods.fml.relauncher.Side;
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.util.AxisAlignedBB;
import net.minecraft.world.World;
@ -24,6 +23,7 @@ import techreborn.lib.Location;
import techreborn.lib.vecmath.Vecs3d;
import techreborn.lib.vecmath.Vecs3dCube;
import techreborn.partSystem.ModPart;
import uk.co.qmunity.lib.client.render.RenderHelper;
import java.util.ArrayList;
import java.util.List;
@ -184,7 +184,11 @@ public class FMPModPart extends TMultiPart implements TSlottedPart, JNormalOcclu
boolean render = false;
RenderBlocks renderer = RenderBlocks.getInstance();
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;
}
}

View file

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

View file

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