Jump to content

[1.15.2] [Solved] Dynamically create Item model from dynamically generated item texture


Budschie

Recommended Posts

Howdy

 

Item.setISTER lets you use a TileEntityRenderer for rendering your item.  You can take the rendering functionality from the map rendering class(es) and copy them into your own renderer.

 

Or you can add a custom model and do the same thing, i.e. copy the rendering functionality from the map rendering class(es)

(see eg mbe15 in  https://github.com/TheGreyGhost/MinecraftByExample)

 

The basic idea is:

1) generate a custom dynamic texture

2) bind the texture

3) draw one or more quads

 

-TGG

 

Link to comment
Share on other sites

Howdy

 

Ah, my bad.  It's actually in Item.Properties nested class

 

Item.java:      

It's in the nested class Properties

public Item.Properties setISTER(java.util.function.Supplier<java.util.concurrent.Callable<net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer>> ister) {
         this.ister = ister;
         return this;
      }

--> is Right at the very end of the class

 -TGG

  • Like 1
Link to comment
Share on other sites

I'm now attaching my custom item renderer to the item like this:

new CommonTool(new Item.Properties().setISTER(() -> new Callable<ItemStackTileEntityRenderer>()
	{
		DynamicCommonToolRendering r = null;
		
		@Override
		public ItemStackTileEntityRenderer call() throws Exception
		{
			if(r == null)
				r = new DynamicCommonToolRendering();
			
			return r;
		}
		
	}));

But it won't run the render method which is defined in DynamicCommonToolRendering().

What have I done wrong?

Link to comment
Share on other sites

Howdy

 

There could be lots of possible reasons for that.  Probably your item model doesn't have "builtin/entity" as the parent type.  (see the "Item" section of https://minecraft.gamepedia.com/Model)

 

If that doesn't work, I'd suggest trying some breakpoints in strategic locations, eg:

- inside your lambda for supplying the ItemStackTileEntityRenderer

- inside the render method of vanilla ItemStackTileEntityRenderer

- inside ItemRenderer::renderItem(ItemStack itemStackIn ....)

 

-TGG

  • Thanks 1
Link to comment
Share on other sites

@TheGreyGhost Thanks. It works now. But I have a new problem:

I am doing something wrong while loading the images of the tool parts:

I'm currently using

DynamicTexture tex = new DynamicTexture(NativeImage.read(this.getClass().getResourceAsStream("assets/deepnether/textures/item/toolparts/" + stick.getImage(Part.STICK, toolType) + ".png")));

to load a texture, but the stream seems to be "null".

Link to comment
Share on other sites

I now fixed the issue that I mentioned above as well, but now I have another problem: The item doesn't look like a standard minecraft item (it's just a plane with a texture), and doesn't seem to be translated the right way when you hold it in your hands.

Link to comment
Share on other sites

4 minutes ago, Budschie said:

Is there any way to create an 3-dimensional model from a texture?

Yes, that's how generated item models work.

Edited by Draco18s
  • Haha 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

  • Budschie changed the title to [1.15.2] Dynamically create Item model from dynamically generated item texture

I still have no solution, please help. I've tried to generate a model out of the texture, but I have no idea in which direction the normals should face etc.

Spoiler

 


public void build(DynamicTexture texture, IVertexBuilder builder, float size, int combinedLightIn, Matrix4f matrix)
	{
		for(int y = 0; y < texture.getTextureData().getHeight(); y++)
		{
			int fromX = -1;
			int toX = -1;
			
			for(int x = 0; x < texture.getTextureData().getWidth(); x++)
			{
				if(x == (texture.getTextureData().getWidth()-1))
				{
					if(fromX != -1)
					{
						float uAdd = 1f / texture.getTextureData().getWidth();
						float vAdd = 1f / texture.getTextureData().getHeight();
						beginAndEnd(matrix, fromX, toX, y, builder, size, uAdd * x, vAdd * y, uAdd, vAdd, combinedLightIn);
						fromX = -1;
						toX = -1;
					}
				}
				else if(NativeImage.getAlpha(texture.getTextureData().getPixelRGBA(x, y)) > 100)
				{
					if(fromX == -1)
					{
						fromX = x;
					}
					else
					{
						toX = x;
					}
				}
				else
				{
					if(fromX != -1)
					{
						float uAdd = 1f / texture.getTextureData().getWidth();
						float vAdd = 1f / texture.getTextureData().getHeight();
						beginAndEnd(matrix, fromX, toX, y, builder, size, uAdd * x, vAdd * y, uAdd, vAdd, combinedLightIn);
						fromX = -1;
						toX = -1;
					}
				}
			}
		}
	}
	
	public void beginAndEnd(Matrix4f matrix, int fromX, int toX, int y, IVertexBuilder builder, float size, float uStart, float vStart, float uAdd, float vAdd, int combinedLightIn)
	{
		float minX = fromX * size;
		float minY = 0;
		float minZ = y * size;
		
		float maxX = toX * size;
		float maxY = size;
		float maxZ = y * size + size;
		
		/*
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		*/
		
		//Left right
		Vector3f n1 = Vector3f.XN;
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		
		Vector3f n2 = Vector3f.YN;
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		
		
		//Up down
		Vector3f n3 = Vector3f.XP;
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		
		Vector3f n4 = Vector3f.XN;
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		
		//Other left right
		Vector3f n5 = Vector3f.XN;
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		
		Vector3f n6 = Vector3f.ZP;
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		
		/*
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + vAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + vAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + vAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		*/
		
		/*
		builder.pos(matrix, fromX * size, 0, y * size).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, 0, y * size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, 0, y * size + size).color(255, 255, 255, 255).tex(uStart, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, 0, y * size + size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		
		WorldRenderer.drawBoundingBox(bufferIn, minX, minY, minZ, maxX, maxY, maxZ, red, green, blue, alpha);
		
		builder.pos(matrix, fromX * size, size, y * size).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, size, y * size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, size, y * size + size).color(255, 255, 255, 255).tex(uStart, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, size, y * size + size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		
		builder.pos(matrix, fromX * size, 0, y * size).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, 0, y * size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, size, y * size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, toX * size, size, y * size).color(255, 255, 255, 255).tex(uStart + uAdd, vStart).lightmap(combinedLightIn).endVertex();
		
		builder.pos(matrix, fromX * size, 0, y * size + size).color(255, 255, 255, 255).tex(uStart, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, 0, y * size).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, size, y * size).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, fromX * size, size, y * size + size).color(255, 255, 255, 255).tex(uStart, vStart + vAdd).lightmap(combinedLightIn).endVertex();
		*/
		
	}

 

 

Edited by Budschie
Link to comment
Share on other sites

Howdy

 

You have a couple of options;

if you just want to generate a flat "pizza box" model with your texture, you can use any of the methods in these example classes

https://github.com/TheGreyGhost/MinecraftByExample/blob/master/src/main/java/minecraftbyexample/mbe04_block_dynamic_block_models/AltimeterBakedModel.java

 

https://github.com/TheGreyGhost/MinecraftByExample/blob/master/src/main/java/minecraftbyexample/mbe21_tileentityrenderer/RenderQuads.java

 

or BlockModel::bakeVanilla

 

If you want to generate an item model with 'holes' in it, similar to vanillla, then look at ItemModelGenerator to see how vanilla does it or ItemLayerModel forge extension for further clues.  Haven't done that myself....

 

-TGG

 

 

  • Like 1
Link to comment
Share on other sites

@TheGreyGhost Thanks for responding.

 

I made this bit of code, but the face normals of the generated model are wrong, resulting in rendering issues:

Spoiler

public void build(DynamicTexture texture, IVertexBuilder builder, float size, int combinedLightIn, Matrix4f matrix)
	{
		for(int y = 0; y < texture.getTextureData().getHeight(); y++)
		{
			int fromX = -1;
			int toX = -1;
			
			for(int x = 0; x < texture.getTextureData().getWidth(); x++)
			{
				if(x == (texture.getTextureData().getWidth()-1))
				{
					if(fromX != -1)
					{
						float uAdd = 1f / texture.getTextureData().getWidth();
						float vAdd = 1f / texture.getTextureData().getHeight();
						beginAndEnd(matrix, fromX, toX, y, builder, size, uAdd * x, vAdd * y, uAdd, vAdd, combinedLightIn);
						fromX = -1;
						toX = -1;
					}
				}
				else if(NativeImage.getAlpha(texture.getTextureData().getPixelRGBA(x, y)) > 100)
				{
					if(fromX == -1)
					{
						fromX = x;
					}
					else
					{
						toX = x;
					}
				}
				else
				{
					if(fromX != -1)
					{
						float uAdd = 1f / texture.getTextureData().getWidth();
						float vAdd = 1f / texture.getTextureData().getHeight();
						beginAndEnd(matrix, fromX, toX, y, builder, size, uAdd * x, vAdd * y, uAdd, vAdd, combinedLightIn);
						fromX = -1;
						toX = -1;
					}
				}
			}
		}
	}
	
	public void beginAndEnd(Matrix4f matrix, int fromX, int toX, int y, IVertexBuilder builder, float size, float uStart, float vStart, float uAdd, float vAdd, int combinedLightIn)
	{
		float minX = fromX * size;
		float minY = 0;
		float minZ = y * size;
		
		float maxX = toX * size;
		float maxY = size;
		float maxZ = y * size + size;
		
		/*
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).lightmap(combinedLightIn).endVertex();
		*/
		
		//Left right
		Vector3f n1 = Vector3f.XN;
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n1.getX(), n1.getY(), n1.getZ()).endVertex();
		
		Vector3f n2 = Vector3f.XP;
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n2.getX(), n2.getY(), n2.getZ()).endVertex();
		
		
		//Up down
		Vector3f n3 = Vector3f.YP;
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n3.getX(), n3.getY(), n3.getZ()).endVertex();
		
		Vector3f n4 = Vector3f.YN;
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n4.getX(), n4.getY(), n4.getZ()).endVertex();
		
		//Other left right
		Vector3f n5 = Vector3f.ZN;
		builder.pos(matrix, minX, minY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, minZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, minZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n5.getX(), n5.getY(), n5.getZ()).endVertex();
		
		Vector3f n6 = Vector3f.ZP;
		builder.pos(matrix, minX, minY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, minX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart, vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, maxX, maxY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		builder.pos(matrix, maxX, minY, maxZ).color(255, 255, 255, 255).tex(uStart + uAdd * (maxX - minX), vStart).overlay(OverlayTexture.NO_OVERLAY).lightmap(combinedLightIn).normal(n6.getX(), n6.getY(), n6.getZ()).endVertex();
		
	}

 

