This commit is contained in:
Gig 2015-04-23 23:06:07 +01:00
commit 0f4dcdb5d1
4 changed files with 25 additions and 74 deletions

View file

@ -4,12 +4,15 @@
package techreborn.partSystem.QLib;
import net.minecraft.client.renderer.RenderBlocks;
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;
@ -22,6 +25,7 @@ import uk.co.qmunity.lib.raytrace.QMovingObjectPosition;
import uk.co.qmunity.lib.raytrace.RayTracer;
import uk.co.qmunity.lib.vec.Vec3d;
import uk.co.qmunity.lib.vec.Vec3dCube;
import uk.co.qmunity.lib.vec.Vec3i;
import java.util.ArrayList;
import java.util.List;
@ -66,6 +70,11 @@ public class QModPart extends PartBase implements IPartCollidable, IPartSelectab
iModPart.renderDynamic(ModLib2QLib.convert(translation), delta);
}
@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);
}
@Override
public QMovingObjectPosition rayTrace(Vec3d start, Vec3d end) {
return RayTracer.instance().rayTraceCubes(this, start, end);

View file

@ -5,18 +5,12 @@ import ic2.api.energy.event.EnergyTileUnloadEvent;
import ic2.api.energy.tile.IEnergyConductor;
import ic2.api.energy.tile.IEnergyTile;
import ic2.core.IC2;
import ic2.core.Ic2Items;
import ic2.core.block.wiring.RenderBlockCable;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
import net.minecraft.world.WorldType;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.ForgeDirection;
import techreborn.lib.Functions;
@ -108,14 +102,9 @@ public class CablePart extends ModPart implements IEnergyConductor {
}
@Override
public boolean renderStatic(Vecs3d translation, RenderBlocks renderBlocks, int pass) {
if(worldObj!= null){
FakeCableWorld fakeCableWorld = new FakeCableWorld();
RenderBlockCable renderBlockCable = new RenderBlockCable();
return renderBlockCable.renderWorldBlock(fakeCableWorld, getX(), getY(), getZ(), Block.getBlockFromItem(Ic2Items.copperCableBlock.getItem()) , 0, RenderBlocks.getInstance());
}
return false;
}

View file

@ -1,53 +0,0 @@
package techreborn.partSystem.parts;
import ic2.core.block.wiring.TileEntityCable;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.entity.Entity;
import net.minecraft.network.NetworkManager;
import net.minecraft.profiler.Profiler;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
import net.minecraft.world.WorldProvider;
import net.minecraft.world.WorldSettings;
import net.minecraft.world.WorldType;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.storage.ISaveHandler;
public class FakeCableWorld extends WorldClient {
public FakeCableWorld() {
super(new NetHandlerPlayClient(Minecraft.getMinecraft(), null, new NetworkManager(true)), new WorldSettings(0, WorldSettings.GameType.NOT_SET,
false, false, WorldType.DEFAULT), 0, EnumDifficulty.PEACEFUL, Minecraft.getMinecraft().theWorld.theProfiler);
}
@Override
protected IChunkProvider createChunkProvider() {
return Minecraft.getMinecraft().thePlayer.worldObj.getChunkProvider();
}
@Override
protected int func_152379_p() {
return Minecraft.getMinecraft().gameSettings.renderDistanceChunks;
}
@Override
public Entity getEntityByID(int p_73045_1_) {
return Minecraft.getMinecraft().theWorld.getEntityByID(p_73045_1_);
}
@Override
public TileEntity getTileEntity(int x, int y, int z) {
return new TileEntityCable();
}
@Override
public Chunk getChunkFromBlockCoords(int p_72938_1_, int p_72938_2_) {
return Minecraft.getMinecraft().theWorld.getChunkFromBlockCoords(p_72938_1_, p_72938_2_);
}
}