Posted June 1, 20205 yr 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 June 1, 20205 yr by BlockyPenguin Today (22/10/20) I reached 100 posts! I'm probably more excited than I should be for something so realistically minor...
June 1, 20205 yr 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. 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.
June 1, 20205 yr Author 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...
June 1, 20205 yr Author 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: [email protected] minecraft@1 Mod List: forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar Forge {[email protected] DONE} main Dr. LightSighter's LabKit {[email protected] DONE} client-extra.jar Minecraft {[email protected] 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...
June 1, 20205 yr 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 June 1, 20205 yr by sciwhiz12 corrected
June 1, 20205 yr 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: [email protected] minecraft@1 Mod List: forge-1.14.4-28.1.0_mapped_snapshot_20200119-1.14.3-recomp.jar Forge {[email protected] DONE} main Dr. LightSighter's LabKit {[email protected] DONE} client-extra.jar Minecraft {[email protected] 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 June 1, 20205 yr by MistaOmega
June 1, 20205 yr 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 ❤️
June 1, 20205 yr Author 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...
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.