Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.spongepowered.api.Sponge;
- import org.spongepowered.api.data.DataContainer;
- import org.spongepowered.api.data.manipulator.immutable.common.AbstractImmutableData;
- import org.spongepowered.api.data.value.immutable.ImmutableValue;
- public class Immutable extends AbstractImmutableData<Immutable, StringData> {
- private String stringStorage;
- {
- registerGetters();
- }
- Immutable() {
- }
- Immutable(String stringStorage) {
- this.stringStorage = stringStorage;
- }
- @Override
- protected void registerGetters() {
- registerFieldGetter(StringKeys.STRING_STORAGE, this::getStringStorage);
- registerKeyValue(StringKeys.STRING_STORAGE, this::stringStorage);
- }
- public String getStringStorage() {
- return stringStorage;
- }
- public ImmutableValue<String> stringStorage() {
- return Sponge.getRegistry().getValueFactory().createValue(StringKeys.STRING_STORAGE, stringStorage).asImmutable();
- }
- @Override
- public StringData asMutable() {
- return new StringData(stringStorage);
- }
- @Override
- public int getContentVersion() {
- return 1;
- }
- @Override
- public DataContainer toContainer() {
- return super.toContainer()
- .set(StringKeys.STRING_STORAGE.getQuery(), stringStorage);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement