Jump to content

[Reopened again][1.12.2] How to change blockstate based on helditem


_Cruelar_

Recommended Posts

So my Problem is I try to make an invisible block that is visible if the Player Helds a specific Item. I've already found out that tickable TileEntities are the best way for that. But as I tried nothing happened. So could someone help me, with that,please?

 

My Hiddenblock.class

import com.cruelar.cruelars_triforcemod.Cruelars_Triforcemod_Core;
import com.cruelar.cruelars_triforcemod.init.ModBlocks;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import com.cruelar.cruelars_triforcemod.tileentity.Hidden_Block_TileEntity;
import mcp.MethodsReturnNonnullByDefault;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import static com.cruelar.cruelars_triforcemod.inventory.cruelars_triforcemod.CRUELARS_TRIFORCEMOD;

public class Hidden_Block extends Block implements ITileEntityProvider {
    public static final PropertyBool VISIBLE = PropertyBool.create("visible");
    private static boolean keepInventory;

    public Hidden_Block(boolean visibility){
        super(Material.ROCK);
        this.setDefaultState(this.blockState.getBaseState().withProperty(VISIBLE,visibility));
        String name="";
        if (visibility){
            name="_visible";
        }
        this.setRegistryName("hidden_block"+name);
        this.setUnlocalizedName(Cruelars_Triforcemod_Core.MODID+".hidden_block"+name);
        this.setCreativeTab(CRUELARS_TRIFORCEMOD);
    }

    @MethodsReturnNonnullByDefault
    protected BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, new IProperty[]{VISIBLE});
    }

    @Override
    @SuppressWarnings("deprecation")
    public IBlockState getStateFromMeta(int meta) {
        return getDefaultState()
                .withProperty(VISIBLE, meta!=0);

    }

    public static void setState(boolean p_setState_0_, World p_setState_1_, BlockPos p_setState_2_) {
        IBlockState lvt_3_1_ = p_setState_1_.getBlockState(p_setState_2_);
        TileEntity lvt_4_1_ = p_setState_1_.getTileEntity(p_setState_2_);
        keepInventory = true;
        if (!p_setState_0_) {
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block.getDefaultState(), 3);
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block.getDefaultState(), 3);
        } else {
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block_visible.getDefaultState(), 3);
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block_visible.getDefaultState(), 3);
        }

        keepInventory = false;
        if (lvt_4_1_ != null) {
            lvt_4_1_.validate();
            p_setState_1_.setTileEntity(p_setState_2_, lvt_4_1_);
        }

    }

    @SuppressWarnings("deprecation")
    public IBlockState getActualState(IBlockState iBlockState,IBlockAccess iBlockAccess, BlockPos blockPos) {
        return iBlockState;
    }

    public int getMetaFromState(IBlockState blockState) {
        int i = 0;
        if ((boolean)blockState.getValue(VISIBLE)){
            i |= 2;
        }
        return i;
    }

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

    @SuppressWarnings("deprecation")
    public boolean isOpaqueCube(IBlockState p_isOpaqueCube_1_) {
        return false;
    }

    @SuppressWarnings("deprecation")
    public EnumBlockRenderType getRenderType(IBlockState p_getRenderType_1_) {
        return EnumBlockRenderType.MODEL;
    }

    @SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer() {
        return BlockRenderLayer.CUTOUT;
    }

    public boolean onBlockActivated(World world, BlockPos blockPos, IBlockState iBlockState, EntityPlayer entityPlayer, EnumHand enumHand, EnumFacing enumFacing, float p_float_1, float p_float_2, float p_float_3) {
        if (entityPlayer.getHeldItem(enumHand).getItem()== ModItems.lens_of_truth&&!iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        } else if (iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        }
        return true;
    }

    @SideOnly(Side.CLIENT)
    public void initModel(){
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
    }

    @SuppressWarnings("deprecation")
    public EnumPushReaction getMobilityFlag(IBlockState p_getMobilityFlag_1_) {
        return EnumPushReaction.IGNORE;
    }

}

 

And the TileEntity:

import com.cruelar.cruelars_triforcemod.blocks.Hidden_Block;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ITickable;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class Hidden_Block_TileEntity extends TileEntity implements ITickable {
    private EntityPlayer entityPlayer;

    @Override
    public void update() {
        entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        if (entityPlayer!=null){
           if ((entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth) && this.isVisible()) {
               Hidden_Block.setState(false,this.getWorld(),this.getPos());
           }
       }
        if (!this.isVisible()) {
            Hidden_Block.setState(true,this.getWorld(),this.getPos());
            //this.getWorld().getBlockState(this.pos).cycleProperty(Hidden_Block.VISIBLE);
            entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        }
        entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
    }

    public Hidden_Block_TileEntity(){

    }

    @SideOnly(Side.CLIENT)
    public boolean isVisible(){
        return this.getWorld().getBlockState(this.getPos()).getValue(Hidden_Block.VISIBLE);
    }
}

 

I think there's something false with the way I Change the Visibility.

Edited by _Cruelar_
See title

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

4 hours ago, _Cruelar_ said:

So my Problem is I try to make an invisible block that is visible if the Player Helds a specific Item. I've already found out that tickable TileEntities are the best way for that. But as I tried nothing happened. So could someone help me, with that,please?

What is it doing exactly that is wrong.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

  • 2 weeks later...

Changed the Code according to Problematic code #4 by diesieben07. I get an error now when I switch to my item triggering the change

Spoiler

[15:13:59] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking entity
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:771) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:666) ~[MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185) ~[IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Caused by: java.lang.NullPointerException
    at net.minecraft.pathfinding.WalkNodeProcessor.getSafePoint(WalkNodeProcessor.java:192) ~[WalkNodeProcessor.class:?]
    at net.minecraft.pathfinding.WalkNodeProcessor.findPathOptions(WalkNodeProcessor.java:114) ~[WalkNodeProcessor.class:?]
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:82) ~[PathFinder.class:?]
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:40) ~[PathFinder.class:?]
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:30) ~[PathFinder.class:?]
    at net.minecraft.pathfinding.PathNavigate.getPathToPos(SourceFile:114) ~[PathNavigate.class:?]
    at net.minecraft.pathfinding.PathNavigateGround.getPathToPos(SourceFile:51) ~[PathNavigateGround.class:?]
    at net.minecraft.pathfinding.PathNavigate.getPathToXYZ(SourceFile:93) ~[PathNavigate.class:?]
    at net.minecraft.pathfinding.PathNavigate.tryMoveToXYZ(SourceFile:143) ~[PathNavigate.class:?]
    at net.minecraft.entity.ai.EntityAIWander.startExecuting(SourceFile:65) ~[EntityAIWander.class:?]
    at net.minecraft.entity.ai.EntityAITasks.onUpdateTasks(SourceFile:102) ~[EntityAITasks.class:?]
    at net.minecraft.entity.EntityLiving.updateEntityActionState(EntityLiving.java:763) ~[EntityLiving.class:?]
    at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2347) ~[EntityLivingBase.class:?]
    at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:577) ~[EntityLiving.class:?]
    at net.minecraft.entity.monster.EntityMob.onLivingUpdate(EntityMob.java:45) ~[EntityMob.class:?]
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2167) ~[EntityLivingBase.class:?]
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:295) ~[EntityLiving.class:?]
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:50) ~[EntityMob.class:?]
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1986) ~[World.class:?]
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:831) ~[WorldServer.class:?]
    at net.minecraft.world.World.updateEntity(World.java:1948) ~[World.class:?]
    at net.minecraft.world.World.updateEntities(World.java:1755) ~[World.class:?]
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:612) ~[WorldServer.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:765) ~[MinecraftServer.class:?]
    ... 4 more
[15:13:59] [Server thread/ERROR]: This crash report has been saved to: C:\Users\lars\Desktop\Ordner\Minecraft\Mods\Cruelars Triforcemod\run\.\crash-reports\crash-2018-07-15_15.13.59-server.txt
[15:13:59] [Server thread/INFO]: Stopping server
[15:13:59] [Server thread/INFO]: Saving players
[15:13:59] [main/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:553]: ---- Minecraft Crash Report ----
// I just don't know what went wrong :(

Time: 7/15/18 3:13 PM
Description: Ticking entity

java.lang.NullPointerException: Ticking entity
    at net.minecraft.pathfinding.WalkNodeProcessor.getSafePoint(WalkNodeProcessor.java:192)
    at net.minecraft.pathfinding.WalkNodeProcessor.findPathOptions(WalkNodeProcessor.java:114)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:82)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:40)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:30)
    at net.minecraft.pathfinding.PathNavigate.getPathToPos(SourceFile:114)
    at net.minecraft.pathfinding.PathNavigateGround.getPathToPos(SourceFile:51)
    at net.minecraft.pathfinding.PathNavigate.getPathToXYZ(SourceFile:93)
    at net.minecraft.pathfinding.PathNavigate.tryMoveToXYZ(SourceFile:143)
    at net.minecraft.entity.ai.EntityAIWander.startExecuting(SourceFile:65)
    at net.minecraft.entity.ai.EntityAITasks.onUpdateTasks(SourceFile:102)
    at net.minecraft.entity.EntityLiving.updateEntityActionState(EntityLiving.java:763)
    at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2347)
    at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:577)
    at net.minecraft.entity.monster.EntityMob.onLivingUpdate(EntityMob.java:45)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2167)
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:295)
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:50)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1986)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:831)
    at net.minecraft.world.World.updateEntity(World.java:1948)
    at net.minecraft.world.World.updateEntities(World.java:1755)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:612)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:765)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:666)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
    at java.lang.Thread.run(Thread.java:748)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
    at net.minecraft.pathfinding.WalkNodeProcessor.getSafePoint(WalkNodeProcessor.java:192)
    at net.minecraft.pathfinding.WalkNodeProcessor.findPathOptions(WalkNodeProcessor.java:114)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:82)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:40)
    at net.minecraft.pathfinding.PathFinder.findPath(SourceFile:30)
    at net.minecraft.pathfinding.PathNavigate.getPathToPos(SourceFile:114)
    at net.minecraft.pathfinding.PathNavigateGround.getPathToPos(SourceFile:51)
    at net.minecraft.pathfinding.PathNavigate.getPathToXYZ(SourceFile:93)
    at net.minecraft.pathfinding.PathNavigate.tryMoveToXYZ(SourceFile:143)
    at net.minecraft.entity.ai.EntityAIWander.startExecuting(SourceFile:65)
    at net.minecraft.entity.ai.EntityAITasks.onUpdateTasks(SourceFile:102)
    at net.minecraft.entity.EntityLiving.updateEntityActionState(EntityLiving.java:763)
    at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2347)
    at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:577)
    at net.minecraft.entity.monster.EntityMob.onLivingUpdate(EntityMob.java:45)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2167)
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:295)
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:50)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1986)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:831)
    at net.minecraft.world.World.updateEntity(World.java:1948)

-- Entity being ticked --
Details:
    Entity Type: cruelars_triforcemod:textures/entity/bokoblin.png (com.cruelar.cruelars_triforcemod.entities.monster.Bokoblin)
    Entity ID: 153
    Entity Name: Bokoblin
    Entity's Exact location: 235.34, 95.00, 260.77
    Entity's Block location: World: (235,95,260), Chunk: (at 11,5,4 in 14,16; contains blocks 224,0,256 to 239,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Entity's Momentum: 0.00, -0.08, 0.00
    Entity's Passengers: []
    Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
    at net.minecraft.world.World.updateEntities(World.java:1755)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:612)

