Posted November 7, 20186 yr Hi, I know this has been asked 1000s of times, but I couldn't find the answer to what's wrong with my block. So the block in game displays the model and texture fine. But doesn't actually change which way it's facing. Using the Pumpkin as reference I created the block class: package madman.lonelytraveller.objects.objectclasses; import madman.lonelytraveller.Main; import net.minecraft.block.Block; import net.minecraft.block.BlockHorizontal; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.util.EnumFacing; import net.minecraft.util.Rotation; public class BlockBaseNotCubeRotate extends BlockBase { public BlockBaseNotCubeRotate(Material material, String name) { super(material,name); this.setDefaultState(this.blockState.getBaseState().withProperty(BlockHorizontal.FACING, EnumFacing.NORTH)); } @Override @Deprecated public boolean isOpaqueCube(IBlockState state) { return false; } @Override @Deprecated public boolean isFullCube(IBlockState state) { return false; } public IBlockState withRotation(IBlockState state, Rotation rot) { return state.withProperty(BlockHorizontal.FACING, rot.rotate((EnumFacing)state.getValue(BlockHorizontal.FACING))); } public IBlockState getStateFromMeta(int meta) { return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta)); } public int getMetaFromState(IBlockState state) { return ((EnumFacing)state.getValue(BlockHorizontal.FACING)).getHorizontalIndex(); } protected BlockStateContainer createBlockState() { return new BlockStateContainer(this, new IProperty[] {BlockHorizontal.FACING}); } } And them my blockstate file is: { "forge_marker": 1, "variants": { "facing=north": { "model": "dw_lonelytraveller:gallifrey_chair_council" }, "facing=east": { "model": "dw_lonelytraveller:gallifrey_chair_council", "y": 90 }, "facing=south": { "model": "dw_lonelytraveller:gallifrey_chair_council", "y": 180 }, "facing=west": { "model": "dw_lonelytraveller:gallifrey_chair_council", "y": 270 }, "inventory": { "model": "dw_lonelytraveller:gallifrey_chair_council" } } } The Console Output *I know there isn't an Item Blockstate yet. : Spoiler [00:52:26] [main/ERROR] [FML]: Exception loading model for variant dw_lonelytraveller:dwlt_gallifrey_chair_council#inventory for item "dw_lonelytraveller:gallifrey_chair_council", normal location exception: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model dw_lonelytraveller:item/dwlt_gallifrey_chair_council with loader VanillaLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:314) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:131) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:112) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:867) [Minecraft.class:?] at net.minecraft.client.Minecraft.processKeyF3(Minecraft.java:2234) [Minecraft.class:?] at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2089) [Minecraft.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1933) [Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1186) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:441) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: java.io.FileNotFoundException: dw_lonelytraveller:models/item/dwlt_gallifrey_chair_council.json at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:130) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:880) ~[ModelLoader$VanillaLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?] ... 25 more [00:52:26] [main/ERROR] [FML]: Exception loading model for variant dw_lonelytraveller:dwlt_gallifrey_chair_council#inventory for item "dw_lonelytraveller:gallifrey_chair_council", blockstate location exception: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model dw_lonelytraveller:dwlt_gallifrey_chair_council#inventory with loader VariantLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:322) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:164) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:131) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:112) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:867) [Minecraft.class:?] at net.minecraft.client.Minecraft.processKeyF3(Minecraft.java:2234) [Minecraft.class:?] at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2089) [Minecraft.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1933) [Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1186) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:441) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?] ... 25 more
November 7, 20186 yr 7 minutes ago, MajesticMadman said: And them my blockstate file is: You are mixing vanilla blockstate format with forge's. Use either one but not both. 7 minutes ago, MajesticMadman said: extends BlockBase BlockBase is an antipattern. There is already a BlockBase, it's called Block. 8 minutes ago, MajesticMadman said: But doesn't actually change which way it's facing. Well, why should it? You've specified the property fine, (de)serializing it fine, sure. But you are not doing anything with it. You are not setting it anywhere, nor handling it in Block#getStateForPlacement or anywhere else. Unless you are using vanilla's setBlock to set the property it will always be facing north. As for your log: 10 minutes ago, MajesticMadman said: Caused by: java.io.FileNotFoundException: dw_lonelytraveller:models/item/dwlt_gallifrey_chair_council.json
November 7, 20186 yr Author 9 minutes ago, V0idWa1k3r said: You are mixing vanilla blockstate format with forge's. Use either one but not both. This should now be fixed. 10 minutes ago, V0idWa1k3r said: BlockBase is an antipattern. There is already a BlockBase, it's called Block. I though it would be wise that I can edit BlockBase and it take those into account in future uses when I did it, though it may not ever be used the idea was more just in case. 12 minutes ago, V0idWa1k3r said: As for your log: I'm aware that the item blockstate doesn't exist, just wanted to make sure nothing was missed. But thanks for confirming that's all it is. 20 minutes ago, V0idWa1k3r said: Well, why should it? You've specified the property fine, (de)serializing it fine, sure. But you are not doing anything with it. You are not setting it anywhere, nor handling it in Block#getStateForPlacement or anywhere else. Unless you are using vanilla's setBlock to set the property it will always be facing north. Yeah, it's working now thanks. Just didn't check over what I had done well enough apparently. I've now fixed that up. Thanks for the help.
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.