How can I fix that?

 

 

Edited by Budschie
Link to comment
Share on other sites

Ah ok, now I understand what you mean.  That's nothing to do with the vertex normals information, it's because of back face culling.

Each quad has a direction - a front face and a back face.  Usually, the back face is not drawn.

 

The direction that the face is pointing is determined by the order of the vertices.

If you are looking at the front of the face, the four vertices should be in anti-clockwise order.

So if the face is pointing the wrong way, you just need to reverse the order of your vertices.

 

For example: your left-right draws in the order of

 

maxY, minZ

maxY, maxZ

minY, maxZ

minY, minZ

which is clockwise

https://3.bp.blogspot.com/-Lh9ked7q9Lg/UejFhn9OfbI/AAAAAAAAAAY/oYem6d_fSk8/s1600/MinecraftCoordinateSystem.png

 

Instead, add the vertices in the opposite order, i.e.

minY, minZ

minY, maxZ

maxY, maxZ

maxY, minZ

 

-TGG

  • Like 1
Link to comment
Share on other sites

  • Budschie changed the title to [1.15.2] [Solved] Dynamically create Item model from dynamically generated item texture

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I have instaled sophisticated core and Creative core and both give me an error that puta code error 1
    • didnt work, showed the same error and the logs seemed identical
    • When I start the modpack in the Minecraft launcher there is a very fast loading of the green bar and then the launcher closes and nothing appears, here is the log   [30May2024 20:32:38.114] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, GrimmWolfXxX, --version, forge-43.3.13, --gameDir, G:\MINECRAFT MODS\CurseForge\Instances\MedievalTech, --assetsDir, G:\MINECRAFT MODS\CurseForge\Install\assets, --assetIndex, 1.19, --uuid, a82398839c5942c98568c89d20911ded, --accessToken, ????????, --clientId, Y2Q2ZDhmMjktOGQwMS00N2MxLThmYzYtNWYzMTU1YThlZjI1, --xuid, 2535458029473870, --userType, msa, --versionType, release, --width, 1024, --height, 768, --launchTarget, forgeclient, --fml.forgeVersion, 43.3.13, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [30May2024 20:32:38.116] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.8 by Microsoft; OS Windows 10 arch amd64 version 10.0 [30May2024 20:32:39.200] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirector CoreMod initialized successfully! [30May2024 20:32:39.219] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/G:/MINECRAFT%20MODS/CurseForge/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2397!/ Service=ModLauncher Env=CLIENT [30May2024 20:32:39.642] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file G:\MINECRAFT MODS\CurseForge\Install\libraries\net\minecraftforge\fmlcore\1.19.2-43.3.13\fmlcore-1.19.2-43.3.13.jar is missing mods.toml file [30May2024 20:32:39.643] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file G:\MINECRAFT MODS\CurseForge\Install\libraries\net\minecraftforge\javafmllanguage\1.19.2-43.3.13\javafmllanguage-1.19.2-43.3.13.jar is missing mods.toml file [30May2024 20:32:39.643] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file G:\MINECRAFT MODS\CurseForge\Install\libraries\net\minecraftforge\lowcodelanguage\1.19.2-43.3.13\lowcodelanguage-1.19.2-43.3.13.jar is missing mods.toml file [30May2024 20:32:39.644] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file G:\MINECRAFT MODS\CurseForge\Install\libraries\net\minecraftforge\mclanguage\1.19.2-43.3.13\mclanguage-1.19.2-43.3.13.jar is missing mods.toml file [30May2024 20:32:39.784] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File:  and Mod File: . Using Mod File: [30May2024 20:32:39.785] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: curios. Using Mod File: G:\MINECRAFT MODS\CurseForge\Instances\MedievalTech\mods\curios-forge-1.19.2-5.1.6.2.jar [30May2024 20:32:39.785] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 21 dependencies adding them to mods collection [30May2024 20:32:42.451] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [30May2024 20:32:42.483] [main/ERROR] [mixin/]: Mixin config epicsamurai.mixins.json does not specify "minVersion" property [30May2024 20:32:42.532] [main/ERROR] [mixin/]: Mixin config dynamiclightsreforged.mixins.json does not specify "minVersion" property [30May2024 20:32:42.556] [main/ERROR] [mixin/]: Mixin config radon.mixins.json does not specify "minVersion" property [30May2024 20:32:42.624] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [tictim.paraglider.MixinConnector] [30May2024 20:32:42.625] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [com.sonicether.soundphysics.MixinConnector] [30May2024 20:32:42.625] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [ca.spottedleaf.starlight.mixin.MixinConnector] [30May2024 20:32:42.627] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, forge-43.3.13, --gameDir, G:\MINECRAFT MODS\CurseForge\Instances\MedievalTech, --assetsDir, G:\MINECRAFT MODS\CurseForge\Install\assets, --uuid, a82398839c5942c98568c89d20911ded, --username, GrimmWolfXxX, --assetIndex, 1.19, --accessToken, ????????, --clientId, Y2Q2ZDhmMjktOGQwMS00N2MxLThmYzYtNWYzMTU1YThlZjI1, --xuid, 2535458029473870, --userType, msa, --versionType, release, --width, 1024, --height, 768] [30May2024 20:32:42.661] [main/WARN] [ModernFixConfig/]: ModelDataManager bugfixes have been disabled to prevent broken rendering with Rubidium installed. Please migrate to Embeddium. [30May2024 20:32:42.662] [main/INFO] [ModernFix/]: Loaded configuration file for ModernFix 5.17.0+mc1.19.2: 84 options available, 2 override(s) found [30May2024 20:32:42.662] [main/WARN] [ModernFix/]: Option 'mixin.bugfix.model_data_manager_cme' overriden (by mods [rubidium]) to 'false' [30May2024 20:32:42.662] [main/WARN] [ModernFix/]: Option 'mixin.bugfix.item_cache_flag' overriden (by mods [radium]) to 'false' [30May2024 20:32:42.662] [main/INFO] [ModernFix/]: Applying Nashorn fix [30May2024 20:32:42.667] [main/INFO] [ModernFix/]: Applied Forge config corruption patch [30May2024 20:32:42.676] [main/WARN] [mixin/]: Reference map 'morevillagers-forge-forge-refmap.json' for morevillagers.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.679] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.680] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras_forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.681] [main/WARN] [mixin/]: Reference map 'brrp-forge-forge-refmap.json' for brrp-forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.684] [main/WARN] [mixin/]: Reference map 'nitrogen_internals.refmap.json' for nitrogen_internals.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.692] [main/ERROR] [RadiumConfig/]: Option entity.collisions.fluid for dependency 'entity.collisions.fluid depends on chunk=true' not found. Skipping. [30May2024 20:32:42.692] [main/ERROR] [RadiumConfig/]: Option entity.collisions.fluid for dependency 'entity.collisions.fluid depends on chunk.block_counting=true' not found. Skipping. [30May2024 20:32:42.693] [main/INFO] [Radium/]: Loaded configuration file for Radium: 96 options available, 0 override(s) found [30May2024 20:32:42.696] [main/WARN] [mixin/]: Reference map 'arclight.mixins.refmap.json' for epicsamurai.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.699] [main/WARN] [mixin/]: Reference map 'untamedwilds.refmap.json' for untamedwilds.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.700] [main/WARN] [mixin/]: Reference map 'jeitweaker.refmap.json' for jeitweaker.forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.701] [main/WARN] [mixin/]: Reference map 'jeitweaker.refmap.json' for jeitweaker.common.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.703] [main/WARN] [mixin/]: Reference map 'antiqueatlas-forge-refmap.json' for antiqueatlas.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.706] [main/WARN] [mixin/]: Reference map '${refmap_target}refmap.json' for corgilib.forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.718] [main/WARN] [mixin/]: Reference map 'tlc.refmap.json' for tlc.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.722] [main/WARN] [mixin/]: Reference map 'insanelib.refmap.json' for insanelib.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.726] [main/WARN] [mixin/]: Reference map 'Bakery-forge-refmap.json' for bakery.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.744] [main/WARN] [mixin/]: Reference map 'xlpackets.refmap.json' for xlpackets.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.752] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting com/llamalad7/mixinextras/service/MixinExtrasVersion [30May2024 20:32:42.778] [main/WARN] [mixin/]: Reference map 'mes-forge-refmap.json' for mes-forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.785] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting malte0811/ferritecore/mixin/config/FerriteMixinConfig$LithiumSupportState [30May2024 20:32:42.796] [main/INFO] [com.abdelaziz.saturn.common.Saturn/]: Loaded Saturn config file with 4 configurable options [30May2024 20:32:42.808] [main/INFO] [Rubidium/]: Loaded configuration file for Rubidium: 30 options available, 0 override(s) found [30May2024 20:32:42.813] [main/WARN] [mixin/]: Reference map 'labels-common-refmap.json' for labels-common.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.813] [main/WARN] [mixin/]: Reference map 'labels-forge-refmap.json' for labels.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.815] [main/WARN] [mixin/]: Reference map 'lmft-forge-refmap.json' for lmft.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.817] [main/WARN] [mixin/]: Reference map 'mysticaloaktree-common-refmap.json' for mysticaloaktree-common.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.818] [main/WARN] [mixin/]: Reference map 'mysticaloaktree-forge-refmap.json' for mysticaloaktree.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.826] [main/WARN] [mixin/]: Reference map 'thirst.refmap.json' for villagercomfort.mixin.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.830] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting com/illusivesoulworks/polymorph/common/integration/PolymorphIntegrations$Mod [30May2024 20:32:42.831] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting com/illusivesoulworks/polymorph/common/integration/PolymorphIntegrations$Loader [30May2024 20:32:42.849] [main/WARN] [mixin/]: Reference map 'naturalist-forge-forge-refmap.json' for naturalist.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.852] [main/INFO] [fpsreducer/]: OptiFine was NOT detected. [30May2024 20:32:42.853] [main/INFO] [fpsreducer/]: OptiFabric was NOT detected. [30May2024 20:32:42.854] [main/WARN] [mixin/]: Reference map 'dummmmmmy-forge-refmap.json' for dummmmmmy.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.858] [main/WARN] [mixin/]: Reference map 'VampirismCoveredArmor.refmap.json' for vampirismcoveredarmor.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.862] [main/INFO] [Sodium Extra Config/]: Loaded configuration file for Sodium Extra: 28 options available, 0 override(s) found [30May2024 20:32:42.864] [main/WARN] [mixin/]: Reference map 'smallships-forge-refmap.json' for smallships.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.866] [main/WARN] [mixin/]: Reference map 'limitedchunks.refmap.json' for limitedchunks.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.875] [main/WARN] [mixin/]: Reference map 'mvs-forge-refmap.json' for mvs-forge.mixins.json could not be read. If this is a development environment you can ignore this message [30May2024 20:32:42.979] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [30May2024 20:32:42.982] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [30May2024 20:32:43.092] [main/WARN] [mixin/]: Error loading class: mezz/modnametooltip/TooltipEventHandler (java.lang.ClassNotFoundException: mezz.modnametooltip.TooltipEventHandler) [30May2024 20:32:43.093] [main/WARN] [mixin/]: Error loading class: me/shedaniel/rei/impl/client/ClientHelperImpl (java.lang.ClassNotFoundException: me.shedaniel.rei.impl.client.ClientHelperImpl) [30May2024 20:32:43.142] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/renderer/item/ItemProperties$static$1 (java.lang.ClassNotFoundException: net.minecraft.client.renderer.item.ItemProperties$static$1) [30May2024 20:32:43.143] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.renderer.item.ItemProperties$static$1 was not found infernal-expansion.mixins.json:client.MixinItemProperties [30May2024 20:32:43.150] [main/WARN] [mixin/]: Error loading class: com/simibubi/create/content/contraptions/components/fan/AirCurrent (java.lang.ClassNotFoundException: com.simibubi.create.content.contraptions.components.fan.AirCurrent) [30May2024 20:32:43.300] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 2 calls to Enchantment#getMaxLevel() in net/minecraft/world/inventory/AnvilMenu [30May2024 20:32:43.307] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [30May2024 20:32:43.308] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [30May2024 20:32:43.312] [main/WARN] [mixin/]: Error loading class: com/hollingsworth/arsnouveau/common/items/SpellCrossbow (java.lang.ClassNotFoundException: com.hollingsworth.arsnouveau.common.items.SpellCrossbow) [30May2024 20:32:43.470] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting link/infra/indium/renderer/aocalc/AoConfig [30May2024 20:32:43.634] [main/WARN] [mixin/]: Error loading class: com/mrcrayfish/guns/client/handler/RecoilHandler (java.lang.ClassNotFoundException: com.mrcrayfish.guns.client.handler.RecoilHandler) [30May2024 20:32:43.635] [main/WARN] [mixin/]: Error loading class: dev/tr7zw/skinlayers/render/CustomizableModelPart (java.lang.ClassNotFoundException: dev.tr7zw.skinlayers.render.CustomizableModelPart) [30May2024 20:32:43.637] [main/WARN] [mixin/]: Error loading class: net/optifine/shaders/ShadersRender (java.lang.ClassNotFoundException: net.optifine.shaders.ShadersRender) [30May2024 20:32:43.637] [main/WARN] [mixin/]: @Mixin target net.optifine.shaders.ShadersRender was not found shouldersurfing.forge.mixins.json:MixinShadersRender [30May2024 20:32:43.709] [main/WARN] [mixin/]: Error loading class: com/min01/archaeology/item/BrushItem (java.lang.ClassNotFoundException: com.min01.archaeology.item.BrushItem) [30May2024 20:32:43.709] [main/WARN] [mixin/]: @Mixin target com.min01.archaeology.item.BrushItem was not found cataclysm.mixins.json:BrushItemMixin [30May2024 20:32:43.712] [main/WARN] [mixin/]: Error loading class: shadows/apotheosis/ench/table/ApothEnchantContainer (java.lang.ClassNotFoundException: shadows.apotheosis.ench.table.ApothEnchantContainer) [30May2024 20:32:43.712] [main/WARN] [mixin/]: @Mixin target shadows.apotheosis.ench.table.ApothEnchantContainer was not found origins_classes.mixins.json:common.apotheosis.ApotheosisEnchantmentMenuMixin [30May2024 20:32:43.714] [main/WARN] [mixin/]: Error loading class: se/mickelus/tetra/blocks/workbench/WorkbenchTile (java.lang.ClassNotFoundException: se.mickelus.tetra.blocks.workbench.WorkbenchTile) [30May2024 20:32:43.714] [main/WARN] [mixin/]: @Mixin target se.mickelus.tetra.blocks.workbench.WorkbenchTile was not found origins_classes.mixins.json:common.tetra.WorkbenchTileMixin [30May2024 20:32:43.749] [main/WARN] [mixin/]: Error loading class: dev/ftb/mods/ftbchunks/data/ClaimedChunkManager (java.lang.ClassNotFoundException: dev.ftb.mods.ftbchunks.data.ClaimedChunkManager) [30May2024 20:32:43.749] [main/WARN] [mixin/]: @Mixin target dev.ftb.mods.ftbchunks.data.ClaimedChunkManager was not found doespotatotick.mixins.json:ClaimedChunkManagerAccessor [30May2024 20:32:43.777] [main/INFO] [auudio/mixin/AuudioMixinPlugin/]: APPLYING MIXIN: de.keksuccino.auudio.mixin.client.MixinSoundBufferLibrary | TO TARGET: net.minecraft.client.sounds.SoundBufferLibrary [30May2024 20:32:43.777] [main/INFO] [auudio/mixin/AuudioMixinPlugin/]: APPLYING MIXIN: de.keksuccino.auudio.mixin.client.MixinSoundEngine | TO TARGET: net.minecraft.client.sounds.SoundEngine [30May2024 20:32:43.806] [main/WARN] [mixin/]: Error loading class: com/izofar/takesapillage/entity/Archer (java.lang.ClassNotFoundException: com.izofar.takesapillage.entity.Archer) [30May2024 20:32:43.806] [main/WARN] [mixin/]: @Mixin target com.izofar.takesapillage.entity.Archer was not found difficultraids.mixin.json:compat.ArcherMixin [30May2024 20:32:43.806] [main/WARN] [mixin/]: Error loading class: cn/leolezury/leosillagers/entity/Clownager (java.lang.ClassNotFoundException: cn.leolezury.leosillagers.entity.Clownager) [30May2024 20:32:43.807] [main/WARN] [mixin/]: @Mixin target cn.leolezury.leosillagers.entity.Clownager was not found difficultraids.mixin.json:compat.ClownagerMixin [30May2024 20:32:43.810] [main/WARN] [mixin/]: Error loading class: baguchan/hunterillager/entity/HunterIllagerEntity (java.lang.ClassNotFoundException: baguchan.hunterillager.entity.HunterIllagerEntity) [30May2024 20:32:43.810] [main/WARN] [mixin/]: @Mixin target baguchan.hunterillager.entity.HunterIllagerEntity was not found difficultraids.mixin.json:compat.HunterIllagerMixin [30May2024 20:32:43.810] [main/WARN] [mixin/]: Error loading class: com/izofar/takesapillage/entity/Legioner (java.lang.ClassNotFoundException: com.izofar.takesapillage.entity.Legioner) [30May2024 20:32:43.810] [main/WARN] [mixin/]: @Mixin target com.izofar.takesapillage.entity.Legioner was not found difficultraids.mixin.json:compat.LegionerMixin [30May2024 20:32:43.811] [main/WARN] [mixin/]: Error loading class: cn/leolezury/leosillagers/entity/LightningCaller (java.lang.ClassNotFoundException: cn.leolezury.leosillagers.entity.LightningCaller) [30May2024 20:32:43.811] [main/WARN] [mixin/]: @Mixin target cn.leolezury.leosillagers.entity.LightningCaller was not found difficultraids.mixin.json:compat.LightningCallerMixin [30May2024 20:32:43.824] [main/WARN] [mixin/]: Error loading class: com/infamous/dungeons_mobs/entities/illagers/MountaineerEntity (java.lang.ClassNotFoundException: com.infamous.dungeons_mobs.entities.illagers.MountaineerEntity) [30May2024 20:32:43.824] [main/WARN] [mixin/]: @Mixin target com.infamous.dungeons_mobs.entities.illagers.MountaineerEntity was not found difficultraids.mixin.json:compat.MountaineerMixin [30May2024 20:32:43.825] [main/WARN] [mixin/]: Error loading class: com/infamous/dungeons_mobs/entities/redstone/RedstoneGolemEntity (java.lang.ClassNotFoundException: com.infamous.dungeons_mobs.entities.redstone.RedstoneGolemEntity) [30May2024 20:32:43.825] [main/WARN] [mixin/]: @Mixin target com.infamous.dungeons_mobs.entities.redstone.RedstoneGolemEntity was not found difficultraids.mixin.json:compat.RedstoneGolemMixin [30May2024 20:32:43.826] [main/WARN] [mixin/]: Error loading class: com/infamous/dungeons_mobs/entities/illagers/RoyalGuardEntity (java.lang.ClassNotFoundException: com.infamous.dungeons_mobs.entities.illagers.RoyalGuardEntity) [30May2024 20:32:43.826] [main/WARN] [mixin/]: @Mixin target com.infamous.dungeons_mobs.entities.illagers.RoyalGuardEntity was not found difficultraids.mixin.json:compat.RoyalGuardMixin [30May2024 20:32:43.826] [main/WARN] [mixin/]: Error loading class: com/izofar/takesapillage/entity/Skirmisher (java.lang.ClassNotFoundException: com.izofar.takesapillage.entity.Skirmisher) [30May2024 20:32:43.826] [main/WARN] [mixin/]: @Mixin target com.izofar.takesapillage.entity.Skirmisher was not found difficultraids.mixin.json:compat.SkirmisherMixin [30May2024 20:32:43.828] [main/WARN] [mixin/]: Error loading class: cn/leolezury/leosillagers/entity/VindicatorWithShield (java.lang.ClassNotFoundException: cn.leolezury.leosillagers.entity.VindicatorWithShield) [30May2024 20:32:43.829] [main/WARN] [mixin/]: @Mixin target cn.leolezury.leosillagers.entity.VindicatorWithShield was not found difficultraids.mixin.json:compat.VindicatorWithShieldMixin [30May2024 20:32:43.849] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Patching FishingHook#catchingFish [30May2024 20:32:43.927] [main/WARN] [mixin/]: Error loading class: net/minecraft/resources/RegistryDataLoader (java.lang.ClassNotFoundException: net.minecraft.resources.RegistryDataLoader) [30May2024 20:32:43.927] [main/WARN] [mixin/]: @Mixin target net.minecraft.resources.RegistryDataLoader was not found zeta.mixins.json:RegistryDataLoaderMixin [30May2024 20:32:43.971] [main/INFO] [fpsreducer/]: bre2el.fpsreducer.mixin.RenderSystemMixin will be applied. [30May2024 20:32:43.972] [main/INFO] [fpsreducer/]: bre2el.fpsreducer.mixin.WindowMixin will NOT be applied because OptiFine was NOT detected. [30May2024 20:32:44.036] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#getMaxLevel() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [30May2024 20:32:44.036] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isTreasureOnly() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [30May2024 20:32:44.036] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isTradeable() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [30May2024 20:32:44.040] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 2 calls to Enchantment#getMaxLevel() in net/minecraft/world/item/EnchantedBookItem [30May2024 20:32:44.044] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#getMaxLevel() in net/minecraft/world/level/storage/loot/functions/EnchantRandomlyFunction [30May2024 20:32:44.044] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isDiscoverable() in net/minecraft/world/level/storage/loot/functions/EnchantRandomlyFunction [30May2024 20:32:44.055] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Patching EffectRenderingInventoryScreen#renderEffects [30May2024 20:32:44.170] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5). [30May2024 20:32:44.198] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/util/datafix/DataFixerOptimizationOption [30May2024 20:32:44.206] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/util/Unit [30May2024 20:32:44.231] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/ChatFormatting [30May2024 20:32:44.239] [main/WARN] [mixin/]: Static binding violation: PRIVATE @Overwrite method m_216202_ in modernfix-forge.mixins.json:perf.tag_id_caching.TagOrElementLocationMixin cannot reduce visibiliy of PUBLIC target method, visibility will be upgraded. [30May2024 20:32:44.277] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/client/User$Type [30May2024 20:32:45.032] [main/INFO] [mixin/]: BeforeConstant is searching for constants in method with descriptor (Lnet/minecraft/network/chat/Component;Z)V [30May2024 20:32:45.032] [main/INFO] [mixin/]:   BeforeConstant found INTEGER constant: value = 0, intValue = null [30May2024 20:32:45.032] [main/INFO] [mixin/]:     BeforeConstant found a matching constant TYPE at ordinal 0 [30May2024 20:32:45.032] [main/INFO] [mixin/]:       BeforeConstant found Insn [ICONST_0] [30May2024 20:32:45.032] [main/INFO] [mixin/]:   BeforeConstant found INTEGER constant: value = 60, intValue = null [30May2024 20:32:45.033] [main/INFO] [mixin/]:     BeforeConstant found a matching constant TYPE at ordinal 1 [30May2024 20:32:45.033] [main/INFO] [mixin/]:       BeforeConstant found IntInsn 60 [30May2024 20:32:45.184] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Patching EffectRenderingInventoryScreen#renderEffects [30May2024 20:32:45.205] [main/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/Util$OS [30May2024 20:32:45.218] [pool-4-thread-1/INFO] [net.minecraft.server.Bootstrap/]: ModernFix reached bootstrap stage (8.092 s after launch) [30May2024 20:32:45.232] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/Util$IdentityStrategy [30May2024 20:32:45.236] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/core/Holder$Reference$Type [30May2024 20:32:45.247] [pool-4-thread-1/WARN] [mixin/]: @Final field delegatesByName:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [30May2024 20:32:45.247] [pool-4-thread-1/WARN] [mixin/]: @Final field delegatesByValue:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into getOpacityIfCached from ca.spottedleaf.starlight.mixin.common.blockstate.BlockStateBaseMixin [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into getNeighborPathNodeType from me.jellysquid.mods.lithium.mixin.ai.pathing.AbstractBlockStateMixin [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into getPathNodeType from me.jellysquid.mods.lithium.mixin.ai.pathing.AbstractBlockStateMixin [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into m_60823_ from me.jellysquid.mods.lithium.mixin.block.flatten_states.AbstractBlockStateMixin [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into isConditionallyFullOpaque from ca.spottedleaf.starlight.mixin.common.blockstate.BlockStateBaseMixin [30May2024 20:32:45.284] [pool-4-thread-1/INFO] [ModernFix/]: Injecting BlockStateBase cache population hook into getAllFlags from me.jellysquid.mods.lithium.mixin.chunk.block_counting.AbstractBlockStateMixin [30May2024 20:32:45.725] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/core/Direction [30May2024 20:32:45.726] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/core/Direction$AxisDirection [30May2024 20:32:45.726] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/core/Direction$Axis [30May2024 20:32:45.741] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/world/level/material/PushReaction [30May2024 20:32:45.766] [pool-4-thread-1/INFO] [com.cupboard.Cupboard/]: Loaded config for: biomemusic.json [30May2024 20:32:45.768] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/world/level/block/state/BlockBehaviour$OffsetType [30May2024 20:32:45.791] [pool-4-thread-1/INFO] [com.teampotato.redirector.Redirector/]: Redirecting net/minecraft/world/level/pathfinder/BlockPathTypes    
    • Hi, any update on this? I'm having a similar issue.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.