-- Affected level --
Details:
    Level name: Triforce Test
    All players: 1 total; [EntityPlayerMP['Player560'/314, l='Triforce Test', x=231.94, y=95.00, z=263.69]]
    Chunk stats: ServerChunkCache: 626 Drop: 0
    Level seed: -7073363584905754142
    Level generator: ID 00 - default, ver 1. Features enabled: true
    Level generator options:
    Level spawn location: World: (172,64,212), Chunk: (at 12,4,4 in 10,13; contains blocks 160,0,208 to 175,255,223), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Level time: 1158986 game time, 16630 day time
    Level dimension: 0
    Level storage version: 0x04ABD - Anvil
    Level weather: Rain time: 96339 (now: false), thunder time: 154304 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:765)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:666)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
    at java.lang.Thread.run(Thread.java:748)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_152, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 140866112 bytes (134 MB) / 923271168 bytes (880 MB) up to 1883242496 bytes (1796 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
    FML: MCP 9.42 Powered by Forge 14.23.1.2555 9 mods loaded, 9 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

    | State              | ID                                         | Version            | Source                                                   | Signature |
    |:--------------   |:---------------------------   |:----------------- |:------------------------------------------ |:--------- |
    | UCHIJAAAA | minecraft                        | 1.12.2                | minecraft.jar                                       | None      |
    | UCHIJAAAA | mcp                                   | 9.42                   | minecraft.jar                                       | None      |
    | UCHIJAAAA | FML                                    | 8.0.99.99         | forgeBin-1.12.2-14.23.1.2555.jar | None      |
    | UCHIJAAAA | forge                                  | 14.23.1.2555 | forgeBin-1.12.2-14.23.1.2555.jar | None      |
    | UCHIJAAAA | cruelars_triforcemod | 0.4.1                 | Cruelars_Triforcemod_main         | None      |
    | UCHIJAAAA | journeymap                    | 1.12.2-5.5.2   | journeymap-1.12.2-5.5.2.jar         | None      |
    | UCHIJAAAA | baubles                            | 1.5.2                  | Baubles-Mod-1.12.2.jar                  | None      |
    | UCHIJAAAA | ichunutil                          | 7.1.4                  | iChunUtil-1.12.2-7.1.4.jar              | None      |
    | UCHIJAAAA | tabula                               | 7.0.0                  | Tabula-1.12.2-7.0.0-deobf.jar      | None      |

    Loaded coremods (and transformers):
    GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    Profiler Position: N/A (disabled)
    Player Count: 1 / 8; [EntityPlayerMP['Player560'/314, l='Triforce Test', x=231.94, y=95.00, z=263.69]]
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'fml,forge'
[15:13:59] [main/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:553]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2018-07-15_15.13.59-server.txt
[15:13:59] [main/INFO]: Waiting for the server to terminate/save.
[15:13:59] [Server thread/INFO]: Saving worlds
[15:13:59] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/overworld
[15:13:59] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/the_nether
[15:13:59] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/the_end
[15:13:59] [Server thread/INFO]: Mapping halted in .\journeymap\data\sp\Triforce Test\DIM0
[15:14:00] [Server thread/INFO]: Unloading dimension 0
[15:14:00] [Server thread/INFO]: Unloading dimension -1
[15:14:00] [Server thread/INFO]: Unloading dimension 1
[15:14:00] [Server thread/INFO]: Applying holder lookups
[15:14:00] [Server thread/INFO]: Holder lookups applied
[15:14:00] [Server thread/INFO]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
[15:14:00] [main/INFO]: Server terminated.
[15:14:00] [Client Shutdown Thread/INFO]: Stopping server
[15:14:00] [Client Shutdown Thread/INFO]: Saving players
AL lib: (EE) alc_cleanup: 1 device not closed

Process finished with exit code -1

 

 

I changed only the block:

import com.cruelar.cruelars_triforcemod.Cruelars_Triforcemod_Core;
import com.cruelar.cruelars_triforcemod.init.ModBlocks;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import com.cruelar.cruelars_triforcemod.tileentity.Hidden_Block_TileEntity;
import mcp.MethodsReturnNonnullByDefault;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import static com.cruelar.cruelars_triforcemod.inventory.cruelars_triforcemod.CRUELARS_TRIFORCEMOD;

public class Hidden_Block extends Block {
    public static final PropertyBool VISIBLE = PropertyBool.create("visible");
    private static boolean keepInventory;

    public Hidden_Block(boolean visibility){
        super(Material.ROCK);
        this.setDefaultState(this.blockState.getBaseState().withProperty(VISIBLE,visibility));
        String name="";
        if (visibility){
            name="_visible";
        }
        this.setRegistryName("hidden_block"+name);
        this.setUnlocalizedName(Cruelars_Triforcemod_Core.MODID+".hidden_block"+name);
        this.setCreativeTab(CRUELARS_TRIFORCEMOD);
    }

    @MethodsReturnNonnullByDefault
    protected BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, new IProperty[]{VISIBLE});
    }

    @Override
    @SuppressWarnings("deprecation")
    public IBlockState getStateFromMeta(int meta) {
        return getDefaultState()
                .withProperty(VISIBLE, meta!=0);

    }

    public static void setState(boolean p_setState_0_, World p_setState_1_, BlockPos p_setState_2_) {
        IBlockState lvt_3_1_ = p_setState_1_.getBlockState(p_setState_2_);
        TileEntity lvt_4_1_ = p_setState_1_.getTileEntity(p_setState_2_);
        keepInventory = true;
        if (!p_setState_0_) {
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block.getDefaultState(), 3);
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block.getDefaultState(), 3);
        } else {
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block_visible.getDefaultState(), 3);
            p_setState_1_.setBlockState(p_setState_2_, ModBlocks.hidden_block_visible.getDefaultState(), 3);
        }

        keepInventory = false;
        if (lvt_4_1_ != null) {
            lvt_4_1_.validate();
            p_setState_1_.setTileEntity(p_setState_2_, lvt_4_1_);
        }

    }

    @SuppressWarnings("deprecation")
    public IBlockState getActualState(IBlockState iBlockState,IBlockAccess iBlockAccess, BlockPos blockPos) {
        return iBlockState;
    }

    public int getMetaFromState(IBlockState blockState) {
        int i = 0;
        if ((boolean)blockState.getValue(VISIBLE)){
            i |= 2;
        }
        return i;
    }

    @Override
    public TileEntity createTileEntity(World world, IBlockState iBlockState){
        return new Hidden_Block_TileEntity();
    }

    public boolean hasTileEntity(IBlockState p_hasTileEntity_1_) {
        return true;
    }

    @SuppressWarnings("deprecation")
    public boolean isOpaqueCube(IBlockState p_isOpaqueCube_1_) {
        return false;
    }

    @SuppressWarnings("deprecation")
    public EnumBlockRenderType getRenderType(IBlockState p_getRenderType_1_) {
        return EnumBlockRenderType.MODEL;
    }

    @SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer() {
        return BlockRenderLayer.CUTOUT;
    }

    public boolean onBlockActivated(World world, BlockPos blockPos, IBlockState iBlockState, EntityPlayer entityPlayer, EnumHand enumHand, EnumFacing enumFacing, float p_float_1, float p_float_2, float p_float_3) {
        if (entityPlayer.getHeldItem(enumHand).getItem()== ModItems.lens_of_truth&&!iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        } else if (iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        }
        return true;
    }

    @SideOnly(Side.CLIENT)
    public void initModel(){
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
    }

    @SuppressWarnings("deprecation")
    public EnumPushReaction getMobilityFlag(IBlockState p_getMobilityFlag_1_) {
        return EnumPushReaction.IGNORE;
    }

}

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

  1. I've recognized the code style issue the moment I posted the code
  2. with the copy of the Furnace you mean setState?
  3. the parameter names are mostly copied from Minecraft or the name of the class of the object. I'm working on a documentation and will change the names then

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

