Merge remote-tracking branch 'origin/master'
This commit is contained in:
		| @@ -4,6 +4,8 @@ import eu.mhsl.craftattack.spawn.aggregates.displayName.DisplayName; | |||||||
| import eu.mhsl.craftattack.spawn.api.HttpServer; | import eu.mhsl.craftattack.spawn.api.HttpServer; | ||||||
| import eu.mhsl.craftattack.spawn.appliance.Appliance; | import eu.mhsl.craftattack.spawn.appliance.Appliance; | ||||||
| import eu.mhsl.craftattack.spawn.appliances.adminMarker.AdminMarker; | 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.kick.Kick; | ||||||
| import eu.mhsl.craftattack.spawn.appliances.chatMessages.ChatMessages; | import eu.mhsl.craftattack.spawn.appliances.chatMessages.ChatMessages; | ||||||
| import eu.mhsl.craftattack.spawn.appliances.outlawed.Outlawed; | import eu.mhsl.craftattack.spawn.appliances.outlawed.Outlawed; | ||||||
| @@ -55,7 +57,9 @@ public final class Main extends JavaPlugin { | |||||||
|                 new PanicBan(), |                 new PanicBan(), | ||||||
|                 new Outlawed(), |                 new Outlawed(), | ||||||
|                 new DisplayName(), |                 new DisplayName(), | ||||||
|                 new Debug() |                 new Debug(), | ||||||
|  |                 new Fleischerchest(), | ||||||
|  |                 new CustomAdvancements() | ||||||
|         ); |         ); | ||||||
|  |  | ||||||
|         Bukkit.getLogger().info("Loading appliances..."); |         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); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,24 @@ | |||||||
|  | package eu.mhsl.craftattack.spawn.appliances.fleischerchest; | ||||||
|  |  | ||||||
|  | import eu.mhsl.craftattack.spawn.appliance.Appliance; | ||||||
|  | import net.kyori.adventure.text.Component; | ||||||
|  | import net.kyori.adventure.text.format.TextColor; | ||||||
|  | import org.bukkit.event.Listener; | ||||||
|  | import org.bukkit.inventory.ItemStack; | ||||||
|  | import org.bukkit.inventory.meta.ItemMeta; | ||||||
|  | import org.jetbrains.annotations.NotNull; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | public class Fleischerchest extends Appliance { | ||||||
|  |     public void renameItem(ItemStack item) { | ||||||
|  |         ItemMeta meta = item.getItemMeta(); | ||||||
|  |         meta.displayName(Component.text("Fleischerchest").color(TextColor.color(235, 20, 28))); | ||||||
|  |         item.setItemMeta(meta); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     protected @NotNull List<Listener> eventHandlers() { | ||||||
|  |         return List.of(new FleischerchestCraftItemListener()); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | package eu.mhsl.craftattack.spawn.appliances.fleischerchest; | ||||||
|  |  | ||||||
|  | import eu.mhsl.craftattack.spawn.appliance.ApplianceListener; | ||||||
|  | import org.bukkit.Material; | ||||||
|  | import org.bukkit.event.EventHandler; | ||||||
|  | import org.bukkit.event.inventory.PrepareItemCraftEvent; | ||||||
|  | import org.bukkit.inventory.ItemStack; | ||||||
|  |  | ||||||
|  | public class FleischerchestCraftItemListener extends ApplianceListener<Fleischerchest> { | ||||||
|  |     @EventHandler | ||||||
|  |     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()); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user