Jump to content

Recommended Posts

Posted

Ok, I'm currently making glass that has connected textures. The bottom and the top works alright, but when i add the south side (which i think is called 2 in the code), the top and the bottom textures change. It doesn't affect the bottom/top textures if they are already connected.

 

Pictures:

 

Top already connecting:

bZ2xvYp.png

Top not connecting:

mgf6udX.png

 

 

 

BlockConnectedGlass.java (very long file!):

 

package larsg310.mod.bd.block;

import larsg310.mod.bd.lib.Reference;
import larsg310.mod.bd.lib.Strings;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockConnectedGlass extends Block
{
private boolean localFlag = false;

public Icon[] textures = new Icon[47];

public BlockConnectedGlass(int id)
{
	super(id, Material.glass);
	this.setCreativeTab(CreativeTabs.tabBlock);
	this.setUnlocalizedName(Strings.CONNECTED_GLASS_NAME);
	this.setHardness(0);
	this.setResistance(0);
	this.setStepSound(soundGlassFootstep);
}
public void registerIcons(IconRegister iconRegister)
{
	for(int i = 0; i < 47; i++)
	{
		textures[i] = iconRegister.registerIcon(Reference.MOD_ID + ":" + this.getUnlocalizedName() + "_" + i);
	}
	this.blockIcon = iconRegister.registerIcon(Reference.MOD_ID + ":" + this.getUnlocalizedName() + "_0");
}
public boolean isOpaqueCube()
    {
        return false;
    }
public boolean renderAsNormalBlock()
    {
        return false;
    }
public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
    {
        int id = par1IBlockAccess.getBlockId(par2, par3, par4);
        return !this.localFlag && id == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5);
    }
public Icon getBlockTexture(IBlockAccess world, int x, int y, int z, int side)
    {
        switch(side)
        {
        	case 0:
        		//8 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[36];
        		}
        		//7 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[43];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[45];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[46];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[44];
        		}
        		//6 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[39];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[37];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[40];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[38];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[41];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[42];
        		}
        		//5 CKECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[23];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[21];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[22];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[20];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[32];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[34];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[35];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[33];
        		}
        		//4 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[15];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[24];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[26];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[27];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[25];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[30];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[31];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[28];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[29];
        		}
        		//3 CHECKS
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[18];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[16];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[17];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[19];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[13];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[11];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[12];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[14];
        		}
        		//2 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[5];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[6];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[7];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[8];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[10];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[9];
        		}
        		//1 CHECK
        		if(world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[1];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[3];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[2];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[4];
        		}
        	case 1:
        		//8 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[36];
        		}
        		//7 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[43];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[45];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[46];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[44];
        		}
        		//6 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[39];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[37];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[40];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[38];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[41];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[42];
        		}
        		//5 CKECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[23];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[21];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[22];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[20];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[32];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[34];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[35];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[33];
        		}
        		//4 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[15];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[24];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[26];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[27];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[25];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID)
        		{
        			return textures[30];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID)
        		{
        			return textures[31];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID)
        		{
        			return textures[28];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID)
        		{
        			return textures[29];
        		}
        		//3 CHECKS
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z+1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[18];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z-1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[16];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y, z-1) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[17];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y, z+1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[19];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[13];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[11];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[12];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[14];
        		}
        		//2 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[5];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[6];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[7];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[8];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[10];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[9];
        		}
        		//1 CHECK
        		if(world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[1];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[3];
        		}
        		if(world.getBlockId(x, y, z-1) == this.blockID)
        		{
        			return textures[2];
        		}
        		if(world.getBlockId(x, y, z+1) == this.blockID)
        		{
        			return textures[4];
        		}
        	case 2:
        		
        		//8 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[36];
        		}
        		
        		//7 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[43];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[45];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[46];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[44];
        		}
        		///////////////////////////////////////////
        		//6 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[39];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[37];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[40];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[38];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[41];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[42];
        		}
        		
        		//5 CKECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[23];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[21];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[22];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[20];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[32];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[34];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[35];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[33];
        		}
        		//4 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[15];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[24];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[26];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[27];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[25];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID)
        		{
        			return textures[30];
        		}
        		if(world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID)
        		{
        			return textures[31];
        		}
        		if(world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID)
        		{
        			return textures[28];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID)
        		{
        			return textures[29];
        		}
        		//3 CHECKS
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y+1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[18];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y-1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[16];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x+1, y-1, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[17];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x-1, y+1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[19];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[13];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[11];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[12];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[14];
        		}
        		//2 CHECKS
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[5];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[6];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[9];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[10];
        		}
        		if(world.getBlockId(x-1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[8];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID && world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[7];
        		}
        		//1 CHECK
        		if(world.getBlockId(x-1, y, z) == this.blockID)
        		{
        			return textures[3];
        		}
        		if(world.getBlockId(x+1, y, z) == this.blockID)
        		{
        			return textures[1];
        		}
        		if(world.getBlockId(x, y-1, z) == this.blockID)
        		{
        			return textures[4];
        		}
        		if(world.getBlockId(x, y+1, z) == this.blockID)
        		{
        			return textures[2];
        		}
        	default:
        		return this.blockIcon;
        }
    }
}

 

 

Hope this made any sense, and hope you can't figure something out.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

Seriously??? Nobody??? Sorry for the bumping but I really want this to work the way I want it to to work.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

Can't you chain if statement instead of checking...8 conditions inside each one ?

It will be a lot easier to read and find the issue.

I don't know what you mean...

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

if(world.getBlockId(x-1, y, z) == this.blockID)
if(world.getBlockId(x+1, y, z) == this.blockID) 
   if(world.getBlockId(x, y, z-1) == this.blockID)
     if(world.getBlockId(x, y, z+1) == this.blockID)
       if(world.getBlockId(x+1, y, z+1) == this.blockID)
           if(world.getBlockId(x-1, y, z-1) == this.blockID)
             if(world.getBlockId(x-1, y, z+1) == this.blockID)
             {
                 if(world.getBlockId(x+1, y, z-1) == this.blockID)
        	  {
        		 return textures[36];
        	 }
        	 else
        	 {
        		 return textures[43];
        	  }
///other code
}}}}}}}

Better, just check the surrounding first:

List list = new ArrayList();
for(int i=x-1; i<x+2; i++)
    for(int j=y-1; j<y+2; j++)
         for(int k=z-1; k<z+2; k++)
              if((i!=x || j!=y || k!=z) && world.getBlockId(i,j,k) == this.blockID)//Find which neighbour block has same id
                   list.add(new int[]{i,j,k});
