Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.12.2] Render coloured cube in TESR


Recommended Posts

Hey all, first time posting. I'm having difficulty with rendering a simple cube in a tileentities TESR, I'm not great with rendering in general, so any help would be appreciated.


EDIT: I should note that I have simplified this code to be as bare bones as it can be, until I can get the cube to render correctly.

https://github.com/The-PurpleOrange/Arcanacraft/blob/master/src/main/java/com/tyhone/arcanacraft/client/render/tesr/RenderTileEntityJar.java
There's the offender

When using DefaultVertexFormats.BLOCK I get this, but with DefaultVertexFormats.POSITION I get a cube, but I cant control the rgba, and it randomly flickers and goes invisible. POSITION _COLOR does something similar to BLOCK as well
2017-12-15_17_25_52.png.970b23dd27073c1453c3b16f1c4524fe.png

 

Heres the TESR code:

public void render(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float alpha){
		TileEntityJar jar = (TileEntityJar) te;
		double fluidLevel = jar.getFluidLevel();
		double maxFluid = jar.getMaxFluid();
		String fluidType = jar.getFluidType();
		
		if(true){
			
			Tessellator tess = Tessellator.getInstance();
			BufferBuilder buffer = tess.getBuffer();
			
			GlStateManager.pushMatrix();

			//Render smooth stuff
		    RenderHelper.disableStandardItemLighting();
		    GlStateManager.enableBlend();
		    GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

		    /*if(Minecraft.isAmbientOcclusionEnabled()) {
		      GL11.glShadeModel(GL11.GL_SMOOTH);
		    }
		    else {
		      GL11.glShadeModel(GL11.GL_FLAT);
		    }*/

		    GlStateManager.translate(x, y+1, z);
		    
			buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
			buffer.color(255, 0, 0, 255);

		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.DOWN);
		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.UP);
		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.NORTH);
		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.SOUTH);
		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.EAST);
		    buildQuad(buffer, 0, 0, 0, 1, 1, 1, EnumFacing.WEST);
		    
		    tess.draw();

		    GlStateManager.disableBlend();
		    GlStateManager.popMatrix();
		    RenderHelper.enableStandardItemLighting();
		}
	}

 

And here is buildQuad:

public static void buildQuad(BufferBuilder renderer, double x, double y, double z, double w, double h, double d, EnumFacing face) {

		double s = 0.1;
		double x1 = x + s;
		double x2 = x + w - s;
		double y1 = y + s;
		double y2 = y + h - s;
		double z1 = z + s;
		double z2 = z + d - s;

		switch(face) {
		case DOWN:
			renderer.pos(x1, y1, z1).endVertex();
			renderer.pos(x2, y1, z1).endVertex();
			renderer.pos(x2, y1, z2).endVertex();
			renderer.pos(x1, y1, z2).endVertex();
			break;
		case UP:
			renderer.pos(x1, y2, z1).endVertex();
			renderer.pos(x1, y2, z2).endVertex();
			renderer.pos(x2, y2, z2).endVertex();
			renderer.pos(x2, y2, z1).endVertex();
			break;
		case NORTH:
			renderer.pos(x1, y1, z1).endVertex();
			renderer.pos(x1, y2, z1).endVertex();
			renderer.pos(x2, y2, z1).endVertex();
			renderer.pos(x2, y1, z1).endVertex();
			break;
		case SOUTH:
			renderer.pos(x1, y1, z2).endVertex();
			renderer.pos(x2, y1, z2).endVertex();
			renderer.pos(x2, y2, z2).endVertex();
			renderer.pos(x1, y2, z2).endVertex();
			break;
		case WEST:
			renderer.pos(x1, y1, z1).endVertex();
			renderer.pos(x1, y1, z2).endVertex();
			renderer.pos(x1, y2, z2).endVertex();
			renderer.pos(x1, y2, z1).endVertex();
			break;
		case EAST:
			renderer.pos(x2, y1, z1).endVertex();
			renderer.pos(x2, y2, z1).endVertex();
			renderer.pos(x2, y2, z2).endVertex();
			renderer.pos(x2, y1, z2).endVertex();
			break;
		}
	}

 

Edited by Tyhone
Link to post
Share on other sites
  • 9 months later...

SORRY FOR NECROING AN OLD THREAD!

