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

[1.11] Block always faces north


Awesome_Spider
 Share

Recommended Posts

I have a block that has a front texture that is different than the side textures. I want it to face towards me when I place it in the world like the vanilla furnace, but instead it always faces  north. I tried using the vanilla furnace code to help me, but it is still not working. Have I missed something that I should have changed?

 

My blockstate json:

{
  "forge_marker": 1,
  "defaults": {
    "textures": {
      "front": "roboticraft:blocks/steam_engine_front",
      "top": "roboticraft:blocks/steam_engine_steam",
      "side": "roboticraft:blocks/steam_engine_side",
      "particle": "roboticraft:blocks/steam_engine_side"
    }
  },
  "variants": {
    "normal": {
      "model": "orientable"
    },
    "inventory": {
      "model": "orientable"
    },
    "facing=north": {
      "model": "orientable"
    },
    "facing=south": {
      "model": "orientable",
      "y": 180
    },
    "facing=west": {
      "model": "orientable",
      "y": 270
    },
    "facing=east": {
      "model": "orientable",
      "y": 90
    }
  }
}

 

My block code:

public class BlockSteamEngine extends BlockTileEntity<TileEntitySteamEngine> {

    public static final PropertyDirection FACING = BlockHorizontal.FACING;

    public BlockSteamEngine() {
        super(Material.ROCK, "steam_engine");
    }

    @Override
    public Class<TileEntitySteamEngine> getTileEntityClass() {
        return TileEntitySteamEngine.class;
    }

    @Nullable
    @Override
    public TileEntitySteamEngine createTileEntity(World world, IBlockState state) {
        return new TileEntitySteamEngine();
    }

    @Override
    public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
        if (!world.isRemote) {
            IBlockState iblockstate = world.getBlockState(pos.north());
            IBlockState iblockstate1 = world.getBlockState(pos.south());
            IBlockState iblockstate2 = world.getBlockState(pos.west());
            IBlockState iblockstate3 = world.getBlockState(pos.east());
            EnumFacing enumfacing = (EnumFacing)state.getValue(FACING);

            if (enumfacing == EnumFacing.NORTH && iblockstate.isFullBlock() && !iblockstate1.isFullBlock())
            {
                enumfacing = EnumFacing.SOUTH;
            }
            else if (enumfacing == EnumFacing.SOUTH && iblockstate1.isFullBlock() && !iblockstate.isFullBlock())
            {
                enumfacing = EnumFacing.NORTH;
            }
            else if (enumfacing == EnumFacing.WEST && iblockstate2.isFullBlock() && !iblockstate3.isFullBlock())
            {
                enumfacing = EnumFacing.EAST;
            }
            else if (enumfacing == EnumFacing.EAST && iblockstate3.isFullBlock() && !iblockstate2.isFullBlock())
            {
                enumfacing = EnumFacing.WEST;
            }

            world.setBlockState(pos, state.withProperty(FACING, enumfacing), 2);
        }
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
        if (!world.isRemote) {
            player.openGui(RobotiCraft.instance, ModGuiHandler.TILE_ENTITY_STEAM_ENGINE_GUI, world, pos.getX(), pos.getY(), pos.getZ());
        }

        return true;
    }

    @Override
    public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
        TileEntitySteamEngine te = (TileEntitySteamEngine) world.getTileEntity(pos);

            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
    }
}

 

PS: I think the new forum software was worth the wait. It looks nice.

Link to comment
Share on other sites

It still faces north.

 

Here is the updated code:

public class BlockSteamEngine extends BlockTileEntity<TileEntitySteamEngine> {

    public static final PropertyDirection FACING = BlockHorizontal.FACING;

    public BlockSteamEngine() {
        super(Material.ROCK, "steam_engine");
    }

    @Override
    public Class<TileEntitySteamEngine> getTileEntityClass() {
        return TileEntitySteamEngine.class;
    }

    @Nullable
    @Override
    public TileEntitySteamEngine createTileEntity(World world, IBlockState state) {
        return new TileEntitySteamEngine();
    }

