cable rendering still not working..

This commit is contained in:
Raoul Van den Berge
2016-01-02 20:17:37 +01:00
parent 4c2c19de73
commit 1e4501f1c5
2 changed files with 13 additions and 21 deletions

View File

@@ -9,13 +9,10 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import storagecraft.StorageCraftBlocks; import storagecraft.StorageCraftBlocks;
import storagecraft.StorageCraftItems; import storagecraft.StorageCraftItems;
import storagecraft.block.EnumControllerType; import storagecraft.block.EnumControllerType;
@@ -67,19 +64,8 @@ public class ClientProxy extends CommonProxy
); );
ForgeHooksClient.registerTESRItemStack(Item.getItemFromBlock(StorageCraftBlocks.CABLE), 0, TileCable.class); ForgeHooksClient.registerTESRItemStack(Item.getItemFromBlock(StorageCraftBlocks.CABLE), 0, TileCable.class);
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.CABLE), 0, new ModelResourceLocation("storagecraft:cable", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.CABLE), 0, new ModelResourceLocation("storagecraft:cable", "inventory"));
MinecraftForge.EVENT_BUS.register(BakeEventHandler.instance);
}
public static class BakeEventHandler
{
public static final BakeEventHandler instance = new BakeEventHandler();
@SubscribeEvent
public void onModelBakeEvent(ModelBakeEvent event)
{
event.modelManager.getBlockModelShapes().registerBuiltInBlocks(StorageCraftBlocks.CABLE);
}
} }
@Override @Override
@@ -87,7 +73,7 @@ public class ClientProxy extends CommonProxy
{ {
super.init(e); super.init(e);
ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new BlockCableRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, BlockCableRenderer.INSTANCE);
ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher();

View File

@@ -1,22 +1,28 @@
package storagecraft.render; package storagecraft.render;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import storagecraft.render.model.CableModel; import storagecraft.render.model.CableModel;
import storagecraft.tile.TileCable; import storagecraft.tile.TileCable;
public class BlockCableRenderer extends TileEntitySpecialRenderer public class BlockCableRenderer extends TileEntitySpecialRenderer<TileCable>
{ {
public static final CableModel CABLE_MODEL = new CableModel(); public static final BlockCableRenderer INSTANCE = new BlockCableRenderer(new CableModel());
private CableModel model;
public BlockCableRenderer(CableModel model)
{
this.model = model;
}
@Override @Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale, int a) public void renderTileEntityAt(TileCable tile, double x, double y, double z, float scale, int a)
{ {
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z); GL11.glTranslatef((float) x, (float) y, (float) z);
CABLE_MODEL.render(tile); model.render(tile);
GL11.glPopMatrix(); GL11.glPopMatrix();
} }