diff --git a/resources/languages/de.yml b/resources/languages/de.yml index 565791a..00dee9c 100644 --- a/resources/languages/de.yml +++ b/resources/languages/de.yml @@ -26,10 +26,6 @@ CMD_Reload: '&aConfig wurde neu eingelesen' CMD_Configname: '&aName für Config ist: &f&v1' CMD_Configname_Error: '&cDu hast kein Item in der Hand' CMD_UnLabel: '&aDas Label wurde entfernt' -CMD_Persistent: '&aTrankdaten sind nun permanent und unveränderlich und so kann der Trank nun wie jedes andere Item kopiert werden' -CMD_PersistRemove: '&cPermanente Tränke können nicht aus der Datenbank gelöscht werden, evtl. Kopien würden sonst unbrauchbar werden!' -CMD_UnPersist: '&aTrankdaten nicht mehr permanent und unveränderlich. &ePotentielle Kopien dieses Trankes, die nicht mit "/brew copy" gemacht wurden, könnten nun unbrauchbar werden!' -CMD_CopyNotPersistent: '&eDiese Kopien dieses Trankes werden nicht die permanenten und unveränderlichen Trankdaten haben!' CMD_Static: '&aTrank ist nun unveränderlich und kann nicht weiter gereift oder destilliert werden.' CMD_NonStatic: '&eTrank ist wieder veränderlich und kann normal gereift oder destilliert werden' @@ -41,7 +37,6 @@ Error_Recipeload: '&cEs konnten nicht alle Rezepte wiederhergesellt werden: Sieh Error_ShowHelp: 'Benutze &6/brew help &fum die Hilfe anzuzeigen' Error_UnknownCommand: Unbekannter Befehl Error_ConfigUpdate: 'Unbekannte Brewery Config Version: v&v1, Config wurde nicht geupdated!' -Error_PersistStatic: '&cTränke mit permanenten Trankdaten sind immer unveränderlich!' # Permission Error_NoPermissions: '&cDu hast keine Rechte dies zu tun!' @@ -73,7 +68,6 @@ Help_WakeupCheck: '&6/brew Wakeup Check &9Teleportiert zu allen Aufwachpunkten' Help_WakeupCheckSpecific: '&6/brew Wakeup Check &9Teleportiert zu einem Aufwachpunkt' Help_WakeupList: '&6/brew Wakeup List [Welt]&9 Listet die Aufwachpunkte einer Welt auf' Help_WakeupRemove: '&6/brew Wakeup Remove &9Entfernt einen Aufwachpunkt' -Help_Persist: '&6/brew Persist &9Trankdaten permanent machen -> Kopierbar durch andere Plugins' Help_Static: '&6/brew Static &9Trank unveränderlich machen -> Kein weiteres reifen oder destillieren möglich' Help_Create: '&6/brew Create [Qualität] [Spieler] &9Erstellt einen Trank mit optionaler Qualität (1-10)' diff --git a/resources/languages/en.yml b/resources/languages/en.yml index 9fa105c..ae8d8bb 100644 --- a/resources/languages/en.yml +++ b/resources/languages/en.yml @@ -17,13 +17,10 @@ Brew_minute: minute Brew_Alc: Alc &v1ml # CMD -CMD_CopyNotPersistent: '&eThese copies of this Brew will not be persistent or static!' CMD_Copy_Error: '&6&v1 &cPotions did not fit into your inventory' CMD_Info_Drunk: '&v1 is &6&v2% &fdrunk, with a quality of &6&v3' CMD_Info_NotDrunk: '&v1 is not drunk' CMD_NonStatic: '&ePotion is not static anymore and will normally age in barrels.' -CMD_PersistRemove: '&cPersistent Brews cannot be removed from the Database. It would render any copies of them useless!' -CMD_Persistent: '&aPotion is now Persistent and Static and may now be copied like any other item. You can remove the persistence with the same command.' CMD_Player: '&a&v1 is now &6&v2% &adrunk, with a quality of &6&v3' CMD_Player_Error: '&cThe quality has to be between 1 and 10!' CMD_Reload: '&aConfig was successfully reloaded' @@ -31,7 +28,6 @@ CMD_Configname: '&aName for the Config is: &f&v1' CMD_Configname_Error: '&cCould not find item in your hand' CMD_Static: '&aPotion is now static and will not change in barrels or brewing stands.' CMD_UnLabel: '&aLabel removed!' -CMD_UnPersist: '&aPersistence and static Removed. &eEvery Potential copy NOT made with ''/brew copy'' could become useless now!' # Error Error_ConfigUpdate: 'Unknown Brewery config version: v&v1, config was not updated!' @@ -39,7 +35,6 @@ Error_ItemNotPotion: '&cThe item in your hand could not be identified as a potio Error_NoBarrelAccess: '&cYou don''t have permissions to access this barrel!' Error_NoBrewName: '&cNo Recipe with Name: ''&v1&c'' found!' Error_NoPermissions: '&cYou don''t have permissions to do this!' -Error_PersistStatic: '&cPersistent potions are always static!' Error_PlayerCommand: '&cThis command can only be executed as a player!' Error_Recipeload: '&cNot all recipes could be restored: More information in the server log!' Error_ShowHelp: Use &6/brew help &fto display the help @@ -57,7 +52,6 @@ Help_Delete: '&6/brew delete &9Deletes the potion in your hand' Help_Help: '&6/brew help [Page] &9Shows a specific help-page' Help_Info: '&6/brew info&9 Displays your current Drunkeness and Quality' Help_InfoOther: '&6/brew info [Player]&9 Displays the current Drunkeness and Quality of [Player]' -Help_Persist: '&6/brew persist &9Make Brew persistent -> copyable by any plugin and technique' Help_Player: '&6/brew <%Drunkeness> [Quality]&9 Sets Drunkeness (and Quality) of a Player' Help_Reload: '&6/brew reload &9Reload config' Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config' diff --git a/resources/languages/fr.yml b/resources/languages/fr.yml index 22fe764..ac42766 100644 --- a/resources/languages/fr.yml +++ b/resources/languages/fr.yml @@ -16,13 +16,10 @@ Brew_fermented: fermenté Brew_minute: minute # CMD -CMD_CopyNotPersistent: '&eLes copies de cette boisson ne seront pas persistantes ou statiques!' CMD_Copy_Error: '&6&v1 &cCes potions ne rentrent pas dans votre inventaire.' CMD_Info_Drunk: '&v1 est &6&v2% &fivre, avec une qualité de &6&v3' CMD_Info_NotDrunk: '&v1 nest pas ivre' CMD_NonStatic: '&eLa boisson n´est plus statique et vieillira normalement dans les barils.' -CMD_PersistRemove: '&cLes boissons persisitantes ne peuvent pas être supprimées de la base de donnée. Cela rendrait toute copie inutile!' -CMD_Persistent: '&aLa boisson est maintenant Persistante et Statique et peut être copiée comme n´importe quel autre objet. Vous pouvez enlever la persistance avec la même commande.' CMD_Player: '&a&v1 est maintenant &6&v2% &aivre, avec une qualité de &6&v3' CMD_Player_Error: '&cLa qualité doit être comprise entre 1 et 10 !' CMD_Reload: '&aLa config a été reload avec succès.' @@ -30,7 +27,6 @@ CMD_Configname: '&aName for the Config is: &f&v1' CMD_Configname_Error: '&cCould not find item in your hand' CMD_Static: '&aLa boisson est maintenant statique et ne changera pas dans les barils ou les stands d´alchimie.' CMD_UnLabel: '&aLabel supprimé!' -CMD_UnPersist: '&aPersistance et staticité supprimées. &eChaque copie potentionelle NON crée avec /brew copy deviendra inutile maintenant!' # Erreurs Error_ConfigUpdate: 'La version de la configuration de Brewery est inconnue: v&v1, la config n´a pas été mise à jour !' @@ -38,7 +34,6 @@ Error_ItemNotPotion: '&cL´item dans votre main n´a pas pu être identifié com Error_NoBarrelAccess: '&cVous n´avez pas la permission d´acceder à ce baril !' Error_NoBrewName: '&cAucune recette avec le nom: &v1&c n´a été trouvée!' Error_NoPermissions: '&cVous ne pouvez pas faire ça !' -Error_PersistStatic: '&cLes boissons persistantes sont toujours statiques!' Error_PlayerCommand: '&cCette commande ne peut être executée que par un joueur !' Error_Recipeload: '&cToutes les recettes n´ont pu être restaurées: Plus d´informations dans les logs du serveur !' Error_ShowHelp: Utilisez &6/brew help &fpour regarder l´aide @@ -56,7 +51,6 @@ Help_Delete: '&6/brew delete &9Supprime la potion qui est dans votre main' Help_Help: '&6/brew help [Page] &9Affiche une page spécifique de l´aide' Help_Info: '&6/brew info&9 Affiche votre ivresse actuelle ainsi que sa qualité' Help_InfoOther: '&6/brew info [Player]&9 Affiche l´ivresse actuelle de , cette commande affiche aussi sa qualité.' -Help_Persist: '&6/brew persist &9Crée une boisson persistante -> peut être copiée par n´importe quel plugin et technique' Help_Player: '&6/brew <%Drunkeness> [Quality]&9 Définit l´ivresse (et la qualité) du joueur' Help_Reload: '&6/brew reload &9Reload la config' Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config' diff --git a/resources/languages/it.yml b/resources/languages/it.yml index 952fe33..4a2a003 100755 --- a/resources/languages/it.yml +++ b/resources/languages/it.yml @@ -16,13 +16,10 @@ Brew_fermented: fermentata Brew_minute: minuto # Comandi -CMD_CopyNotPersistent: '&eLe copie di questa miscela non saranno né persistenti né statiche!' CMD_Copy_Error: '&6&v1 &cLe copie di questa pozione non stavano nell''inventario.' CMD_Info_Drunk: '&v1 è &6&v2% &fsbronzo, con una qualità di &6&v3' CMD_Info_NotDrunk: '&v1 non è sbronzo' CMD_NonStatic: '&eLa pozione non è più statica ed invecchierà normalmente nei barili' -CMD_PersistRemove: '&cLe miscele persistenti non possono essere rimosse dal Database. Renderebbe le loro copie inutili!' -CMD_Persistent: '&aLa pozione è ora persistente e statica e può essere copiata come qualunque altro oggetto. Puoi rimuovere la persistenza con lo stesso comando.' CMD_Player: '&a&v1 è ora &6&v2% &asbronzo, con una qualità di &6&v3' CMD_Player_Error: '&cLa qualità deve essere fra 1 e 10!' CMD_Reload: '&aLa configurazione è stata ricaricata con successo' @@ -30,7 +27,6 @@ CMD_Configname: '&aName for the Config is: &f&v1' CMD_Configname_Error: '&cCould not find item in your hand' CMD_Static: '&aLa pozione è ora statica e non cambierà né nei barili né negli alambicchi.' CMD_UnLabel: '&aEtichetta rimossa!' -CMD_UnPersist: '&aPersistenza e staticità rimosse. &eOgni copia non fatta con ''/brew copy'' potrebbe diventare inutile ora!' # Errori Error_ConfigUpdate: 'Versione della configurazione di Brewery sconosciuta: v&v1, la configurazione non è stato aggiornata!' @@ -38,7 +34,6 @@ Error_ItemNotPotion: '&cL''oggetto nella tua mano non è una pozione!' Error_NoBarrelAccess: '&cNon hai il permesso di aprire questo barile!' Error_NoBrewName: '&cNon è stata trovata nessuna ricetta chiamata ''&v1&c''!' Error_NoPermissions: '&cNon hai il permesso di farlo!' -Error_PersistStatic: '&cLe pozioni persistenti sono sempre statiche!' Error_PlayerCommand: '&cQuesto comando può essere eseguito solo da un giocatore!' Error_Recipeload: '&cNon è stato possibile recuperare tutte le ricette: ulteriori informazioni nel file log!' Error_ShowHelp: Usa &6/brew help &fper visualizzare l''aiuto @@ -56,7 +51,6 @@ Help_Delete: '&6/brew delete &9Elimina la pozione nella tua mano' Help_Help: '&6/brew help &9Mostra una specifica pagina dell''aiuto' Help_Info: '&6/brew info&9 Mostra il tuo livello di sbronza attuale e la qualità' Help_InfoOther: '&6/brew info [Giocatore]&9 Mostra l''attuale livello di sbronza e la qualità di [Giocatore]' -Help_Persist: '&6/brew persist &9Rendi una miscela persistente quindi copiabile normalmente in ogni modo e da ogni plugin.' Help_Player: '&6/brew <%Sbronza> [Qualità]&9 Imposta livello di sbronza (e qualità) di un giocatore.' Help_Reload: '&6/brew reload &9Ricarica la configurazione' Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config' diff --git a/resources/languages/tw.yml b/resources/languages/tw.yml index 7dfd0f7..d6707d4 100644 --- a/resources/languages/tw.yml +++ b/resources/languages/tw.yml @@ -16,13 +16,10 @@ Brew_fermented: 發酵 Brew_minute: 分鐘 # CMD -CMD_CopyNotPersistent: '&e這個釀造的副本不會持久或靜態!' CMD_Copy_Error: '&6&v1 &c藥水不適合你的庫存' CMD_Info_Drunk: '&v1 是 &6&v2% &f醉酒,酒的品質為 &6&v3' CMD_Info_NotDrunk: '&v1 沒有醉酒' CMD_NonStatic: '&e藥水不再是靜止的,會在桶木中老化.' -CMD_PersistRemove: '&c無法從數據庫中刪除持久性釀造.它會使任何副本無用!' -CMD_Persistent: '&a藥水現在是持久性和靜態,現在可以像任何其他項一樣被複製.您可以使用相同的命令刪除持久性.' CMD_Player: '&a&v1 現在是 &6&v2% &a醉酒,酒的品質為 &6&v3' CMD_Player_Error: '&c酒的品質必須在1到10之間!' CMD_Reload: '&a設定檔已成功重新加載' @@ -30,7 +27,6 @@ CMD_Configname: '&aName for the Config is: &f&v1' CMD_Configname_Error: '&cCould not find item in your hand' CMD_Static: '&a藥水現在是靜止的,不會在桶或釀造台上變化.' CMD_UnLabel: '&a標籤已刪除!' -CMD_UnPersist: '&a持久性和靜態刪除.&e每個隱藏的副本都不用''/brew copy'',現在可能變得無用了!' # Error Error_ConfigUpdate: '未知 釀酒 設定檔版本: v&v1,設定檔沒有更新!' @@ -38,7 +34,6 @@ Error_ItemNotPotion: '&c你手上的物品不能確定為藥水' Error_NoBarrelAccess: '&c你沒有權限存取!' Error_NoBrewName: '&c沒有這個配方: ''&v1&c'' 找到!' Error_NoPermissions: '&c你沒有權限這樣做!' -Error_PersistStatic: '&c持久藥水總是靜止的!' Error_PlayerCommand: '&c這個指令只能由玩家執行!' Error_Recipeload: '&c並非所有配方都可以有用:服務器日誌中的更多信息!' Error_ShowHelp: 使用 &6/brew help &f顯示幫助 @@ -56,7 +51,6 @@ Help_Delete: '&6/brew delete &9刪除你手中的藥水' Help_Help: '&6/brew help [頁數] &9顯示幫助的頁面' Help_Info: '&6/brew info&9 顯示您當前的醉酒和酒的品質' Help_InfoOther: '&6/brew info [玩家]&9 顯示 [玩家] 當前醉酒程度和酒的品質程度' -Help_Persist: '&6/brew persist &9使釀造持久化 - >可通過任何插件和技術進行複制' Help_Player: '&6/brew <玩家> <%醉酒> [數量]&9 設置玩家的醉酒度(和酒的品質)' Help_Reload: '&6/brew reload &9重新加載設定檔' Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config' diff --git a/resources/languages/zh.yml b/resources/languages/zh.yml index 41b8fdb..ea7780f 100644 --- a/resources/languages/zh.yml +++ b/resources/languages/zh.yml @@ -16,13 +16,10 @@ Brew_fermented: 炖煮发酵 Brew_minute: 分钟 # CMD -CMD_CopyNotPersistent: '&e复制饮品的数据并未静滞或固定! 请多加注意!' CMD_Copy_Error: '&6&v1&r, &c你的背包塞不下了.' CMD_Info_Drunk: '&v1醉酒程度为&6&v2%&f, 醉酒质量为&6&v3.' CMD_Info_NotDrunk: '&v1没醉.' CMD_NonStatic: '&e饮品已被取消静滞, 现在可以正常地进行蒸馏或进行木桶熟成了.' -CMD_PersistRemove: '&c当前饮品的数据已被固定, 无法从数据库中移除, 否则将使得任何该饮品的复制品无效!' -CMD_Persistent: '&a当前饮品的数据已被固定. 现在你可以正常地对该饮品进行复制. 再执行一次该命令将会撤销固定.' CMD_Player: '&a&v1醉酒程度为&6&v2%&f, 醉酒质量为&6&v3.' CMD_Player_Error: '&c醉酒质量必须在1到10之间.' CMD_Reload: '&a配置文件重载成功.' @@ -30,7 +27,6 @@ CMD_Configname: '配置文件中&aName的名字是: &f&v1' CMD_Configname_Error: '&c无法找到物品名称' CMD_Static: '&a饮品已被静滞, 现在其无法被蒸馏或进行木桶熟成.' CMD_UnLabel: '&a标签已被去除!' -CMD_UnPersist: '&a当前饮品的数据已被撤销固定, 通过非指令方式(/brew copy)复制的饮品将可能无效!' # Error Error_ConfigUpdate: '未知的配置版本:v&v1, 插件配置未更新!' @@ -38,7 +34,6 @@ Error_ItemNotPotion: '&c你手上的物品并未成功地被认定为饮品!' Error_NoBarrelAccess: '&c你没有权限与该木桶互动!' Error_NoBrewName: '&c未找到名字为''&v1&c''的饮品!' Error_NoPermissions: '&c你没有权限这样做.' -Error_PersistStatic: '&c数据固定的饮品一定是静滞化饮品!' Error_PlayerCommand: '&c该命令必须由玩家执行.' Error_Recipeload: '&c加载饮品配方时出现问题, 请查看控制台以获得详细信息!' Error_ShowHelp: 使用&6/brew help&f以查看帮助 @@ -56,7 +51,6 @@ Help_Delete: '&6/brew delete &9删除手中的饮品.' Help_Help: '&6/brew help [页数] &9显示某一页的帮助.' Help_Info: '&6/brew info &9显示你目前的醉酒程度与质量, 醉酒质量将会影响宿醉程度.' Help_InfoOther: '&6/brew info [指定玩家] &9显示指定玩家目前的醉酒程度与质量.' -Help_Persist: '&6/brew persist &9将手中的饮品数据固定在服务端, 这将允许其被任何手段复制并饮用而不影响原饮品本体.' Help_Player: '&6/brew <目标玩家> <%醉酒程度> [醉酒质量] &9设定目标玩家的醉酒程度与质量.' Help_Reload: '&6/brew reload &9重载插件配置, 可用以重载饮品配方.' Help_Configname: '&6/brew ItemName &9显示手中物品的配置名称' diff --git a/resources/plugin.yml b/resources/plugin.yml index f08207a..116b6a4 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -41,7 +41,6 @@ permissions: brewery.cmd.create: true brewery.cmd.copy: true brewery.cmd.delete: true - brewery.cmd.persist: true brewery.cmd.static: true brewery.cmd.reload: true # * @@ -69,8 +68,6 @@ permissions: description: Copy Potions brewery.cmd.delete: description: Delete Potions - brewery.cmd.persist: - description: Make Potions Persistent brewery.cmd.static: description: Make Potions Static brewery.cmd.reload: diff --git a/src/com/dre/brewery/BDistiller.java b/src/com/dre/brewery/BDistiller.java index c65ae09..0c0c757 100644 --- a/src/com/dre/brewery/BDistiller.java +++ b/src/com/dre/brewery/BDistiller.java @@ -67,6 +67,10 @@ public class BDistiller { distiller.start(); } + public static boolean isTrackingDistiller(Block block) { + return trackedDistillers.containsKey(block); + } + // Returns a Brew or null for every Slot in the BrewerInventory public static Brew[] getDistillContents(BrewerInventory inv) { ItemStack item; diff --git a/src/com/dre/brewery/Brew.java b/src/com/dre/brewery/Brew.java index cf9011f..d5964ca 100644 --- a/src/com/dre/brewery/Brew.java +++ b/src/com/dre/brewery/Brew.java @@ -463,27 +463,6 @@ public class Brew implements Cloneable { return currentRecipe; } - // Not needed anymore - // TODO remove - @Deprecated - public boolean isPersistent() { - return persistent; - } - - // Make a potion persistent to not delete it when drinking it - // Not needed anymore - @Deprecated - public void makePersistent() { - persistent = true; - } - - // Remove the Persistence Flag from a brew, so it will be normally deleted when drinking it - // Not needed anymore - @Deprecated - public void removePersistence() { - persistent = false; - } - public boolean isStatic() { return immutable; } @@ -866,7 +845,6 @@ public class Brew implements Cloneable { recipe = in.readUTF(); } unlabeled = (bools & 16) != 0; - //persistent = (bools & 32) != 0; immutable = (bools & 32) != 0; ingredients = BIngredients.load(in, dataVersion); setRecipeFromString(recipe); diff --git a/src/com/dre/brewery/MCBarrel.java b/src/com/dre/brewery/MCBarrel.java index a0f4019..6fda3c3 100644 --- a/src/com/dre/brewery/MCBarrel.java +++ b/src/com/dre/brewery/MCBarrel.java @@ -80,8 +80,7 @@ public class MCBarrel { // This is the last viewer for (ItemStack item : inv.getContents()) { if (item != null) { - Brew brew = Brew.get(item); - if (brew != null) { // TODO replace this and others with isBrew + if (Brew.isBrew(item)) { // We found a brew, so set time on this Barrel if (inv.getHolder() instanceof org.bukkit.block.Barrel) { Barrel barrel = (Barrel) inv.getHolder(); @@ -101,8 +100,7 @@ public class MCBarrel { brews = 0; for (ItemStack item : inv.getContents()) { if (item != null) { - Brew brew = Brew.get(item); - if (brew != null) { + if (Brew.isBrew(item)) { brews++; } } @@ -113,6 +111,7 @@ public class MCBarrel { return inv; } + public static void onUpdate() { mcBarrelTime++; } @@ -133,11 +132,9 @@ public class MCBarrel { case SWAP_WITH_CURSOR: // Placing Brew in MC Barrel if (event.getCursor() != null && event.getClickedInventory() != null && event.getClickedInventory().getType() == InventoryType.BARREL && event.getCursor().getType() == Material.POTION) { - Brew b = Brew.get(event.getCursor()); - if (b != null) { + if (Brew.isBrew(event.getCursor())) { if (event.getAction() == InventoryAction.SWAP_WITH_CURSOR && event.getCurrentItem() != null && event.getCurrentItem().getType() == Material.POTION) { - Brew bb = Brew.get(event.getCurrentItem()); - if (bb != null) { + if (Brew.isBrew(event.getCurrentItem())) { // The item we are swapping with is also a brew, dont change the count and allow break; } @@ -150,8 +147,7 @@ public class MCBarrel { if (event.getCurrentItem() != null && event.getCurrentItem().getType() == Material.POTION && event.getClickedInventory() != null) { if (event.getClickedInventory().getType() == InventoryType.BARREL) { // Moving Brew out of MC Barrel - Brew b = Brew.get(event.getCurrentItem()); - if (b != null) { + if (Brew.isBrew(event.getCurrentItem())) { if (brews == -1) { countBrews(); } @@ -160,8 +156,7 @@ public class MCBarrel { break; } else if (event.getClickedInventory().getType() == InventoryType.PLAYER) { // Moving Brew into MC Barrel - Brew b = Brew.get(event.getCurrentItem()); - if (b != null) { + if (Brew.isBrew(event.getCurrentItem())) { adding = true; } } @@ -175,8 +170,7 @@ public class MCBarrel { case COLLECT_TO_CURSOR: // Pickup Brew from MC Barrel if (event.getCurrentItem() != null && event.getClickedInventory() != null && event.getClickedInventory().getType() == InventoryType.BARREL && event.getCurrentItem().getType() == Material.POTION) { - Brew b = Brew.get(event.getCurrentItem()); - if (b != null) { + if (Brew.isBrew(event.getCurrentItem())) { if (brews == -1) { countBrews(); } diff --git a/src/com/dre/brewery/filedata/LanguageReader.java b/src/com/dre/brewery/filedata/LanguageReader.java index bd44779..ba9105b 100644 --- a/src/com/dre/brewery/filedata/LanguageReader.java +++ b/src/com/dre/brewery/filedata/LanguageReader.java @@ -92,11 +92,7 @@ public class LanguageReader { defaults.add(new Tuple<>("CMD_Info_NotDrunk", "&v1 is not drunk")); defaults.add(new Tuple<>("CMD_Info_Drunk", "&v1 is &6&v2% &fdrunk, with a quality of &6&v3")); defaults.add(new Tuple<>("CMD_UnLabel", "&aLabel removed!")); - defaults.add(new Tuple<>("CMD_Persistent", "&aPotion is now Persistent and Static and may now be copied like any other item. You can remove the persistence with the same command.")); - defaults.add(new Tuple<>("CMD_PersistRemove", "&cPersistent Brews cannot be removed from the Database. It would render any copies of them useless!")); - defaults.add(new Tuple<>("CMD_UnPersist", "&aPersistence and static Removed. &eEvery Potential copy NOT made with '/brew copy' could become useless now!")); defaults.add(new Tuple<>("CMD_Copy_Error", "&6&v1 &cPotions did not fit into your inventory")); - defaults.add(new Tuple<>("CMD_CopyNotPersistent", "&eThese copies of this Brew will not be persistent or static!")); defaults.add(new Tuple<>("CMD_Static", "&aPotion is now static and will not change in barrels or brewing stands.")); defaults.add(new Tuple<>("CMD_NonStatic", "&ePotion is not static anymore and will normally age in barrels.")); @@ -108,7 +104,6 @@ public class LanguageReader { defaults.add(new Tuple<>("Error_NoBrewName", "&cNo Recipe with Name: '&v1&c' found!")); defaults.add(new Tuple<>("Error_Recipeload", "&cNot all recipes could be restored: More information in the server log!")); defaults.add(new Tuple<>("Error_ConfigUpdate", "Unknown Brewery config version: v&v1, config was not updated!")); - defaults.add(new Tuple<>("Error_PersistStatic", "&cPersistent potions are always static!")); /* Permissions */ defaults.add(new Tuple<>("Error_NoPermissions", "&cYou don't have permissions to do this!")); @@ -135,7 +130,6 @@ public class LanguageReader { defaults.add(new Tuple<>("Help_WakeupRemove", "&6/brew wakeup remove &9Removes the wakeup point with ")); defaults.add(new Tuple<>("Help_Reload", "&6/brew reload &9Reload config")); defaults.add(new Tuple<>("Help_Configname", "&6/brew ItemName &9Display name of item in hand for the config")); - defaults.add(new Tuple<>("Help_Persist", "&6/brew persist &9Make Brew persistent -> copyable by any plugin and technique")); defaults.add(new Tuple<>("Help_Static", "&6/brew static &9Make Brew static -> No further ageing or distilling")); defaults.add(new Tuple<>("Help_Create", "&6/brew create [Quality] [Player] &9Create a Brew with optional quality (1-10)")); diff --git a/src/com/dre/brewery/listeners/CommandListener.java b/src/com/dre/brewery/listeners/CommandListener.java index 8ab4463..0a88b60 100644 --- a/src/com/dre/brewery/listeners/CommandListener.java +++ b/src/com/dre/brewery/listeners/CommandListener.java @@ -101,14 +101,6 @@ public class CommandListener implements CommandExecutor { p.msg(sender, p.languageReader.get("Error_NoPermissions")); } - } else if (cmd.equalsIgnoreCase("persist") || cmd.equalsIgnoreCase("persistent")) { - - if (sender.hasPermission("brewery.cmd.persist")) { - cmdPersist(sender); - } else { - p.msg(sender, p.languageReader.get("Error_NoPermissions")); - } - } else if (cmd.equalsIgnoreCase("static")) { if (sender.hasPermission("brewery.cmd.static")) { @@ -186,18 +178,19 @@ public class CommandListener implements CommandExecutor { cmds.add (p.languageReader.get("Help_UnLabel")); } - if (sender.hasPermission("brewery.cmd.copy")) { - cmds.add (p.languageReader.get("Help_Copy")); - } - - if (sender.hasPermission("brewery.cmd.delete")) { - cmds.add (p.languageReader.get("Help_Delete")); - } - if (sender.hasPermission("brewery.cmd.infoOther")) { cmds.add (p.languageReader.get("Help_InfoOther")); } + if (sender.hasPermission("brewery.cmd.create")) { + cmds.add(p.languageReader.get("Help_Create")); + } + + if (sender.hasPermission("brewery.cmd.reload")) { + cmds.add(p.languageReader.get("Help_Configname")); + cmds.add(p.languageReader.get("Help_Reload")); + } + if (sender.hasPermission("brewery.cmd.wakeup")) { cmds.add(p.languageReader.get("Help_Wakeup")); cmds.add(p.languageReader.get("Help_WakeupList")); @@ -207,21 +200,16 @@ public class CommandListener implements CommandExecutor { cmds.add(p.languageReader.get("Help_WakeupRemove")); } - if (sender.hasPermission("brewery.cmd.reload")) { - cmds.add(p.languageReader.get("Help_Configname")); - cmds.add(p.languageReader.get("Help_Reload")); - } - - if (sender.hasPermission("brewery.cmd.persist")) { - cmds.add(p.languageReader.get("Help_Persist")); - } - if (sender.hasPermission("brewery.cmd.static")) { cmds.add(p.languageReader.get("Help_Static")); } - if (sender.hasPermission("brewery.cmd.create")) { - cmds.add(p.languageReader.get("Help_Create")); + if (sender.hasPermission("brewery.cmd.copy")) { + cmds.add (p.languageReader.get("Help_Copy")); + } + + if (sender.hasPermission("brewery.cmd.delete")) { + cmds.add (p.languageReader.get("Help_Delete")); } return cmds; @@ -393,8 +381,7 @@ public class CommandListener implements CommandExecutor { Player player = (Player) sender; ItemStack hand = player.getItemInHand(); if (hand != null) { - Brew brew = Brew.get(hand); - if (brew != null) { + if (Brew.isBrew(hand)) { while (count > 0) { ItemStack item = hand.clone(); if (!(player.getInventory().addItem(item)).isEmpty()) { @@ -403,9 +390,6 @@ public class CommandListener implements CommandExecutor { } count--; } - if (brew.isPersistent()) { - p.msg(sender, p.languageReader.get("CMD_CopyNotPersistent")); - } return; } } @@ -424,44 +408,8 @@ public class CommandListener implements CommandExecutor { Player player = (Player) sender; ItemStack hand = player.getItemInHand(); if (hand != null) { - Brew brew = Brew.get(hand); - if (brew != null) { - if (brew.isPersistent()) { - p.msg(sender, p.languageReader.get("CMD_PersistRemove")); - } else { - //brew.remove(hand); - player.setItemInHand(new ItemStack(Material.AIR)); - } - return; - } - } - p.msg(sender, p.languageReader.get("Error_ItemNotPotion")); - - } - - @Deprecated - public void cmdPersist(CommandSender sender) { - - if (!(sender instanceof Player)) { - p.msg(sender, p.languageReader.get("Error_PlayerCommand")); - return; - } - Player player = (Player) sender; - ItemStack hand = player.getItemInHand(); - if (hand != null) { - Brew brew = Brew.get(hand); - if (brew != null) { - if (brew.isPersistent()) { - brew.removePersistence(); - brew.setStatic(false, hand); - p.msg(sender, p.languageReader.get("CMD_UnPersist")); - } else { - brew.makePersistent(); - brew.setStatic(true, hand); - p.msg(sender, p.languageReader.get("CMD_Persistent")); - } - brew.touch(); - brew.save(hand); + if (Brew.isBrew(hand)) { + player.setItemInHand(new ItemStack(Material.AIR)); return; } } @@ -482,12 +430,8 @@ public class CommandListener implements CommandExecutor { Brew brew = Brew.get(hand); if (brew != null) { if (brew.isStatic()) { - if (!brew.isPersistent()) { - brew.setStatic(false, hand); - p.msg(sender, p.languageReader.get("CMD_NonStatic")); - } else { - p.msg(sender, p.languageReader.get("Error_PersistStatic")); - } + brew.setStatic(false, hand); + p.msg(sender, p.languageReader.get("CMD_NonStatic")); } else { brew.setStatic(true, hand); p.msg(sender, p.languageReader.get("CMD_Static")); diff --git a/src/com/dre/brewery/listeners/InventoryListener.java b/src/com/dre/brewery/listeners/InventoryListener.java index f3f33a5..f27b9ae 100644 --- a/src/com/dre/brewery/listeners/InventoryListener.java +++ b/src/com/dre/brewery/listeners/InventoryListener.java @@ -31,7 +31,6 @@ public class InventoryListener implements Listener { /** * Start tracking distillation for a person when they open the brewer window. - * @param event */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBrewerOpen(InventoryOpenEvent event) { @@ -46,7 +45,6 @@ public class InventoryListener implements Listener { /** * Stop tracking distillation for a person when they close the brewer window. - * @param event */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBrewerClose(InventoryCloseEvent event) { @@ -72,8 +70,6 @@ public class InventoryListener implements Listener { * Clicking can either start or stop the new brew distillation tracking. * Note that server restart will halt any ongoing brewing processes and * they will _not_ restart until a new click event. - * - * @param event the Click event. */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBrewerClick(InventoryClickEvent event) { @@ -306,12 +302,44 @@ public class InventoryListener implements Listener { // block the pickup of items where getPickupDelay is > 1000 (puke) @EventHandler(ignoreCancelled = true) - public void onInventoryPickupItem(InventoryPickupItemEvent event){ + public void onHopperPickupPuke(InventoryPickupItemEvent event){ if (event.getItem().getPickupDelay() > 1000 && event.getItem().getItemStack().getType() == BConfig.pukeItem) { event.setCancelled(true); } } + // Block taking out items from running distillers, + // Convert Color Lore from MC Barrels back into normal color on taking out + @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH) + public void onHopperMove(InventoryMoveItemEvent event){ + if (event.getSource() instanceof BrewerInventory) { + if (BDistiller.isTrackingDistiller(((BrewerInventory) event.getSource()).getHolder().getBlock())) { + event.setCancelled(true); + } + return; + } + + if (!P.use1_14) return; + + if (event.getSource().getType() == InventoryType.BARREL) { + ItemStack item = event.getItem(); + if (item.getType() == Material.POTION && Brew.isBrew(item)) { + PotionMeta meta = (PotionMeta) item.getItemMeta(); + if (BrewLore.hasColorLore(meta)) { + // has color lore, convert lore back to normal + Brew brew = Brew.get(meta); + if (brew != null) { + BrewLore lore = new BrewLore(brew, meta); + lore.convertLore(false); + lore.write(); + item.setItemMeta(meta); + event.setItem(item); + } + } + } + } + } + @EventHandler public void onInventoryClose(InventoryCloseEvent event) { if (!P.use1_14) return;