    @Override
    public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase entity, ItemStack stack) {
        EnumFacing entityFacing = entity.getHorizontalFacing();

        if(!world.isRemote) {
            if(entityFacing == EnumFacing.NORTH) {
                entityFacing = EnumFacing.SOUTH;
            } else if(entityFacing == EnumFacing.EAST) {
                entityFacing = EnumFacing.WEST;
            } else if(entityFacing == EnumFacing.SOUTH) {
                entityFacing = EnumFacing.NORTH;
            } else if(entityFacing == EnumFacing.WEST) {
                entityFacing = EnumFacing.EAST;
            }

            world.setBlockState(pos, state.withProperty(FACING, entityFacing), 2);
        }
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
        if (!world.isRemote) {
            player.openGui(RobotiCraft.instance, ModGuiHandler.TILE_ENTITY_STEAM_ENGINE_GUI, world, pos.getX(), pos.getY(), pos.getZ());
        }

        return true;
    }

    @Override
    public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
        TileEntitySteamEngine te = (TileEntitySteamEngine) world.getTileEntity(pos);

            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
    }
}

 

Link to comment
Share on other sites

Now it's crashing. It's a nullpointer, I must not be initializing something I should be.

 

 

My Block code:


public class BlockSteamEngine extends BlockTileEntity<TileEntitySteamEngine> {

    public static final PropertyDirection FACING = BlockHorizontal.FACING;

    public BlockSteamEngine() {
        super(Material.ROCK, "steam_engine");

        this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
    }

    @Override
    public Class<TileEntitySteamEngine> getTileEntityClass() {
        return TileEntitySteamEngine.class;
    }

    @Nullable
    @Override
    public TileEntitySteamEngine createTileEntity(World world, IBlockState state) {
        return new TileEntitySteamEngine();
    }

    @Override
    public BlockStateContainer createBlockState() {
        return new BlockStateContainer(ModBlocks.steamEngine, FACING);
    }

    @Override
    public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase entity, ItemStack stack) {
        EnumFacing entityFacing = entity.getHorizontalFacing();

        if(!world.isRemote) {
            if(entityFacing == EnumFacing.NORTH) {
                entityFacing = EnumFacing.SOUTH;
            } else if(entityFacing == EnumFacing.EAST) {
                entityFacing = EnumFacing.WEST;
            } else if(entityFacing == EnumFacing.SOUTH) {
                entityFacing = EnumFacing.NORTH;
            } else if(entityFacing == EnumFacing.WEST) {
                entityFacing = EnumFacing.EAST;
            }

            world.setBlockState(pos, state.withProperty(FACING, entityFacing), 2);
        }
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
        if (!world.isRemote) {
            player.openGui(RobotiCraft.instance, ModGuiHandler.TILE_ENTITY_STEAM_ENGINE_GUI, world, pos.getX(), pos.getY(), pos.getZ());
        }

        return true;
    }

    @Override
    public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
        TileEntitySteamEngine te = (TileEntitySteamEngine) world.getTileEntity(pos);

            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
    }
}

 

My crash report:


---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 2/2/17 3:28 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from RobotiCraft (roboticraft)
Caused by: java.lang.NullPointerException
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.isOpaqueCube(BlockStateContainer.java:446)
	at net.minecraft.block.Block.<init>(Block.java:289)
	at net.minecraft.block.Block.<init>(Block.java:296)
	at wiseowl5.roboticraft.Blocks.BlockBase.<init>(BlockBase.java:23)
	at wiseowl5.roboticraft.Blocks.BlockTileEntity.<init>(BlockTileEntity.java:21)
	at wiseowl5.roboticraft.Blocks.BlockSteamEngine.<init>(BlockSteamEngine.java:42)
	at wiseowl5.roboticraft.Blocks.ModBlocks.initBlocks(ModBlocks.java:28)
	at wiseowl5.roboticraft.Main.RobotiCraft.preInit(RobotiCraft.java:53)
	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:497)
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:621)
	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:497)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
	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:497)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145)
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:615)
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:264)
	at net.minecraft.client.Minecraft.init(Minecraft.java:476)
	at net.minecraft.client.Minecraft.run(Minecraft.java:385)
	at net.minecraft.client.main.Main.main(Main.java:118)
	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:497)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	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:497)
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
	at GradleStart.main(GradleStart.java:26)
	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:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)


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

