Jump to content

[Solved] [1.14.4] Stairs with extra blockstates


BlockyPenguin

Recommended Posts

So I have a block with two boolean blockstates. I'd like to add a stair variant to it, but it seems to throw some errors in the registry.

My block's code:
 

Spoiler

 


public class CautionBlock extends Block {
	
	public static final BooleanProperty SHADING = BooleanProperty.create("shading");
	public static final BooleanProperty BORDER = BooleanProperty.create("border");
	
	public CautionBlock() {
		super(Block.Properties.create(Material.BAMBOO)
			.sound(SoundType.SCAFFOLDING)
			.hardnessAndResistance(0.0F, 0.1F)
			.harvestLevel(0)
		);
		
		this.setDefaultState(this.getStateContainer().getBaseState().with(SHADING, Boolean.valueOf(false)).with(BORDER, Boolean.valueOf(false)));
		this.setRegistryName("caution_block");
	}
	
	protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
		builder.add(SHADING);
		builder.add(BORDER);
	}
    
}

 

 

 

 

My stair block's code:
 

Spoiler

public class CautionBlockStairs extends StairsBlock {
	
	public CautionBlockStairs() {
		super(null, Block.Properties.from(new CautionBlock()));
		
		this.setDefaultState(new CautionBlock().getDefaultState());
		this.setRegistryName("caution_block_stairs");
	}

	protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
		builder.add(CautionBlock.BORDER);
		builder.add(CautionBlock.SHADING);
	}
}

 

The error:

 

Spoiler

[22:04:50] [Client thread/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: Cannot set property DirectionProperty{name=facing, clazz=class net.minecraft.util.Direction, values=[north, south, west, east]} as it does not exist in Block{null}
	Index: 5
	Listeners:
		0: NORMAL
		1: ASM: class com.blockypenguin.labkit.util.ModRegistry onContainerRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
		2: ASM: class com.blockypenguin.labkit.util.ModRegistry onEffectsRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
		3: ASM: class com.blockypenguin.labkit.util.ModRegistry onPotionsRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
		4: ASM: class com.blockypenguin.labkit.util.ModRegistry onTileEntityRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
		5: ASM: class com.blockypenguin.labkit.util.ModRegistry onBlockRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
		6: ASM: class com.blockypenguin.labkit.util.ModRegistry onItemRegistry(Lnet/minecraftforge/event/RegistryEvent$Register;)V
java.lang.IllegalArgumentException: Cannot set property DirectionProperty{name=facing, clazz=class net.minecraft.util.Direction, values=[north, south, west, east]} as it does not exist in Block{null}
	at net.minecraft.state.StateHolder.with(StateHolder.java:105)
	at net.minecraft.block.StairsBlock.<init>(StairsBlock.java:91)
	at com.blockypenguin.labkit.blocks.stairs.CautionBlockStairs.<init>(CautionBlockStairs.java:13)
	at com.blockypenguin.labkit.util.ModRegistry.onBlockRegistry(ModRegistry.java:87)
	at net.minecraftforge.eventbus.ASMEventHandler_6_ModRegistry_onBlockRegistry_Register.invoke(.dynamic)
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80)
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258)
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:106)
	at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
	at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
	at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:112)
	at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$5(ModList.java:124)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:124)
	at net.minecraftforge.fml.ModList.lambda$static$1(ModList.java:95)
	at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:71)
	at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:194)
	at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$24(ModLoader.java:186)
	at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:969)
	at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:186)
	at net.minecraftforge.fml.client.ClientModLoader.lambda$begin$2(ClientModLoader.java:79)
	at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:95)
	at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:79)
	at net.minecraft.client.Minecraft.init(Minecraft.java:456)
	at net.minecraft.client.Minecraft.run(Minecraft.java:365)
	at net.minecraft.client.main.Main.main(Main.java:128)
	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 net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68)
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80)
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101)

CautionBlock.java:13 corresponds to this line:


super(null, Block.Properties.from(new CautionBlock()));

 

What's going wrong?

All help appreciated!

Edited by BlockyPenguin

Today (22/10/20) I reached 100 posts!

I'm probably more excited than I should be for something so realistically minor...

Link to comment
Share on other sites

14 minutes ago, BlockyPenguin said:

What's going wrong?

 

14 minutes ago, BlockyPenguin said:

protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {

    builder.add(SHADING);

    builder.add(BORDER);

}

You expected your block to have a FACING direction despite not telling the game it had a FACING direction. Extending StairBlock isn't sufficient, because you didn't call super.

  • Thanks 1

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

 

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

 

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

Link to comment
Share on other sites

1 hour ago, Draco18s said:

You expected your block to have a FACING direction despite not telling the game it had a FACING direction. Extending StairBlock isn't sufficient, because you didn't call super.

Ok, I've now added that in:

protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
	builder.add(CautionBlock.BORDER);
	builder.add(CautionBlock.SHADING);
	super.fillStateContainer(builder);
}

But I'm still getting the same error. It's pointing to line 13: super(null, Block.Properties.from(new CautionBlock())); in the constructor.

I realise that adding super in the fillStateContainer probably prevents another error from occurring further down the line, so thanks for that!

Today (22/10/20) I reached 100 posts!

I'm probably more excited than I should be for something so realistically minor...

Link to comment
Share on other sites

So I've now changed it to this, and the game loads, but if I place down a stair block, it crashes...
 

public class CautionBlockStairs extends StairsBlock {
	public CautionBlockStairs() {
		super(new CautionBlock().getDefaultState(), Block.Properties.from(new CautionBlock()));
		
		this.setDefaultState(new CautionBlock().getDefaultState());
		this.setRegistryName("caution_block_stairs");
	}

	protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
		builder.add(CautionBlock.BORDER);
		builder.add(CautionBlock.SHADING);
		super.fillStateContainer(builder);
	}
}

Here's the crash report:

 

 

Spoiler

 ---- Minecraft Crash Report ----
// There are four lights!

Time: 02/06/20 00:21
Description: Unexpected error

java.lang.IllegalArgumentException: Cannot set property DirectionProperty{name=facing, clazz=class net.minecraft.util.Direction, values=[north, south, west, east]} as it does not exist in Block{labkit:caution_block}
	at net.minecraft.state.StateHolder.with(StateHolder.java:105) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.block.StairsBlock.getStateForPlacement(StairsBlock.java:190) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.getStateForPlacement(BlockItem.java:99) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:54) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.lambda$onItemUse$0(ItemStack.java:169) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:184) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:169) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:307) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1283) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1541) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1374) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:901) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:384) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:128) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_241] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_241] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_241] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-3.2.0.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101) [forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}


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

-- Head --
Thread: Client thread
Stacktrace:
	at net.minecraft.state.StateHolder.with(StateHolder.java:105)
	at net.minecraft.block.StairsBlock.getStateForPlacement(StairsBlock.java:190)
	at net.minecraft.item.BlockItem.getStateForPlacement(BlockItem.java:99)
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:54)
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42)
	at net.minecraft.item.ItemStack.lambda$onItemUse$0(ItemStack.java:169)
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:184)
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:169)
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:307)
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1283)
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1541)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Dev'/170, l='MpServer', x=275.45, y=70.00, z=-205.12]]
	Chunk stats: Client Chunk Cache: 529, 342
	Level dimension: DimensionType{minecraft:overworld}
	Level name: MpServer
	Level seed: 0
	Level generator: ID 00 - default, ver 1. Features enabled: false
	Level generator options: {}
	Level spawn location: World: (240,71,-190), Chunk: (at 0,4,2 in 15,-12; contains blocks 240,0,-192 to 255,255,-177), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Level time: 84832 game time, 84832 day time
	Level storage version: 0x00000 - Unknown?
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:425)
	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:1821)
	at net.minecraft.client.Minecraft.run(Minecraft.java:405)
	at net.minecraft.client.main.Main.main(Main.java:128)
	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 net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68)
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80)
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101)

-- System Details --
Details:
	Minecraft Version: 1.14.4
	Minecraft Version ID: 1.14.4
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_241, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 818464336 bytes (780 MB) / 1901592576 bytes (1813 MB) up to 3776970752 bytes (3602 MB)
	CPUs: 4
	JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
	ModLauncher: 3.2.0+60+b86c1d4
	ModLauncher launch target: fmluserdevclient
	ModLauncher naming: mcp
	ModLauncher services: 
		/eventbus-1.0.0-service.jar eventbus PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-1.0.0-shadowed.jar accesstransformer PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar runtimedistcleaner PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar fml TRANSFORMATIONSERVICE 
	FML: 28.1
	Forge: net.minecraftforge:28.1.0
	FML Language Providers: 
		javafml@28.1
		minecraft@1
	Mod List: 
		forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar Forge {forge@28.1.0 DONE}
		main Dr. LightSighter's LabKit {labkit@0.3.0 DONE}
		client-extra.jar Minecraft {minecraft@1.14.4 DONE}
	Launched Version: MOD_DEV
	LWJGL: 3.2.2 build 10
	OpenGL: Intel(R) HD Graphics 520 GL version 4.6.0 - Build 26.20.100.6888, Intel
	GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: English (United Kingdom)
	CPU: 4x Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
[00:21:56] [Client thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:106]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Aaron\eclipse-workspace-forge\Shakeup\run\.\crash-reports\crash-2020-06-02_00.21.56-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed

 

What I understand from this is that because I'm passing in the CautionBlock's default state, I need to add the direction/shape properties to it. How would I do that?

Today (22/10/20) I reached 100 posts!

I'm probably more excited than I should be for something so realistically minor...

Link to comment
Share on other sites

17 minutes ago, BlockyPenguin said:

this.setDefaultState(new CautionBlock().getDefaultState());

Change it to:

this.setDefaultState(this.getDefaultState().with(BORDER, false).with(SHADING, false));

(edit the default values as needed)

Edited by sciwhiz12
corrected
  • Thanks 1
Link to comment
Share on other sites

20 minutes ago, BlockyPenguin said:

So I've now changed it to this, and the game loads, but if I place down a stair block, it crashes...
 


public class CautionBlockStairs extends StairsBlock {
	public CautionBlockStairs() {
		super(new CautionBlock().getDefaultState(), Block.Properties.from(new CautionBlock()));
		
		this.setDefaultState(new CautionBlock().getDefaultState());
		this.setRegistryName("caution_block_stairs");
	}

	protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
		builder.add(CautionBlock.BORDER);
		builder.add(CautionBlock.SHADING);
		super.fillStateContainer(builder);
	}
}

Here's the crash report:

 

 

  Reveal hidden contents


 ---- Minecraft Crash Report ----
// There are four lights!

Time: 02/06/20 00:21
Description: Unexpected error

java.lang.IllegalArgumentException: Cannot set property DirectionProperty{name=facing, clazz=class net.minecraft.util.Direction, values=[north, south, west, east]} as it does not exist in Block{labkit:caution_block}
	at net.minecraft.state.StateHolder.with(StateHolder.java:105) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.block.StairsBlock.getStateForPlacement(StairsBlock.java:190) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.getStateForPlacement(BlockItem.java:99) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:54) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.lambda$onItemUse$0(ItemStack.java:169) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:184) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:169) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:307) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1283) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1541) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1374) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:901) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:384) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:128) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_241] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_241] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_241] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80) [modlauncher-3.2.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-3.2.0.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101) [forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar:?] {}


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

-- Head --
Thread: Client thread
Stacktrace:
	at net.minecraft.state.StateHolder.with(StateHolder.java:105)
	at net.minecraft.block.StairsBlock.getStateForPlacement(StairsBlock.java:190)
	at net.minecraft.item.BlockItem.getStateForPlacement(BlockItem.java:99)
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:54)
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42)
	at net.minecraft.item.ItemStack.lambda$onItemUse$0(ItemStack.java:169)
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:184)
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:169)
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:307)
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1283)
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1541)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Dev'/170, l='MpServer', x=275.45, y=70.00, z=-205.12]]
	Chunk stats: Client Chunk Cache: 529, 342
	Level dimension: DimensionType{minecraft:overworld}
	Level name: MpServer
	Level seed: 0
	Level generator: ID 00 - default, ver 1. Features enabled: false
	Level generator options: {}
	Level spawn location: World: (240,71,-190), Chunk: (at 0,4,2 in 15,-12; contains blocks 240,0,-192 to 255,255,-177), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Level time: 84832 game time, 84832 day time
	Level storage version: 0x00000 - Unknown?
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:425)
	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:1821)
	at net.minecraft.client.Minecraft.run(Minecraft.java:405)
	at net.minecraft.client.main.Main.main(Main.java:128)
	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 net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68)
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80)
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101)

