Jump to content

Recommended Posts

Posted

Hello, I'm having some troubles getting simple BlockStates to work in 1.15.2 (forge 31.1.1). Currently, I'm trying to get a simple rotatable block. Originally, I tried using the official Forge ReadTheDocs, but I've noticed that the Forge documentation is SEVERAL MAJOR VERSIONS out of date. The readthedocs says that the documentation is for 1.15.x, but most of the information in there is clearly out of date. All of the references it makes use the old naming scheme, and it often tells you to use methods that no longer exist.

 

I was following the instructions on the docs, but that tutorial says you have to implement getMetaFromState and getStateFromMeta, which are methods that don't exist in this version. I found Cabidoo's 1.15.2 example mod repository, so I've been trying to follow what they've done there with their ModFurnaceBlock.

 

For some reason when the game loads, I get errors saying that 'facing' is an unknown blockstate property, even though it's one of the built-in ones.

 

[22:48:40] [Server-Worker-2/WARN] [minecraft/ModelBakery]: Exception loading blockstate definition: 'smartshops:blockstates/trade_terminal.json' in resourcepack: 'Mod Resources' for variant: 'facing=south': Unknown blockstate property: 'facing'
[22:48:40] [Server-Worker-2/WARN] [minecraft/ModelBakery]: Exception loading blockstate definition: 'smartshops:blockstates/trade_terminal.json' in resourcepack: 'Mod Resources' for variant: 'facing=east': Unknown blockstate property: 'facing'
[22:48:40] [Server-Worker-2/WARN] [minecraft/ModelBakery]: Exception loading blockstate definition: 'smartshops:blockstates/trade_terminal.json' in resourcepack: 'Mod Resources' for variant: 'facing=north': Unknown blockstate property: 'facing'
[22:48:40] [Server-Worker-2/WARN] [minecraft/ModelBakery]: Exception loading blockstate definition: 'smartshops:blockstates/trade_terminal.json' in resourcepack: 'Mod Resources' for variant: 'facing=west': Unknown blockstate property: 'facing'
[22:48:40] [Server-Worker-2/WARN] [minecraft/ModelBakery]: Exception loading blockstate definition: 'smartshops:blockstates/trade_terminal.json' missing model for variant: 'smartshops:trade_terminal#'

 

I'm assuming the last message is only a problem because the BlockState variants failed to load properly. Also, the texture shows up as a full cube with the purple and black missing texture in game.

 

Here are the relevant files to my problem: TradeTerminalBlock, trade_terminal.json (blockstate file), trade_terminal.json (model file).

 

Also, is there an updated version of the documentation anywhere, or even just a set of update notes, telling what's changed since whenever the last time the docs were updated was?

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Posted (edited)

I think your jsons are wrong, both of them probably. Just look at the json files of a vanilla block that does what you want and copy that would be my suggestion.
As an example, here are the crafting table jsons:
That the blockstate I believe:

{
    "variants": {
        "": { "model": "block/crafting_table" }
    }
}

And this is the model:
 

{
    "parent": "block/cube",
    "textures": {
        "particle": "block/crafting_table_front",
        "down": "block/oak_planks",
        "up": "block/crafting_table_top",
        "north": "block/crafting_table_front",
        "east": "block/crafting_table_side",
        "south": "block/crafting_table_side",
        "west": "block/crafting_table_front"
    }
}

Try that I guess!

Edit: Just checked, you are using a "HorizontalBlock", so just check the jsons of any vanilla HorizontalBlock, the Crafting Table might be something else!

Edited by Slashking
Posted

I checked out the Loom, because it uses HorizontalBlock

 

Loom BlockState:

{
    "variants": {
        "facing=north": { "model": "block/loom" },
        "facing=south": { "model": "block/loom", "y": 180 },
        "facing=west":  { "model": "block/loom", "y": 270 },
        "facing=east":  { "model": "block/loom", "y": 90 }
    }
}

 

Loom Model:

{
    "parent": "block/orientable",
    "textures": {
        "top": "block/loom_top",
        "bottom": "block/loom_bottom",
        "front": "block/loom_front",
        "side": "block/loom_side"
    }
}

 

As you can see, my blockstate is almost exactly the same as what's used in Vanilla, but for some reason, minecraft still isn't recognizing the BlockState property.

 

Do I need to register my block to tell the game it uses that property somehow? I've implemented fillStateContainer, getStateForPlacement, and I set the default state in my constructor.

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Posted (edited)

Huh, that's rather strange, I felt like your jsons look weird, but I guess that's actually how they're supposed to look then. You do seem to apply one less texture though in your model class, I'm counting 3 lines in yours and 4 in the loom's model class, might that be it? Maybe it's erroring out because one of the directions it needs isn't defined

Edit:
Unless I am completely wrong, this might be the problem:
 

public static final RegistryObject<Block> TRADE_TERMINAL = BLOCKS.register("trade_terminal", () -> new Block(Block.Properties.create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).sound(SoundType.STONE)));

You initialize a regular Block here, instead of your custom one

Edited by Slashking
Posted

Oh wow I'm stupid. Yeah, originally I was just using the normal block class. Guess I forgot to change it after I made my custom block class. I've changed it to TradeTerminalBlock and that's solved my problems. However, I still have a couple of questions.

 

First off, it seems like the game is somehow saving my blockstate's properties when I quit the world, but I haven't written anything to translate the blockstate into nbt or metadata or anything. How is this information saved, since getStateFromMeta and getMetaFromState no longer exist? If I were to create my own custom BlockState property, would it also auto-magically be saved, or do I need to implement something to accomplish that? Also, do i need to manually send packets to the client when a blockstate changes, or is that handled by the game automatically?

 

One more thing: Who's in charge of maintaining the Forge ReadTheDocs? I'd be willing to help contribute to update them if needed, since they're so out of date, but I don't know a ton.

- Just because things are the way they are doesn't mean they can't be the way you want them to be. Unless they're aspen trees. You can tell they're aspens 'cause the way they are.

Posted
1 hour ago, AnZaNaMa said:

Who's in charge of maintaining the Forge ReadTheDocs? I'd be willing to help contribute to update them if needed, since they're so out of date, but I don't know a ton.

Also Forge.

https://github.com/MinecraftForge/Documentation

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.

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi, I've been having trouble trying to use forge as it shows a black screen when I open the game, but I can still interact with it and hear the music.  I've done all of the step by steps and most common fixes like updating drivers, keeping up to date with Java, deleting and reinstalling minecraft, restarting my computer MANY times, even smaller things like splash.properties (I didn't have that file so I added it and set it to false thinking it would do something, definitely not) and making sure to prioritize my rtx 3070 in the settings but with no luck. Minecraft works as intended when I uninstall forge and I also don't have any mods currently, it just gives me this issue when I install forge. I also increased the ram usage, made sure my hardware isn't full or anything, and even changed the resolution in hopes it would fix things. I checked my antivirus and firewall but that isn't the issue either. Trust me, I've done everything I can think of. For some reason the black screen does flicker a little into the main menu, but obviously unplayable. I couldn't even make my way to the settings with how little it flickered. I'm not sure if it flickered randomly or if it was because I was messing around moving and clicking a bunch, I didn't really test it that much.  
    • I've had a really weird issue recently,  I wanted to add the Depper and Darker mod on my dedicated server (MC 1.21 with Fabric 0.16.9, hosted on nitroserv.com) but whenever I do add the mod the sever stops doing anything after listing the mods, and I get no crash or error or anything, just a stuck server. Here's a normal log of the server booting up: https://pastebin.com/JipFF2Eh and here's the log of the server doing the weird thing: https://pastebin.com/W4JBh3eX I just don't understand it. I've tried removing other mods (somewhat randomly) but deeper and darker still breaks my server whenever I add it. NitroServ support staff is about as confused as I am and I've had no response from the Deeper and Darker support staff... Now I know this is the Forge support not the Fabric support but I'm just trying to know if anyone has any kind of idea to fix this (aside from not using the mod obviously) Also I still have a bunch of errors and warnings whenever the server does start properly, are there any of them I should be worried about?
    • Delete the config of RandomTweaker (config folder) If there is no change, remove this mod
    • Hello! So i have been trying to make a mod that adds plant fiber to minecraft 1.16.5 (i believe there are mods that add plant fiber but not for 1.16.5) but the problem is that i want to modify the loot table of grass to always drop plant fiber but also keep the vanilla drops. Most common answer i have seen is GlobalLootModifiers. But my tiny brain cant understand any tutorials. So any help is appreciated.
    • Minecraft forge 1.12.2 does not load. Here is both logs. I assume its because of a mod that i have, idk. (L521)
  • Topics

×
×
  • Create New...

Important Information

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