Jump to content

[1.7.10] [Solved?] Tile Entity is not saving nbt info (blockMetadata)


Recommended Posts

Posted

I've created a TileEntity to store the metadata of a block, when i place my block averything goes well:

 

width=800 height=419https://dl.dropboxusercontent.com/u/184200482/img/ladder_ok.png[/img]

** The blocks' metadata are the following

| 2 | 6 | 10 | 14 | 18 | 22 |

**

 

But once I restart minecraft I see that the

blockMetadata

information has not been stored by the TileEntity:

 

width=800 height=419https://dl.dropboxusercontent.com/u/184200482/img/ladder_bad.png[/img]

** The blocks' metadata are the following

| 2 | 6 | 10 | 14 | 2 (18) | 6 (22) |

**

 

This is the error:

 

[20:26:41] [server thread/INFO]: Preparing start region for level 0
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
java.lang.InstantiationException: com.sackcastellon.betterwood.tileentities.TileEntityLadder
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:127)
at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:525)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41)
at net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12)
at net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344)
at net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302)
at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:146)
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:121)
at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:315)
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79)
at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762)
Caused by: java.lang.NoSuchMethodException: com.sackcastellon.betterwood.tileentities.TileEntityLadder.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 15 more
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/WARN]: Skipping BlockEntity with id Ladder
[20:26:42] [server thread/INFO]: Preparing spawn area: 81%

 

And this is my code:

 

BlockLadder.class

package com.sackcastellon.betterwood.block;

import static net.minecraftforge.common.util.ForgeDirection.EAST;
import static net.minecraftforge.common.util.ForgeDirection.NORTH;
import static net.minecraftforge.common.util.ForgeDirection.SOUTH;
import static net.minecraftforge.common.util.ForgeDirection.WEST;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

import com.sackcastellon.betterwood.api.Tabs;
import com.sackcastellon.betterwood.handler.LadderHandler;
import com.sackcastellon.betterwood.lib.Reference;
import com.sackcastellon.betterwood.loader.ItemLoader;
import com.sackcastellon.betterwood.tileentities.TileEntityLadder;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class BlockLadder extends BlockContainer
{
@SideOnly(Side.CLIENT)
private final IIcon[] iconArray;

private final String path = Reference.TexturePath + "ladder/";

public BlockLadder()
{
	super(Material.wood);

	this.setCreativeTab(Tabs.tabBW);

	this.iconArray = new IIcon[itemLoader.woodTypes.length];
}

@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
	int meta = world.getTileEntity(x, y, z).getBlockMetadata() & 28; //Some tests to save up space

	System.out.println(world.getTileEntity(x, y, z).getBlockMetadata() + "=>" + meta);

        return new ItemStack(Item.getItemFromBlock(this), 1, meta);
}

@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune)
{
	ArrayList<ItemStack> ret = new ArrayList<ItemStack>();

	int meta = 0;

        switch(world.getTileEntity(x, y, z).getBlockMetadata())
        {
        case 0: case 1: case 2: case 3:
        	meta = 0;
        	break;
        case 4: case 5: case 6: case 7:
        	meta = 4;
        	break;
        case 8: case 9: case 10: case 11:
        	meta = 8;
        	break;
        case 12: case 13: case 14: case 15:
        	meta = 12;
        	break;
        case 16: case 17: case 18: case 19:
        	meta = 16;
        	break;
        case 20: case 21: case 22: case 23:
        	meta = 20;
        	break;
        }

        ret.add(new ItemStack(Item.getItemFromBlock(this), 1, meta));
        
        return ret;
}

@Override
public TileEntity createNewTileEntity(World world, int meta)
{
	return new TileEntityLadder(meta);
}

@Override
public boolean isOpaqueCube()
{
	return false;
}

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void getSubBlocks(Item item, CreativeTabs tab, List list)
{
	for(int i = 0; i < ItemLoader.woodTypes.length; ++i)
	{
		list.add(new ItemStack(this, 1, i * 4));
	}
}

@Override
public void registerBlockIcons(IIconRegister iconRegister)
{
	for(int i = 0; i < ItemLoader.woodTypes.length; ++i)
	{
		this.iconArray[i] = iconRegister.registerIcon(path + (String) ItemLoader.woodTypes[i][1]);
	}
}

@Override
public IIcon getIcon(int side, int meta)
{
	return this.iconArray[meta / 4];
}


/**
     * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
     * cleared to be reused)
     */
@Override
    public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
    {
        this.setBlockBoundsBasedOnState(world, x, y, z);
        return super.getCollisionBoundingBoxFromPool(world, x, y, z);
    }

    /**
     * Updates the blocks bounds based on its current state. Args: world, x, y, z
     */
@Override
    public void setBlockBoundsBasedOnState(IBlockAccess block, int x, int y, int z)
    {
        this.setBlockBounds(block.getBlockMetadata(x, y, z));
    }

    /**
     * Returns the bounding box of the wired rectangular prism to render.
     */
