Jump to content

ItemState added, TileEntities removed?


target.san

Recommended Posts

Hi,

 

i noticed (heh :) several major changes in Minecraft logic, which although look incomplete. I'm talking about BlockState, where block type and its meta were in fact packed into semi-opaque structure. So, what if bring this to logical conclusion?

1. TileEntity ceases to exist as separate concept. All logic is moved into Block class, and state is persisted inside IBlockState thing, which is NBT-serialized as it wants too. Though, it's still a question on how to separate meta-only and NBT-ful blocks states and where to store NBT-based ones.

2. ItemStack will hold some kind of IItemState object, which represents its state and also NBT-packed as it wishes.

 

i know such changes are dictated by Minecraft.

But, any thoughts?

Link to comment
Share on other sites

1) No, not going to happen

2) Items will eventually get a properties system, Mojang has stated this, when that'll happen, we don't know.  Beyond that not sure what you're meaning...

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

1) Why not? The only reason i see is backwards compatibility. And TileEntity is in fact just a separate place for part of state and part of logic. It concludes IMO to moving logic to Block and state to BlockState.

2) I mean, ItemStack now holds NBTTagCompound directly. (De)serialization is done less often than property access. So, let's allow having some data structure instead, so Item can do one checked cast and then access properties directly. Less NBT-related code around.

 

Ultimately this goes down to rewriting all with some kind of Object-Data-Behavior system. i know, not gonna happen.

Link to comment
Share on other sites

1. I don't see a reason for this. Blocks in world are not represented by separate objects but as arrays of bits. Making each have possibility of holding data is just bad computation vise. This is precisely why block can have TileEntity - to get that possibility of having additional data.

 

2. We alredy have that. Forge 1.8.9+ Provides @Capability system that like old IEEP to Entities, allows assigning data-object to ItemStack which is loaded with stack and saved when stack is saved.

Said that - I am interesed about what Lex said about vanilla item props - did you guys (forge devs) literally raced vanilla devs and made your own system? Should we expect changes on that field in future?

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

1) As Erino said, moving from a singelon based system to a per-instance data holder would screach minecraft to a hault. Eat all the resources your system has and make the game unplayable.

2) Again as Erino said we have the ability for you to do that in forge using Capabilities that are only serialized when they are needed to be. However I'm still not sure what the hell you're talking about beyond that as you're just throwing around buzzwords. Items in vanilla will eventually be getting properties much like blocks did, we know this because Mojang said so. How they will implement it nobody knows. But as we sit we don't need to do anything about it.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

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.



×
×
  • Create New...

Important Information

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