added custom advancements appliance
This commit is contained in:
parent
c1cfb0c856
commit
10918e284e
@ -4,6 +4,7 @@ import eu.mhsl.craftattack.spawn.aggregates.displayName.DisplayName;
|
||||
import eu.mhsl.craftattack.spawn.api.HttpServer;
|
||||
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
||||
import eu.mhsl.craftattack.spawn.appliances.adminMarker.AdminMarker;
|
||||
import eu.mhsl.craftattack.spawn.appliances.customAdvancements.CustomAdvancements;
|
||||
import eu.mhsl.craftattack.spawn.appliances.fleischerchest.Fleischerchest;
|
||||
import eu.mhsl.craftattack.spawn.appliances.kick.Kick;
|
||||
import eu.mhsl.craftattack.spawn.appliances.chatMessages.ChatMessages;
|
||||
@ -57,7 +58,8 @@ public final class Main extends JavaPlugin {
|
||||
new Outlawed(),
|
||||
new DisplayName(),
|
||||
new Debug(),
|
||||
new Fleischerchest()
|
||||
new Fleischerchest(),
|
||||
new CustomAdvancements()
|
||||
);
|
||||
|
||||
Bukkit.getLogger().info("Loading appliances...");
|
||||
|
@ -0,0 +1,22 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class CustomAdvancements extends Appliance {
|
||||
public void grantAdvancement(String advancementName, Player player) {
|
||||
player.getAdvancementProgress(Objects.requireNonNull(Bukkit.getAdvancement(Objects.requireNonNull(NamespacedKey.fromString("custom_advancements:craftattack/" + advancementName))))).awardCriteria("criteria");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull List<Listener> eventHandlers() {
|
||||
return List.of(new CustomAdvancementsDamageEntityListener());
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
public class CustomAdvancementsDamageEntityListener extends ApplianceListener<CustomAdvancements> {
|
||||
@EventHandler
|
||||
public void onEntityDamageEntity(EntityDamageByEntityEvent event) {
|
||||
Entity damaged = event.getEntity();
|
||||
if(!(damaged instanceof Player)) return;
|
||||
Entity damager = event.getDamager();
|
||||
if(!(damager instanceof Player)) return;
|
||||
if(damaged.hasPermission("admin")) {
|
||||
getAppliance().grantAdvancement("search_trouble", (Player) damager);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user