So like this?

The TileEntity:

package com.cruelar.cruelars_triforcemod.tileentity;

import com.cruelar.cruelars_triforcemod.blocks.Hidden_Block;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class Hidden_Block_TileEntity extends TileEntity implements ITickable {
    private EntityPlayer entityPlayer;

    @Override
    public void update() {
        entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        if (entityPlayer!=null){
           if ((entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth) && this.isVisible()) {
               this.getWorld().getBlockState(this.getPos()).cycleProperty(Hidden_Block.VISIBLE);
           }
       }
        if (!this.isVisible()) {
            this.getWorld().getBlockState(this.pos).cycleProperty(Hidden_Block.VISIBLE);
            entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        }
        entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
    }

    public Hidden_Block_TileEntity(){

    }

    @SideOnly(Side.CLIENT)
    public boolean isVisible(){
        return this.getWorld().getBlockState(this.getPos()).getValue(Hidden_Block.VISIBLE);
    }

    @Override
    public boolean shouldRefresh(World p_shouldRefresh_1_, BlockPos p_shouldRefresh_2_, IBlockState p_shouldRefresh_3_, IBlockState p_shouldRefresh_4_) {
        return true;
    }
}

 

The Block:

import com.cruelar.cruelars_triforcemod.Cruelars_Triforcemod_Core;
import com.cruelar.cruelars_triforcemod.init.ModBlocks;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import com.cruelar.cruelars_triforcemod.tileentity.Hidden_Block_TileEntity;
import mcp.MethodsReturnNonnullByDefault;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import static com.cruelar.cruelars_triforcemod.inventory.cruelars_triforcemod.CRUELARS_TRIFORCEMOD;

public class Hidden_Block extends Block {
    public static final PropertyBool VISIBLE = PropertyBool.create("visible");
    private static boolean keepInventory;

    public Hidden_Block(){
        super(Material.ROCK);
        this.setDefaultState(this.blockState.getBaseState().withProperty(VISIBLE,true));
        this.setRegistryName("hidden_block");
        this.setUnlocalizedName(Cruelars_Triforcemod_Core.MODID+".hidden_block");
        this.setCreativeTab(CRUELARS_TRIFORCEMOD);
    }

    @MethodsReturnNonnullByDefault
    @Override
    protected BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, new IProperty[]{VISIBLE});
    }

    @Override
    @SuppressWarnings("deprecation")
    public IBlockState getStateFromMeta(int meta) {
        return getDefaultState()
                .withProperty(VISIBLE, meta!=0);

    }

    @SuppressWarnings("deprecation")
    @Override
    public IBlockState getActualState(IBlockState iBlockState,IBlockAccess iBlockAccess, BlockPos blockPos) {
        return iBlockState;
    }

    @Override
    public int getMetaFromState(IBlockState blockState) {
        int i = 0;
        if ((boolean)blockState.getValue(VISIBLE)){
            i |= 2;
        }
        return i;
    }

    @Override
    public TileEntity createTileEntity(World world, IBlockState iBlockState){
        return new Hidden_Block_TileEntity();
    }

    @Override
    public boolean hasTileEntity(IBlockState p_hasTileEntity_1_) {
        return true;
    }

    @SuppressWarnings("deprecation")
    @Override
    public boolean isOpaqueCube(IBlockState p_isOpaqueCube_1_) {
        return false;
    }

    @Override
    @SuppressWarnings("deprecation")
    public EnumBlockRenderType getRenderType(IBlockState p_getRenderType_1_) {
        return EnumBlockRenderType.MODEL;
    }

    @Override
    @SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer() {
        return BlockRenderLayer.CUTOUT;
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos blockPos, IBlockState iBlockState, EntityPlayer entityPlayer, EnumHand enumHand, EnumFacing enumFacing, float p_float_1, float p_float_2, float p_float_3) {
        if (entityPlayer.getHeldItem(enumHand).getItem()== ModItems.lens_of_truth&&!iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        } else if (iBlockState.getValue(VISIBLE)){
            iBlockState.cycleProperty(VISIBLE);
        }
        return true;
    }

    @SideOnly(Side.CLIENT)
    public void initModel(){
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
    }

    @Override
    @SuppressWarnings("deprecation")
    public EnumPushReaction getMobilityFlag(IBlockState p_getMobilityFlag_1_) {
        return EnumPushReaction.IGNORE;
    }

}

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Is this better?

@Override
    public boolean shouldRefresh(World p_shouldRefresh_1_, BlockPos p_shouldRefresh_2_, IBlockState firstBlockState, IBlockState secondBlockState) {
        return firstBlockState.getBlock() != secondBlockState.getBlock();
    }

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

So I get no error, the blocks have the right texture when placed but the textures still doesn't change when I held the lens of truth(look in the code it's the Item triggering the change. In theory at least)

Edited by _Cruelar_

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Thanks for saying me that I've missed something quite clear

@Override
    public void update() {
        EntityPlayer entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        if (entityPlayer!=null){
           if ((entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth) && this.isVisible()) {
               this.getWorld().getBlockState(this.getPos()).cycleProperty(Hidden_Block.VISIBLE);
           }
       }
        if (!this.isVisible()&&!(entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth)) {
            this.getWorld().getBlockState(this.pos).cycleProperty(Hidden_Block.VISIBLE);
            entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        }
        entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
    }

 

