feat: move all doors into new item rendering api

This commit is contained in:
KoblizekXD 2023-11-26 15:17:12 +01:00
parent 84c2db8fa6
commit 1613235dd7
11 changed files with 169 additions and 128 deletions

View File

@ -1,5 +1,6 @@
package com.hbm.main;
import com.hbm.render.item.block.door.*;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
@ -458,8 +459,13 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.chainsaw, new ItemRenderChainsaw());
MinecraftForgeClient.registerItemRenderer(ModItems.boltgun, new ItemRenderBoltgun());
// 1.12.2 Doors
ItemRenderSlidingSealDoor door = new ItemRenderSlidingSealDoor();
MinecraftForgeClient.registerItemRenderer(door.getItemForRenderer(), door.getRenderer());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.sliding_seal_door), new ItemRenderSlidingSealDoor());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.water_door), new ItemRenderWaterDoor());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.secure_access_door), new ItemRenderSecureAccessDoor());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.round_airlock_door), new ItemRenderRoundAirlockDoor());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.qe_sliding_door), new ItemRenderQeSlidingDoor());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderQeContainment());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.large_vehicle_door), new ItemRenderLargeVehicleDoor());
//guns
MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg, new ItemRenderRpg());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_karl, new ItemRenderRpg());

View File

@ -1,5 +1,7 @@
package com.hbm.render.item;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.renderer.RenderHelper;
@ -62,4 +64,8 @@ public abstract class ItemRenderBase implements IItemRenderer {
public void renderInventory() { }
public void renderCommon() { }
public void renderCommonWithStack(ItemStack item) { }
public final void bindTexture(ResourceLocation res) {
Minecraft.getMinecraft().renderEngine.bindTexture(res);
}
}

View File

@ -727,95 +727,6 @@ public class ItemRenderLibrary {
bindTexture(ResourceManager.vault_cog_tex); ResourceManager.vault_cog.renderAll();
bindTexture(ResourceManager.vault_label_101_tex); ResourceManager.vault_label.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.secure_access_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(2.4, 2.4, 2.4);
}
public void renderCommon() {
bindTexture(ResourceManager.secure_access_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.secure_access_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});
renderers.put(Item.getItemFromBlock(ModBlocks.large_vehicle_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(1.8, 1.8, 1.8);
}
public void renderCommon() {
bindTexture(ResourceManager.large_vehicle_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.large_vehicle_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});
renderers.put(Item.getItemFromBlock(ModBlocks.water_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(4, 4, 4);
}
public void renderCommon() {
bindTexture(ResourceManager.water_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.water_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});
renderers.put(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -3.5, 0);
GL11.glScaled(3.8, 3.8, 3.8);
}
public void renderCommon() {
bindTexture(ResourceManager.qe_containment_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.qe_containment.renderAllExcept("decal");
bindTexture(ResourceManager.qe_containment_decal);
ResourceManager.qe_containment.renderPart("decal");
GL11.glShadeModel(GL11.GL_FLAT);
}
});
renderers.put(Item.getItemFromBlock(ModBlocks.qe_sliding_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -3.5, 0);
GL11.glScaled(6, 6, 6);
}
public void renderCommon() {
bindTexture(ResourceManager.qe_sliding_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.qe_sliding_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});
renderers.put(Item.getItemFromBlock(ModBlocks.round_airlock_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
}
public void renderCommon() {
bindTexture(ResourceManager.round_airlock_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.round_airlock_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});
/* renderers.put(Item.getItemFromBlock(ModBlocks.sliding_seal_door), new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -5, 0);
GL11.glScaled(7, 7, 7);
}
public void renderCommon() {
bindTexture(ResourceManager.sliding_seal_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.sliding_seal_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
});*/
renderers.put(Item.getItemFromBlock(ModBlocks.blast_door), new ItemRenderBase() {
public void renderInventory() {
@ -1425,8 +1336,4 @@ public class ItemRenderLibrary {
//hi there! it seems you are trying to register a new item renderer, most likely for a tile entity.
//please refer to the comment at the start of the file on how to do this without adding to this gigantic pile of feces.
}
private static void bindTexture(ResourceLocation res) {
Minecraft.getMinecraft().renderEngine.bindTexture(res);
}
}

View File

@ -1,33 +0,0 @@
package com.hbm.render.item.block;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.tileentity.IItemRendererProvider;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
public class ItemRenderSlidingSealDoor implements IItemRendererProvider {
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.sliding_seal_door);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase(){
public void renderInventory() {
GL11.glTranslated(0, -5, 0);
GL11.glScaled(7, 7, 7);
}
public void renderCommon() {
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sliding_seal_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.sliding_seal_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
};
}
}

View File

@ -0,0 +1,22 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderLargeVehicleDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(1.8, 1.8, 1.8);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.large_vehicle_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.large_vehicle_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,24 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderQeContainment extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -3.5, 0);
GL11.glScaled(3.8, 3.8, 3.8);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.qe_containment_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.qe_containment.renderAllExcept("decal");
bindTexture(ResourceManager.qe_containment_decal);
ResourceManager.qe_containment.renderPart("decal");
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,22 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderQeSlidingDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -3.5, 0);
GL11.glScaled(6, 6, 6);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.qe_sliding_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.qe_sliding_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,22 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderRoundAirlockDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.round_airlock_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.round_airlock_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,22 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderSecureAccessDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(2.4, 2.4, 2.4);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.secure_access_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.secure_access_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,21 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderSlidingSealDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -5, 0);
GL11.glScaled(7, 7, 7);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.sliding_seal_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.sliding_seal_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}

View File

@ -0,0 +1,22 @@
package com.hbm.render.item.block.door;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import org.lwjgl.opengl.GL11;
public class ItemRenderWaterDoor extends ItemRenderBase {
@Override
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(4, 4, 4);
}
@Override
public void renderCommon() {
bindTexture(ResourceManager.water_door_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.water_door.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
}