master-customAdvancements #4
@ -1,5 +1,6 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.Main;
|
||||
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.NamespacedKey;
|
||||
@ -12,7 +13,11 @@ 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");
|
||||
try {
|
||||
player.getAdvancementProgress(Objects.requireNonNull(Bukkit.getAdvancement(Objects.requireNonNull(NamespacedKey.fromString("custom_advancements:craftattack/" + advancementName))))).awardCriteria("criteria");
|
||||
} catch (Exception e) {
|
||||
Main.logger().info("Custom Advancements Datapack not found!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,10 +1,14 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.inventory.CraftItemEvent;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class CustomAdvancementsDamageEntityListener extends ApplianceListener<CustomAdvancements> {
|
||||
@EventHandler
|
||||
@ -16,4 +20,27 @@ public class CustomAdvancementsDamageEntityListener extends ApplianceListener<Cu
|
||||
|
||||
getAppliance().grantAdvancement("search_trouble", damager);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onCraftItem(CraftItemEvent event) {
|
||||
ItemStack result = event.getInventory().getResult();
|
||||
if(result == null) return;
|
||||
if(!(event.getView().getPlayer() instanceof Player player)) return;
|
||||
|
||||
if(result.getType() == Material.RED_SHULKER_BOX) {
|
||||
getAppliance().grantAdvancement("fleischerchest", player);
|
||||
} else if(
|
||||
result.getItemMeta().itemName().equals(Component.text("98fdf0ae-c3ab-4ef7-ae25-efd518d600de"))
|
||||
&& result.getItemMeta().getEnchantmentGlintOverride()
|
||||
) {
|
||||
getAppliance().grantAdvancement("craft_pixelblock", player);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onChangeWorld(PlayerChangedWorldEvent event) {
|
||||
if(!event.getPlayer().getWorld().getName().startsWith("plugins/PixelBlocks/worlds")) return;
|
||||
|
||||
getAppliance().grantAdvancement("use_pixelblock", event.getPlayer());
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ public class FleischerchestCraftItemListener extends ApplianceListener<Fleischer
|
||||
public void onPrepareItemCraft(PrepareItemCraftEvent event) {
|
||||
ItemStack result = event.getInventory().getResult();
|
||||
if(result == null) return;
|
||||
if(result.getType() == Material.RED_SHULKER_BOX) {
|
||||
getAppliance().renameItem(event.getInventory().getResult());
|
||||
}
|
||||
if(result.getType() != Material.RED_SHULKER_BOX) return;
|
||||
|
||||
getAppliance().renameItem(event.getInventory().getResult());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user