コード例 #1
0
 public AbstractEffect getEffect(UUID playerUUID, String effectName) {
   if (!this.playersEffects.containsKey(playerUUID)) {
     return null;
   }
   List<AbstractEffect> effects = this.playersEffects.get(playerUUID);
   for (AbstractEffect effect : effects) {
     if (effect.getName().equals(effectName)) {
       return effect;
     }
   }
   return null;
 }
コード例 #2
0
 @Override
 public Map<String, Object> serialize() {
   Map<String, Object> map = new TreeMap<String, Object>();
   for (UUID playerUUID : this.playersEffects.keySet()) {
     StringBuilder sb = new StringBuilder();
     List<AbstractEffect> playerEffects = this.playersEffects.get(playerUUID);
     for (int i = 0; i < playerEffects.size(); i++) {
       AbstractEffect effect = playerEffects.get(i);
       sb.append(effect.getName());
       if (i + 1 < playerEffects.size()) {
         sb.append(";");
       }
     }
     if (playerEffects.size() > 0) {
       map.put(playerUUID.toString(), sb.toString());
     }
   }
   return map;
 }
コード例 #3
0
 private void checkEffectTypeDuplication(
     Player player, AbstractEffect effect, boolean checkIfPlayerExists) {
   if (!playersEffects.containsKey(player.getUniqueId())) {
     return;
   }
   List<AbstractEffect> effects = playersEffects.get(player.getUniqueId());
   if (effects == null) {
     return;
   }
   for (AbstractEffect cEffect : effects) {
     if ((cEffect.getType().equals(effect.getType()) && !effect.getType().isStackable())) {
       throw new IllegalArgumentException(
           "The effect "
               + cEffect.getName()
               + " of the same type ("
               + effect.getType().getName()
               + ") is already associated to the player "
               + player.getName()
               + ".");
     }
   }
 }