crwdns149047:0crwdne149047:0

crwdns149049:0crwdne149049:0

crwdns149051:0:javadoc:crwdne149051:0

crwdns149053:0crwdne149053:0

crwdns149055:0:javadoc:crwdne149055:0

crwdns149057:0crwdne149057:0

crwdns149059:0crwdne149059:0

crwdns149061:0crwdne149061:0

crwdns149063:0crwdne149063:0

crwdns149065:0crwdne149065:0

crwdns149067:0crwdne149067:0

crwdns149069:0crwdne149069:0

crwdns149071:0crwdne149071:0

crwdns149073:0crwdne149073:0

crwdns149075:0crwdne149075:0

crwdns149077:0crwdne149077:0

crwdns149079:0crwdne149079:0

crwdns149081:0crwdne149081:0

crwdns149083:0crwdne149083:0

crwdns149085:0crwdne149085:0

crwdns149087:0crwdne149087:0

crwdns149089:0crwdne149089:0

crwdns149091:0crwdne149091:0

crwdns149093:0crwdne149093:0

crwdns149095:0crwdne149095:0

crwdns149097:0:doc:crwdne149097:0

  • crwdns149099:0crwdne149099:0

  • crwdns149101:0crwdne149101:0

  • crwdns149103:0crwdne149103:0

  • crwdns149105:0crwdne149105:0

crwdns149107:0:doc:crwdnd149107:0:javadoc:crwdne149107:0

crwdns149109:0crwdne149109:0

crwdns149111:0:javadoc:crwdne149111:0

  • crwdns149113:0crwdne149113:0

  • crwdns149115:0crwdne149115:0

  • crwdns149117:0crwdne149117:0

crwdns149119:0crwdne149119:0

crwdns149121:0crwdne149121:0

crwdns149123:0crwdne149123:0

import org.spongepowered.api.data.DataHolder;
import org.spongepowered.api.data.DataTransactionResult;
import org.spongepowered.api.data.manipulator.DataManipulator;

public void safeOffer(DataHolder target, DataManipulator data) {
    DataTransactionResult result = target.offer(data);
    if (result.getType() != DataTransactionResult.Type.SUCCESS) {
        target.undo(result);
    }
}