!this.isVisible()&&!(entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth

This should fix that, doesn't it?

Edited by _Cruelar_

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

There was a NullPointerException at if (!this.isVisible()&&!(entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth))

the entityPlayer might be null.

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Like this?

@Override
    public void update() {
        EntityPlayer entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);
        if (entityPlayer!=null){
            boolean visible = isVisible();
            boolean shouldBeVisible = entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth;
            if (visible!=shouldBeVisible){
                world.setBlockState(pos, world.getBlockState(pos).withProperty(Hidden_Block.VISIBLE, shouldBeVisible));
            }
        }
    }

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

When I test with System.out.println(entityPlayer) it prints null so the problem is

this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, true);

doesn't find me.

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

  1. What happens when I pass false
  2. Thanks this I didn't know
  3. also doesn't work in survival
  4. only searching the Player on Serverside or update()?

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

So what is false?

Spoiler

[18:31:50] [Server thread/INFO]: Preparing start region for level 0
[18:31:51] [Server thread/INFO]: Preparing spawn area: 56%
[18:31:52] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking block entity
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:771) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:666) ~[MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185) ~[IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Caused by: java.lang.NoSuchMethodError: com.cruelar.cruelars_triforcemod.tileentity.Hidden_Block_TileEntity.getPlayer()Lnet/minecraft/entity/player/EntityPlayer;
    at com.cruelar.cruelars_triforcemod.tileentity.Hidden_Block_TileEntity.update(Hidden_Block_TileEntity.java:21) ~[Hidden_Block_TileEntity.class:?]
    at net.minecraft.world.World.updateEntities(World.java:1829) ~[World.class:?]
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:612) ~[WorldServer.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:765) ~[MinecraftServer.class:?]
    ... 4 more
[18:31:52] [Server thread/ERROR]: This crash report has been saved to: C:\Users\lars\Desktop\Ordner\Minecraft\Mods\Cruelars Triforcemod\run\.\crash-reports\crash-2018-07-15_18.31.52-server.txt
[18:31:52] [Server thread/INFO]: Stopping server
[18:31:52] [Server thread/INFO]: Saving players
[18:31:52] [Server thread/INFO]: Saving worlds
[18:31:52] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/overworld
[18:31:52] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/the_nether
[18:31:52] [Server thread/INFO]: Saving chunks for level 'Triforce Test'/the_end
[18:31:52] [Server thread/ERROR]: ExecutionException in getPlayer: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:303)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:190)
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452)
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4153)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153)
    at journeymap.client.data.DataCache.getEntityDTO(DataCache.java:441)
    at journeymap.client.data.PlayerData.load(PlayerData.java:86)
    at journeymap.client.data.PlayerData.load(PlayerData.java:30)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211)
    ... 13 more

[18:31:52] [Server thread/ERROR]: Error handling WorldEvent.Unload
java.lang.NullPointerException: null
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33) [WorldEventHandler.class:1.12.2-5.5.2]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic) [?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?]
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
[18:31:52] [Server thread/ERROR]: ExecutionException in getPlayer: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:303)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:190)
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452)
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4153)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153)
    at journeymap.client.data.DataCache.getEntityDTO(DataCache.java:441)
    at journeymap.client.data.PlayerData.load(PlayerData.java:86)
    at journeymap.client.data.PlayerData.load(PlayerData.java:30)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211)
    ... 13 more

[18:31:52] [Server thread/ERROR]: Error handling WorldEvent.Unload
java.lang.NullPointerException: null
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33) [WorldEventHandler.class:1.12.2-5.5.2]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic) [?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?]
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
[18:31:52] [Server thread/ERROR]: ExecutionException in getPlayer: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:303)
    at journeymap.client.data.DataCache.getPlayer(DataCache.java:190)
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452)
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
    at com.google.common.cache.LocalCache.get(LocalCache.java:4153)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153)
    at journeymap.client.data.DataCache.getEntityDTO(DataCache.java:441)
    at journeymap.client.data.PlayerData.load(PlayerData.java:86)
    at journeymap.client.data.PlayerData.load(PlayerData.java:30)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211)
    ... 13 more

[18:31:52] [Server thread/ERROR]: Error handling WorldEvent.Unload
java.lang.NullPointerException: null
    at journeymap.client.forge.event.WorldEventHandler.onUnload(WorldEventHandler.java:33) [WorldEventHandler.class:1.12.2-5.5.2]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_67_WorldEventHandler_onUnload_Unload.invoke(.dynamic) [?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?]
    at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:452) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:372) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:577) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
[18:31:52] [Server thread/INFO]: Unloading dimension 0
[18:31:52] [Server thread/INFO]: Unloading dimension -1
[18:31:52] [Server thread/INFO]: Unloading dimension 1
[18:31:52] [Server thread/INFO]: Applying holder lookups
[18:31:52] [Server thread/INFO]: Holder lookups applied
[18:31:52] [Server thread/INFO]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.

 

TileEntity:

package com.cruelar.cruelars_triforcemod.tileentity;

import com.cruelar.cruelars_triforcemod.blocks.Hidden_Block;
import com.cruelar.cruelars_triforcemod.init.ModItems;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import javax.annotation.Nullable;

public class Hidden_Block_TileEntity extends TileEntity implements ITickable {

    @Override
    public void update() {
        EntityPlayer entityPlayer = (EntityPlayer) getPlayer();
        if (entityPlayer!=null){
            boolean visible = isVisible();
            boolean shouldBeVisible = entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth;
            if (visible!=shouldBeVisible){
                world.setBlockState(pos, world.getBlockState(pos).withProperty(Hidden_Block.VISIBLE, shouldBeVisible));
            }
        }
        System.out.println(entityPlayer);
           
    }

    public Hidden_Block_TileEntity(){

    }

    
    @SideOnly(Side.SERVER)
    public EntityPlayer getPlayer(){
        return this.getWorld().getClosestPlayer(this.pos.getX(),this.pos.getY(),this.pos.getZ(),-1.0,false);
    }

    @SideOnly(Side.CLIENT)
    public boolean isVisible(){
        return this.getWorld().getBlockState(this.getPos()).getValue(Hidden_Block.VISIBLE);
    }

    @Override
    public boolean shouldRefresh(World p_shouldRefresh_1_, BlockPos p_shouldRefresh_2_, IBlockState firstBlockState, IBlockState secondBlockState) {
        return firstBlockState.getBlock() != secondBlockState.getBlock();
    }
}

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

So I should use this?

@Override
    public void update() {
        if (!this.getWorld().isRemote) 
        {
            EntityPlayer entityPlayer = (EntityPlayer) this.getWorld().getClosestPlayer(this.pos.getX(), this.pos.getY(), this.pos.getZ(), -1.0, false);
            if (entityPlayer != null) {
                boolean visible = isVisible();
                boolean shouldBeVisible = entityPlayer.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.lens_of_truth || entityPlayer.getHeldItem(EnumHand.OFF_HAND).getItem() == ModItems.lens_of_truth;
                if (visible != shouldBeVisible) {
                    world.setBlockState(pos, world.getBlockState(pos).withProperty(Hidden_Block.VISIBLE, shouldBeVisible));
                }
            }
            System.out.println(entityPlayer);
        }

    }

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

oh sorry. I had the entityPlayer == null Problem since I started the topic and even before. thought it was because there are problems with world should have changed that by now

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

I get now an error with the json

blockstates json

{
  "forge_marker": 1,
  "defaults": {
    "model": "cruelars_triforcemod:dungeonbrick"
  },
  "variants": {
    "normal": [{}],
    "inventory": [{}],
    "visible=false":{
      "model": "cruelars_triforcemod:hidden_block"
    },
    "visible=true":{
      "model": "cruelars_triforcemod:hidden_block"
    }
  }
}

 

model json

{
  "parent": "block/cube_all",
  "textures":{
    "visible=true": "cruelars_triforcemod:blocks/air",
    "visible=false": "cruelars_triforcemod:blocks/dungeonbrick"
  }
}

 

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

You need to have the normal and inventory variant, even if you don't use them...


And I don't think that the model's textures works that way... because you should set the texture in the blockstate.

Yeah, the "cube_all" uses a "layer0" named texture, in vanilla, and a normal "all" texture in forge, so here's the correct one: 

{
  "forge_marker": 1,
  "defaults": {
    "textures": {
      "all": "whatever:blocks/yourblock_def"
    }
  },
  "variants": {
    "visible=true": {
      "model": "cube_all",
	  "textures": {
        "all": "whatever:blocks/yourblock_true"
      }
    },
    "visible=false": {
      "model": "cube_all",
	  "textures": {
        "all": "whatever:blocks/yourblock_false"
      }
    }
  }
}

 

Edited by Legenes
  • Thanks 1
procedure WakeMeUp(Integer plusTime);
var
  I: Integer;
begin
  for I := 0 to plusTime do begin
    println('One more minute!');
    Sleep(1000);
  end;
  println('Okay, nothing to worry, I''m alive!');
  println('So... somebody can give me a coffee?');
  println('I know it''s Pascal, and not Java, but I love it :D.');
end;
Link to comment
Share on other sites

