/**
* Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
* <p/>
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.builders;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import buildcraft.BuildCraftBuilders;
import buildcraft.builders.render.RenderArchitect;
import buildcraft.builders.render.RenderBuilderTile;
import buildcraft.builders.render.RenderConstructionMarker;
import buildcraft.builders.render.RenderFiller;
import buildcraft.builders.render.RenderFrame;
import buildcraft.core.lib.EntityBlock;
import buildcraft.core.lib.render.RenderMultiTESR;
import buildcraft.core.lib.render.RenderVoid;
import buildcraft.core.render.RenderBuilder;
import buildcraft.core.render.RenderLEDTile;
public class BuilderProxyClient extends BuilderProxy {
public static IIcon drillTexture, drillSideTexture;
public static IIcon drillHeadTexture;
@Override
public void registerClientHook() {
}
@Override
public void registerBlockRenderers() {
super.registerBlockRenderers();
ClientRegistry.bindTileEntitySpecialRenderer(TileBuilder.class, new RenderBuilderTile());
ClientRegistry.bindTileEntitySpecialRenderer(TileConstructionMarker.class, new RenderConstructionMarker());
ClientRegistry.bindTileEntitySpecialRenderer(TileFiller.class, new RenderMultiTESR(new TileEntitySpecialRenderer[]{
new RenderLEDTile(BuildCraftBuilders.fillerBlock),
new RenderFiller()
}));
ClientRegistry.bindTileEntitySpecialRenderer(TileQuarry.class, new RenderMultiTESR(new TileEntitySpecialRenderer[]{
new RenderLEDTile(BuildCraftBuilders.quarryBlock),
new RenderBuilder()
}));
ClientRegistry.bindTileEntitySpecialRenderer(TileArchitect.class, new RenderMultiTESR(new TileEntitySpecialRenderer[]{
new RenderLEDTile(BuildCraftBuilders.architectBlock),
new RenderArchitect()
}));
RenderingRegistry.registerEntityRenderingHandler(EntityMechanicalArm.class, new RenderVoid());
frameRenderId = RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(frameRenderId, new RenderFrame());
}
@Override
public EntityBlock newDrill(World w, double i, double j, double k, double l, double d, double e, boolean xz) {
EntityBlock eb = super.newDrill(w, i, j, k, l, d, e, xz);
if (xz) {
eb.texture = new IIcon[6];
for (int a = 0; a < 6; a++) {
eb.texture[a] = a >= 2 ? drillSideTexture : drillTexture;
}
} else {
eb.setTexture(drillTexture);
}
return eb;
}
@Override
public EntityBlock newDrillHead(World w, double i, double j, double k, double l, double d, double e) {
EntityBlock eb = super.newDrillHead(w, i, j, k, l, d, e);
eb.setTexture(drillHeadTexture);
return eb;
}
}