From b3787983d5bd9adfb7ec0f2d1a2148b46e827833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 10 Aug 2025 09:58:16 +0200 Subject: [PATCH] added advancement for MinecartBlocks --- .../gameplay/customAdvancements/Advancements.java | 1 + .../minecartBlocks/MinecartBlockChangeListener.java | 1 + .../gameplay/minecartBlocks/MinecartBlocks.java | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/Advancements.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/Advancements.java index 08de6ff..bdb0276 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/Advancements.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/customAdvancements/Advancements.java @@ -8,4 +8,5 @@ public class Advancements { public static String start = "start"; public static String winner = "winner"; public static String participateEvent = "participate_event"; + public static String ogMiner = "og_miner"; } diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlockChangeListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlockChangeListener.java index 2a577dd..41f629e 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlockChangeListener.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlockChangeListener.java @@ -27,6 +27,7 @@ class MinecartBlockChangeListener extends ApplianceListener { minecart.setDisplayBlockData(heldBlock.createBlockData()); playerInv.removeItem(ItemStack.of(heldBlock)); + this.getAppliance().onBlockPut(event.getPlayer(), heldBlock); } @EventHandler diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlocks.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlocks.java index 8746a46..1cd96a0 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlocks.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/minecartBlocks/MinecartBlocks.java @@ -1,11 +1,15 @@ package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.minecartBlocks; +import eu.mhsl.craftattack.spawn.core.Main; import eu.mhsl.craftattack.spawn.core.appliance.Appliance; +import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.Advancements; +import eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.customAdvancements.CustomAdvancements; import org.bukkit.Material; import org.bukkit.block.data.Bisected; import org.bukkit.block.data.BlockData; import org.bukkit.block.data.Directional; import org.bukkit.block.data.Waterlogged; +import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.jetbrains.annotations.NotNull; @@ -31,6 +35,11 @@ public class MinecartBlocks extends Appliance { ); } + public void onBlockPut(Player player, Material material) { + if(!material.name().toLowerCase().endsWith("_ore")) return; + Main.instance().getAppliance(CustomAdvancements.class).grantAdvancement(Advancements.ogMiner, player.getUniqueId()); + } + @Override protected @NotNull List listeners() { return List.of(