@Override
    @SideOnly(Side.CLIENT)
    public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
    {
        this.setBlockBoundsBasedOnState(world, x, y, z);
        return super.getSelectedBoundingBoxFromPool(world, x, y, z);
    }

    public void setBlockBounds(int metadata)
    {
        float f = 0.125F;
        
        int meta = metadata & 3;
        
        if(meta == 0)
        {
            this.setBlockBounds(0.0F, 0.0F, 1.0F - f, 1.0F, 1.0F, 1.0F);
        }
        
        else if(meta == 1)
        {
            this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f);
        }
        
        else if(meta == 2)
        {
            this.setBlockBounds(1.0F - f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
        }
        
        else if(meta == 3)
        {
            this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F);
        }
    }

    /**
     * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
     */
    @Override
    public boolean renderAsNormalBlock()
    {
        return false;
    }

    /**
     * The type of render function that is called for this block
     */
    @Override
    public int getRenderType()
    {
        return LadderHandler.renderId;
    }

    /**
     * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z
     */
    @Override
    public boolean canPlaceBlockAt(World world, int x, int y, int z)
    {
        return world.isSideSolid(x - 1, y, z, EAST ) ||
               world.isSideSolid(x + 1, y, z, WEST ) ||
               world.isSideSolid(x, y, z - 1, SOUTH) ||
               world.isSideSolid(x, y, z + 1, NORTH);
    }

    /**
     * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
     */
    @Override
    public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta)
    {
        int j1 = meta;

        switch(meta)
        {
        case 0:
        	if ((meta == 0 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 0;
            }

            if ((j1 == 0 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 1;
            }

            if ((j1 == 0 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 2;
            }

            if ((j1 == 0 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 3;
            }
            break;

        case 4:
        	if ((meta == 4 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 4;
            }

            if ((j1 == 4 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 5;
            }

            if ((j1 == 4 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 6;
            }

            if ((j1 == 4 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 7;
            }
            break;

        case 8:
        	if ((meta == 8 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 8;
            }

            if ((j1 == 8 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 9;
            }

            if ((j1 == 8 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 10;
            }

            if ((j1 == 8 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 11;
            }
            break;

        case 12:
        	if ((meta == 12 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 12;
            }

            if ((j1 == 12 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 13;
            }

            if ((j1 == 12 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 14;
            }

            if ((j1 == 12 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 15;
            }
            break;

        case 16:
        	if ((meta == 16 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 16;
            }

            if ((j1 == 16 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 17;
            }

            if ((j1 == 16 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 18;
            }

            if ((j1 == 16 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 19;
            }
            break;

        case 20:
        	if ((meta == 20 || side == 2) && world.isSideSolid(x, y, z + 1, NORTH))
            {
                j1 = 20;
            }

            if ((j1 == 20 || side == 3) && world.isSideSolid(x, y, z - 1, SOUTH))
            {
                j1 = 21;
            }

            if ((j1 == 20 || side == 4) && world.isSideSolid(x + 1, y, z, WEST))
            {
                j1 = 22;
            }

            if ((j1 == 20 || side == 5) && world.isSideSolid(x - 1, y, z, EAST))
            {
                j1 = 23;
            }
            break;
        }

        return j1;
    }

    /**
     * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
     * their own) Args: x, y, z, neighbor Block
     */
    @Override
    public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
    {
        int l = world.getBlockMetadata(x, y, z);
        boolean flag = false;

        if ((l == 0 || l == 4 || l == 8 || l == 12 || l == 16 || l == 20) && world.isSideSolid(x, y, z + 1, NORTH))
        {
            flag = true;
        }

        if ((l == 1 || l == 5 || l == 9 || l == 13 || l == 17 || l == 21) && world.isSideSolid(x, y, z - 1, SOUTH))
        {
            flag = true;
        }

        if ((l == 2 || l == 6 || l == 10 || l == 14 || l == 18 || l == 22) && world.isSideSolid(x + 1, y, z, WEST))
        {
            flag = true;
        }

        if ((l == 3 || l == 7 || l == 11 || l == 15 || l == 19 || l == 23) && world.isSideSolid(x - 1, y, z, EAST))
        {
            flag = true;
        }

        if (!flag)
        {
            this.dropBlockAsItem(world, x, y, z, l, 0);
            world.setBlockToAir(x, y, z);
        }

        super.onNeighborBlockChange(world, x, y, z, block);
    }

    /**
     * Returns the quantity of items to drop on block destruction.
     */
    @Override
    public int quantityDropped(Random random)
    {
        return 1;
    }

    @Override
    public boolean isLadder(IBlockAccess world, int x, int y, int z, EntityLivingBase entity)
    {
        return true;
    }
}

 

TileEntityLadder.class

package com.sackcastellon.betterwood.tileentities;

import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;

public class TileEntityLadder extends TileEntity
{
public TileEntityLadder(int meta)
{
	this.blockMetadata = meta;
}

@Override
public void readFromNBT(NBTTagCompound nbt)
{
	super.readFromNBT(nbt);

	this.blockMetadata = nbt.getInteger("Metadata");
}

@Override
public void writeToNBT(NBTTagCompound nbt)
{
	super.writeToNBT(nbt);

	nbt.setInteger("Metadata", this.blockMetadata);
}

@Override
public int getBlockMetadata()
{
	return this.blockMetadata;
}

@Override
public Packet getDescriptionPacket()
{
	NBTTagCompound nbt = new NBTTagCompound();
	this.writeToNBT(nbt);
	return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt);
}

@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
{
	this.readFromNBT(pkt.func_148857_g());
}
}

 

ItemBlockLadder.class

package com.sackcastellon.betterwood.itemblock;

import java.util.List;

import com.sackcastellon.betterwood.loader.ItemLoader;
import com.sackcastellon.betterwood.loader.LoreLoader;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;

public class ItemBlockLadder extends ItemBlock {

public ItemBlockLadder(Block block)
{
	super(block);

	this.setHasSubtypes(true);
	this.setMaxDamage(0);
}

    public int getMetadata(int metadata)
    {
        return metadata;
    }

    @Override
@SideOnly(Side.CLIENT)
    public IIcon getIconFromDamage(int meta)
    {
        return this.field_150939_a.getIcon(2, meta);
    }

@Override
public String getUnlocalizedName(ItemStack stack)
{
	return "bw.block.ladder." + (String) ItemLoader.woodTypes[stack.getItemDamage() / 4][1];
}

@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean flag)
{
	list.add(LoreLoader.Block + ": " + LoreLoader.getMaterialLore((String) ItemLoader.woodTypes[stack.getItemDamage() / 4][1]));
}
}

 

ClientProxy.class

package com.sackcastellon.betterwood.proxy;

import com.sackcastellon.betterwood.handler.*;

import cpw.mods.fml.client.registry.RenderingRegistry;

public class ClientProxy extends CommonProxy
{
@Override
public void registerRenderers()
{
	RenderingRegistry.registerBlockHandler(new LadderHandler());
}
}

 

This code goes in the

preInit

method:

Blocks.Ladder = new BlockLadder();
GameRegistry.registerBlock(Blocks.Ladder, ItemBlockLadder.class, "Ladder");

 

And this in the

init

method:

GameRegistry.registerTileEntity(TileEntityLadder.class, "Ladder");

Posted

First of all don't just re-use Minecraft's field in the TE. It is used for something else.

You need a default constructor on your TileEntity, otherwise MC cannot load it.

 

I've been looking for where the

blockMetadata

field were used and it's only used on the

TileEntity.class

, so I'm assuming there is no problem if I use it to store the block metadata.

 

And looks like it works by adding the default constructor:

public TileEntityLadder() {}

 

Thanks  :)

 

PS: Unless I get an error by "re-using" Minecraft's field in the TE, I won't change it.

Posted

PS: Unless I get an error by "re-using" Minecraft's field in the TE, I won't change it.

Search for usages on the getter (getBlockMetadata). There are a lot of usages in the minecraft codebase. Do not do this.

 

Yes, I know there are a bunch of classes using the getter, but (in my opinion) the important is to know where is the value of the field set, so as there are no setter, the only way to set the value of the field is this:

 

    public void markDirty()
    {
        if (this.worldObj != null)
        {
            this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
            this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this);

            if (this.getBlockType() != Blocks.air)
            {
                this.worldObj.func_147453_f(this.xCoord, this.yCoord, this.zCoord, this.getBlockType());
            }
        }
    }

 

More concretely this part:

this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);

 

Which I think is the same thing that I'm doing, isn't it?

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

    • Im trying add to block a hole in center, just a usual block and in center of it on up side, there is should be a hole. I tried to add it via BlockModelBuilder, but its not working. Problem is that it only can change block size outside. I tried it to do with VoxelShape and its working, but its has been on server side and looks like its just changed collision shape, but for client, there is a texture covering this hole. I tried to use: base.renderType("cutout"); and removed some pixels from texture. I thought its should work, but game optimization makes block inside looks transparent. So, only custom model?
    • I Made this modpack myself and When i Open a world with embeddium enabeld no chuncks are loading in and when i have the mod brute force rendering culling eanbled the game will not start     This is the Modlist:   Chef's Delight [Forge] (by redstone3game) Yung Structures Addon for Loot Integrations (by someaddon) Macaw's Paths and Pavings (by sketch_macaw) My Nether's Delight (by soytutta) Client Crafting (by someaddon) Integrated Stronghold (by CraisinLord) Delightful (by brnbrd) Immersive Aircraft [Fabric/Forge] (by Conczin) Mysterious Mountain Lib (by sz0999312) Infinity Buttons (by LarsMans) SuperMartijn642's Core Lib (by SuperMartijn642) Clumps (by Jaredlll08) Embeddium (by FiniteReality) Cosmetic Armor Reworked (by LainMI) Creeper Overhaul (by joosh_7889) Balm (by BlayTheNinth) HT's TreeChop (by hammertater) Fastload (by StockiesLad) ImmediatelyFast (by RaphiMC) Integrated Dungeons and Structures (by CraisinLord) Mobtimizations - Entity Performance Fixes (by Corosus) Handcrafted (by terrariumearth) SuperMartijn642's Config Lib (by SuperMartijn642) Dramatic Doors (by FizzWare) Allurement (by TeamAbnormals) Xaero's World Map (by xaero96) Panda's Extra Details (by ThePandaOliver) Geophilic – Vanilla Biome Overhauls (by bebebea_loste) Auroras (by Verph) Naturalist (by Starfish_Studios) Iron Chests (by ProgWML6) Corpse (by henkelmax) FastSuite (by Shadows_of_Fire) Controlling (by Jaredlll08) Ash API (by Trikzon) Eating Animation [Neo/Forge] (by matyrobbrt) Macaw's Doors (by sketch_macaw) ForgeEndertech (by EnderLanky) Philip's Ruins (by philipmoddev) Resourceful Config (by ThatGravyBoat) ModernFix (by embeddedt) Quark (by Vazkii) Illager Invasion [Forge & Fabric] (by Fuzs) Integrated API (by CraisinLord) Redirector [Modern] (by pOtAto__bOy) Macaw's Fences and Walls (by sketch_macaw) Diagonal Windows [Forge & Fabric] (by Fuzs) Waystones (by BlayTheNinth) [EMF] Entity Model Features [Fabric & Forge] (by Traben) FerriteCore ((Neo)Forge) (by malte0811) CodeChicken Lib 1.8.+ (by covers1624) Macaw's Roofs (by sketch_macaw) Server Country Flags (by khajiitos) Bookshelf (by DarkhaxDev) Comforts (Fabric/Forge/Quilt) (by TheIllusiveC4) Enchantment Descriptions (by DarkhaxDev) Entity Culling Fabric/Forge (by tr7zw) Embeddium++ (by SrRapero720) Embeddium (Rubidium) Extra (by dimadencep) Smooth Boot (Reloaded) (by AbdElAziz333) Dungeons and Taverns (by Nova_Wostra) Placeables (by ItzSkay) CoroUtil (by Corosus) Small Ships [Fabric & Forge] (by talhanation) Trade Cycling (by henkelmax) Better Fps - Render Distance[Forge] (by someaddon) Better Villages - Forge (by jtl_elisa) PandaLib (by ThePandaOliver) Curios API (Forge/NeoForge) (by TheIllusiveC4) Stoneworks [Forge & Fabric] (by Fuzs) Pastel Shaders (by ElocinDev) Integrated Villages (by CraisinLord) More Axolotl Variants API (by AkashiiKun69) Potato Shader (by RRe36) Better Archeology (by Pandarix) Block Runner [Forge & Fabric] (by Fuzs) Cloth Config API (Fabric/Forge/NeoForge) (by shedaniel) Kiwi 🥝 (Neo/Forge) (by Snownee) Macaw's Lights and Lamps (by sketch_macaw) Loot Integrations (by someaddon) Farmers Structures (by BlackAuresArt) Wilderness (by ketok) Corpse x Curios API Compat (by Project8gbDeRam) Friends&Foes (Forge/NeoForge) (Copper Golem,Glare,Crab,Moobloom,Iceologer,Rascal,Tuff Golem,Wildfire,Illusioner) (by Faboslav) More Mob Variants (by nyuppo) Better Than Mending (by legobmw99) Remove Reloading Screen (by dimadencep) Simply Swords [Fabric & Forge] (by sweenuss) Better Brightness Slider (by LaidBackSloth) Krypton Reforged (by Txni) AppleSkin (by squeek502) Supplementaries Squared (by plantspookable) Horse Expert (by Fuzs) YUNG's Menu Tweaks (Forge) (by YUNGNICKYOUNG) Pet Cemetery (by TeamAbnormals) Leaky - Item Lag Fix[Forge/Fabric] (by someaddon) Tectonic (by Apollo) Saturn (by AbdElAziz333) Searchables (by Jaredlll08) Inventory HUD+ (by dmitrylovin) Moonlight Lib (by MehVahdJukaar) Explorify – Dungeons & Structures (by bebebea_loste) Placebo (by Shadows_of_Fire) Overflowing Bars [Forge & Fabric] (by Fuzs) Citadel (by sbom_xela) Alex's Mobs - Naturalist Compat (by Kanadeyoru) Forge CIT (by tfarecnim) Create (by simibubi) Starlight (Forge) (by Spottedleaf) [ETF] Entity Texture Features - [Fabric & Forge] (by Traben) Advanced Chimneys (by EnderLanky) Corn Delight[Forge] (by sz0999312) Trials Chambers [1.20.1 Backport] (by Jusey1z) MVS - Moog's Voyager Structures (by finndog_123) Macaw's Paintings (by sketch_macaw) Alternate Current (by SpaceWalkerRS) Hopo Better Ruined Portals (Fabric/Forge/NeoForge) (by hoponopono) Alex's Delight (by Baisylia) Macaw's Biomes O' Plenty (by Samlegamer_) Resourceful Lib (by ThatGravyBoat) FindMe (by Buuz135) Macaw's Bridges (by sketch_macaw) YUNG's Better Witch Huts (Forge) (by YUNGNICKYOUNG) MNS - Moog's Nether Structures (by finndog_123) Mowzie's Mobs (by bobmowzie) FastWorkbench (by Shadows_of_Fire) Transparent (by Trikzon) Artifacts (by ochotonida) Passable Foliage 🌳 (Neo/Forge) (by Snownee) Supplementaries (by MehVahdJukaar) Atmospheric (by TeamAbnormals) Alex's Caves (by sbom_xela) Alex's Caves Delight (by FixerLink1) Ocean's Delight (by scouter567) Brute force Rendering Culling (by RogoShum) fix GPU memory leak[Forge/Fabric] (by someaddon) Burnt: Better Vanilla Fire (by pxlbnk) YDM's Weapon Master (by YourDailyModderx) Curios Compat Layer for Accessories (by Blodhgarm) MES - Moog's End Structures (by finndog_123) Pale Garden and Creaking (by MinoBanana) YUNG's Better Jungle Temples (Forge) (by YUNGNICKYOUNG) AddonsLib (by Samlegamer_) Athena (by CodexAdrian) MakeUp - Ultra Fast | Shaders (by XavierFST) Xaero's Minimap (by xaero96) Macaw's Trapdoors (by sketch_macaw) Translocators 1.8.+ (by covers1624) Additional Structures (by XxRexRaptorxX) AI Improvements (by QueenOfMissiles) Autochef's Delight (by Snownee) Iron Furnaces (by XenoMustache) Iris/Oculus & GeckoLib Compat (by ElocinDev) Connectivity (by someaddon) Easy Magic [Forge & Fabric] (by Fuzs) Blueprint (by TeamAbnormals) VillagersPlus (FORGE) (by finallion_13) Panda's Falling Tree's (by ThePandaOliver) Xaero's Minimap & World Map - Waystones Compatibility [Forge] (by ArcaneAlloy) ServerCore (by Wesley8081) MrCrayfish's Furniture Mod: Refurbished (by MrCrayfish) Just Enough Items (JEI) (by mezz) Farmer's Delight (by vectorwing) Old fisherman swamp house (by SuperWarioModTeam) YUNG's Better Nether Fortresses (Forge) (by YUNGNICKYOUNG) Lithostitched (by Apollo) FastFurnace (by Shadows_of_Fire) DrDestens MCShaders (by DrDesten) Server Performance - Smooth Chunk Save[Forge/Fabric] (by someaddon) Noisium (by Steveplays28) Puzzles Lib [Forge & Fabric] (by Fuzs) YUNG's Bridges (Forge) (by YUNGNICKYOUNG) Alex's Mobs (by sbom_xela) Regions Unexplored (forge/fabric) (by UHQ_GAMES) Architectury API (by shedaniel) Radium Reforged (by Asek3) Separated Leaves (by LarsMans) CullLessLeaves Reforged (Unofficial) (by ccr4ft3r) Just Enough Effect Descriptions (JEED) (by MehVahdJukaar) FastBoot (by dnlayu) Framework (by MrCrayfish) Chipped (by terrariumearth) MSS - Moog's Soaring Structures (by finndog_123) GeckoLib (by Gecko) CB Multipart (by covers1624) GlitchCore (by TheAdubbz) Realm RPG: Fallen Adventurers (by nocubeyt) Zume (by Nolij) Library Ferret - Forge (by jtl_elisa) Recipe Essentials[Forge/Fabric] (by someaddon) Macaw's Stairs (by sketch_macaw) Accessories (by Blodhgarm) What Are They Up To (Watut) (by Corosus) GroovyModLoader (GML) (by matyrobbrt) Fruits Delight (by lcy0x1) Just Enough Breeding (JEBr) (by Christofmeg) Farmer's Respite (by lumpazl) YUNG's API (Forge) (by YUNGNICKYOUNG) Underground Villages (by Mrbysco) Easy Anvils [Forge & Fabric] (by Fuzs) Cupboard (by someaddon) Diagonal Walls (by Fuzs) Large Ore Deposits (by EnderLanky) More Axolotl Variants Mod (by AkashiiKun69) Zeta (by Vazkii) TerraBlender (Forge) (by TheAdubbz) Biomes O' Plenty (by Forstride) Bocchium (by pOtAto__bOy) FramedBlocks (by XFactHD) Patchouli (by Vazkii) Quark Delight (by nocubeyt) Just Enough Resources (JER) (by way2muchnoise) Amendments (by plantspookable) Simple Hats (by fonnymunkey) Oculus (by Asek3) OpenBlocks Elevator (by vsngarcia) YUNG's Better Mineshafts (Forge) (by YUNGNICKYOUNG) Skin Layers 3D (Fabric/Forge) (by tr7zw) Mouse Tweaks (by YaLTeR) YUNG's Extras (Forge) (by YUNGNICKYOUNG)
    • After removing shieldexpansion it wont let me join the server because it's included in the server's modpack. is there a way to bypass that?  
    • Getting this, been trying to comb thru but cant seem to find the error... [13:11:35] [main/INFO]: Loading 169 mods:     - ad_astra 1.15.19     - ae2 15.3.3     - aether 1.20.1-1.5.2-neoforge         |-- cumulus_menus 1.20.1-1.0.1-neoforge         \-- nitrogen_internals 1.20.1-1.0.12-neoforge     - aiimprovements 0.5.2     - alexsmobs 1.22.9     - almostunified 1.20.1-0.9.4     - appleskin 2.5.1+mc1.20.1     - architectury 9.2.14     - athena 3.1.2     - bellsandwhistles 0.4.3-1.20.x     - betterchunkloading 1.20.1-5.3     - betterdeserttemples 1.20-Forge-3.0.3     - betterdungeons 1.20-Forge-4.0.4     - betterendisland 1.20-Forge-2.0.6     - betterfortresses 1.20-Forge-2.0.6     - betterjungletemples 1.20-Forge-2.0.5     - bettermineshafts 1.20-Forge-4.0.4     - betteroceanmonuments 1.20-Forge-3.0.4     - betterstrongholds 1.20-Forge-4.0.3     - bettervillage 3.2.0     - betterwitchhuts 1.20-Forge-3.0.3     - bookshelf 20.2.13     - botanypots 13.0.40     - botarium 2.3.4     - canary 0.3.3     - carryon 2.1.2.7     - cgm 1.4.18     - chipped 3.0.7     - chunkloaders 1.2.8a     - citadel 2.6.1     - cofh_core 11.0.2     - comforts 6.4.0+1.20.1         \-- spectrelib 0.13.15+1.20.1     - copycats 2.2.0+mc.1.20.1-forge     - corpse 1.20.1-1.0.20     - create 0.5.1.j         \-- flywheel 0.6.11-13     - create_better_motors 1.1.0     - create_bic_bit 0.0.86     - create_central_kitchen 1.3.12         \-- create_dragon_lib 1.4.3     - create_confectionery 1.1.0     - create_connected 0.9.4-mc1.20.1     - create_copper_and_zinc 1.6.0     - create_crush_everything 1.0.2     - create_dd 0.1b.Release-Early-Dev     - create_enchantment_industry 1.2.9.d     - create_eureka 1.0.0+forge-1.20.1     - create_extra_casing 0.0.2     - create_factory 0.4b-1.20.1     - create_ltab_f 2.5.0     - create_mechanical_extruder 1.20.1-1.6.3.j-55     - create_new_age 1.1.2     - create_pillagers_arise 116.26.     - create_power_loader 1.5.0-mc1.20.1     - create_questing 1.0.0     - create_sa 2.0.8     - create_ultimate_factory 1.9.0     - createaddoncompatibility 0.2.2b     - createbigcannons 5.8.2         \-- ritchiesprojectilelib 2.0.0-dev+mc.1.20.1-forge-build.182     - createcasing 1.20.1-1.6.2-fix1     - createdieselgenerators 1.20.1-1.2i     - createloveandwar 0.4-1.20.1     - createmobeggs 2.0.1     - createoreexcavation 1.5.3     - createutilities 0.3.0+1.20.1     - crittersandcompanions 2.2.2     - crystal_clear 2.1-Beta     - cupboard 1.20.1-2.7     - curios 5.11.1+1.20.1     - diagonalfences 8.1.5         \-- diagonalblocks 8.0.6     - domum_ornamentum 1.20.1-1.0.284-snapshot     - duckling 3.0.0     - dungeons_arise 2.1.58-1.20.x     - dungeons_arise_seven_seas 1.0.2     - extendedgears 2.1.1-1.20.1-0.5.1.f-forge     - fallingleaves 2.1.0     - fallingtree 4.3.4     - farmersdelight 1.20.1-1.2.7     - fastasyncworldsave 1.20.1-2.3     - ferritecore 6.0.1     - flansmod 0.4         \-- flansphysics 0.4     - forge 47.3.0     - framedblocks 9.3.1     - framework 0.7.12     - ftblibrary 2001.2.9     - ftbquests 2001.4.11     - ftbteams 2001.3.1     - ftbxmodcompat 2.1.2     - fusion 1.2.4     - garnished 2.0.7     - geckolib 4.7     - goblintraders 1.9.3     - gpumemleakfix 1.20.1-1.8     - handcrafted 3.0.6     - interiors 0.5.6     - irisflw 1.1.2     - jade 11.12.3+forge     - jei 15.20.0.106     - kitchen_grow 0.1-1.20.1     - kotlinforforge 4.11.0     - leaky 1.20.1-2.1     - libraryferret 4.0.0     - lmft 1.0.4+1.20.1     - minecraft 1.20.1     - missions 0.4.2     - modernfix 5.20.2+mc1.20.1         \-- mixinextras 0.4.1     - moderntrainparts 0.1.7-forge-mc1.20.1-cr0.5.1.f     - molten_vents 2.0.9     - moonlight 1.20-2.13.62     - moped 1.0.0     - mr_warp_portals 1.4.0     - necronomicon 1.6.0     - numismatics 1.0.7+forge-mc1.20.1     - oculus 1.8.0     - puzzleslib 8.1.25         \-- puzzlesaccessapi 8.0.7     - quark 4.0-460     - railways 1.6.7+forge-mc1.20.1     - rechiseled 1.1.6     - rechiseledcreate 1.0.2     - resourcefulconfig 2.1.2     - resourcefullib 2.1.29     - ribbits 1.20.1-Forge-3.0.4     - rightclickharvest 3.2.3+1.20.1-forge     - simpleclouds 0.6.3+1.20.1-forge         \-- crackerslib 1.20.1-0.4.4     - skinlayers3d 1.7.4     - smoothchunk 1.20.1-4.0     - sophisticatedbackpacks 3.23.4.1196     - sophisticatedcore 1.2.9.867     - storagedrawers 12.9.13     - supermartijn642configlib 1.1.8     - supermartijn642corelib 1.1.18     - supplementaries 1.20-3.1.13         \-- mixinsquared 0.1.1     - tectonic 2.4.1     - terrablender 3.0.1.7     - terralith 2.5.4     - tfmg 0.9.3-1.20.1     - thermal_cultivation 11.0.1     - thermal_dynamics 11.0.1     - thermal_expansion 11.0.1     - thermal_foundation 11.0.6         \-- thermal 11.0.6     - thermal_innovation 11.0.1     - thermal_integration 11.0.1     - torchmaster 20.1.9     - trackwork 1.1.1b     - trashcans 1.0.18b     - travelersbackpack 9.1.16     - twilightforest 4.3.2508     - valkyrienskies 2.3.0-beta.5         \-- cloth_config 11.1.106     - vinery 1.4.38     - vs_clockwork 1.20.1-0.1.16-forge-b3b22e39fe     - vs_eureka 1.5.1-beta.3     - worldedit 7.2.15+6463-5ca4dff     - xaerominimap 25.0.0     - xaeroworldmap 1.39.2     - yungsapi 1.20-Forge-4.0.6     - yungsbridges 1.20-Forge-4.0.3     - yungsextras 1.20-Forge-4.0.3     - zeta 1.0-24 [13:11:35] [main/WARN]: Reference map 'create_eureka-common-refmap.json' for create_eureka-common.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:35] [main/WARN]: Reference map 'eureka-1201-forge-refmap.json' for vs_eureka.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:35] [main/WARN]: Reference map 'createmechanicalextruder.refmap.json' for create_mechanical_extruder.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:35] [main/WARN]: Reference map 'mixins.trackwork.refmap.json' for trackwork.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:35] [main/WARN]: Reference map 'tfmg.refmap.json' for tfmg.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:35] [main/WARN]: Reference map 'Create_The_Kitchen_Must_Grow.refmap.json' for kitchen_grow.mixins.json could not be read. If this is a development environment you can ignore this message [13:11:36] [main/WARN]: Error loading class: mekanism/client/render/entity/RenderFlame (java.lang.ClassNotFoundException: mekanism.client.render.entity.RenderFlame) [13:11:36] [main/WARN]: Error loading class: mekanism/client/render/armor/MekaSuitArmor (java.lang.ClassNotFoundException: mekanism.client.render.armor.MekaSuitArmor) [13:11:36] [main/WARN]: Error loading class: xyz/przemyk/simpleplanes/upgrades/shooter/ShooterUpgrade (java.lang.ClassNotFoundException: xyz.przemyk.simpleplanes.upgrades.shooter.ShooterUpgrade) [13:11:36] [main/WARN]: @Mixin target xyz.przemyk.simpleplanes.upgrades.shooter.ShooterUpgrade was not found cgm.mixins.json:common.simpleplanes.ShooterUpgradeMixin [13:11:36] [main/WARN]: Error loading class: com/jamieswhiteshirt/reachentityattributes/ReachEntityAttributes (java.lang.ClassNotFoundException: com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes) [13:11:36] [main/WARN]: Error loading class: com/sonicether/soundphysics/SoundPhysics (java.lang.ClassNotFoundException: com.sonicether.soundphysics.SoundPhysics) [13:11:36] [main/WARN]: Error loading class: blusunrize/immersiveengineering/common/gui/BlockEntityInventory (java.lang.ClassNotFoundException: blusunrize.immersiveengineering.common.gui.BlockEntityInventory) [13:11:36] [main/WARN]: Error loading class: net/dries007/tfc/world/TFCChunkGenerator (java.lang.ClassNotFoundException: net.dries007.tfc.world.TFCChunkGenerator) [13:11:36] [main/WARN]: Error loading class: cofh/core/block/entity/TileCoFH (java.lang.ClassNotFoundException: cofh.core.block.entity.TileCoFH) [13:11:36] [main/WARN]: Error loading class: li/cil/tis3d/common/entity/InfraredPacketEntity (java.lang.ClassNotFoundException: li.cil.tis3d.common.entity.InfraredPacketEntity) [13:11:36] [main/WARN]: Error loading class: me/desht/modularrouters/container/RouterMenu (java.lang.ClassNotFoundException: me.desht.modularrouters.container.RouterMenu) [13:11:36] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/render/chunk/RenderSectionManager (java.lang.ClassNotFoundException: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager) [13:11:36] [main/WARN]: @Mixin target me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager was not found valkyrienskies-forge.mixins.json:compat.sodium.MixinRenderSectionManager [13:11:36] [main/WARN]: Error loading class: li/cil/tis3d/client/renderer/block/entity/CasingBlockEntityRenderer (java.lang.ClassNotFoundException: li.cil.tis3d.client.renderer.block.entity.CasingBlockEntityRenderer) [13:11:36] [main/WARN]: Error loading class: li/cil/tis3d/client/renderer/RenderContextImpl (java.lang.ClassNotFoundException: li.cil.tis3d.client.renderer.RenderContextImpl) [13:11:37] [main/WARN]: Error loading class: me/jellysquid/mods/lithium/common/ai/pathing/PathNodeDefaults (java.lang.ClassNotFoundException: me.jellysquid.mods.lithium.common.ai.pathing.PathNodeDefaults) [13:11:37] [main/WARN]: Error loading class: noobanidus/mods/lootr/config/ConfigManager (java.lang.ClassNotFoundException: noobanidus.mods.lootr.config.ConfigManager) [13:11:37] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/render/chunk/compile/pipeline/FluidRenderer (java.lang.ClassNotFoundException: me.jellysquid.mods.sodium.client.render.chunk.compile.pipeline.FluidRenderer) [13:11:37] [main/WARN]: Error loading class: net/raphimc/immediatelyfast/feature/map_atlas_generation/MapAtlasTexture (java.lang.ClassNotFoundException: net.raphimc.immediatelyfast.feature.map_atlas_generation.MapAtlasTexture) [13:11:37] [main/WARN]: Error loading class: dan200/computercraft/shared/integration/MoreRedIntegration (java.lang.ClassNotFoundException: dan200.computercraft.shared.integration.MoreRedIntegration) [13:11:37] [main/WARN]: @Mixin target dan200.computercraft.shared.integration.MoreRedIntegration was not found create_central_kitchen.mixins.json:common.computercraft.MoreRedIntegrationMixin [13:11:37] [main/WARN]: Error loading class: com/sammy/minersdelight/content/block/copper_pot/CopperPotBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.copper_pot.CopperPotBlockEntity) [13:11:37] [main/WARN]: @Mixin target com.sammy.minersdelight.content.block.copper_pot.CopperPotBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.CopperPotBlockEntityMixin [13:11:37] [main/WARN]: Error loading class: com/sammy/minersdelight/content/block/sticky_basket/StickyBasketBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity) [13:11:37] [main/WARN]: @Mixin target com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.StickyBasketBlockEntityAccessor [13:11:37] [main/WARN]: Error loading class: com/sammy/minersdelight/content/block/sticky_basket/StickyBasketBlockEntity (java.lang.ClassNotFoundException: com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity) [13:11:37] [main/WARN]: @Mixin target com.sammy.minersdelight.content.block.sticky_basket.StickyBasketBlockEntity was not found create_central_kitchen.mixins.json:common.minersdelight.StickyBasketBlockEntityMixin [13:11:37] [main/WARN]: Error loading class: net/orcinus/overweightfarming/blocks/CropFullBlock (java.lang.ClassNotFoundException: net.orcinus.overweightfarming.blocks.CropFullBlock) [13:11:37] [main/WARN]: @Mixin target net.orcinus.overweightfarming.blocks.CropFullBlock was not found create_central_kitchen.mixins.json:common.overweightfarming.CropFullBlockMixin [13:11:37] [main/ERROR]: valkyrienskies-common.mixins.json:feature.container_distance_check.MixinContainer: Interface mixin contains a non-public method! Found includeShipsInDistanceCheck(Lnet/minecraft/world/entity/player/Player;DDD)D in valkyrienskies-common.mixins.json:feature.container_distance_check.MixinContainer org.spongepowered.asm.mixin.transformer.throwables.InvalidInterfaceMixinException: Interface mixin contains a non-public method! Found includeShipsInDistanceCheck(Lnet/minecraft/world/entity/player/Player;DDD)D in valkyrienskies-common.mixins.json:feature.container_distance_check.MixinContainer     at org.spongepowered.asm.mixin.transformer.MixinPreProcessorInterface.prepareMethod(MixinPreProcessorInterface.java:65) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.prepare(MixinPreProcessorStandard.java:187) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinInfo$State.validate(MixinInfo.java:322) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:913) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:801) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:567) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30]     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?]     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?]     at java.lang.ClassLoader.loadClass(ClassLoader.java:637) ~[?:?]     at java.lang.Class.forName(Class.java:545) ~[?:?]     at net.minecraftforge.fml.earlydisplay.DisplayWindow.lambda$updateModuleReads$14(DisplayWindow.java:601) ~[fmlearlydisplay-1.20.1-47.3.0.jar:1.0]     at java.util.Optional.map(Optional.java:260) ~[?:?]     at net.minecraftforge.fml.earlydisplay.DisplayWindow.updateModuleReads(DisplayWindow.java:601) ~[fmlearlydisplay-1.20.1-47.3.0.jar:1.0]     at net.minecraftforge.fml.loading.ImmediateWindowHandler.acceptGameLayer(ImmediateWindowHandler.java:71) ~[fmlloader-1.20.1-47.3.0.jar:1.0]     at net.minecraftforge.fml.loading.FMLLoader.beforeStart(FMLLoader.java:207) ~[fmlloader-1.20.1-47.3.0.jar:1.0]     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.launchService(CommonLaunchHandler.java:92) ~[fmlloader-1.20.1-47.3.0.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] [13:11:37] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1). [13:11:39] [pool-4-thread-1/INFO]: ModernFix reached bootstrap stage (11.29 s after launch) [13:11:39] [pool-4-thread-1/WARN]: @Final field delegatesByName:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [13:11:39] [pool-4-thread-1/WARN]: @Final field delegatesByValue:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [13:11:39] [pool-4-thread-1/INFO]: Injecting BlockStateBase cache population hook into getNeighborPathNodeType from com.abdelaziz.canary.mixin.ai.pathing.BlockStateBaseMixin [13:11:39] [pool-4-thread-1/INFO]: Injecting BlockStateBase cache population hook into getPathNodeType from com.abdelaziz.canary.mixin.ai.pathing.BlockStateBaseMixin [13:11:39] [pool-4-thread-1/WARN]: @Inject(@At("INVOKE")) Shift.BY=1 on crittersandcompanions.mixins.json:LivingEntityMixin::handler$cjk000$onDie exceeds the maximum allowed value: 0. Increase the value of maxShiftBy to suppress this warning. [13:11:40] [pool-4-thread-1/INFO]: Vanilla bootstrap took 1231 milliseconds [13:11:42] [pool-4-thread-1/WARN]: Static binding violation: PRIVATE @Overwrite method m_47505_ in modernfix-common.mixins.json:perf.remove_biome_temperature_cache.BiomeMixin cannot reduce visibiliy of PUBLIC target method, visibility will be upgraded. [13:11:42] [Render thread/WARN]: Error loading class: net/caffeinemc/mods/sodium/api/memory/MemoryIntrinsics (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.api.memory.MemoryIntrinsics)  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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