-- System Details --
Details:
	Minecraft Version: 1.11
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_60, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 488150160 bytes (465 MB) / 697827328 bytes (665 MB) up to 1415053312 bytes (1349 MB)
	JVM Flags: 0 total; 
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: MCP 9.35 Powered by Forge 13.19.1.2189 4 mods loaded, 4 mods active
	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
	UCH	mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
	UCH	FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.11-13.19.1.2189.jar) 
	UCH	forge{13.19.1.2189} [Minecraft Forge] (forgeSrc-1.11-13.19.1.2189.jar) 
	UCE	roboticraft{1.11R1.0.0} [RobotiCraft] (1.11) 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1151.1008' Renderer: 'AMD Radeon HD 5450'

 

Edited by Awesome_Spider
Link to comment
Share on other sites

3 minutes ago, Awesome_Spider said:

Now it's crashing.

 

Whenever you are crashing, post the crash.

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

 

1.12 -> 1.13 primer by williewillus.

 

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

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

10 minutes ago, Awesome_Spider said:

I did. It's in the spoiler.

My bad, missed that.

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

 

1.12 -> 1.13 primer by williewillus.

 

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

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

1 minute ago, Awesome_Spider said:

Off topic, but why is everyone a stone miner all of a sudden? lol

They're probably in the middle of migrating the status', with this being the default.

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

 

1.12 -> 1.13 primer by williewillus.

 

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

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

Ok, now I have a different exception. This time it's in my ModBlocks class.

Crashreport:

---- Minecraft Crash Report ----
// Sorry :(

Time: 2/2/17 4:21 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from RobotiCraft (roboticraft)
Caused by: java.lang.IllegalArgumentException: Don't know how to convert roboticraft:steam_engine[facing=north] back into data...
	at net.minecraft.block.Block.getMetaFromState(Block.java:245)
	at net.minecraftforge.fml.common.registry.GameData$BlockCallbacks.onAdd(GameData.java:272)
	at net.minecraftforge.fml.common.registry.GameData$BlockCallbacks.onAdd(GameData.java:255)
	at net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry.addObjectRaw(FMLControlledNamespacedRegistry.java:601)
	at net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry.add(FMLControlledNamespacedRegistry.java:499)
	at net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry.register(FMLControlledNamespacedRegistry.java:852)
	at net.minecraftforge.fml.common.registry.GameData.register_impl(GameData.java:225)
	at net.minecraftforge.fml.common.registry.GameRegistry.register(GameRegistry.java:155)
	at wiseowl5.roboticraft.Blocks.ModBlocks.register(ModBlocks.java:34)
	at wiseowl5.roboticraft.Blocks.ModBlocks.register(ModBlocks.java:51)
	at wiseowl5.roboticraft.Blocks.ModBlocks.initBlocks(ModBlocks.java:28)
	at wiseowl5.roboticraft.Main.RobotiCraft.preInit(RobotiCraft.java:53)
	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:497)
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:621)
	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:497)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
	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:497)
	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
	at com.google.common.eventbus.EventBus.post(EventBus.java:275)
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145)
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:615)
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:264)
	at net.minecraft.client.Minecraft.init(Minecraft.java:476)
	at net.minecraft.client.Minecraft.run(Minecraft.java:385)
	at net.minecraft.client.main.Main.main(Main.java:118)
	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:497)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	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:497)
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
	at GradleStart.main(GradleStart.java:26)
	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:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)


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

-- System Details --
Details:
	Minecraft Version: 1.11
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_60, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 172192432 bytes (164 MB) / 666370048 bytes (635 MB) up to 1415053312 bytes (1349 MB)
	JVM Flags: 0 total; 
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: MCP 9.35 Powered by Forge 13.19.1.2189 4 mods loaded, 4 mods active
	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
	UCH	mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
	UCH	FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.11-13.19.1.2189.jar) 
	UCH	forge{13.19.1.2189} [Minecraft Forge] (forgeSrc-1.11-13.19.1.2189.jar) 
	UCE	roboticraft{1.11R1.0.0} [RobotiCraft] (1.11) 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.201.1151.1008' Renderer: 'AMD Radeon HD 5450'

 

Block code:

public class BlockSteamEngine extends BlockTileEntity<TileEntitySteamEngine> {

    public static final PropertyDirection FACING = BlockHorizontal.FACING;

    public BlockSteamEngine() {
        super(Material.ROCK, "steam_engine");

        this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
    }

    @Override
    public Class<TileEntitySteamEngine> getTileEntityClass() {
        return TileEntitySteamEngine.class;
    }

    @Nullable
    @Override
    public TileEntitySteamEngine createTileEntity(World world, IBlockState state) {
        return new TileEntitySteamEngine();
    }

    @Override
    public BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, FACING);
    }

    @Override
    public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase entity, ItemStack stack) {
        EnumFacing entityFacing = entity.getHorizontalFacing();

        if(!world.isRemote) {
            if(entityFacing == EnumFacing.NORTH) {
                entityFacing = EnumFacing.SOUTH;
            } else if(entityFacing == EnumFacing.EAST) {
                entityFacing = EnumFacing.WEST;
            } else if(entityFacing == EnumFacing.SOUTH) {
                entityFacing = EnumFacing.NORTH;
            } else if(entityFacing == EnumFacing.WEST) {
                entityFacing = EnumFacing.EAST;
            }

            world.setBlockState(pos, state.withProperty(FACING, entityFacing), 2);
        }
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
        if (!world.isRemote) {
            player.openGui(RobotiCraft.instance, ModGuiHandler.TILE_ENTITY_STEAM_ENGINE_GUI, world, pos.getX(), pos.getY(), pos.getZ());
        }

        return true;
    }

    @Override
    public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
        //Spawn steam particles out the top
        //If there is a block on top, makes steam come out the sides of the block
        TileEntitySteamEngine te = (TileEntitySteamEngine) world.getTileEntity(pos);

        /*if(te.isSteamFull())*/
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL/*EnumParticleTypes.getByName("roboticraft_steam")*/, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
    }
}

 

ModBlocks class:

public class ModBlocks {

    public static BlockOre oreNickel; //Pentlandite
    public static BlockOre oreChromium; //Chromite

    //public static BlockBase steamBoiler;
    public static BlockSteamEngine steamEngine;

    public static BlockFluid fluidSteam;

    public static void initBlocks() {
        oreNickel = register(new BlockOre("ore_nickel"));
        oreChromium = register(new BlockOre("ore_chrome"));

        steamEngine = register(new BlockSteamEngine());

        fluidSteam = register(new BlockFluid(FluidRegistry.getFluid("fluid_steam"), Material.WATER, "block_steam"));
    }

    private static <T extends Block> T register(T block, ItemBlock itemBlock) {
        GameRegistry.register(block); //Exception is on this line
        GameRegistry.register(itemBlock);

        if (block instanceof BlockBase) {
            ((BlockBase)block).registerItemModel(itemBlock);
        }

        if (block instanceof BlockTileEntity) {
            GameRegistry.registerTileEntity(((BlockTileEntity<?>)block).getTileEntityClass(), block.getRegistryName().toString());
        }

        return block;
    }

    private static <T extends Block> T register(T block) {
        ItemBlock itemBlock = new ItemBlock(block);
        itemBlock.setRegistryName(block.getRegistryName());
        return register(block, itemBlock);
    }
}

 

Blockstate json:

{
  "forge_marker": 1,
  "defaults": {
    "textures": {
      "front": "roboticraft:blocks/steam_engine_front",
      "top": "roboticraft:blocks/steam_engine_steam",
      "side": "roboticraft:blocks/steam_engine_side",
      "particle": "roboticraft:blocks/steam_engine_side"
    }
  },
  "variants": {
    "normal": {
      "model": "orientable"
    },
    "inventory": {
      "model": "orientable"
    },
    "facing=north": {
      "model": "orientable"
    },
    "facing=south": {
      "model": "orientable",
      "y": 180
    },
    "facing=west": {
      "model": "orientable",
      "y": 270
    },
    "facing=east": {
      "model": "orientable",
      "y": 90
    }
  }
}

Edited by Awesome_Spider
Link to comment
Share on other sites

Ok, now they are in the right direction like before, but when I log out and back in they face north again.

 

Here is my current code:

 

public class BlockSteamEngine extends BlockTileEntity<TileEntitySteamEngine> {

    public static final PropertyDirection FACING = BlockHorizontal.FACING;

    public BlockSteamEngine() {
        super(Material.ROCK, "steam_engine");

        this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
    }

    @Override
    public Class<TileEntitySteamEngine> getTileEntityClass() {
        return TileEntitySteamEngine.class;
    }

    @Nullable
    @Override
    public TileEntitySteamEngine createTileEntity(World world, IBlockState state) {
        return new TileEntitySteamEngine();
    }

    @Override
    public BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, FACING);
    }

    @Override
    public int getMetaFromState(IBlockState state) {
        return 0;
    }

    @Override
    public IBlockState getStateFromMeta(int meta) {
        return getDefaultState();
    }

    @Override
    public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase entity, ItemStack stack) {
        EnumFacing entityFacing = entity.getHorizontalFacing();

        if(!world.isRemote) {
            if(entityFacing == EnumFacing.NORTH) {
                entityFacing = EnumFacing.SOUTH;
            } else if(entityFacing == EnumFacing.EAST) {
                entityFacing = EnumFacing.WEST;
            } else if(entityFacing == EnumFacing.SOUTH) {
                entityFacing = EnumFacing.NORTH;
            } else if(entityFacing == EnumFacing.WEST) {
                entityFacing = EnumFacing.EAST;
            }

            world.setBlockState(pos, state.withProperty(FACING, entityFacing), 2);
        }
    }

    @Override
    public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
        if (!world.isRemote) {
            player.openGui(RobotiCraft.instance, ModGuiHandler.TILE_ENTITY_STEAM_ENGINE_GUI, world, pos.getX(), pos.getY(), pos.getZ());
        }

        return true;
    }

    @Override
    public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) {
        TileEntitySteamEngine te = (TileEntitySteamEngine) world.getTileEntity(pos);

            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
            world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + 0.5D, pos.getY() + 1.0D, pos.getZ() + 0.5D, 0.0D, 0.1D, 0.0D, new int[0]);
    }
}

 

Edited by Awesome_Spider
Link to comment
Share on other sites

