Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.demkom58.aenergy.data;
- import org.spongepowered.api.Sponge;
- import org.spongepowered.api.data.DataContainer;
- import org.spongepowered.api.data.DataHolder;
- import org.spongepowered.api.data.DataView;
- import org.spongepowered.api.data.manipulator.mutable.common.AbstractData;
- import org.spongepowered.api.data.merge.MergeFunction;
- import org.spongepowered.api.data.value.mutable.Value;
- import java.util.Optional;
- public class AEnergyData extends AbstractData<AEnergyData, ImmutableAEnergyData> {
- private String name;
- private String id;
- AEnergyData(String name, String id) {
- this.name = name;
- this.id = id;
- registerGettersAndSetters();
- }
- @Override
- protected void registerGettersAndSetters() {
- registerFieldGetter(AEnergyDataKeys.STANDARD_ID, () -> this.id);
- registerFieldGetter(AEnergyDataKeys.STANDARD_NAME, () -> this.name);
- registerFieldSetter(AEnergyDataKeys.STANDARD_ID, id -> this.id = id);
- registerFieldSetter(AEnergyDataKeys.STANDARD_NAME, name -> this.name = name);
- registerKeyValue(AEnergyDataKeys.STANDARD_ID, this::id);
- registerKeyValue(AEnergyDataKeys.STANDARD_NAME, this::name);
- }
- public Value<String> name() {
- return Sponge.getRegistry().getValueFactory().createValue(AEnergyDataKeys.STANDARD_NAME, name);
- }
- public Value<String> id() {
- return Sponge.getRegistry().getValueFactory().createValue(AEnergyDataKeys.STANDARD_ID, id);
- }
- @Override
- public Optional<AEnergyData> fill(DataHolder dataHolder, MergeFunction overlap) {
- Optional<AEnergyData> otherData_ = dataHolder.get(AEnergyData.class);
- if (otherData_.isPresent()) {
- AEnergyData otherData = otherData_.get();
- AEnergyData finalData = overlap.merge(this, otherData);
- this.name = finalData.name;
- this.id = finalData.id;
- }
- return Optional.of(this);
- }
- @Override
- public Optional<AEnergyData> from(DataContainer container) {
- return from((DataView) container);
- }
- public Optional<AEnergyData> from(DataView view) {
- if (view.contains(AEnergyDataKeys.STANDARD_ID.getQuery()) && view.contains(AEnergyDataKeys.STANDARD_NAME.getQuery())) {
- this.id = view.getString(AEnergyDataKeys.STANDARD_ID.getQuery()).get();
- this.name = view.getString(AEnergyDataKeys.STANDARD_NAME.getQuery()).get();
- return Optional.of(this);
- } else {
- return Optional.empty();
- }
- }
- @Override
- public AEnergyData copy() {
- return new AEnergyData(this.name, this.id);
- }
- @Override
- public ImmutableAEnergyData asImmutable() {
- return new ImmutableAEnergyData(this.name, this.id);
- }
- @Override
- public int getContentVersion() {
- return 1;
- }
- @Override
- public DataContainer toContainer() {
- return super.toContainer()
- .set(AEnergyDataKeys.STANDARD_NAME.getQuery(), this.name)
- .set(AEnergyDataKeys.STANDARD_ID.getQuery(), this.id);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement