mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-26 08:48:34 +01:00
Fixed Blocks having an Item Renderer in the inventory
This commit is contained in:
parent
9932432854
commit
ed74026667
22 changed files with 106 additions and 142 deletions
|
@ -50,7 +50,7 @@ public class BlockCoffeeMachine extends BlockContainerBase implements IActAddIte
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.COFFEE_MACHINE_RENDER_ID;
|
||||
return AssetUtil.coffeeMachineRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -53,7 +53,7 @@ public class BlockCompost extends BlockContainerBase implements IActAddItemOrBlo
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.COMPOST_RENDER_ID;
|
||||
return AssetUtil.compostRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -47,7 +47,7 @@ public class BlockFishingNet extends BlockContainerBase implements IActAddItemOr
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.FISHING_NET_RENDER_ID;
|
||||
return AssetUtil.fishingNetRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -49,7 +49,7 @@ public class BlockFurnaceSolar extends BlockContainerBase implements IActAddItem
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.FURNACE_SOLAR_RENDER_ID;
|
||||
return AssetUtil.furnaceSolarRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -41,7 +41,7 @@ public class BlockLaserRelay extends BlockContainerBase implements IActAddItemOr
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.LASER_RELAY_RENDER_ID;
|
||||
return AssetUtil.laserRelayRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -44,7 +44,7 @@ public class BlockPhantomBooster extends BlockContainerBase implements IActAddIt
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.PHANTOM_BOOSTER_RENDER_ID;
|
||||
return AssetUtil.phantomBoosterRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -47,7 +47,7 @@ public class BlockSmileyCloud extends BlockContainerBase implements IActAddItemO
|
|||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return AssetUtil.SMILEY_CLOUD_RENDER_ID;
|
||||
return AssetUtil.smileyCloudRenderId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* This file ("RenderInventory.java") is part of the Actually Additions Mod for Minecraft.
|
||||
* It is created and owned by Ellpeck and distributed
|
||||
* under the Actually Additions License to be found at
|
||||
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
||||
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||
*
|
||||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class RenderInventory implements ISimpleBlockRenderingHandler{
|
||||
|
||||
private RenderTileEntity tileRender;
|
||||
private int renderID;
|
||||
|
||||
public RenderInventory(RenderTileEntity tileRender, int renderID){
|
||||
this.tileRender = tileRender;
|
||||
this.renderID = renderID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer){
|
||||
GL11.glPushMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(this.tileRender.resLoc);
|
||||
GL11.glTranslatef(0F, 1F, 0F);
|
||||
GL11.glRotatef(180F, 1F, 0F, 0F);
|
||||
this.tileRender.theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer){
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory(int modelId){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderId(){
|
||||
return this.renderID;
|
||||
}
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
/*
|
||||
* This file ("RenderItems.java") is part of the Actually Additions Mod for Minecraft.
|
||||
* It is created and owned by Ellpeck and distributed
|
||||
* under the Actually Additions License to be found at
|
||||
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
||||
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||
*
|
||||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
|
||||
import ellpeck.actuallyadditions.util.ModUtil;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class RenderItems implements IItemRenderer{
|
||||
|
||||
ModelBaseAA theModel;
|
||||
ResourceLocation theTexture;
|
||||
|
||||
public RenderItems(ModelBaseAA model){
|
||||
this.theModel = model;
|
||||
this.theTexture = new ResourceLocation(ModUtil.MOD_ID_LOWER, "textures/blocks/models/"+this.theModel.getName()+".png");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack stack, Object... data){
|
||||
switch(type){
|
||||
case INVENTORY:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(-0.5F, -1.27F, 0.5F);
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.6F, -1.2F, -0.0F);
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(1.2F, 1.2F, 1.2F);
|
||||
GL11.glRotatef(180, 2F, -0F, 0.1F);
|
||||
GL11.glTranslatef(1.5F, -1.2F, -0.3F);
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
default:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.0F, -1.27F, 0.0F);
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
|
||||
import ellpeck.actuallyadditions.blocks.render.model.ModelBaseAA;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
|
||||
import ellpeck.actuallyadditions.blocks.render.model.ModelBaseAA;
|
||||
import ellpeck.actuallyadditions.misc.cloud.ISmileyCloudEasterEgg;
|
||||
import ellpeck.actuallyadditions.misc.cloud.SmileyCloudEasterEggs;
|
||||
import ellpeck.actuallyadditions.proxy.ClientProxy;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
|
||||
import ellpeck.actuallyadditions.blocks.render.model.ModelBaseAA;
|
||||
import ellpeck.actuallyadditions.util.ModUtil;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
@ -19,7 +20,7 @@ import org.lwjgl.opengl.GL11;
|
|||
public class RenderTileEntity extends TileEntitySpecialRenderer{
|
||||
|
||||
public ModelBaseAA theModel;
|
||||
protected ResourceLocation resLoc;
|
||||
public ResourceLocation resLoc;
|
||||
|
||||
public RenderTileEntity(ModelBaseAA model){
|
||||
this.theModel = model;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.tileentity.TileEntity;
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import ellpeck.actuallyadditions.config.values.ConfigIntValues;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import org.lwjgl.opengl.GL11;
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* © 2015 Ellpeck
|
||||
*/
|
||||
|
||||
package ellpeck.actuallyadditions.blocks.render;
|
||||
package ellpeck.actuallyadditions.blocks.render.model;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
|
@ -17,8 +17,11 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
|||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.registry.VillagerRegistry;
|
||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
||||
import ellpeck.actuallyadditions.blocks.render.*;
|
||||
import ellpeck.actuallyadditions.blocks.render.RenderInventory;
|
||||
import ellpeck.actuallyadditions.blocks.render.RenderLaserRelay;
|
||||
import ellpeck.actuallyadditions.blocks.render.RenderSmileyCloud;
|
||||
import ellpeck.actuallyadditions.blocks.render.RenderTileEntity;
|
||||
import ellpeck.actuallyadditions.blocks.render.model.*;
|
||||
import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
|
||||
import ellpeck.actuallyadditions.config.values.ConfigIntValues;
|
||||
import ellpeck.actuallyadditions.event.InitEvents;
|
||||
|
@ -28,9 +31,8 @@ import ellpeck.actuallyadditions.util.AssetUtil;
|
|||
import ellpeck.actuallyadditions.util.ModUtil;
|
||||
import ellpeck.actuallyadditions.util.playerdata.PersistentClientData;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Calendar;
|
||||
|
@ -65,34 +67,21 @@ public class ClientProxy implements IProxy{
|
|||
|
||||
InitEvents.initClient();
|
||||
|
||||
AssetUtil.COMPOST_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.FISHING_NET_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.FURNACE_SOLAR_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.COFFEE_MACHINE_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.PHANTOM_BOOSTER_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.SMILEY_CLOUD_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.LASER_RELAY_RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.compostRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.fishingNetRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.furnaceSolarRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.coffeeMachineRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.phantomBoosterRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.smileyCloudRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
AssetUtil.laserRelayRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompost.class, new RenderTileEntity(new ModelCompost()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockCompost), new RenderItems(new ModelCompost()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFishingNet.class, new RenderTileEntity(new ModelFishingNet()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockFishingNet), new RenderItems(new ModelFishingNet()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceSolar.class, new RenderTileEntity(new ModelFurnaceSolar()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockFurnaceSolar), new RenderItems(new ModelFurnaceSolar()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoffeeMachine.class, new RenderTileEntity(new ModelCoffeeMachine()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockCoffeeMachine), new RenderItems(new ModelCoffeeMachine()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPhantomBooster.class, new RenderTileEntity(new ModelPhantomBooster()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockPhantomBooster), new RenderItems(new ModelPhantomBooster()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySmileyCloud.class, new RenderSmileyCloud(new ModelSmileyCloud()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockSmileyCloud), new RenderItems(new ModelSmileyCloud()));
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelay.class, new RenderLaserRelay(new ModelLaserRelay()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockLaserRelay), new RenderItems(new ModelLaserRelay()));
|
||||
registerRenderer(TileEntityCompost.class, new RenderTileEntity(new ModelCompost()), AssetUtil.compostRenderId);
|
||||
registerRenderer(TileEntityFishingNet.class, new RenderTileEntity(new ModelFishingNet()), AssetUtil.fishingNetRenderId);
|
||||
registerRenderer(TileEntityFurnaceSolar.class, new RenderTileEntity(new ModelFurnaceSolar()), AssetUtil.furnaceSolarRenderId);
|
||||
registerRenderer(TileEntityCoffeeMachine.class, new RenderTileEntity(new ModelCoffeeMachine()), AssetUtil.coffeeMachineRenderId);
|
||||
registerRenderer(TileEntityPhantomBooster.class, new RenderTileEntity(new ModelPhantomBooster()), AssetUtil.phantomBoosterRenderId);
|
||||
registerRenderer(TileEntitySmileyCloud.class, new RenderSmileyCloud(new ModelSmileyCloud()), AssetUtil.smileyCloudRenderId);
|
||||
registerRenderer(TileEntityLaserRelay.class, new RenderLaserRelay(new ModelLaserRelay()), AssetUtil.laserRelayRenderId);
|
||||
|
||||
VillagerRegistry.instance().registerVillagerSkin(ConfigIntValues.JAM_VILLAGER_ID.getValue(), new ResourceLocation(ModUtil.MOD_ID_LOWER, "textures/entity/villager/jamVillager.png"));
|
||||
}
|
||||
|
@ -103,4 +92,9 @@ public class ClientProxy implements IProxy{
|
|||
|
||||
SpecialRenderInit.init();
|
||||
}
|
||||
|
||||
private static void registerRenderer(Class<? extends TileEntity> tileClass, RenderTileEntity tileRender, int renderID){
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(tileClass, tileRender);
|
||||
RenderingRegistry.registerBlockHandler(new RenderInventory(tileRender, renderID));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,13 +28,14 @@ import org.lwjgl.opengl.GL11;
|
|||
public class AssetUtil{
|
||||
|
||||
public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory");
|
||||
public static int COMPOST_RENDER_ID;
|
||||
public static int FISHING_NET_RENDER_ID;
|
||||
public static int FURNACE_SOLAR_RENDER_ID;
|
||||
public static int COFFEE_MACHINE_RENDER_ID;
|
||||
public static int PHANTOM_BOOSTER_RENDER_ID;
|
||||
public static int SMILEY_CLOUD_RENDER_ID;
|
||||
public static int LASER_RELAY_RENDER_ID;
|
||||
|
||||
public static int compostRenderId;
|
||||
public static int fishingNetRenderId;
|
||||
public static int furnaceSolarRenderId;
|
||||
public static int coffeeMachineRenderId;
|
||||
public static int phantomBoosterRenderId;
|
||||
public static int smileyCloudRenderId;
|
||||
public static int laserRelayRenderId;
|
||||
|
||||
public static ResourceLocation getGuiLocation(String file){
|
||||
return new ResourceLocation(ModUtil.MOD_ID_LOWER, "textures/gui/"+file+".png");
|
||||
|
|
Loading…
Reference in a new issue