#An idea regarding gating the crafting of items...

36 messages · Page 1 of 1 (latest)

silk halo
#

hermitYoYoYo gang!

Had an idea for a modpack that would allow/deny the crafting of specific items based on a player stage (which would be added/removed multiple times during a playthrough)

Doing a bit of research here, it looks like you can do that for Crafting Table recipes only, but that got me thinking...

Can you dynamically add/remove tags from items? Was thinking I could make a recipe that included something like #kubejs:hasplayerstage as the ingredient. And then have script that would add that tag to a specific crafting component once you entered that stage.

Does that seem feasible at all, or am I missing something?

ripe flaxBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

snow pelican
#

not possible
you need a /reload to add or remove tags
and even if you could, tags apply to all items, not just one
so if you put a tag on a player's stone pickaxe, everyone's stone pickaxe will have that tag

lapis jungle
#

There are player staging mods that can handle the recipe gating, and those could probably handle the recipes that kubejs doesn’t

silk halo
silk halo
#

and stuff like Refined Storage/Tom's/AE2 or even Create stuff would bypass all of that anyway, if I understand it correctly

#

oh but it's 1.19 dang

lapis jungle
#

Not to mention, how would you restrict recipes per person for a fake player?
Is it based on who placed it? Who’s claim it’s in? Who last used it?
Ultimately you could have somebody with access to the recipe get the setup moving, and then you wouldn’t have to touch it.

silk halo
#

right, man what a bummer

#

such a neat idea to enable/disable items based on stage

lapis jungle
#

Another idea that could work is changing what resources are available to a player instead

#

For example, you spend a certain amount of time in a dimension, but as soon as you hit a certain benchmark, you get kicked out of the dimension and lose access to the materials

#

An idea where you are given a void island with a portal.
Every time you go inside the portal, you are given a timer. When that timer is up, you are kicked out of the dimension, back to your island.
Then the portal sends you to a different dimension.

silk halo
#

I do love the idea of timed dimensions

#

my idea was based around keeping a "god" happy with a steady stream of offerings

#

if they are happy, you get "blessings"...but if they're unhappy....

#

so imagine "god of storage is happy = you can make backpacks"

lapis jungle
#

The only similar equivalent I can think of would be to give somebody a "kit" for appeasing their gods, but if they are unhappy then the alter spawns entities that destroy related blocks / items around them

#

So like an angry storage zombie would destroy any blocks with a storage tag nearby

silk halo
#

oh man can you imagine haha

lapis jungle
#

GIVE ME BACK MY STORAGE

#

- Angry zombie

#

Another idea would be up keep buildings

#

You are given a building that is useful to the player and invincible, but if the player does not keep up with offerings, the building will be demolished slowly or instantly

silk halo
#

hmmm would it be hard to do timed dimensions with KubeJS?

cold slate
#

I may not be understanding what you are trying to achieve, but why wouldn't GameStages work? Doesn't that let you lock recipes and items?

silk halo
cold slate
#

Hmm okay, does GameStages not just allow or deny crafting recipes no matter the interface you use to craft it? I've not used it but that would seem logical to me

silk halo
#

apparently it doesn't work that way

#

also, GameStages itself doesn't do anything, it just applies the stage to the player

#

you still have to tell it what you can/cannot do within the stage...it's basically just a player tag

silk halo
#

@lapis jungle since you mentioned it, ya got me thinking...would it be hard with KubeJS to add some visual timer when you enter a dimension?

#

would be interesting to have a portal or something to go to dimension X, then you have a certain amount of time to do something before it lets you back through