Comments (2)
Not an EssX maintainer, just some guy.
For a little backstory, Vault is the lovely system that allows plugins to share economy data without having to write a bunch of plugin-specific stuff. Vault's economy API is, by their clear documentation, explicitly meant for Player economy data. It refers to the names of account holders as playerName
and, for more than ten years, has nudged plugin developers to not even use the methods that take a name but rather to use what's called an OfflinePlayer
object: A representation of a player (name and uuid).
From what I can tell, Towny sends the town's name as if it's a Minecraft player's name. This means your town names, containing Cyrillic characters, are being sent as invalid Minecraft account names. If not converting this name (which I suspect is part of a system for dealing with invalid input from various places), another valid response by EssX would be to not track any econ data at all for these invalid names.
If Towny sent OfflinePlayer
objects with a consistent UUID based on the town that EssX (and other economy plugins) could store and track the UUID as would be a reasonable approach for the last decade (since 2014 when UUIDs were introduced with the idea of usernames changing), I can see this being an EssX issue to fix. As it stands, though, this looks like Towny is making a critical mistake.
from essentials.
I made a branch a few months ago for Towny that makes it send proper OfflinePlayer objects to vault, although because I got busy with some other things I unfortunately forgot. I'll take a look at it again to hopefully fix this decade old issue.
Is there any UUID version that's preferred for marking that we want to create an npc account? I saw that both v2 and v3 uuids work, so I was thinking of just editing the version byte or generating a v3 from the stringified uuid, or is there no real difference?
Besides that, I also don't think there's any issue here for EssX to fix, so this issue should probably be closed.
from essentials.
Related Issues (20)
- Broadcast add the author
- EssentialsX Chat add support minimessage
- was banned from discord for no reason just asking why a plugin wasnt working HOT 1
- Infinite Trade Signs HOT 1
- /back command HOT 1
- Inclusion of 1.21 materials/items into Essentials' item.json as they're in the game as of 1.20.6 (experimental datapack)
- Error after enabling EssentialsX plugin (java.lang.NoSuchMethodException)
- Home name tab completion display wrong characters when they are Non-ASCII HOT 1
- The EssentialsXSpawn API provides no means of determining where a player will respawn. HOT 2
- If "respawn-at-home-bed" and "respawn-at-home" are set to true in the EssentialsX config, "respawn-at-anchor" is ultimately ignored.
- Currency won't be changed even IF I change it in the config.yml file HOT 12
- When I use the plugin version after the 2.21.0-dev+35-d4ecfd2, an error occurred while enabling Essentials
- Socialspy prefix colour formatting is missing the less-than symbol HOT 3
- Give command borks out with Error if player is not online HOT 3
- /skull gives a head item with wrong metadata. The skull does not apply the skin
- /nick should ignore color codes for nick character limit HOT 2
- Global command cooldowns
- world-change-fly-reset does not detect end portal use HOT 4
- Adding houses HOT 5
- Wrong color code format in Essentials messages HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from essentials.