Handle Hoppers for Distillers and MCBarrels

Removed most mentions of Persistent
This commit is contained in:
Sn0wStorm 2019-11-14 15:46:15 +01:00
parent 3332354846
commit f483f03560
13 changed files with 65 additions and 162 deletions

View File

@ -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 <id> &9Teleportiert zu einem Aufwachpunkt'
Help_WakeupList: '&6/brew Wakeup List <Seite> [Welt]&9 Listet die Aufwachpunkte einer Welt auf'
Help_WakeupRemove: '&6/brew Wakeup Remove <id> &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 <Rezept> [Qualität] [Spieler] &9Erstellt einen Trank mit optionaler Qualität (1-10)'

View File

@ -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 <Player> <%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'

View File

@ -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 <PLAYER>, cette commande affiche aussi sa qualité.<Player>'
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 <Player> <%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'

View File

@ -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 <Pagina> &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 <Giocatore> <%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'

View File

@ -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'

View File

@ -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显示手中物品的配置名称'

View File

@ -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:

View File

@ -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;

View File

@ -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);

View File

@ -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();
}

View File

@ -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 <id> &9Removes the wakeup point with <id>"));
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 <Recipe> [Quality] [Player] &9Create a Brew with optional quality (1-10)"));

View File

@ -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"));

View File

@ -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;