mirror of
https://github.com/GeorgH93/Minepacks.git
synced 2025-03-09 13:00:33 +01:00
Add ItemNameResolver and update item filter
This commit is contained in:
parent
58b4bb3eb0
commit
ae1bbaea2f
@ -13,8 +13,7 @@ Language:
|
||||
Cooldown: "&2Bitte warte noch {TimeLeft} Sekunden bis du deinen Rucksack wieder öffnest."
|
||||
#Parameter: {CurrentGameMode}, {AllowedGameModes}
|
||||
WrongGameMode: "Du darfst deinen Rucksack in deinem aktuellem Game-Mode nicht öffnen."
|
||||
Shulkerboxes:
|
||||
NotAllowedInBackpack: "&cShulkerboxes sind im Rucksack nicht erlaubt."
|
||||
NotAllowedInBackpack: "&c{ItemName} ist im Rucksack nicht erlaubt."
|
||||
Commands:
|
||||
Description:
|
||||
Backpack: "Öffent deinen Rucksack."
|
||||
|
@ -13,8 +13,7 @@ Language:
|
||||
Cooldown: "&2Please wait {TimeLeft} seconds till you reopen your backpack."
|
||||
#Parameter: {CurrentGameMode}, {AllowedGameModes}
|
||||
WrongGameMode: "You are not allowed to open your backpack in your current game-mode."
|
||||
Shulkerboxes:
|
||||
NotAllowedInBackpack: "&cShulkerboxes are not allowed in the backpack."
|
||||
NotAllowedInBackpack: "&c{ItemName} is not allowed in the backpack."
|
||||
Commands:
|
||||
Description:
|
||||
Backpack: "Opens your backpack."
|
||||
|
@ -18,10 +18,10 @@
|
||||
package at.pcgamingfreaks.Minepacks.Bukkit.Database;
|
||||
|
||||
import at.pcgamingfreaks.Bukkit.Configuration;
|
||||
import at.pcgamingfreaks.Bukkit.MinecraftMaterial;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.*;
|
||||
@ -280,13 +280,13 @@ public boolean isItemFilterEnabled()
|
||||
return config.getBoolean("ItemFilter.Enable", false) || config.getBoolean("Shulkerboxes.PreventInBackpack", true);
|
||||
}
|
||||
|
||||
public Collection<Material> getItemFilterBlacklist()
|
||||
public Collection<MinecraftMaterial> getItemFilterBlacklist()
|
||||
{
|
||||
List<String> stringBlacklist = config.getStringList("ItemFilter.Blacklist", new LinkedList<String>());
|
||||
Collection<Material> blacklist = new LinkedList<>();
|
||||
Collection<MinecraftMaterial> blacklist = new LinkedList<>();
|
||||
for(String item : stringBlacklist)
|
||||
{
|
||||
Material mat = Material.matchMaterial(item);
|
||||
MinecraftMaterial mat = MinecraftMaterial.fromInput(item);
|
||||
if(mat != null) blacklist.add(mat);
|
||||
}
|
||||
return blacklist;
|
||||
|
@ -18,8 +18,10 @@
|
||||
package at.pcgamingfreaks.Minepacks.Bukkit.Listener;
|
||||
|
||||
import at.pcgamingfreaks.Bukkit.Message.Message;
|
||||
import at.pcgamingfreaks.Bukkit.MinecraftMaterial;
|
||||
import at.pcgamingfreaks.Minepacks.Bukkit.API.Backpack;
|
||||
import at.pcgamingfreaks.Minepacks.Bukkit.Minepacks;
|
||||
import at.pcgamingfreaks.PluginLib.Bukkit.ItemNameResolver;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -35,7 +37,7 @@
|
||||
public class ItemFilter extends MinepacksListener
|
||||
{
|
||||
private final Message messageNotAllowedInBackpack;
|
||||
private final Collection<Material> blockedMaterials = new HashSet<>();
|
||||
private final Collection<MinecraftMaterial> blockedMaterials = new HashSet<>();
|
||||
|
||||
public ItemFilter(final Minepacks plugin)
|
||||
{
|
||||
@ -43,21 +45,24 @@ public ItemFilter(final Minepacks plugin)
|
||||
|
||||
if(plugin.getConfiguration().isShulkerboxesPreventInBackpackEnabled())
|
||||
{
|
||||
blockedMaterials.addAll(DisableShulkerboxes.SHULKER_BOX_MATERIALS);
|
||||
for(Material mat : DisableShulkerboxes.SHULKER_BOX_MATERIALS)
|
||||
{
|
||||
blockedMaterials.add(new MinecraftMaterial(mat, (short) -1));
|
||||
}
|
||||
}
|
||||
blockedMaterials.addAll(plugin.getConfiguration().getItemFilterBlacklist());
|
||||
|
||||
messageNotAllowedInBackpack = plugin.lang.getMessage("Ingame.Shulkerboxes.NotAllowedInBackpack"); //TODO change message
|
||||
messageNotAllowedInBackpack = plugin.lang.getMessage("Ingame.NotAllowedInBackpack").replaceAll("\\{ItemName}", "%s");
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onItemMove(InventoryMoveItemEvent event)
|
||||
{
|
||||
if(event.getDestination().getHolder() instanceof Backpack && blockedMaterials.contains(event.getItem().getType()))
|
||||
if(event.getDestination().getHolder() instanceof Backpack && blockedMaterials.contains(event.getItem()))
|
||||
{
|
||||
if(event.getSource().getHolder() instanceof Player)
|
||||
{
|
||||
messageNotAllowedInBackpack.send((Player) event.getSource().getHolder());
|
||||
messageNotAllowedInBackpack.send((Player) event.getSource().getHolder(), ItemNameResolver.getInstance().getName(event.getItem().getType()));
|
||||
}
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -66,9 +71,9 @@ public void onItemMove(InventoryMoveItemEvent event)
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onItemMove(InventoryClickEvent event)
|
||||
{
|
||||
if(event.getInventory().getHolder() instanceof Backpack && event.getCurrentItem() != null && blockedMaterials.contains(event.getCurrentItem().getType()))
|
||||
if(event.getInventory().getHolder() instanceof Backpack && event.getCurrentItem() != null && blockedMaterials.contains(event.getCurrentItem()))
|
||||
{
|
||||
messageNotAllowedInBackpack.send(event.getView().getPlayer());
|
||||
messageNotAllowedInBackpack.send(event.getView().getPlayer(), ItemNameResolver.getInstance().getName(event.getCurrentItem().getType()));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@ -76,9 +81,9 @@ public void onItemMove(InventoryClickEvent event)
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onItemMove(InventoryDragEvent event)
|
||||
{
|
||||
if(event.getInventory().getHolder() instanceof Backpack && event.getOldCursor() != null && blockedMaterials.contains(event.getOldCursor().getType()))
|
||||
if(event.getInventory().getHolder() instanceof Backpack && event.getOldCursor() != null && blockedMaterials.contains(event.getOldCursor()))
|
||||
{
|
||||
messageNotAllowedInBackpack.send(event.getView().getPlayer());
|
||||
messageNotAllowedInBackpack.send(event.getView().getPlayer(), ItemNameResolver.getInstance().getName(event.getOldCursor().getType()));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user