mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-14 19:55:52 -07:00
Use entity UUID instead of EntityID for metadata. Fixes BUKKIT-3582
The entity id is a non-unique, non-persistent value, and will cause entities to lose their respective meta data on chunk unloading, and teleportation. By: feildmaster <admin@feildmaster.com>
This commit is contained in:
@@ -9,7 +9,8 @@ import org.bukkit.metadata.MetadataStoreBase;
|
|||||||
*/
|
*/
|
||||||
public class EntityMetadataStore extends MetadataStoreBase<Entity> implements MetadataStore<Entity> {
|
public class EntityMetadataStore extends MetadataStoreBase<Entity> implements MetadataStore<Entity> {
|
||||||
/**
|
/**
|
||||||
* Generates a unique metadata key for an {@link Entity} entity ID.
|
* Generates a unique metadata key for an {@link Entity} UUID.
|
||||||
|
*
|
||||||
* @see MetadataStoreBase#disambiguate(Object, String)
|
* @see MetadataStoreBase#disambiguate(Object, String)
|
||||||
* @param entity the entity
|
* @param entity the entity
|
||||||
* @param metadataKey The name identifying the metadata value
|
* @param metadataKey The name identifying the metadata value
|
||||||
@@ -17,6 +18,6 @@ public class EntityMetadataStore extends MetadataStoreBase<Entity> implements Me
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected String disambiguate(Entity entity, String metadataKey) {
|
protected String disambiguate(Entity entity, String metadataKey) {
|
||||||
return Integer.toString(entity.getEntityId()) + ":" + metadataKey;
|
return entity.getUniqueId().toString() + ":" + metadataKey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user