added fleischerchest and pixelblock advancements
This commit is contained in:
parent
bf94e152c8
commit
1aebae6cd5
@ -1,5 +1,6 @@
|
|||||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||||
|
|
||||||
|
import eu.mhsl.craftattack.spawn.Main;
|
||||||
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
@ -12,7 +13,11 @@ import java.util.Objects;
|
|||||||
|
|
||||||
public class CustomAdvancements extends Appliance {
|
public class CustomAdvancements extends Appliance {
|
||||||
public void grantAdvancement(String advancementName, Player player) {
|
public void grantAdvancement(String advancementName, Player player) {
|
||||||
|
try {
|
||||||
player.getAdvancementProgress(Objects.requireNonNull(Bukkit.getAdvancement(Objects.requireNonNull(NamespacedKey.fromString("custom_advancements:craftattack/" + advancementName))))).awardCriteria("criteria");
|
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
|
@Override
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
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> {
|
public class CustomAdvancementsDamageEntityListener extends ApplianceListener<CustomAdvancements> {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -16,4 +20,27 @@ public class CustomAdvancementsDamageEntityListener extends ApplianceListener<Cu
|
|||||||
|
|
||||||
getAppliance().grantAdvancement("search_trouble", damager);
|
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) {
|
public void onPrepareItemCraft(PrepareItemCraftEvent event) {
|
||||||
ItemStack result = event.getInventory().getResult();
|
ItemStack result = event.getInventory().getResult();
|
||||||
if(result == null) return;
|
if(result == null) return;
|
||||||
if(result.getType() == Material.RED_SHULKER_BOX) {
|
if(result.getType() != Material.RED_SHULKER_BOX) return;
|
||||||
|
|
||||||
getAppliance().renameItem(event.getInventory().getResult());
|
getAppliance().renameItem(event.getInventory().getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user