World specific home plugin

I’m very curious if this exists: a plugin that has /home /tpa and /tpahere, but only run (teleport the player) if that player is in the same dimension as the home (or the player) they’re trying to teleport to. I’ve looked into nucleus, and it doesn’t look like they have the “per world” capability I’m looking for.

Any input on this would really help, I have done some limited research and come up dry.

Some of what you want to do might be more appropriately managed using permissions rather than natively by the plugin. You can set per-world permissions, and that might be what’s needed to limit a set of homes to a given world. I’m scratching my head on how to do the same with /tpahere and /tpa though.

I guess if you wanted to make this with permissions you would still need some work in the plugin like

if (thisplayer.hasPermission("tpa.world."+thisplayer.getWorld().getName() &&
    thatplayer.hasPermission("tpa.world."+thisplayer.getWorld().getName()) {
...
}

up-side: the feature could be bypassed by giving a tpa.world.* permission

That would work perfectly! I’m slightly perplexed that nobody has gone about making something like that…

Is this a feature that’s built into nucleus?

No, nucleus doesn’t have much flexibility in the permissions for the home command. It’s something you have to do with a permissions plugin. For example in luckperms you’d set the permission nucleus.home.base with the context of a world, i.e. something like
/luckperms user hugeblank permission set nucleus.home.base true world=homeworld
You’d also need to deny the same permission globally, or on other worlds. This will only work for one world, so anything finer-grained will need a new feature (or a new plugin).

Yeah I’d want it for more than one world… darn.