If anyone wants examples of how to use DefaultVertexFormats.BLOCK look at net.minecraft.client.renderer.BlockFluidRenderer or

Spoiler

// debug quad
VertexBuffer.pos(0, 1, 0).color(0xFF, 0xFF, 0xFF, 0xFF).tex(0, 0).lightmap(240, 0).endVertex();
VertexBuffer.pos(0, 1, 1).color(0xFF, 0xFF, 0xFF, 0xFF).tex(0, 1).lightmap(240, 0).endVertex();
VertexBuffer.pos(1, 1, 1).color(0xFF, 0xFF, 0xFF, 0xFF).tex(1, 1).lightmap(240, 0).endVertex();
VertexBuffer.pos(1, 1, 0).color(0xFF, 0xFF, 0xFF, 0xFF).tex(1, 0).lightmap(240, 0).endVertex();

 

If anyone wants examples of how to use DefaultVertexFormats.POSITION_TEX look at net.minecraft.client.renderer.ItemRenderer or RenderTileEntityAlchemicArray.java

 

If anyone wants examples of how to use DefaultVertexFormats.POSITION_TEX_COLOR look at net.minecraft.client.renderer.RenderGlobal or ClientUtil.java

 

Examples for everything except block are pretty easy to find with your IDE's search

  • Like 1
  • Thanks 1

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Yepp, I registered it correctly since it works in singleplayer   [20:00:09] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: null Index: 1 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@424b29b1 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@3ad59387 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@7f10071d handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 4: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@2d0269f3 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 5: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@61b8c853 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 6: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@187cff67 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 7: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@7b9e59e7 handleEvent(Lnet/minecraftforge/event/RegistryEvent$Register;)V 8: ASM: class fr.alcanderia.alcamod.Alcamod$RegistryEvents onBlocksRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V java.lang.AbstractMethodError at net.minecraft.item.ArmorItem.<init>(ArmorItem.java:68) at fr.alcanderia.alcamod.init.ModItems.lambda$static$60(ModItems.java:118) at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) at net.minecraftforge.eventbus.ASMEventHandler_0_EventDispatcher_handleEvent_Register.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) at java.util.concurrent.CompletableFuture$AsyncRun.run$$$capture(CompletableFuture.java:1640) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java) at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) at net.minecraftforge.fml.server.ServerModLoader.load(ServerModLoader.java:44) at net.minecraft.server.Main.main(Main.java:95) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.minecraftforge.userdev.FMLUserdevServerLaunchProvider.lambda$launchService$0(FMLUserdevServerLaunchProvider.java:54) at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [20:00:09] [main/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:item> dispatch for modid alcamod java.lang.AbstractMethodError: null at net.minecraft.item.ArmorItem.<init>(ArmorItem.java:68) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at fr.alcanderia.alcamod.init.ModItems.lambda$static$60(ModItems.java:118) ~[main/:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:200) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister.access$000(DeferredRegister.java:61) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:172) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_0_EventDispatcher_handleEvent_Register.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:36.1] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run$$$capture(CompletableFuture.java:1640) ~[?:1.8.0_271] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java) ~[?:1.8.0_271] {} at net.minecraftforge.fml.ModWorkManager$SyncExecutor.driveOne(ModWorkManager.java:56) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModWorkManager$DrivenExecutor.drive(ModWorkManager.java:40) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:230) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:196) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraftforge.fml.server.ServerModLoader.load(ServerModLoader.java:44) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at net.minecraft.server.Main.main(Main.java:95) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271] {} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_271] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_271] {} at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_271] {} at net.minecraftforge.userdev.FMLUserdevServerLaunchProvider.lambda$launchService$0(FMLUserdevServerLaunchProvider.java:54) ~[forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.32_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {}  
    • @Luis_ST  The full log is (Copied and Pasted):   Description Resource Path Location Type Project 'Nutun' is missing required library: 'C:\Users\Zeeshan\Desktop\unresolved dependency - net.minecraftforge forge 1.15.2 31.2.50_mapped_snapshot_20200514-1.15.1' Nutun Build path Build Path Problem The project cannot be built until build path errors are resolved Nutun Unknown Java Problem  
    • please post the full log did you register your DeferredRegister in your main mod class?
    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.