Jump to content

[Solved]1.11.2. Add integer/float property to vanilla blocks


Recommended Posts

Posted (edited)

I want to add an integer and float property to some vanilla blocks...something that can be accessed later with a blockstate.getProperty or something. An example is a weight value.  Each block type would have a weight that I specify.  I could have a lookup table, but I wanted to see if possible to add it in the 'proper way' that would also then allow other mods to have access to the new property.

 

Further, I was hoping to avoid creating a new extended class for every block I wanted to add the new properties to, but instead add a new IProperty (?) to the default blockstate that I would create/init at mod loading. I do not see a register property function or a way to reset the default state with new property (hopefully, I'm missing one that is exposed). I'm still trying to figure out the properties design, so maybe way off base.

 

--Does this make sense? Am I going about it the correct way? I just want to see if I'm stumbling/fumbling in the correct direction.

Thanks,

Tony

Edited by aw_wolfe
Posted (edited)

Even if you could, however, it would probably cause chaos in the model system, as you could theoretically add a block property to a block after the model loads, which MC would not know what do with when it tries to render said block. So, I think you're restricted in terms of options:

- Make the IProperty accessible via an API and have other mods use and implement it themselves, which you would need to check for whenever you wanted to do something with the block. (This doesn't help in editing vanilla blocks)

- Abandon dynamic properties in place of something else

- Manually add substitutions for all the vanilla blocks you want to change, via the GameRegistry#addSubstitutionAlias

Edited by TheMasterGabriel
Posted

Ok. Thanks. I don't think I need to save the information, more of a physical property, i.e. every stone would always weigh the same. So I was thinking that every load would add the property onto the block type each time.

 

I'm ok with a look up table, but was wanting to design in a way that another mod could access the information if it wanted to.

 

How do mods access other mods ? Can an API be set up like

//
//PSUEDO CODE--just to express my question
//


//my_mod
external
float getBlockWeight(String blockName){
	//do my lookup table
	return doLookupTable(blockName);
}

//different_mod
float weight=my_mod.getBlockWeight("minecraft:stone");

 

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.