Fixed reward duplication on join
This commit is contained in:
parent
de559df98c
commit
53b94c99a9
@ -100,7 +100,7 @@ public class Event extends Appliance {
|
|||||||
Response response = new Gson().fromJson(rawResponse.body(), Response.class);
|
Response response = new Gson().fromJson(rawResponse.body(), Response.class);
|
||||||
|
|
||||||
if(rawResponse.statusCode() != 200 || response.error != null) {
|
if(rawResponse.statusCode() != 200 || response.error != null) {
|
||||||
p.sendMessage(Component.text("Fehler beim betreten: " + response.error, NamedTextColor.RED));
|
p.sendMessage(Component.text("Fehler beim Betreten: " + response.error, NamedTextColor.RED));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ public class Event extends Appliance {
|
|||||||
giveReward(reward);
|
giveReward(reward);
|
||||||
});
|
});
|
||||||
|
|
||||||
for (UUID uuid : rewardConfiguration.memorials) {
|
rewardConfiguration.memorials.forEach(uuid -> {
|
||||||
ItemStack memorialItem = new ItemStack(Objects.requireNonNull(Material.matchMaterial(rewardConfiguration.memorialMaterial)));
|
ItemStack memorialItem = new ItemStack(Objects.requireNonNull(Material.matchMaterial(rewardConfiguration.memorialMaterial)));
|
||||||
ItemMeta meta = memorialItem.getItemMeta();
|
ItemMeta meta = memorialItem.getItemMeta();
|
||||||
meta.displayName(Component.text(rewardConfiguration.memorialTitle, NamedTextColor.GOLD));
|
meta.displayName(Component.text(rewardConfiguration.memorialTitle, NamedTextColor.GOLD));
|
||||||
@ -138,10 +138,10 @@ public class Event extends Appliance {
|
|||||||
|
|
||||||
if (Bukkit.getPlayer(uuid) == null) {
|
if (Bukkit.getPlayer(uuid) == null) {
|
||||||
pendingRewards.add(memorial);
|
pendingRewards.add(memorial);
|
||||||
continue;
|
return;
|
||||||
}
|
}
|
||||||
giveReward(memorial);
|
giveReward(memorial);
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void giveReward(Reward reward) {
|
private void giveReward(Reward reward) {
|
||||||
@ -157,9 +157,9 @@ public class Event extends Appliance {
|
|||||||
|
|
||||||
public void applyPendingRewards(Player player) {
|
public void applyPendingRewards(Player player) {
|
||||||
if(this.pendingRewards.isEmpty()) return;
|
if(this.pendingRewards.isEmpty()) return;
|
||||||
this.pendingRewards.stream()
|
List<Reward> givenRewards = this.pendingRewards.stream().filter(reward -> reward.playerUuid.equals(player.getUniqueId())).toList();
|
||||||
.filter(reward -> reward.playerUuid.equals(player.getUniqueId()))
|
this.pendingRewards.removeAll(givenRewards);
|
||||||
.forEach(this::giveReward);
|
givenRewards.forEach(this::giveReward);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user