You actually need to determine which State from which metadata. Currently you only return the default state in getStateFromMeta. And you always return 0 in getMetaFromState. These are how it saves the blockstate to disk.

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

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
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.

 Share



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • post a screenshot where the full path of the folder visible is or a screenshot where we can make sure it is the correct folder  
    • What do you mean by that?
    • I want to play minecraft modded with CurseForge but every time i start my mincraft its crash with the report:  This crash may be caused by an invalid java runtime configuration. Check any custom configuration settings. Exite Code:1 and i dont now what it mean i already reinstalled minecraft and curseforge i dont have mods loaded or installed when i start the game. i just start forge 1.18.2 but its crash. This is the Game output: 17:01:53.866 launcher main Preparing to launch minecraft client for forge-40.1.0 17:01:53.867 launcher main Prepared asset index 17:01:54.226 launcher main Have 3120 total files to check or download 17:01:54.235 launcher main Local file C:\Users\User\curseforge\minecraft\Install\versions\forge-40.1.0\forge-40.1.0.jar is incomplete 17:01:55.968 launcher main Minecraft client forge-40.1.0 requires 1521781 bytes to download. 17:01:55.968 launcher main Starting! 17:01:55.968 launcher main Downloading 1 files 17:01:56.177 launcher main Download from https://piston-data.mojang.com/v1/objects/2e9a3e3107cca00d6bc9c97bf7d149cae163ef21/client.jar had invalid checksum! Expected: 2e9a3e3107cca00d6bc9c97bf7d149cae163ef21 got: 04292004f7145d1d991b8808d2976f9dc8db5cba 17:01:56.741 launcher main Download from https://piston-data.mojang.com/v1/objects/2e9a3e3107cca00d6bc9c97bf7d149cae163ef21/client.jar passed checksum check. 17:01:56.741 launcher main Downloaded https://piston-data.mojang.com/v1/objects/2e9a3e3107cca00d6bc9c97bf7d149cae163ef21/client.jar to C:\Users\User\curseforge\minecraft\Install\versions\forge-40.1.0\forge-40.1.0.jar 17:01:56.741 launcher main Downloads successful 17:01:56.741 launcher main TIMER: Downloads took 0 seconds. 17:01:56.741 launcher main Downloading Java Runtime java-runtime-beta:17.0.1.12.1 17:01:57.506 launcher main Extracting 8 files! 17:01:58.159 launcher main Using default game log configuration client-1.12.xml (outputs XML) 17:02:00.387 cpw.mods.modlauncher.Launcher main ModLauncher running: args [--username, Pixelcaft, --version, forge-40.1.0, --gameDir, C:\Users\User\curseforge\minecraft\Instances\test (3), --assetsDir, C:\Users\User\curseforge\minecraft\Install\assets, --assetIndex, 1.18, --uuid, d5bb472870874443847c9b99c9bf273f, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, NDdmNzk3ZjctMzZmMS00YWI0LTkyNzktNGYyMDQwYjUwYmRl, --xuid, 2535455300377521, --userType, msa, --versionType, release, --width, 1024, --height, 768, --launchTarget, forgeclient, --fml.forgeVersion, 40.1.0, --fml.mcVersion, 1.18.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220404.173914] 17:02:00.393 cpw.mods.modlauncher.Launcher main ModLauncher 9.1.3+9.1.3+main.9b69c82a starting: java version 17.0.1 by Microsoft 17:02:00.537 mixin main SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/User/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2314!/ Service=ModLauncher Env=CLIENT 17:02:00.603 net.minecraftforge.fml.loading.FMLConfig main Configuration file C:\Users\User\curseforge\minecraft\Instances\test (3)\config\fml.toml is not correct. Correcting 17:02:00.612 net.minecraftforge.fml.loading.FMLConfig main Incorrect key [defaultConfigPath] was corrected from null to defaultconfigs 17:02:01.245 launcher main Exception in thread "main" java.io.UncheckedIOException: java.io.IOException: Invalid paths argument, contained no existing paths: [C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraft\client\1.18.2-20220404.173914\client-1.18.2-20220404.173914-srg.jar, C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraft\client\1.18.2-20220404.173914\client-1.18.2-20220404.173914-extra.jar, C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraftforge\forge\1.18.2-40.1.0\forge-1.18.2-40.1.0-client.jar] at cpw.mods.securejarhandler@1.0.3/cpw.mods.jarhandling.impl.Jar.<init>(Jar.java:74) at cpw.mods.securejarhandler@1.0.3/cpw.mods.jarhandling.SecureJar.from(SecureJar.java:58) at MC-BOOTSTRAP/fmlloader@1.18.2-40.1.0/net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(ModJarMetadata.java:41) at MC-BOOTSTRAP/fmlloader@1.18.2-40.1.0/net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator.scanMods(MinecraftLocator.java:33) at MC-BOOTSTRAP/fmlloader@1.18.2-40.1.0/net.minecraftforge.fml.loading.moddiscovery.ModDiscoverer.discoverMods(ModDiscoverer.java:50) at MC-BOOTSTRAP/fmlloader@1.18.2-40.1.0/net.minecraftforge.fml.loading.FMLLoader.beginModScan(FMLLoader.java:166) at MC-BOOTSTRAP/fmlloader@1.18.2-40.1.0/net.minecraftforge.fml.loading.FMLServiceProvider.beginScanning(FMLServiceProvider.java:86) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.TransformationServiceDecorator.runScan(TransformationServiceDecorator.java:112) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.TransformationServicesHandler.lambda$runScanningTransformationServices$8(TransformationServicesHandler.java:100) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.TransformationServicesHandler.runScanningTransformationServices(TransformationServicesHandler.java:102) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.TransformationServicesHandler.initializeTransformationServices(TransformationServicesHandler.java:55) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.Launcher.run(Launcher.java:87) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.Launcher.main(Launcher.java:77) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) at cpw.mods.bootstraplauncher@1.0.0/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) Caused by: java.io.IOException: Invalid paths argument, contained no existing paths: [C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraft\client\1.18.2-20220404.173914\client-1.18.2-20220404.173914-srg.jar, C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraft\client\1.18.2-20220404.173914\client-1.18.2-20220404.173914-extra.jar, C:\Users\User\curseforge\minecraft\Install\libraries\net\minecraftforge\forge\1.18.2-40.1.0\forge-1.18.2-40.1.0-client.jar] ... 25 more 17:02:01.245 monitor Process Monitor Process crashed with exit code 1
    • why do you work with .schematic file? From what I know are .schematic files a community creation and not used by vanilla you can take a look how they are written
    • I did look at vanilla code, but I don't understand how it works. For example, what does the PoseStack do? How should I use the buffers? And how does it "attach" to the model?
  • Topics

×
×
  • Create New...

Important Information

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