Config updater for 2.0

+ config fixes & fix for unlabeled
This commit is contained in:
Sn0wStorm
2019-12-01 23:50:56 +01:00
parent c6ea0cd493
commit 4f0b56e2dc
19 changed files with 845 additions and 302 deletions
+58
View File
@@ -0,0 +1,58 @@
# -- Eigene Items Definieren --
# Die festgelegte id kann dann in einem Rezept verwendet werden
# matchAny: true wenn es schon reicht wenn eine der Angaben zutrifft
# material: Welche Art das Item haben muss
# name: Welchen Namen das Item haben muss (Farbcodes möglich: z.b. &6)
# lore: Was in der Lore des Items stehen muss
customItems:
bsp-item:
# Ein Barriere Item das Mauer heißt und in der Lore die angegebene Zeile hat
%%%%MAT1%%%%
name: 'Mauer'
lore:
- '&7Besonders gut geschützt'
bsp-item2:
# Mit matchAny muss nur eine der Angaben zutreffen.
# Hier also eine der Türarten, oder ein Item namens Buchenholztür, oder ein Item mit 'Eine Tür' in der Lore
matchAny: true
%%%%MAT2%%%%
name:
- 'Buchenholztür'
lore:
- 'Eine Tür'
himbeere:
name: '&cHimbeere'
# -- Zutaten im Kessel --
# Hier kann angegeben werden welche Zutaten in den Kessel getan werden können und was mit ihnen geschieht.
# name: Name des Basistrankes der aus dem Kessel kommt (Farbcodes möglich: z.b. &6)
# ingredients: Auflistung von 'Material/Anzahl'
# Halte ein Item in der Hand und benutze /brew ItemName um dessen Material herauszufinden und für ein Rezept zu benutzen
# (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden)
# Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Farbe des Trankes der aus dem Kessel kommt
# Benutzbare Farben: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Oder RGB Farben (Hex: also zB '99FF33') (Ohne #) (mit '') (Einfach nach "HTML color" im Internet suchen)
# lore: Auflistung von zusätzlichem Text auf dem Trank. (Farbcodes möglich: z.b. &6)
cauldron:
bsp:
name: Beispiel
ingredients:
- Bedrock/2
- Diamond
color: BLACK
lore:
- Ein Beispiel für einen Basistrank
- So kommt er aus dem Kessel
# -- Eine Zutat: --
+58
View File
@@ -0,0 +1,58 @@
# -- Define custom items --
# The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item
customItems:
ex-item:
# A Barrier item called Wall and has the given line in its lore
%%%%MAT1%%%%
name: 'Wall'
lore:
- '&7Very well protected'
ex-item2:
# Using matchAny only one of the following has to match.
# In this case on of the door types, or an item called Beechwood Door, or an item with 'A door' in its lore
matchAny: true
%%%%MAT2%%%%
name:
- 'Beechwood Door'
lore:
- 'A door'
rasp:
name: '&cRaspberry'
# -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron:
ex:
name: Example
ingredients:
- Bedrock/2
- Diamond
color: BLACK
lore:
- An example for a Base Potion
- This is how it comes out of a Cauldron
# -- One Ingredient: --
+59
View File
@@ -0,0 +1,59 @@
# -- Définir des objets personnalisés --
# L'id défini peut ensuite être utilisé dans les recettes
# matchAny: si c'est déjà assez si l'une des infos correspond
# material: le type d'article à utiliser
# name: Quel nom l'article doit porter (codes de formatage possibles : tels que &6)
# lore: Ce qui doit être dans la lore de l'objet
customItems:
ex-item:
# Un objet Barrière appelé "Wall" et qui a la ligne donnée dans sa lore
%%%%MAT1%%%%
name: 'Wall'
lore:
- '&7Very well protected'
ex-item2:
# En utilisant matchAny, un seul des éléments suivants doit correspondre.
# Dans ce cas, l'un des types de porte, ou un article appelé "Beechwood Door", ou un objet avec "A door" dans sa lore.
matchAny: true
%%%%MAT2%%%%
name:
- 'Beechwood Door'
lore:
- 'A door'
rasp:
name: '&cRaspberry'
# -- Ingrédients dans le chaudron --
# Quels sont les ingrédients acceptés par le chaudron et la potion de base qui en résulte
# name: Nom de la potion de base qui sort du chaudron (codes de formatage possibles : tels que &6)
# ingredients: Liste des 'matériaux/montant'
# Avec un objet en main, utilisez /brew ItemName pour obtenir son matériau pour une recette de cuisine
# (Les id d'objets à la place des matériaux sont obsolètes pour bukkit)
# Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color : Couleur de la potion provenant d'un chaudron.
# Couleurs disponibles : DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# (Dans l'ordre : Rouge foncé, Rouge, Rouge clair, Orange, Rose, Bleu, Cyan, Eau, Vert, Noir, Gris, Gris clair)
# Ou couleurs RGB (hex: par exemple '99FF33') (avec '') (recherche de "HTML color" sur internet)
# lore: Liste de texte supplémentaire sur la potion de base. (Formatting codes possible: such as &6)
cauldron:
ex:
name: Exemple
ingredients:
- Bedrock/2
- Diamond
color: BLACK
lore:
- Un exemple pour une potion de base
- Voici comment il sort d'un chaudron
# -- Un ingrédient: --
+16 -18
View File
@@ -80,7 +80,7 @@ autosave: 3
debug: false debug: false
# Config Version # Config Version
version: '1.8' version: '2.0'
oldMat: true oldMat: true
@@ -88,10 +88,10 @@ oldMat: true
# -- Eigene Items Definieren -- # -- Eigene Items Definieren --
# Die festgelegte id kann dann in einem Rezept verwendet werden # Die festgelegte id kann dann in einem Rezept verwendet werden
# matchAny: true wenn es schon reicht wenn eine der Angaben zutrifft # matchAny: true wenn es schon reicht wenn eine der Angaben zutrifft
# material: Welche Art das Item haben muss # material: Welche Art das Item haben muss
# name: Welchen Namen das Item haben muss (Farbcodes möglich: z.b. &6) # name: Welchen Namen das Item haben muss (Farbcodes möglich: z.b. &6)
# lore: Was in der Lore des Items stehen muss # lore: Was in der Lore des Items stehen muss
customItems: customItems:
bsp-item: bsp-item:
@@ -120,15 +120,15 @@ customItems:
# -- Zutaten im Kessel -- # -- Zutaten im Kessel --
# Hier kann angegeben werden welche Zutaten in den Kessel getan werden können und was mit ihnen geschieht. # Hier kann angegeben werden welche Zutaten in den Kessel getan werden können und was mit ihnen geschieht.
# name: Name des Basistrankes der aus dem Kessel kommt (Farbcodes möglich: z.b. &6) # name: Name des Basistrankes der aus dem Kessel kommt (Farbcodes möglich: z.b. &6)
# ingredients: Auflistung von 'Material/Anzahl' # ingredients: Auflistung von 'Material/Anzahl'
# Halte ein Item in der Hand und benutze /brew ItemName um dessen Material herauszufinden und für ein Rezept zu benutzen # Halte ein Item in der Hand und benutze /brew ItemName um dessen Material herauszufinden und für ein Rezept zu benutzen
# (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden) # (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden)
# Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Farbe des Trankes der aus dem Kessel kommt # color: Farbe des Trankes der aus dem Kessel kommt
# Benutzbare Farben: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Benutzbare Farben: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Oder RGB Farben (Hex: also zB '99FF33') (Ohne #) (mit '') (Einfach nach "HTML color" im Internet suchen) # Oder RGB Farben (Hex: also zB '99FF33') (Ohne #) (mit '') (Einfach nach "HTML color" im Internet suchen)
# lore: Auflistung von zusätzlichem Text auf dem Trank. (Farbcodes möglich: z.b. &6) # lore: Auflistung von zusätzlichem Text auf dem Trank. (Farbcodes möglich: z.b. &6)
cauldron: cauldron:
@@ -197,8 +197,8 @@ cauldron:
# (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden) # (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden)
# Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# Es kann ein Data-Wert (durability) angegeben werden, weglassen ignoriert diesen beim hinzufügen einer Zutat # Es kann ein Data-Wert (durability) angegeben werden, weglassen ignoriert diesen beim hinzufügen einer Zutat
# Wenn Vault installiert ist können normale englische Item Namen verwendet werden, anstatt Material, ID und Data! # Plugin Items mit 'Plugin:Id' (Im Moment ExoticGarden, Slimefun, MMOItems, Brewery)
# Vault erkennt Namen wie "Jungle Leaves" anstatt "LEAVES,3". Dies macht es viel einfacher! # Oder ein oben definiertes Custom Item
# cookingtime: Zeit in Echtminuten die die Zutaten kochen müssen # cookingtime: Zeit in Echtminuten die die Zutaten kochen müssen
# distillruns: Wie oft destilliert werden muss für vollen Alkoholgehalt (0=ohne Destillieren) # distillruns: Wie oft destilliert werden muss für vollen Alkoholgehalt (0=ohne Destillieren)
# distilltime: Wie lange (in sekunden) ein Destillations-Durchlauf braucht (0=Standard Zeit von 40 sek) MC Standard wäre 20 sek # distilltime: Wie lange (in sekunden) ein Destillations-Durchlauf braucht (0=Standard Zeit von 40 sek) MC Standard wäre 20 sek
@@ -229,12 +229,10 @@ recipes:
bsp: bsp:
name: Schlechtes Beispiel/Beispiel/Gutes Beispiel name: Schlechtes Beispiel/Beispiel/Gutes Beispiel
ingredients: ingredients:
- SUGAR_CANE/5
- DIAMOND/1 - DIAMOND/1
- INK_SACK,3/20 - INK_SACK,3/20
- WOOD,1/8 - WOOD,1/8
- BEDROCK/1 - BEDROCK/1
# - Jungle Leaves/64 # Nur mit Vault
- Brewery:Weißbier/2 - Brewery:Weißbier/2
# - ExoticGarden:Grape/3 # - ExoticGarden:Grape/3
- bsp-item/4 - bsp-item/4
+17 -18
View File
@@ -81,7 +81,7 @@ autosave: 3
debug: false debug: false
# Config Version # Config Version
version: '1.8' version: '2.0'
oldMat: true oldMat: true
@@ -89,10 +89,10 @@ oldMat: true
# -- Define custom items -- # -- Define custom items --
# The defined id can then be used in recipes # The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches # matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be # material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6) # name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item # lore: What has to be in the lore of the item
customItems: customItems:
ex-item: ex-item:
@@ -121,15 +121,15 @@ customItems:
# -- Ingredients in the Cauldron -- # -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them # Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6) # name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount' # ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe # With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron. # color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet) # Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6) # lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
@@ -198,8 +198,8 @@ cauldron:
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# You can specify a data (durability) value, omitting it will ignore the data value of the added ingredient # You can specify a data (durability) value, omitting it will ignore the data value of the added ingredient
# If Vault is installed normal names can be used instead of material or id, so using Vault is highly recommended. # Plugin items with 'plugin:id' (Currently supporting ExoticGarden, Slimefun, MMOItems, Brewery)
# Vault will recognize things like "Jungle Leaves" instead of "LEAVES,3" # Or a custom item defined above
# cookingtime: Time in real minutes ingredients have to boil # cookingtime: Time in real minutes ingredients have to boil
# distillruns: How often it has to be distilled for full alcohol (0=without distilling) # distillruns: How often it has to be distilled for full alcohol (0=without distilling)
# distilltime: How long (in seconds) one distill-run takes (0=Default time of 40 sec) MC Default would be 20 sec # distilltime: How long (in seconds) one distill-run takes (0=Default time of 40 sec) MC Default would be 20 sec
@@ -236,8 +236,7 @@ recipes:
- Brewery:Wheatbeer/2 - Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3 # - ExoticGarden:Grape/3
- BEDROCK/1 - BEDROCK/1
# - Jungle Leaves/64 # Only with Vault - ex-item/4
# - Green Dye/6 # Only with Vault
cookingtime: 3 cookingtime: 3
distillruns: 2 distillruns: 2
distilltime: 60 distilltime: 60
+16 -19
View File
@@ -82,7 +82,7 @@ autosave: 3
debug: false debug: false
# Version de configuration # Version de configuration
version: '1.8' version: '2.0'
oldMat: true oldMat: true
@@ -90,10 +90,10 @@ oldMat: true
# -- Définir des objets personnalisés -- # -- Définir des objets personnalisés --
# L'id défini peut ensuite être utilisé dans les recettes # L'id défini peut ensuite être utilisé dans les recettes
# matchAny: si c'est déjà assez si l'une des infos correspond # matchAny: si c'est déjà assez si l'une des infos correspond
# material: le type d'article à utiliser # material: le type d'article à utiliser
# name: Quel nom l'article doit porter (codes de formatage possibles : tels que &6) # name: Quel nom l'article doit porter (codes de formatage possibles : tels que &6)
# lore: Ce qui doit être dans la lore de l'objet # lore: Ce qui doit être dans la lore de l'objet
customItems: customItems:
ex-item: ex-item:
@@ -122,16 +122,16 @@ customItems:
# -- Ingrédients dans le chaudron -- # -- Ingrédients dans le chaudron --
# Quels sont les ingrédients acceptés par le chaudron et la potion de base qui en résulte # Quels sont les ingrédients acceptés par le chaudron et la potion de base qui en résulte
# name: Nom de la potion de base qui sort du chaudron (codes de formatage possibles : tels que &6) # name: Nom de la potion de base qui sort du chaudron (codes de formatage possibles : tels que &6)
# ingredients: Liste des 'matériaux/montant' # ingredients: Liste des 'matériaux/montant'
# Avec un objet en main, utilisez /brew ItemName pour obtenir son matériau pour une recette de cuisine # Avec un objet en main, utilisez /brew ItemName pour obtenir son matériau pour une recette de cuisine
# (Les id d'objets à la place des matériaux sont obsolètes pour bukkit) # (Les id d'objets à la place des matériaux sont obsolètes pour bukkit)
# Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color : Couleur de la potion provenant d'un chaudron. # color : Couleur de la potion provenant d'un chaudron.
# Couleurs disponibles : DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Couleurs disponibles : DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# (Dans l'ordre : Rouge foncé, Rouge, Rouge clair, Orange, Rose, Bleu, Cyan, Eau, Vert, Noir, Gris, Gris clair) # (Dans l'ordre : Rouge foncé, Rouge, Rouge clair, Orange, Rose, Bleu, Cyan, Eau, Vert, Noir, Gris, Gris clair)
# Ou couleurs RGB (hex: par exemple '99FF33') (avec '') (recherche de "HTML color" sur internet) # Ou couleurs RGB (hex: par exemple '99FF33') (avec '') (recherche de "HTML color" sur internet)
# lore: Liste de texte supplémentaire sur la potion de base. (Formatting codes possible: such as &6) # lore: Liste de texte supplémentaire sur la potion de base. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
@@ -200,8 +200,6 @@ cauldron:
# Ex: 'Sugar_Cane' # Ex: 'Sugar_Cane'
# Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# Vous pouvez spécifier une data (Ex: 5,3 -> Planche de bois de jungle), si vous ne le faites pas la data ne sera pas prise en compte (Ex : 5 -> Bois en général) # Vous pouvez spécifier une data (Ex: 5,3 -> Planche de bois de jungle), si vous ne le faites pas la data ne sera pas prise en compte (Ex : 5 -> Bois en général)
# If Vault is installed normal names can be used instead of material or id, so using Vault is highly recommended.
# Vault will recognize things like "Jungle Leaves" instead of "5,3"
# Plugin items avec 'plugin:id' (Actuellement supporté ExoticGarden, Slimefun, MMOItems, Brewery) # Plugin items avec 'plugin:id' (Actuellement supporté ExoticGarden, Slimefun, MMOItems, Brewery)
# Ou un élément personnalisé défini ci-dessus # Ou un élément personnalisé défini ci-dessus
# cookingtime: Temps en minutes réelles durant lesquelles les ingrédients devront bouillir # cookingtime: Temps en minutes réelles durant lesquelles les ingrédients devront bouillir
@@ -245,8 +243,7 @@ recipes:
- Brewery:Wheatbeer/2 - Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3 # - ExoticGarden:Grape/3
- BEDROCK/1 - BEDROCK/1
# - Jungle Leaves/64 # Only with Vault - ex-item/4
# - Green Dye/6 # Only with Vault
cookingtime: 3 cookingtime: 3
distillruns: 2 distillruns: 2
distilltime: 60 distilltime: 60
+23 -26
View File
@@ -81,7 +81,7 @@ autosave: 3
debug: false debug: false
# Versione del config # Versione del config
version: '1.8' version: '2.0'
oldMat: true oldMat: true
@@ -89,10 +89,10 @@ oldMat: true
# -- Define custom items -- # -- Define custom items --
# The defined id can then be used in recipes # The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches # matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be # material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6) # name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item # lore: What has to be in the lore of the item
customItems: customItems:
ex-item: ex-item:
@@ -121,15 +121,15 @@ customItems:
# -- Ingredients in the Cauldron -- # -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them # Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6) # name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount' # ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe # With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron. # color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet) # Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6) # lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
@@ -144,39 +144,39 @@ cauldron:
# -- One Ingredient: -- # -- One Ingredient: --
wheat: wheat:
name: Fermented wheat name: Frumento fermentato
ingredients: WHEAT ingredients: WHEAT
sugarcane: sugarcane:
name: Sugar brew name: Miscela zuccherata
ingredients: SUGAR_CANE ingredients: SUGAR_CANE
color: 'f1ffad' # yellowish green color: 'f1ffad' # yellowish green
apple: apple:
name: Apple cider name: Sidro di mele
ingredients: APPLE ingredients: APPLE
potato: potato:
name: Potatomash name: Purè di patate
ingredients: POTATO_ITEM ingredients: POTATO_ITEM
grass: grass:
name: Boiled herbs name: Erbe bollite
ingredients: LONG_GRASS ingredients: LONG_GRASS
color: '99ff66' # bright green color: '99ff66' # bright green
rmushroom: rmushroom:
name: Mushroom brew name: Miscela ai funghi
ingredients: RED_MUSHROOM ingredients: RED_MUSHROOM
color: 'ff5c33' # amber red color: 'ff5c33' # amber red
cocoa: cocoa:
name: Chocolately brew name: Miscela colorata
ingredients: INK_SACK ingredients: INK_SACK
color: '804600' # mocca color: '804600' # mocca
milk: milk:
name: Milky water name: Acqua lattea
ingredients: MILK_BUCKET ingredients: MILK_BUCKET
color: BRIGHT_GREY color: BRIGHT_GREY
@@ -196,8 +196,6 @@ cauldron:
# (Gli id invece dei materiali sono "disapprovati" da Bukkit e potrebbero non funzionare in futuro!) # (Gli id invece dei materiali sono "disapprovati" da Bukkit e potrebbero non funzionare in futuro!)
# Una lista di materiali può essere trovata qui: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Una lista di materiali può essere trovata qui: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# Puoi specificare dei dati dell'oggetto, ma se omesso sarà semplicemente ignorato. # Puoi specificare dei dati dell'oggetto, ma se omesso sarà semplicemente ignorato.
# Se Vault è installato i nomi normali possono essere usati invece del materiale o dell'id quindi l'uso di Vault è fortemente consigliato.
# Vault riconoscerà cose come "Jungle Leaves" invece di "LEAVES,3".
# Plugin items with 'plugin:id' (Currently supporting ExoticGarden, Slimefun, MMOItems, Brewery) # Plugin items with 'plugin:id' (Currently supporting ExoticGarden, Slimefun, MMOItems, Brewery)
# Or a custom item defined above # Or a custom item defined above
# cookingtime: Tempo in minuti richiesto dagli ingredienti per bollire # cookingtime: Tempo in minuti richiesto dagli ingredienti per bollire
@@ -236,8 +234,7 @@ recipes:
- Brewery:Wheatbeer/2 - Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3 # - ExoticGarden:Grape/3
- BEDROCK/1 - BEDROCK/1
# - Jungle Leaves/64 # Solo con Vault - ex-item/4
# - Green Dye/6 # Solo con Vault
cookingtime: 3 cookingtime: 3
distillruns: 2 distillruns: 2
distilltime: 60 distilltime: 60
+14 -15
View File
@@ -80,17 +80,17 @@ autosave: 3
debug: false debug: false
# Config Version # Config Version
version: '1.8' version: '2.0'
# -- Eigene Items Definieren -- # -- Eigene Items Definieren --
# Die festgelegte id kann dann in einem Rezept verwendet werden # Die festgelegte id kann dann in einem Rezept verwendet werden
# matchAny: true wenn es schon reicht wenn eine der Angaben zutrifft # matchAny: true wenn es schon reicht wenn eine der Angaben zutrifft
# material: Welche Art das Item haben muss # material: Welche Art das Item haben muss
# name: Welchen Namen das Item haben muss (Farbcodes möglich: z.b. &6) # name: Welchen Namen das Item haben muss (Farbcodes möglich: z.b. &6)
# lore: Was in der Lore des Items stehen muss # lore: Was in der Lore des Items stehen muss
customItems: customItems:
bsp-item: bsp-item:
@@ -120,16 +120,15 @@ customItems:
# -- Zutaten im Kessel -- # -- Zutaten im Kessel --
# Hier kann angegeben werden welche Zutaten in den Kessel getan werden können und was mit ihnen geschieht. # Hier kann angegeben werden welche Zutaten in den Kessel getan werden können und was mit ihnen geschieht.
# name: Name des Basistrankes der aus dem Kessel kommt (Farbcodes möglich: z.b. &6) # name: Name des Basistrankes der aus dem Kessel kommt (Farbcodes möglich: z.b. &6)
# ingredients: Auflistung von 'Material/Anzahl' # ingredients: Auflistung von 'Material/Anzahl'
# Halte ein Item in der Hand und benutze /brew ItemName um dessen Material herauszufinden und für ein Rezept zu benutzen # Halte ein Item in der Hand und benutze /brew ItemName um dessen Material herauszufinden und für ein Rezept zu benutzen
# (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden) # (Item-ids anstatt Material können in Bukkit nicht mehr benutzt werden)
# Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Eine Liste von allen Materialien kann hier gefunden werden: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Farbe des Trankes der aus dem Kessel kommt # color: Farbe des Trankes der aus dem Kessel kommt
# Benutzbare Farben: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Benutzbare Farben: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Oder RGB Farben (Hex: also zB '99FF33') (Ohne #) (mit '') (Einfach nach "HTML color" im Internet suchen) # Oder RGB Farben (Hex: also zB '99FF33') (Ohne #) (mit '') (Einfach nach "HTML color" im Internet suchen)
# lore: Auflistung von zusätzlichem Text auf dem Trank. (Farbcodes möglich: z.b. &6) # lore: Auflistung von zusätzlichem Text auf dem Trank. (Farbcodes möglich: z.b. &6)
cauldron: cauldron:
bsp: bsp:
+47 -47
View File
@@ -81,17 +81,17 @@ autosave: 3
debug: false debug: false
# Config Version # Config Version
version: '1.8' version: '2.0'
# -- Define custom items -- # -- Define custom items --
# The defined id can then be used in recipes # The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches # matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be # material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6) # name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item # lore: What has to be in the lore of the item
customItems: customItems:
ex-item: ex-item:
@@ -121,15 +121,15 @@ customItems:
# -- Ingredients in the Cauldron -- # -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them # Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6) # name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount' # ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe # With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron. # color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet) # Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6) # lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
@@ -365,41 +365,41 @@ recipes:
- POISON/10 - POISON/10
absinthe: absinthe:
name: Poor Absinthe/Absinthe/Strong Absinthe name: Poor Absinthe/Absinthe/Strong Absinthe
ingredients: ingredients:
- Grass/15 - Grass/15
cookingtime: 3 cookingtime: 3
distillruns: 6 distillruns: 6
distilltime: 80 distilltime: 80
color: GREEN color: GREEN
difficulty: 8 difficulty: 8
alcohol: 45 alcohol: 45
effects: effects:
- POISON/20-30 - POISON/20-30
potato_soup: potato_soup:
name: Potato soup name: Potato soup
ingredients: ingredients:
- Potato/5 - Potato/5
- Grass/3 - Grass/3
cookingtime: 3 cookingtime: 3
color: PINK color: PINK
difficulty: 1 difficulty: 1
effects: effects:
- HEAL/0-1 - HEAL/0-1
coffee: coffee:
name: Stale Coffee/Coffee/Strong Coffee name: Stale Coffee/Coffee/Strong Coffee
ingredients: ingredients:
- Cocoa_Beans/12 - Cocoa_Beans/12
- Milk_Bucket/2 - Milk_Bucket/2
cookingtime: 2 cookingtime: 2
color: BLACK color: BLACK
difficulty: 3 difficulty: 3
lore: + &8Probably a week old lore: + &8Probably a week old
effects: effects:
- REGENERATION/1/2-5 - REGENERATION/1/2-5
- SPEED/1/30-140 - SPEED/1/30-140
# More Recipes ideas: Cachaca, Gin, Whiskey, Tequila, Cider, etc. as well as high quality abbreviations like golden vodka etc. # More Recipes ideas: Cachaca, Gin, Whiskey, Tequila, Cider, etc. as well as high quality abbreviations like golden vodka etc.
# I will not add more Recipes to the default config, as they would be public and viewable by users to cheat. # I will not add more Recipes to the default config, as they would be public and viewable by users to cheat.
+15 -15
View File
@@ -82,17 +82,17 @@ autosave: 3
debug: false debug: false
# Version de configuration # Version de configuration
version: '1.8' version: '2.0'
# -- Définir des objets personnalisés -- # -- Définir des objets personnalisés --
# L'id défini peut ensuite être utilisé dans les recettes # L'id défini peut ensuite être utilisé dans les recettes
# matchAny: si c'est déjà assez si l'une des infos correspond # matchAny: si c'est déjà assez si l'une des infos correspond
# material: le type d'article à utiliser # material: le type d'article à utiliser
# name: Quel nom l'article doit porter (codes de formatage possibles : tels que &6) # name: Quel nom l'article doit porter (codes de formatage possibles : tels que &6)
# lore: Ce qui doit être dans la lore de l'objet # lore: Ce qui doit être dans la lore de l'objet
customItems: customItems:
ex-item: ex-item:
@@ -122,16 +122,16 @@ customItems:
# -- Ingrédients dans le chaudron -- # -- Ingrédients dans le chaudron --
# Quels sont les ingrédients acceptés par le chaudron et la potion de base qui en résulte # Quels sont les ingrédients acceptés par le chaudron et la potion de base qui en résulte
# name: Nom de la potion de base qui sort du chaudron (codes de formatage possibles : tels que &6) # name: Nom de la potion de base qui sort du chaudron (codes de formatage possibles : tels que &6)
# ingredients: Liste des 'matériaux/montant' # ingredients: Liste des 'matériaux/montant'
# Avec un objet en main, utilisez /brew ItemName pour obtenir son matériau pour une recette de cuisine # Avec un objet en main, utilisez /brew ItemName pour obtenir son matériau pour une recette de cuisine
# (Les id d'objets à la place des matériaux sont obsolètes pour bukkit) # (Les id d'objets à la place des matériaux sont obsolètes pour bukkit)
# Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # Une liste des matériaux peuvent-être trouvés ici: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color : Couleur de la potion provenant d'un chaudron. # color : Couleur de la potion provenant d'un chaudron.
# Couleurs disponibles : DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Couleurs disponibles : DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# (Dans l'ordre : Rouge foncé, Rouge, Rouge clair, Orange, Rose, Bleu, Cyan, Eau, Vert, Noir, Gris, Gris clair) # (Dans l'ordre : Rouge foncé, Rouge, Rouge clair, Orange, Rose, Bleu, Cyan, Eau, Vert, Noir, Gris, Gris clair)
# Ou couleurs RGB (hex: par exemple '99FF33') (avec '') (recherche de "HTML color" sur internet) # Ou couleurs RGB (hex: par exemple '99FF33') (avec '') (recherche de "HTML color" sur internet)
# lore: Liste de texte supplémentaire sur la potion de base. (Formatting codes possible: such as &6) # lore: Liste de texte supplémentaire sur la potion de base. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
+22 -22
View File
@@ -81,17 +81,17 @@ autosave: 3
debug: false debug: false
# Versione del config # Versione del config
version: '1.8' version: '2.0'
# -- Define custom items -- # -- Define custom items --
# The defined id can then be used in recipes # The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches # matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be # material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6) # name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item # lore: What has to be in the lore of the item
customItems: customItems:
ex-item: ex-item:
@@ -121,15 +121,15 @@ customItems:
# -- Ingredients in the Cauldron -- # -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them # Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6) # name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount' # ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe # With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron. # color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet) # Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6) # lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
@@ -144,39 +144,39 @@ cauldron:
# -- One Ingredient: -- # -- One Ingredient: --
wheat: wheat:
name: Fermented wheat name: Frumento fermentato
ingredients: Wheat ingredients: Wheat
sugarcane: sugarcane:
name: Sugar brew name: Miscela zuccherata
ingredients: Sugar_Cane ingredients: Sugar_Cane
color: 'f1ffad' # yellowish green color: 'f1ffad' # yellowish green
apple: apple:
name: Apple cider name: Sidro di mele
ingredients: Apple ingredients: Apple
potato: potato:
name: Potatomash name: Purè di patate
ingredients: Potato ingredients: Potato
grass: grass:
name: Boiled herbs name: Erbe bollite
ingredients: Grass ingredients: Grass
color: '99ff66' # bright green color: '99ff66' # bright green
rmushroom: rmushroom:
name: Mushroom brew name: Miscela ai funghi
ingredients: Red_Mushroom ingredients: Red_Mushroom
color: 'ff5c33' # amber red color: 'ff5c33' # amber red
cocoa: cocoa:
name: Chocolately brew name: Miscela colorata
ingredients: Cocoa_Beans ingredients: Cocoa_Beans
color: '804600' # mocca color: '804600' # mocca
milk: milk:
name: Milky water name: Acqua lattea
ingredients: Milk_Bucket ingredients: Milk_Bucket
color: BRIGHT_GREY color: BRIGHT_GREY
+14 -14
View File
@@ -83,17 +83,17 @@ autosave: 3
debug: false debug: false
# 配置文件版本 # 配置文件版本
version: '1.8' version: '2.0'
# -- Define custom items -- # -- Define custom items --
# The defined id can then be used in recipes # The defined id can then be used in recipes
# matchAny: true if it is already enough if one of the info matches # matchAny: true if it is already enough if one of the info matches
# material: Which type the item has to be # material: Which type the item has to be
# name: Which name the item has to be (Formatting codes possible: such as &6) # name: Which name the item has to be (Formatting codes possible: such as &6)
# lore: What has to be in the lore of the item # lore: What has to be in the lore of the item
customItems: customItems:
ex-item: ex-item:
@@ -123,15 +123,15 @@ customItems:
# -- Ingredients in the Cauldron -- # -- Ingredients in the Cauldron --
# Which Ingredients are accepted by the Cauldron and the base potion resulting from them # Which Ingredients are accepted by the Cauldron and the base potion resulting from them
# name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6) # name: Name of the base potion coming out of the Cauldron (Formatting codes possible: such as &6)
# ingredients: List of 'material/amount' # ingredients: List of 'material/amount'
# With an item in your hand, use /brew ItemName to get its material for use in a recipe # With an item in your hand, use /brew ItemName to get its material for use in a recipe
# (Item-ids instead of material are not supported by bukkit anymore and will not work) # (Item-ids instead of material are not supported by bukkit anymore and will not work)
# A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html # A list of materials can be found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# color: Color of the potion from a cauldron. # color: Color of the potion from a cauldron.
# Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY # Usable Colors: DARK_RED, RED, BRIGHT_RED, ORANGE, PINK, BLUE, CYAN, WATER, GREEN, BLACK, GREY, BRIGHT_GREY
# Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet) # Or RGB colors (hex: for example '99FF33') (with '') (search for "HTML color" on the internet)
# lore: List of additional text on the base potion. (Formatting codes possible: such as &6) # lore: List of additional text on the base potion. (Formatting codes possible: such as &6)
cauldron: cauldron:
ex: ex:
+1 -1
View File
@@ -647,7 +647,7 @@ public class Brew implements Cloneable {
lore.updateAgeLore(BConfig.colorInBarrels); lore.updateAgeLore(BConfig.colorInBarrels);
} }
if (ageTime > 0.5) { if (ageTime > 0.5) {
if (BConfig.colorInBarrels && !unlabeled && currentRecipe != null) { if (BConfig.colorInBarrels) {
lore.updateWoodLore(true); lore.updateWoodLore(true);
} }
lore.updateQualityStars(BConfig.colorInBarrels); lore.updateQualityStars(BConfig.colorInBarrels);
+41 -57
View File
@@ -13,19 +13,15 @@ import com.dre.brewery.recipe.BRecipe;
import com.dre.brewery.utility.BUtil; import com.dre.brewery.utility.BUtil;
import com.dre.brewery.utility.LegacyUtil; import com.dre.brewery.utility.LegacyUtil;
import org.apache.commons.lang.math.NumberUtils; import org.apache.commons.lang.math.NumberUtils;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
public class P extends JavaPlugin { public class P extends JavaPlugin {
public static P p; public static P p;
public static boolean debug; public static boolean debug;
@@ -67,7 +63,6 @@ public class P extends JavaPlugin {
//MC 1.13 uses a different NBT API than the newer versions.. //MC 1.13 uses a different NBT API than the newer versions..
// We decide here which to use, the new or the old or none at all // We decide here which to use, the new or the old or none at all
P.debug = true;
if (LegacyUtil.initNbt()) { if (LegacyUtil.initNbt()) {
useNBT = true; useNBT = true;
} }
@@ -81,11 +76,12 @@ public class P extends JavaPlugin {
// load the Config // load the Config
try { try {
FileConfiguration cfg = BConfig.loadConfigFile(); FileConfiguration cfg = BConfig.loadConfigFile();
if (cfg == null || !BConfig.readConfig(cfg)) { if (cfg == null) {
p = null; p = null;
getServer().getPluginManager().disablePlugin(this); getServer().getPluginManager().disablePlugin(this);
return; return;
} }
BConfig.readConfig(cfg);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
p = null; p = null;
@@ -104,8 +100,11 @@ public class P extends JavaPlugin {
inventoryListener = new InventoryListener(); inventoryListener = new InventoryListener();
worldListener = new WorldListener(); worldListener = new WorldListener();
integrationListener = new IntegrationListener(); integrationListener = new IntegrationListener();
getCommand("Brewery").setExecutor(new CommandListener()); PluginCommand c = getCommand("Brewery");
getCommand("Brewery").setTabCompleter(new TabListener()); if (c != null) {
c.setExecutor(new CommandListener());
c.setTabCompleter(new TabListener());
}
p.getServer().getPluginManager().registerEvents(blockListener, p); p.getServer().getPluginManager().registerEvents(blockListener, p);
p.getServer().getPluginManager().registerEvents(playerListener, p); p.getServer().getPluginManager().registerEvents(playerListener, p);
@@ -148,25 +147,8 @@ public class P extends JavaPlugin {
// save Data to Disk // save Data to Disk
DataSave.save(true); DataSave.save(true);
// delete Data from Ram // delete config data, in case this is a reload and to clear up some ram
Barrel.barrels.clear(); clearConfigData();
BCauldron.bcauldrons.clear();
BRecipe.getConfigRecipes().clear();
BRecipe.numConfigRecipes = 0;
BCauldronRecipe.acceptedMaterials.clear();
BCauldronRecipe.acceptedCustom.clear();
BCauldronRecipe.acceptedSimple.clear();
BCauldronRecipe.getConfigRecipes().clear();
BCauldronRecipe.numConfigRecipes = 0;
BConfig.customItems.clear();
BConfig.hasSlimefun = null;
BConfig.hasMMOItems = null;
BPlayer.clear();
Brew.legacyPotions.clear();
Wakeup.wakeups.clear();
DistortChat.words.clear();
DistortChat.ignoreText.clear();
DistortChat.commands = null;
this.log(this.getDescription().getName() + " disabled!"); this.log(this.getDescription().getName() + " disabled!");
} }
@@ -177,11 +159,41 @@ public class P extends JavaPlugin {
} }
FileConfiguration cfg = BConfig.loadConfigFile(); FileConfiguration cfg = BConfig.loadConfigFile();
if (cfg == null) { if (cfg == null) {
// Could not read yml file, do not proceed // Could not read yml file, do not proceed, error was printed
return; return;
} }
// clear all existent config Data // clear all existent config Data
clearConfigData();
// load the Config
try {
BConfig.readConfig(cfg);
} catch (Exception e) {
e.printStackTrace();
p = null;
getServer().getPluginManager().disablePlugin(this);
return;
}
// Reload Recipes
boolean successful = true;
for (Brew brew : Brew.legacyPotions.values()) {
if (!brew.reloadRecipe()) {
successful = false;
}
}
if (sender != null) {
if (!successful) {
msg(sender, p.languageReader.get("Error_Recipeload"));
} else {
p.msg(sender, p.languageReader.get("CMD_Reload"));
}
}
BConfig.reloader = null;
}
private void clearConfigData() {
BRecipe.getConfigRecipes().clear(); BRecipe.getConfigRecipes().clear();
BRecipe.numConfigRecipes = 0; BRecipe.numConfigRecipes = 0;
BCauldronRecipe.acceptedMaterials.clear(); BCauldronRecipe.acceptedMaterials.clear();
@@ -201,34 +213,6 @@ public class P extends JavaPlugin {
e.printStackTrace(); e.printStackTrace();
} }
} }
// load the Config
try {
if (!BConfig.readConfig(cfg)) {
p = null;
getServer().getPluginManager().disablePlugin(this);
return;
}
} catch (Exception e) {
e.printStackTrace();
p = null;
getServer().getPluginManager().disablePlugin(this);
return;
}
// Reload Recipes
boolean successful = true;
for (Brew brew : Brew.legacyPotions.values()) {
if (!brew.reloadRecipe()) {
successful = false;
}
}
if (!successful && sender != null) {
msg(sender, p.languageReader.get("Error_Recipeload"));
} else {
p.msg(sender, p.languageReader.get("CMD_Reload"));
}
BConfig.reloader = null;
} }
public static P getInstance() { public static P getInstance() {
@@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull;
/** /**
* The Brewery Config was reloaded. * The Brewery Config was reloaded.
* <p>The Recipes added by a Plugin to the Added Recipes will not be reloaded and stay where they are.
*/ */
public class ConfigLoadEvent extends Event { public class ConfigLoadEvent extends Event {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
+4 -4
View File
@@ -36,7 +36,7 @@ import java.util.Map;
public class BConfig { public class BConfig {
public static final String configVersion = "1.8"; public static final String configVersion = "2.0";
public static boolean updateCheck; public static boolean updateCheck;
public static CommandSender reloader; public static CommandSender reloader;
@@ -146,7 +146,7 @@ public class BConfig {
return null; return null;
} }
public static boolean readConfig(FileConfiguration config) { public static void readConfig(FileConfiguration config) {
// Set the Language // Set the Language
p.language = config.getString("language", "en"); p.language = config.getString("language", "en");
@@ -162,7 +162,7 @@ public class BConfig {
if (!version.equals(configVersion) || (oldMat && P.use1_13)) { if (!version.equals(configVersion) || (oldMat && P.use1_13)) {
File file = new File(P.p.getDataFolder(), "config.yml"); File file = new File(P.p.getDataFolder(), "config.yml");
copyDefaultConfigs(true); copyDefaultConfigs(true);
new ConfigUpdater(file).update(version, oldMat, p.language); new ConfigUpdater(file).update(version, oldMat, p.language, config);
P.p.log("Config Updated to version: " + configVersion); P.p.log("Config Updated to version: " + configVersion);
config = YamlConfiguration.loadConfiguration(file); config = YamlConfiguration.loadConfiguration(file);
} }
@@ -326,6 +326,6 @@ public class BConfig {
ConfigLoadEvent event = new ConfigLoadEvent(); ConfigLoadEvent event = new ConfigLoadEvent();
P.p.getServer().getPluginManager().callEvent(event); P.p.getServer().getPluginManager().callEvent(event);
return true;
} }
} }
+424 -30
View File
@@ -1,17 +1,16 @@
package com.dre.brewery.filedata; package com.dre.brewery.filedata;
import com.dre.brewery.utility.LegacyUtil;
import com.dre.brewery.P; import com.dre.brewery.P;
import com.dre.brewery.utility.LegacyUtil;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import java.io.BufferedReader; import java.io.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Objects;
public class ConfigUpdater { public class ConfigUpdater {
@@ -49,6 +48,25 @@ public class ConfigUpdater {
config.addAll(index, Arrays.asList(newLines)); config.addAll(index, Arrays.asList(newLines));
} }
public void removeLine(int index) {
config.remove(index);
}
public void addLinesAt(String[] search, int offset, String... newLines) {
int index = indexOfStart(search[0]);
int s = 1;
while (index == -1 && s < search.length) {
index = indexOfStart(search[s]);
s++;
}
if (index != -1) {
addLines(index + offset, newLines);
} else {
appendLines(newLines);
}
}
public void saveConfig() { public void saveConfig() {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
for (String line : config) { for (String line : config) {
@@ -110,7 +128,7 @@ public class ConfigUpdater {
// ---- Updating to newer Versions ---- // ---- Updating to newer Versions ----
// Update from a specified Config version and language to the newest version // Update from a specified Config version and language to the newest version
public void update(String fromVersion, boolean oldMat, String lang) { public void update(String fromVersion, boolean oldMat, String lang, FileConfiguration yml) {
if (fromVersion.equals("0.5")) { if (fromVersion.equals("0.5")) {
// Version 0.5 was only released for de, but with en as setting, so default to de // Version 0.5 was only released for de, but with en as setting, so default to de
if (!lang.equals("de")) { if (!lang.equals("de")) {
@@ -187,12 +205,24 @@ public class ConfigUpdater {
fromVersion = "1.8"; fromVersion = "1.8";
} }
if (fromVersion.equals("1.8")) {
if (de) {
update18de(yml);
} else if (lang.equals("fr")) {
update18fr(yml);
} else {
update18en(yml);
}
updateVersion(BConfig.configVersion);
fromVersion = BConfig.configVersion;
}
if (P.use1_13 && oldMat) { if (P.use1_13 && oldMat) {
updateMaterials(true); updateMaterials(true);
updateMaterialDescriptions(de); updateMaterialDescriptions(de);
} }
if (!fromVersion.equals("1.8")) { if (!fromVersion.equals(BConfig.configVersion)) {
P.p.log(P.p.languageReader.get("Error_ConfigUpdate", fromVersion)); P.p.log(P.p.languageReader.get("Error_ConfigUpdate", fromVersion));
return; return;
} }
@@ -551,12 +581,12 @@ public class ConfigUpdater {
if (index != -1) { if (index != -1) {
index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW und SPEED sind immer verborgen.) Mögliche Effekte:"); index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW und SPEED sind immer verborgen.) Mögliche Effekte:");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} }
index = indexOfStart("# Bei Effekten mit sofortiger Wirkung "); index = indexOfStart("# Bei Effekten mit sofortiger Wirkung ");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} }
@@ -650,12 +680,12 @@ public class ConfigUpdater {
if (index != -1) { if (index != -1) {
index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW and SPEED are always hidden.) Possible Effects:"); index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW and SPEED are always hidden.) Possible Effects:");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} }
index = indexOfStart("# instant effects "); index = indexOfStart("# instant effects ");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} }
@@ -718,7 +748,7 @@ public class ConfigUpdater {
int index = indexOfStart("# SamplePlugin = installiertes home plugin. Unterstützt: ManagerXL."); int index = indexOfStart("# SamplePlugin = installiertes home plugin. Unterstützt: ManagerXL.");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Ob der Spieler nach etwas kürzerem Ausloggen an einem zufälligen Ort \"aufwacht\" (diese müssen durch '/br Wakeup add"); index = indexOfStart("# Ob der Spieler nach etwas kürzerem Ausloggen an einem zufälligen Ort \"aufwacht\" (diese müssen durch '/br Wakeup add");
@@ -840,7 +870,7 @@ public class ConfigUpdater {
int index = indexOfStart("# SamplePlugin = installed home plugin. Supports: ManagerXL."); int index = indexOfStart("# SamplePlugin = installed home plugin. Supports: ManagerXL.");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# If the player \"wakes up\" at a random place when offline for some time while drinking (the places have to be defined with '/br Wakeup add'"); index = indexOfStart("# If the player \"wakes up\" at a random place when offline for some time while drinking (the places have to be defined with '/br Wakeup add'");
@@ -1246,13 +1276,354 @@ public class ConfigUpdater {
if (P.use1_13) updateMaterialDescriptions(false); if (P.use1_13) updateMaterialDescriptions(false);
} }
private void update18de(FileConfiguration yml) {
int index = indexOfStart("# Löschen einzelner Einstellungen");
if (index != -1) {
removeLine(index);
}
addLinesAt(new String[] {"colorInBrewer:", "colorInBarrels:", "hangoverDays:", "language:"}, 1, "",
"# Ob in den Iteminformationen immer 1-5 Sterne für die Qualität angezeigt werden sollen, oder nur beim brauen [true]",
"alwaysShowQuality: true",
"",
"# Ob in den Iteminformationen immer der Alkoholgehalt angezeigt weden soll, oder nur im Braustand [false]",
"alwaysShowAlc: false");
addLinesAt(new String[] {"maxBrewsInMCBarrels:", "openLargeBarrelEverywhere:", "language:"}, 1, "",
"# Benutzte Zutaten und andere Brau-Daten werden in allen Brewery Tränken gespeichert. Um zu verhindern,",
"# dass gehackte clients diese Daten auslesen um Rezepte herauszufinden, können diese encodiert werden.",
"# Einziger Nachteil: Tränke können nur auf Servern mit dem gleichen encodeKey benutzt werden.",
"# Dies kann also aktiviert werden um Rezept-cheating schwerer zu machen, aber keine Tränke per World Download, Schematic, o.ä. geteilt werden. [false]",
"enableEncode: false",
"encodeKey: 0");
addLinesAt(new String[] {"autosave:", "version:"}, 1, "",
"# Debug Nachrichten im Log anzeigen [false]",
"debug: false");
index = indexOfStart("oldMat:") + 1;
if (index == 0) {
index = indexOfStart("version:") + 1;
if (index == 0) {
index = 2;
}
}
// Custom Items and start of cauldron section
applyPatch("config/patches/de18.txt", index);
index = indexOfStart("%%%%MAT1%%%%");
if (index != -1) {
if (P.use1_13) {
setLine(index, " material: Barrier");
} else {
setLine(index, " material: BEDROCK");
}
}
index = indexOfStart("%%%%MAT2%%%%");
if (index != -1) {
removeLine(index);
if (P.use1_13) {
addLines(index, " material:",
" - Acacia_Door",
" - Oak_Door",
" - Spruce_Door");
} else {
addLines(index, " material:",
" - WOODEN_DOOR",
" - IRON_DOOR");
}
}
index = indexOfStart("# -- Eine Zutat:");
if (index == -1) {
index = indexOfStart("cauldron:");
if (index == -1) {
// Patch failed
index = indexOfStart("version:");
if (index == -1) {
index = 0;
}
addLines(index + 1, "cauldron:");
index ++;
}
}
convertCookedSection(yml, index + 1);
addLinesAt(new String[]{"# Eine Liste von allen Materialien", "# ingredients:"}, 1,
"# Plugin Items mit 'Plugin:Id' (Im Moment ExoticGarden, Slimefun, MMOItems, Brewery)",
"# Oder ein oben definiertes Custom Item");
addLinesAt(new String[]{"# alcohol:", "# difficulty:", "# ingredients:", "# -- Rezepte"}, 1,
"# lore: Auflistung von zusätzlichem Text auf dem fertigen Trank. (Farbcodes möglich: z.b. &6)",
"# Lore nur für bestimmte Qualität möglich mit + Schlecht, ++ Mittel, +++ Gut, vorne anhängen.",
"# servercommands: Liste von Befehlen ausgeführt vom Server wenn der Trank getrunken wird",
"# playercommands: Liste von Befehlen ausgeführt vom Spieler wenn der Trank getrunken wird",
"# drinkmessage: Nachricht im Chat beim trinken des Trankes",
"# drinktitle: Nachricht als Titel auf dem Bildschirm an den Spieler beim trinken des Trankes");
addLinesAt(new String[]{"useGriefPrevention:", "useWorldGuard:", "# -- Plugin Kompatiblit"}, 1, "useGMInventories: true");
index = indexOfStart("# cooked:");
if (index != -1) {
removeLine(index);
}
index = indexOfStart("# [Beispiel] MATERIAL:");
if (index != -1) {
removeLine(index);
}
}
private void update18fr(FileConfiguration yml) {
int index = indexOfStart("# Supprimer un para");
if (index != -1) {
removeLine(index);
}
addLinesAt(new String[] {"colorInBrewer:", "colorInBarrels:", "hangoverDays:", "language:"}, 1, "\n" +
"# Toujours montrer les 1-5 étoiles sur les objets en fonction de leur qualité. S'ils sont faux, ils n'apparaîtront que lors de l'infusion. [true]",
"alwaysShowQuality: true",
"",
"# Toujours indiquer la teneur en alcool sur les objets. S'il est false, il n'apparaîtra que dans le stand de brassage. [false]",
"alwaysShowAlc: false");
addLinesAt(new String[] {"maxBrewsInMCBarrels:", "openLargeBarrelEverywhere:", "language:"}, 1, "",
"# Les ingrédients et autres données de brassage utilisés sont sauvegardés dans tous les articles de brasserie. [false]",
"# Pour empêcher les clients piratés de lire exactement ce qui a été utilisé pour infuser un élément, les données peuvent être encodées/brouillées.",
"# Il s'agit d'un processus rapide pour empêcher les joueurs de pirater des recettes, une fois qu'ils mettent la main sur une bière.",
"# Seul inconvénient: Les boissons brassicoles ne peuvent être utilisés que sur un autre serveur avec la même clé de chiffrement.",
"# Activez cette option si vous voulez rendre la tricherie des recettes plus difficile, mais ne partagez pas les infusions par téléchargement mondial, schémas ou autres moyens.",
"enableEncode: false",
"encodeKey: 0");
addLinesAt(new String[] {"autosave:", "version:"}, 1, "",
"# Show debug messages in log [false]",
"debug: false");
index = indexOfStart("oldMat:") + 1;
if (index == 0) {
index = indexOfStart("version:") + 1;
if (index == 0) {
index = 2;
}
}
// Custom Items and start of cauldron section
applyPatch("config/patches/fr18.txt", index);
index = indexOfStart("%%%%MAT1%%%%");
if (index != -1) {
if (P.use1_13) {
setLine(index, " material: Barrier");
} else {
setLine(index, " material: BEDROCK");
}
}
index = indexOfStart("%%%%MAT2%%%%");
if (index != -1) {
removeLine(index);
if (P.use1_13) {
addLines(index, " material:",
" - Acacia_Door",
" - Oak_Door",
" - Spruce_Door");
} else {
addLines(index, " material:",
" - WOODEN_DOOR",
" - IRON_DOOR");
}
}
index = indexOfStart(" # -- Un ingr");
if (index == -1) {
index = indexOfStart("cauldron:");
if (index == -1) {
// Patch failed
index = indexOfStart("version:");
if (index == -1) {
index = 0;
}
addLines(index + 1, "cauldron:");
index ++;
}
}
convertCookedSection(yml, index + 1);
addLinesAt(new String[]{"# Une liste des mat", "# ingredients:"}, 1,
"# Plugin items avec 'plugin:id' (Actuellement supporté ExoticGarden, Slimefun, MMOItems, Brewery)",
"# Ou un élément personnalisé défini ci-dessus");
addLinesAt(new String[]{"# alcohol:", "# difficulty:", "# ingredients:", "# -- Recette "}, 1,
"# lore: Liste des textes supplémentaires sur le breuvage fini. (Codes de formatage possibles : tels que &6)",
"# Texte spécifique de qualité possible, en utilisant + mauvais, ++ normal, +++ bon, ajouté à l'avant de la ligne.",
"# servercommands: Liste des commandes exécutées par le serveur lors de la consommation de la potion",
"# playercommands: Liste des commandes exécutées par le joueur lors de la consommation de la potion",
"# drinkmessage: Chat-message au joueur lorsqu'il boit la potion",
"# drinktitle: Titre à l'écran du joueur lorsqu'il boit la potion");
addLinesAt(new String[]{"useGriefPrevention:", "useWorldGuard:", "# -- Plugin Compatibility"}, 1, "useGMInventories: true");
index = indexOfStart("# cooked:");
if (index != -1) {
removeLine(index);
}
index = indexOfStart("# [Exemple] MATERIEL");
if (index != -1) {
removeLine(index);
}
}
private void update18en(FileConfiguration yml) {
int index = indexOfStart("# Deleting of single settings");
if (index != -1) {
removeLine(index);
}
addLinesAt(new String[] {"colorInBrewer:", "colorInBarrels:", "hangoverDays:", "language:"}, 1, "",
"# Always show the 1-5 stars on the item depending on the quality. If false, they will only appear when brewing [true]",
"alwaysShowQuality: true",
"",
"# Always show the alcohol content on the item. If false, it will only show in the brewing stand [false]",
"alwaysShowAlc: false");
addLinesAt(new String[] {"maxBrewsInMCBarrels:", "openLargeBarrelEverywhere:", "language:"}, 1, "",
"# The used Ingredients and other brewing-data is saved to all Brewery Items. To prevent",
"# hacked clients from reading what exactly was used to brew an item, the data can be encoded/scrambled.",
"# This is a fast process to stop players from hacking out recipes, once they get hold of a brew.",
"# Only drawback: brew items can only be used on another server with the same encodeKey.",
"# So enable this if you want to make recipe cheating harder, but don't share any brews by world download, schematics, or other means. [false]",
"enableEncode: false",
"encodeKey: 0");
addLinesAt(new String[] {"autosave:", "version:"}, 1, "",
"# Show debug messages in log [false]",
"debug: false");
index = indexOfStart("oldMat:") + 1;
if (index == 0) {
index = indexOfStart("version:") + 1;
if (index == 0) {
index = 2;
}
}
// Custom Items and start of cauldron section
applyPatch("config/patches/en18.txt", index);
index = indexOfStart("%%%%MAT1%%%%");
if (index != -1) {
if (P.use1_13) {
setLine(index, " material: Barrier");
} else {
setLine(index, " material: BEDROCK");
}
}
index = indexOfStart("%%%%MAT2%%%%");
if (index != -1) {
removeLine(index);
if (P.use1_13) {
addLines(index, " material:",
" - Acacia_Door",
" - Oak_Door",
" - Spruce_Door");
} else {
addLines(index, " material:",
" - WOODEN_DOOR",
" - IRON_DOOR");
}
}
index = indexOfStart(" # -- One Ingredient");
if (index == -1) {
index = indexOfStart("cauldron:");
if (index == -1) {
// Patch failed
index = indexOfStart("version:");
if (index == -1) {
index = 0;
}
addLines(index + 1, "cauldron:");
index ++;
}
}
convertCookedSection(yml, index + 1);
addLinesAt(new String[]{"# A list of materials", "# ingredients:"}, 1,
"# Plugin items with 'plugin:id' (Currently supporting ExoticGarden, Slimefun, MMOItems, Brewery)",
"# Or a custom item defined above");
addLinesAt(new String[]{"# alcohol:", "# difficulty:", "# ingredients:", "# -- Recipes"}, 1,
"# lore: List of additional text on the finished brew. (Formatting codes possible: such as &6)",
"# Specific lore for quality possible, using + bad, ++ normal, +++ good, added to the front of the line.",
"# servercommands: List of Commands executed by the Server when drinking the brew",
"# playercommands: List of Commands executed by the Player when drinking the brew",
"# drinkmessage: Chat-message to the Player when drinking the Brew",
"# drinktitle: Title on Screen to the Player when drinking the Brew");
addLinesAt(new String[]{"useGriefPrevention:", "useWorldGuard:", "# -- Plugin Compatibility"}, 1, "useGMInventories: true");
index = indexOfStart("# cooked:");
if (index != -1) {
removeLine(index);
}
index = indexOfStart("# [Example] MATERIAL:");
if (index != -1) {
removeLine(index);
}
}
private void convertCookedSection(FileConfiguration yml, int toLine) {
ConfigurationSection cookedSection = yml.getConfigurationSection("cooked");
if (cookedSection != null) {
for (String ing : cookedSection.getKeys(false)) {
String name = cookedSection.getString(ing);
addLines(toLine,
" " + ing.toLowerCase() + ":",
" name: " + name,
" ingredients:",
" - " + ing,
"");
toLine += 5;
}
int index = indexOfStart("cooked:");
if (index != -1) {
int size = cookedSection.getKeys(false).size();
while (size >= 0) {
removeLine(index);
size--;
}
}
}
}
public void applyPatch(String resourcePath, int toLine) {
try {
List<String> patch = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(Objects.requireNonNull(P.p.getResource(resourcePath), "Resource not found")));
String currentLine;
while((currentLine = reader.readLine()) != null) {
patch.add(currentLine);
}
reader.close();
config.addAll(toLine, patch);
} catch (IOException | NullPointerException e) {
P.p.errorLog("Could not apply Patch: " + resourcePath);
e.printStackTrace();
}
}
// Update all Materials to Minecraft 1.13 // Update all Materials to Minecraft 1.13
private void updateMaterials(boolean toMC113) { private void updateMaterials(boolean toMC113) {
int index; int index;
if (toMC113) { if (toMC113) {
index = indexOfStart("oldMat:"); index = indexOfStart("oldMat:");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} else { } else {
index = indexOfStart("version:"); index = indexOfStart("version:");
@@ -1311,6 +1682,29 @@ public class ConfigUpdater {
index++; index++;
} }
} }
index = indexOfStart("cauldron:");
if (index != -1) {
index++;
int endIndex = indexOfStart("recipes:");
if (endIndex < index) {
endIndex = indexOfStart(" cookingtime:");
}
if (endIndex < index) {
endIndex = indexOfStart("useWorldGuard:");
}
while (index < endIndex) {
if (config.get(index).matches("^\\s+ingredients:.*")) {
index++;
while (config.get(index).matches("^\\s+- .+")) {
line = config.get(index);
setLine(index, convertMaterial(line, "^\\s+- ", "(,.*|)/.*", toMC113));
index++;
}
}
index++;
}
}
} }
private String convertMaterial(String line, String regexPrefix, String regexPostfix, boolean toMC113) { private String convertMaterial(String line, String regexPrefix, String regexPostfix, boolean toMC113) {
@@ -1362,33 +1756,33 @@ public class ConfigUpdater {
index = indexOfStart("# Es kann ein Data-Wert (durability) angegeben werden"); index = indexOfStart("# Es kann ein Data-Wert (durability) angegeben werden");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Wenn Vault installiert ist"); index = indexOfStart("# Wenn Vault installiert ist");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Vault erkennt Namen wie"); index = indexOfStart("# Vault erkennt Namen wie");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# - Jungle Leaves/64 # Nur mit Vault"); index = indexOfStart("# - Jungle Leaves/64 # Nur mit Vault");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# - Green Dye/6 # Nur mit Vault"); index = indexOfStart("# - Green Dye/6 # Nur mit Vault");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Ein 'X' an den Namen"); index = indexOfStart("# Ein 'X' an den Namen");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Effekte sind ab der 1.9 immer verborgen"); index = indexOfStart("# Effekte sind ab der 1.9 immer verborgen");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} else { } else {
index = indexOfStart("# ingredients: List of 'material,data/amount'"); index = indexOfStart("# ingredients: List of 'material,data/amount'");
@@ -1398,33 +1792,33 @@ public class ConfigUpdater {
index = indexOfStart("# You can specify a data (durability) value"); index = indexOfStart("# You can specify a data (durability) value");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# If Vault is installed normal names can be used"); index = indexOfStart("# If Vault is installed normal names can be used");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Vault will recognize things"); index = indexOfStart("# Vault will recognize things");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# - Jungle Leaves/64 # Only with Vault"); index = indexOfStart("# - Jungle Leaves/64 # Only with Vault");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# - Green Dye/6 # Only with Vault"); index = indexOfStart("# - Green Dye/6 # Only with Vault");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Suffix name with 'X' to hide effect"); index = indexOfStart("# Suffix name with 'X' to hide effect");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
index = indexOfStart("# Effects are always hidden in 1.9 and newer"); index = indexOfStart("# Effects are always hidden in 1.9 and newer");
if (index != -1) { if (index != -1) {
config.remove(index); removeLine(index);
} }
} }
} }
+12 -13
View File
@@ -147,7 +147,7 @@ public class BrewLore {
if (brew.getDistillRuns() <= 0) return; if (brew.getDistillRuns() <= 0) return;
String prefix; String prefix;
byte distillRuns = brew.getDistillRuns(); byte distillRuns = brew.getDistillRuns();
if (qualityColor && brew.hasRecipe()) { if (qualityColor && !brew.isUnlabeled() && brew.hasRecipe()) {
prefix = getQualityColor(brew.getIngredients().getDistillQuality(brew.getCurrentRecipe(), distillRuns)); prefix = getQualityColor(brew.getIngredients().getDistillQuality(brew.getCurrentRecipe(), distillRuns));
} else { } else {
prefix = "§7"; prefix = "§7";
@@ -168,7 +168,7 @@ public class BrewLore {
public void updateAgeLore(boolean qualityColor) { public void updateAgeLore(boolean qualityColor) {
String prefix; String prefix;
float age = brew.getAgeTime(); float age = brew.getAgeTime();
if (qualityColor && brew.hasRecipe()) { if (qualityColor && !brew.isUnlabeled() && brew.hasRecipe()) {
prefix = getQualityColor(brew.getIngredients().getAgeQuality(brew.getCurrentRecipe(), age)); prefix = getQualityColor(brew.getIngredients().getAgeQuality(brew.getCurrentRecipe(), age));
} else { } else {
prefix = "§7"; prefix = "§7";
@@ -191,7 +191,7 @@ public class BrewLore {
* @param qualityColor If the lore should have colors according to quality * @param qualityColor If the lore should have colors according to quality
*/ */
public void updateWoodLore(boolean qualityColor) { public void updateWoodLore(boolean qualityColor) {
if (qualityColor && brew.hasRecipe()) { if (qualityColor && brew.hasRecipe() && !brew.isUnlabeled()) {
int quality = brew.getIngredients().getWoodQuality(brew.getCurrentRecipe(), brew.getWood()); int quality = brew.getIngredients().getWoodQuality(brew.getCurrentRecipe(), brew.getWood());
addOrReplaceLore(Type.WOOD, getQualityColor(quality), P.p.languageReader.get("Brew_Woodtype")); addOrReplaceLore(Type.WOOD, getQualityColor(quality), P.p.languageReader.get("Brew_Woodtype"));
} else { } else {
@@ -260,15 +260,16 @@ public class BrewLore {
} }
updateCustomLore(); updateCustomLore();
if (toQuality && brew.isUnlabeled()) {
return;
}
updateQualityStars(toQuality); updateQualityStars(toQuality);
if (!brew.isUnlabeled()) { // Ingredients
// Ingredients updateIngredientLore(toQuality);
updateIngredientLore(toQuality);
// Cooking // Cooking
updateCookLore(toQuality); updateCookLore(toQuality);
}
// Distilling // Distilling
updateDistillLore(toQuality); updateDistillLore(toQuality);
@@ -279,10 +280,8 @@ public class BrewLore {
} }
// WoodType // WoodType
if (!brew.isUnlabeled()) { if (brew.getAgeTime() > 0.5) {
if (brew.getAgeTime() > 0.5) { updateWoodLore(toQuality);
updateWoodLore(toQuality);
}
} }
updateAlc(false); updateAlc(false);
+3 -3
View File
@@ -261,17 +261,17 @@ public class LegacyUtil {
try { try {
Class.forName("org.bukkit.persistence.PersistentDataContainer"); Class.forName("org.bukkit.persistence.PersistentDataContainer");
NewNbtVer = true; NewNbtVer = true;
P.p.debugLog("Using the NEW nbt api"); P.p.log("Using the NEW nbt api");
return true; return true;
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
try { try {
Class.forName("org.bukkit.inventory.meta.tags.CustomItemTagContainer"); Class.forName("org.bukkit.inventory.meta.tags.CustomItemTagContainer");
NewNbtVer = false; NewNbtVer = false;
P.p.debugLog("Using the OLD nbt api"); P.p.log("Using the OLD nbt api");
return true; return true;
} catch (ClassNotFoundException ex) { } catch (ClassNotFoundException ex) {
NewNbtVer = false; NewNbtVer = false;
P.p.debugLog("No nbt api found, using Lore Save System"); P.p.log("No nbt api found, using Lore Save System");
return false; return false;
} }
} }