NBT data in GKC? (Pseudo-Items)

So if you’ve ever played Minecraft before, you probably know what NBT data is.

For those who don’t know, NBT data is a library stored to a specific item[1].

What I want to figure out is how we can recreate this in GKC.

I was thinking this could be used for gadgets with different power-ups, or maybe even some huge tech projects in the future.

Basically, two players could have a rare evil eye, but one of the players has the rare evil eye with NBT data, granting them a speed boost.

Now this could go a lot farther than basic powerups and stuff, and be used for very large-scale item modification systems, or storing NBT data on even terrain and props [2]

As basic as I can put it, we are making custom items.

Clay Institute Tag Addition? (80% yes for it to be added)
  • Yes
  • No
0 voters

  1. say a blaster for example ↩︎

  2. which would be a weird system but that’s besides the point ↩︎

10 Likes

So gist is, implement an NBT tag system for each usable item, then allow “modding” these tags to overpower certain items? BET

3 Likes

Yup!
I feel like the hardest part would be to make sure its that item-specific (is it dropped, is it picked up by another player, etc…).

4 Likes

I don’t play Minecraft.
Could you explain a bit more on this data and how it works?

6 Likes

Uhh so this is about as basic as I can put it:

Gadget Stats NBT
Rare Evil Eye 1 176 Damage | 5 Sec Reload True | 2x Damage 2x Player Speed
Rare Evil Eye 2 88 Damage | 5 Sec Reload False | No Modifications

Basically, this is a topic on how to create pseudo-items.

7 Likes

Another Devices categorized topic from Shaft, lol.

This could be possible, but, as usual, very limited. We currently can’t hold anything except for the gadgets that Gimkit provides us.

If we wanted this to work somehow, we would need a specific area for the player to use it in, because they wouldn’t be able to move around with it. Also, you most likely would have minimal to no control over the direction of the custom gadget, and if you did, it would be very slow.

6 Likes

Idk about this stuff, but I think it would have smth to do with a property and a randomizer. Randomizer determines whether or not the item has NBT data, property makes sure that only that player with that specific Evil Eye has those specific powerups.

2 Likes

Not really. All we have to do is make an item ID system for this to work. After that its smooth sailing.

We have to make a system that can distinguish 1 item from *the same item

2 Likes

There are definitely SOME limitations here (obligatory memory limit reminder that I know someone people who are not shaft need.) such as dropping items and such.
Giving Data to an item thats not going to be dropped is hard.
Giving Data to an item thats going to be dropped is exponentially harder.

If we want to start by distinguishing items, we have to distinguish PLAYERS.
I’d suggest trying to tag players and see if they have a specific item? And then remove the tag if the item gets removed.


I believe the hard part here is assigning said properties


Then ignore it / flag it.

6 Likes

You could possible make some texture pack type spinefile/spritesheet thing to input to show the difference, e.g. A QP that does a sort of fire icon for a few secs after a ko to alert others could have a flame coming out of the end as the icon in the inventory, a little like the gim sprite sheets from Kat. I’d be willing to look into that and would be willing to help out if necessary.

I honestly think this system is pretty simple to figure out, as long as we assign properties to each gadget, and then check for that property in possession, we can then grant the ability assuming you only get 1 item in each game. As long it’s a randomizer chest system then you could just have variation 1 and 2 of each gadget with their properties. We could link up to a notification to say you have the ability too. Surely the randomizer could just judge which you grant. You don’t need to make pseudo items, just modified items that would look better with some custom looks. When it goes from a chest into your inventory you could track it. I’m not sure how we could do a pick up though.

Please correct me if I’m wrong. I might be a little brain dead today.

3 Likes

This is what I was scared of lol.

I think the system of NBT data itself would be easy enough to implement. The only issue is tracking item events.

3 Likes

I don’t think it’s too hard from randomized chest/granter, I think the problem will be pick up. From the chest to the player is easy, whatever number the randomizer chooses, has a property linked to it, that’s easy, it will just grant 1 of the property to that player (we can’t do only 1 property, it has to be multiple). The pick up, I’ll think about it. I’m honestly not sure whether it’s very possible.

5 Likes

I’m not incredibly well versed in the technical strengths and weaknesses of GKC, as most of my knowledge stems from random reading and obviously this is a research topic, but…

My best idea here is tracking WHERE the item was dropped, and somehow storing that. This lets you check if an item pickup was where the NBT item was dropped, and reapply it there? This will probably run into memory limit quickly.

3 Likes

See, this is one of the things I want to bypass. This system would be extremely easy to make if each item had an appointed spawn location. I don’t want to have that, as that would semi-ruin the functionality of this.

Also for anyone wondering, yes this topic is a sort-of admittance to my discontinuation of the pseudo-AI topic. Sorry to anyone who was excited for that to be complete.

2 Likes

I honestly don’t see a way for pickup if it was to just appear in a random place at a random time or in your inventory at a random time, even if you could, it would evaporate you’re memory ridiculously fast, you couldn’t even make a map at that point really. I mean, we can do it, it’s just so much memory gone that it would be a bit ridiculous.

Nooooooooooo. I liked that one.

3 Likes

I’m working right now, and what I have so far is a crafting table that would kinda act as a sort of enchanting table from Minecraft.

You can put 1 blaster in and get one blaster out.

time for the hard stuff :sob:

1 Like

Sorry about the second post, I didn’t want these two to mix.

On the other hand, if it was dropped in a specified place, say on top of the player, it could be stored because you could probably detect a pick up in that area as I believe the item will be stored in that place, constantly loading the zone as it moves up and down (similar to chunk loaders in Minecraft). Then, you simply detect when the zone is unloaded, when no player can see it. As long as dropped items never despawns. Unfortunately, if no player ever leaves that area, you would never be granted the item.

3 Likes