Could you try the blockstate I sent, of course with your textures?. (You don't need to have a "_def" texture, it can be the true/false one)

procedure WakeMeUp(Integer plusTime);
var
  I: Integer;
begin
  for I := 0 to plusTime do begin
    println('One more minute!');
    Sleep(1000);
  end;
  println('Okay, nothing to worry, I''m alive!');
  println('So... somebody can give me a coffee?');
  println('I know it''s Pascal, and not Java, but I love it :D.');
end;
Link to comment
Share on other sites

33 minutes ago, diesieben07 said:

What error? Why do you have the normal variant in there? It is never used unless you have a block without properties.

[19:42:43] [main/WARN]: Unable to resolve texture due to upward reference: #all in minecraft:models/block/cube_all

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

@Legenes, @diesieben07

If it's ok to you, I'll mention you in my changelog

Spoiler

Changelog for mc mod version 0.4.2
+++++++++++++++++++++++++++++++++++

+ false and hidden block finally work (Thanks to Legenes and diesieben07 in the Forge Modder Support Forum)

false block is an air block that gets invisible when the lens of truth is hold

  • Like 1

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

27 minutes ago, _Cruelar_ said:

[19:42:43] [main/WARN]: Unable to resolve texture due to upward reference: #all in minecraft:models/block/cube_all

This is because your model file:

1 hour ago, _Cruelar_ said:

{
  "parent": "block/cube_all",
  "textures":{
    "visible=true": "cruelars_triforcemod:blocks/air",
    "visible=false": "cruelars_triforcemod:blocks/dungeonbrick"
  }
}

Does not have a definition for the #all texture reference.

eg:

"textures": {
    "all": "[some texture png]"
},

Nor is this specified in your blockstate file.

 

Also, these:

  "textures":{
    "visible=true": "cruelars_triforcemod:blocks/air",
    "visible=false": "cruelars_triforcemod:blocks/dungeonbrick"
  }

Are creating texture references, #visible=true and #visible=false.

They are NOT variants!

 

You could then reassign these textures in your blockstate file:

"variants": {
    "visible=true": {
        "textures": {
            "#visible=false": "[some new texture png]"
        }
    },
    ...
}

 

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

 

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

 

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

Link to comment
Share on other sites

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I have made a post shader with all of it's files (in post and program) being finished, it's just an edited creeper post shader for now. How do I load it ingame?  Minecraft.getInstance().gameRenderer.loadEffect(new ResourceLocation("thedefused:shaders/post/creep.json")); This just gives an error due to it trying to find program in minecraft:shaders/program However, I have seen multiple mods use post shaders. how?
    • Hello. I've been having a problem when launching minecraft forge. It just doesn't open the game, and leaves me with this "(exit code 1)" error. Both regular and optifine versions of minecraft launch just fine, tried both with 1.18.2 and 1.20.1. I can assure that my drivers are updated so that can't be it, and i've tried using Java 17, 18 and 21 to no avail. Even with no mods installed, the thing won't launch. I'll leave the log here, although it's in spanish: https://jmp.sh/s/FPqGBSi30fzKJDt2M1gc My specs are this: Ryzen 3 4100 || Radeon R9 280x || 16gb ram || Windows 10 I'd appreciate any help, thank you in advance.
    • Hey, Me and my friends decided to start up a Server with "a few" mods, the last few days everything went well we used all the items we wanted. Now our Game crashes the moment we touch a Lava Bucket inside our Inventory. It just instantly closes and gives me an "Alc Cleanup"  Crash screen (Using GDLauncher). I honestly dont have a clue how to resolve this error. If anyone could help id really appreciate it, I speak German and Englisch so you can choose whatever you speak more fluently. Thanks in Advance. Plus I dont know how to link my Crash Report help for that would be nice too whoops
    • I hosted a minecraft server and I modded it, and there is always an error on the console which closes the server. If someone knows how to repair it, it would be amazing. Thank you. I paste the crash report down here: ---- Minecraft Crash Report ---- WARNING: coremods are present:   llibrary (llibrary-core-1.0.11-1.12.2.jar)   WolfArmorCore (WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar)   AstralCore (astralsorcery-1.12.2-1.10.27.jar)   CreativePatchingLoader (CreativeCore_v1.10.71_mc1.12.2.jar)   SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.8.jar)   ForgelinPlugin (Forgelin-1.8.4.jar)   midnight (themidnight-0.3.5.jar)   FutureMC (Future-MC-0.2.19.jar)   SpartanWeaponry-MixinLoader (SpartanWeaponry-1.12.2-1.5.3.jar)   Backpacked (backpacked-1.4.3-1.12.2.jar)   LoadingPlugin (Reskillable-1.12.2-1.13.0.jar)   LoadingPlugin (Bloodmoon-MC1.12.2-1.5.3.jar) Contact their authors BEFORE contacting forge // There are four lights! Time: 3/28/24 12:17 PM Description: Exception in server tick loop net.minecraftforge.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/multiplayer/WorldClient     at net.minecraftforge.fml.common.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:89)     at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:612)     at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)     at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)     at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)     at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)     at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)     at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)     at com.google.common.eventbus.EventBus.post(EventBus.java:217)     at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)     at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)     at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)     at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)     at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)     at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)     at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)     at com.google.common.eventbus.EventBus.post(EventBus.java:217)     at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)     at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:595)     at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:98)     at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333)     at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125)     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)     at java.lang.Thread.run(Thread.java:750) Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/multiplayer/WorldClient     at java.lang.Class.getDeclaredMethods0(Native Method)     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)     at java.lang.Class.privateGetPublicMethods(Class.java:2902)     at java.lang.Class.getMethods(Class.java:1615)     at net.minecraftforge.fml.common.eventhandler.EventBus.register(EventBus.java:82)     at net.minecraftforge.fml.common.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:82)     ... 31 more Caused by: java.lang.ClassNotFoundException: net.minecraft.client.multiplayer.WorldClient     at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)     ... 37 more Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@4e558728 from coremod FMLCorePlugin     at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:260)     at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)     at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)     ... 39 more Caused by: java.lang.RuntimeException: Attempted to load class bsb for invalid side SERVER     at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:62)     at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:256)     ... 41 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.12.2     Operating System: Linux (amd64) version 5.10.0-28-cloud-amd64     Java Version: 1.8.0_382, Temurin     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Temurin     Memory: 948745536 bytes (904 MB) / 1564999680 bytes (1492 MB) up to 7635730432 bytes (7282 MB)     JVM Flags: 2 total; -Xmx8192M -Xms256M     IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0     FML: MCP 9.42 Powered by Forge 14.23.5.2860 63 mods loaded, 63 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     | State | ID                 | Version                 | Source                                                | Signature                                |     |:----- |:------------------ |:----------------------- |:----------------------------------------------------- |:---------------------------------------- |     | LC    | minecraft          | 1.12.2                  | minecraft.jar                                         | None                                     |     | LC    | mcp                | 9.42                    | minecraft.jar                                         | None                                     |     | LC    | FML                | 8.0.99.99               | forge-1.12.2-14.23.5.2860.jar                         | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LC    | forge              | 14.23.5.2860            | forge-1.12.2-14.23.5.2860.jar                         | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LC    | creativecoredummy  | 1.0.0                   | minecraft.jar                                         | None                                     |     | LC    | backpacked         | 1.4.2                   | backpacked-1.4.3-1.12.2.jar                           | None                                     |     | LC    | itemblacklist      | 1.4.3                   | ItemBlacklist-1.4.3.jar                               | None                                     |     | LC    | securitycraft      | v1.9.8                  | [1.12.2] SecurityCraft v1.9.8.jar                     | None                                     |     | LC    | aiimprovements     | 0.0.1.3                 | AIImprovements-1.12-0.0.1b3.jar                       | None                                     |     | LC    | jei                | 4.16.1.301              | jei_1.12.2-4.16.1.301.jar                             | None                                     |     | LC    | appleskin          | 1.0.14                  | AppleSkin-mc1.12-1.0.14.jar                           | None                                     |     | LC    | baubles            | 1.5.2                   | Baubles-1.12-1.5.2.jar                                | None                                     |     | LC    | astralsorcery      | 1.10.27                 | astralsorcery-1.12.2-1.10.27.jar                      | a0f0b759d895c15ceb3e3bcb5f3c2db7c582edf0 |     | LC    | attributefix       | 1.0.12                  | AttributeFix-Forge-1.12.2-1.0.12.jar                  | None                                     |     | LC    | atum               | 2.0.20                  | Atum-1.12.2-2.0.20.jar                                | None                                     |     | LC    | bloodmoon          | 1.5.3                   | Bloodmoon-MC1.12.2-1.5.3.jar                          | d72e0dd57935b3e9476212aea0c0df352dd76291 |     | LC    | forgelin           | 1.8.4                   | Forgelin-1.8.4.jar                                    | None                                     |     | LC    | bountiful          | 2.2.2                   | Bountiful-2.2.2.jar                                   | None                                     |     | LC    | camera             | 1.0.10                  | camera-1.0.10.jar                                     | None                                     |     | LC    | chisel             | MC1.12.2-1.0.2.45       | Chisel-MC1.12.2-1.0.2.45.jar                          | None                                     |     | LC    | collective         | 3.0                     | collective-1.12.2-3.0.jar                             | None                                     |     | LC    | reskillable        | 1.12.2-1.13.0           | Reskillable-1.12.2-1.13.0.jar                         | None                                     |     | LC    | compatskills       | 1.12.2-1.17.0           | CompatSkills-1.12.2-1.17.0.jar                        | None                                     |     | LC    | creativecore       | 1.10.0                  | CreativeCore_v1.10.71_mc1.12.2.jar                    | None                                     |     | LC    | customnpcs         | 1.12                    | CustomNPCs_1.12.2-(05Jul20).jar                       | None                                     |     | LC    | darknesslib        | 1.1.2                   | DarknessLib-1.12.2-1.1.2.jar                          | 220f10d3a93b3ff5fbaa7434cc629d863d6751b9 |     | LC    | dungeonsmod        | @VERSION@               | DungeonsMod-1.12.2-1.0.8.jar                          | None                                     |     | LC    | enhancedvisuals    | 1.3.0                   | EnhancedVisuals_v1.4.4_mc1.12.2.jar                   | None                                     |     | LC    | extrautils2        | 1.0                     | extrautils2-1.12-1.9.9.jar                            | None                                     |     | LC    | futuremc           | 0.2.6                   | Future-MC-0.2.19.jar                                  | None                                     |     | LC    | geckolib3          | 3.0.30                  | geckolib-forge-1.12.2-3.0.31.jar                      | None                                     |     | LC    | gottschcore        | 1.15.1                  | GottschCore-mc1.12.2-f14.23.5.2859-v1.15.1.jar        | None                                     |     | LC    | hardcorerevival    | 1.2.0                   | HardcoreRevival_1.12.2-1.2.0.jar                      | None                                     |     | LC    | waila              | 1.8.26                  | Hwyla-1.8.26-B41_1.12.2.jar                           | None                                     |     | LE    | imsm               | 1.12                    | Instant Massive Structures Mod 1.12.2.jar             | None                                     |     | L     | journeymap         | 1.12.2-5.7.1p2          | journeymap-1.12.2-5.7.1p2.jar                         | None                                     |     | L     | mobsunscreen       | @version@               | mobsunscreen-1.12.2-3.1.5.jar                         | None                                     |     | L     | morpheus           | 1.12.2-3.5.106          | Morpheus-1.12.2-3.5.106.jar                           | None                                     |     | L     | llibrary           | 1.7.20                  | llibrary-1.7.20-1.12.2.jar                            | None                                     |     | L     | mowziesmobs        | 1.5.8                   | mowziesmobs-1.5.8.jar                                 | None                                     |     | L     | nocubessrparmory   | 3.0.0                   | NoCubes_SRP_Combat_Addon_3.0.0.jar                    | None                                     |     | L     | nocubessrpnests    | 3.0.0                   | NoCubes_SRP_Nests_Addon_3.0.0.jar                     | None                                     |     | L     | nocubessrpsurvival | 3.0.0                   | NoCubes_SRP_Survival_Addon_3.0.0.jar                  | None                                     |     | L     | nocubesrptweaks    | V4.1                    | nocubesrptweaks-V4.1.jar                              | None                                     |     | L     | patchouli          | 1.0-23.6                | Patchouli-1.0-23.6.jar                                | None                                     |     | L     | artifacts          | 1.1.2                   | RLArtifacts-1.1.2.jar                                 | None                                     |     | L     | rsgauges           | 1.2.8                   | rsgauges-1.12.2-1.2.8.jar                             | None                                     |     | L     | rustic             | 1.1.7                   | rustic-1.1.7.jar                                      | None                                     |     | L     | silentlib          | 3.0.13                  | SilentLib-1.12.2-3.0.14+168.jar                       | None                                     |     | L     | scalinghealth      | 1.3.37                  | ScalingHealth-1.12.2-1.3.42+147.jar                   | None                                     |     | L     | lteleporters       | 1.12.2-3.0.2            | simpleteleporters-1.12.2-3.0.2.jar                    | None                                     |     | L     | spartanshields     | 1.5.5                   | SpartanShields-1.12.2-1.5.5.jar                       | None                                     |     | L     | spartanweaponry    | 1.5.3                   | SpartanWeaponry-1.12.2-1.5.3.jar                      | None                                     |     | L     | srparasites        | 1.9.18                  | SRParasites-1.12.2v1.9.18.jar                         | None                                     |     | L     | treasure2          | 2.2.0                   | Treasure2-mc1.12.2-f14.23.5.2859-v2.2.1.jar           | None                                     |     | L     | treeharvester      | 4.0                     | treeharvester_1.12.2-4.0.jar                          | None                                     |     | L     | twilightforest     | 3.11.1021               | twilightforest-1.12.2-3.11.1021-universal.jar         | None                                     |     | L     | variedcommodities  | 1.12.2                  | VariedCommodities_1.12.2-(31Mar23).jar                | None                                     |     | L     | voicechat          | 1.12.2-2.4.32           | voicechat-forge-1.12.2-2.4.32.jar                     | None                                     |     | L     | wolfarmor          | 3.8.0                   | WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar | None                                     |     | L     | worldborder        | 2.3                     | worldborder_1.12.2-2.3.jar                            | None                                     |     | L     | midnight           | 0.3.5                   | themidnight-0.3.5.jar                                 | None                                     |     | L     | structurize        | 1.12.2-0.10.277-RELEASE | structurize-1.12.2-0.10.277-RELEASE.jar               | None                                     |     Loaded coremods (and transformers):  llibrary (llibrary-core-1.0.11-1.12.2.jar)   net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer   net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher WolfArmorCore (WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar)    AstralCore (astralsorcery-1.12.2-1.10.27.jar)    CreativePatchingLoader (CreativeCore_v1.10.71_mc1.12.2.jar)    SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.8.jar)    ForgelinPlugin (Forgelin-1.8.4.jar)    midnight (themidnight-0.3.5.jar)   com.mushroom.midnight.core.transformer.MidnightClassTransformer FutureMC (Future-MC-0.2.19.jar)   thedarkcolour.futuremc.asm.CoreTransformer SpartanWeaponry-MixinLoader (SpartanWeaponry-1.12.2-1.5.3.jar)    Backpacked (backpacked-1.4.3-1.12.2.jar)   com.mrcrayfish.backpacked.asm.BackpackedTransformer LoadingPlugin (Reskillable-1.12.2-1.13.0.jar)   codersafterdark.reskillable.base.asm.ClassTransformer LoadingPlugin (Bloodmoon-MC1.12.2-1.5.3.jar)   lumien.bloodmoon.asm.ClassTransformer     Profiler Position: N/A (disabled)     Is Modded: Definitely; Server brand changed to 'fml,forge'     Type: Dedicated Server (map_server.txt)
    • When i add mods like falling leaves, visuality and kappas shaders, even if i restart Minecraft they dont show up in the mods menu and they dont work
  • Topics

×
×
  • Create New...

Important Information

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