-- System Details --
Details:
	Minecraft Version: 1.14.4
	Minecraft Version ID: 1.14.4
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_241, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 818464336 bytes (780 MB) / 1901592576 bytes (1813 MB) up to 3776970752 bytes (3602 MB)
	CPUs: 4
	JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
	ModLauncher: 3.2.0+60+b86c1d4
	ModLauncher launch target: fmluserdevclient
	ModLauncher naming: mcp
	ModLauncher services: 
		/eventbus-1.0.0-service.jar eventbus PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-1.0.0-shadowed.jar accesstransformer PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar runtimedistcleaner PLUGINSERVICE 
		/forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-launcher.jar fml TRANSFORMATIONSERVICE 
	FML: 28.1
	Forge: net.minecraftforge:28.1.0
	FML Language Providers: 
		javafml@28.1
		minecraft@1
	Mod List: 
		forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar Forge {forge@28.1.0 DONE}
		main Dr. LightSighter's LabKit {labkit@0.3.0 DONE}
		client-extra.jar Minecraft {minecraft@1.14.4 DONE}
	Launched Version: MOD_DEV
	LWJGL: 3.2.2 build 10
	OpenGL: Intel(R) HD Graphics 520 GL version 4.6.0 - Build 26.20.100.6888, Intel
	GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: English (United Kingdom)
	CPU: 4x Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
[00:21:56] [Client thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:106]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Aaron\eclipse-workspace-forge\Shakeup\run\.\crash-reports\crash-2020-06-02_00.21.56-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed

 

What I understand from this is that because I'm passing in the CautionBlock's default state, I need to add the direction/shape properties to it. How would I do that?

Hi! I'm not entirely sure if this is helpful to you, but overwriting onBlockPlacedBy inside the class and calling a method that uses the getFacingFromVector method, you should be able to set a BlockState dependant on that.

Edited by MistaOmega
  • Like 1
Link to comment
Share on other sites

Spoiler

    @Override
    public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack stack)
    {
        if (placer != null)
        {
            worldIn.setBlockState(pos, state.with(BlockStateProperties.FACING, getFacingFromPlacer(pos, placer)), 2);
        }
    }

    /**
     * Defines where the block will end up based on where the placer placed it
     *
     * @param selectedBlock the block in question
     * @param placer        The entity that placed the block
     * @return Facing direction
     */
    public static Direction getFacingFromPlacer(BlockPos selectedBlock, LivingEntity placer)
    {
        return Direction.getFacingFromVector((float) (placer.lastTickPosX - selectedBlock.getX()),
                (float) (placer.lastTickPosY - selectedBlock.getY()),
                (float) (placer.lastTickPosZ - selectedBlock.getZ()));
    }

 

Here's some code that may help, I don't understand the full logistics of your issue, but if you're missing a direction value, this is one way to set the blockstate with one.

 

Apologies if it isn't of use ofc ❤️

  • Like 1
Link to comment
Share on other sites

7 minutes ago, sciwhiz12 said:

Change it to:


this.setDefaultState(this.stateContainer.getBaseState().with(BORDER, false).with(SHADING, false));

(edit the default values as needed)

Ah, that's perfect, thank you!

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

7 minutes ago, MistaOmega said:

Hi! I'm not entirely sure if this is helpful to you, but overwriting onBlockPlacedBy inside the glass and calling a method that uses the getFacingFromVector method, you should be able to set a BlockState dependant on that.

 

5 minutes ago, MistaOmega said:
  Hide contents


    @Override
    public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack stack)
    {
        if (placer != null)
        {
            worldIn.setBlockState(pos, state.with(BlockStateProperties.FACING, getFacingFromPlacer(pos, placer)), 2);
        }
    }

    /**
     * Defines where the block will end up based on where the placer placed it
     *
     * @param selectedBlock the block in question
     * @param placer        The entity that placed the block
     * @return Facing direction
     */
    public static Direction getFacingFromPlacer(BlockPos selectedBlock, LivingEntity placer)
    {
        return Direction.getFacingFromVector((float) (placer.lastTickPosX - selectedBlock.getX()),
                (float) (placer.lastTickPosY - selectedBlock.getY()),
                (float) (placer.lastTickPosZ - selectedBlock.getZ()));
    }

 

Here's some code that may help, I don't understand the full logistics of your issue, but if you're missing a direction value, this is one way to set the blockstate with one.

 

Apologies if it isn't of use ofc ❤️

Thanks for the advice, but directions are handled by StairsBlock, which my class extends. :)

Today (22/10/20) I reached 100 posts!

I'm probably more excited than I should be for something so realistically minor...

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



×
×
  • Create New...

Important Information

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