Iterator itr = list.iterator();
while(itr.hasNext())
{
int[] pos = (int[]) itr.next();
if(pos[1]>y)
   hasUpperNeighbour = true;
else if(pos[1<y)
   hasLowerNeighbour = true;
if(pos[0]>x)
  hasNorthNeighbour = true;
else if(pos[0]<x)
  hasSouthNeighbour = true;
if(pos[2]>z)
  hasEastNeighbour = true;
else if(pos[2]<z)
  hasWestNeighbour = true;
}
if(hasUpperNeighbour)
{
    if(hasLowerNeighbour)
//...
}
else if(hasLowerNeighbour)
{
//...
}
else
{
//...
}

Posted

I personally find my way of doing it a lot better, but now let's focus again on the problem i had: textures.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

I don't know what i'm doing wrong!!! That's why i'm asking on the forums!!! My last option is to code it again!!!And i don't want that!!!

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

What you are doing wrong? You are doing THE CODE wrong. You have 36 thousands symbols in 6 hundred lines just two check three sides! And you want as much again to check other three? Dude, this code makes no “sense”, it's extremely bulky and unoptimized, and if you found it “a lot better”, i can only suppose you to be a masochist. Or you want one's PC to lag to a death.

 

I understand you don't want to code it again, but coding the thing, even the way GotoLink has suggested, will take less effort, than doing it in your way. Also, why do you have 48 textures instead of 16?

 

P.S.

Modding = coding, and if you want to mod, you have to code and debug (and draw textures too, of course), that's modding in a nutshell.

 

If you are asking on the forums, be ready that people will criticize your code and suggest better ways, that's normal. Don't be so nervous, be a bit more patient, and you'll get your help then.

 

 

If i helped you, don't forget pressing "Thank You" button. Thanks for your time.

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

    • game still crashed so I decided to check the log myself this time and found out the Xaphan was also invalid. disabling both of them fixed the crash issue. buuuut turns out the latest version of the mod also has animation bug, so I'll just have to downgrade... :')
    • Im playing RlCraft, im about 80+ hours in the game and It started to randomly crash in certain areas. This is the crash log It gives me: https://mclo.gs/H1zdyjG Any Idea what is going on? and if It can be fixed? Thanks  
    • hello, when launching my modded minecraft server (1.20.1) in Fabric, my server constantly reboots with this error  if you have any questions or solutions I will get back to you as soon as possible. sorry, my English is pretty bad     [00:40:24] [main/ERROR]: A mod crashed on startup! net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'spectrelib' at 'com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod'!         at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:162) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) ~[fabric-server-launcher.jar:1.0.1] Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'spectrelib' at 'com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod'!         at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:403) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:401) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'spectrelib' due to errors, provided by 'veinmining'!         at com.illusivesoulworks.spectrelib.EntrypointUtils.lambda$invokeEntrypoints$0(EntrypointUtils.java:25) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.gatherExceptions(EntrypointUtils.java:41) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:25) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: java.util.ServiceConfigurationError: com.illusivesoulworks.veinmining.common.platform.services.IPlatform: com.illusivesoulworks.veinmining.platform.FabricPlatform Unable to get public no-arg constructor         at java.util.ServiceLoader.fail(ServiceLoader.java:586) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:679) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_1297 failed         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]         at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]         at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]         at java.lang.Class.getConstructor(Class.java:2271) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:666) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:663) ~[?:?]         at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered         at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]         at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]         at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]         at java.lang.Class.getConstructor(Class.java:2271) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:666) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:663) ~[?:?]         at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinPreProcessorException: Attach error for mixins.sodiumdynamiclights.json:lightsource.EntityMixin from mod sodiumdynamiclights during activity: [Transform -> Method sodiumdynamiclights$scheduleTrackedChunksRebuild(Lnet/minecraft/class_761;)V -> INVOKESTATIC -> net/minecraft/class_310::method_1551:()Lnet/minecraft/class_310;]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:313) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:277) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1292) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:203) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:437) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:418) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]         at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]         at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]         at java.lang.Class.getConstructor(Class.java:2271) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:666) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:663) ~[?:?]         at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: net.minecraft.class_310         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMemberReference(MixinPreProcessorStandard.java:791) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMethod(MixinPreProcessorStandard.java:777) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transform(MixinPreProcessorStandard.java:743) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:307) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:277) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1292) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:203) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:437) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:418) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]         at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]         at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]         at java.lang.Class.getConstructor(Class.java:2271) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:666) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:663) ~[?:?]         at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more Caused by: java.lang.ClassNotFoundException: net.minecraft.class_310         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMemberReference(MixinPreProcessorStandard.java:791) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMethod(MixinPreProcessorStandard.java:777) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transform(MixinPreProcessorStandard.java:743) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:307) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:277) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1292) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:203) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:437) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:418) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.3+mixin.0.8.7.jar:0.15.3+mixin.0.8.7]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]         at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.5.jar:?]         at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]         at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]         at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]         at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]         at java.lang.Class.getConstructor(Class.java:2271) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:666) ~[?:?]         at java.util.ServiceLoader$1.run(ServiceLoader.java:663) ~[?:?]         at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]         at java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) ~[?:?]         at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]         at java.util.ServiceLoader.findFirst(ServiceLoader.java:1811) ~[?:?]         at com.illusivesoulworks.veinmining.common.platform.Services.load(Services.java:31) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.platform.Services.<clinit>(Services.java:27) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.common.veinmining.enchantment.VeinMiningEnchantment.<init>(VeinMiningEnchantment.java:33) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningMod.<clinit>(VeinMiningMod.java:28) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.veinmining.VeinMiningConfigInitializer.onInitializeConfig(VeinMiningConfigInitializer.java:9) ~[veinmining-fabric-1.3.1+1.20.1.jar:?]         at com.illusivesoulworks.spectrelib.EntrypointUtils.invokeEntrypoints(EntrypointUtils.java:23) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at com.illusivesoulworks.spectrelib.SpectrePreLaunchFabricMod.onPreLaunch(SpectrePreLaunchFabricMod.java:32) ~[spectrelib-0.13.15+1.20.1-7f355525f2546358.jar:?]         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.5.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160) ~[fabric-loader-0.16.5.jar:?]         ... 4 more
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

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