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

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

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

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

View File

@ -80,7 +80,7 @@ autosave: 3
debug: false
# Config Version
version: '1.8'
version: '2.0'
oldMat: true
@ -88,10 +88,10 @@ oldMat: true
# -- 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
# 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:
@ -120,15 +120,15 @@ customItems:
# -- 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)
# 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:
@ -197,8 +197,8 @@ cauldron:
# (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
# 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!
# Vault erkennt Namen wie "Jungle Leaves" anstatt "LEAVES,3". Dies macht es viel einfacher!
# Plugin Items mit 'Plugin:Id' (Im Moment ExoticGarden, Slimefun, MMOItems, Brewery)
# Oder ein oben definiertes Custom Item
# cookingtime: Zeit in Echtminuten die die Zutaten kochen müssen
# 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
@ -229,12 +229,10 @@ recipes:
bsp:
name: Schlechtes Beispiel/Beispiel/Gutes Beispiel
ingredients:
- SUGAR_CANE/5
- DIAMOND/1
- INK_SACK,3/20
- WOOD,1/8
- BEDROCK/1
# - Jungle Leaves/64 # Nur mit Vault
- Brewery:Weißbier/2
# - ExoticGarden:Grape/3
- bsp-item/4

View File

@ -81,7 +81,7 @@ autosave: 3
debug: false
# Config Version
version: '1.8'
version: '2.0'
oldMat: true
@ -89,10 +89,10 @@ oldMat: true
# -- 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
# 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:
@ -121,15 +121,15 @@ customItems:
# -- 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)
# 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:
@ -198,8 +198,8 @@ cauldron:
# (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
# 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.
# Vault will recognize things like "Jungle Leaves" instead of "LEAVES,3"
# Plugin items with 'plugin:id' (Currently supporting ExoticGarden, Slimefun, MMOItems, Brewery)
# Or a custom item defined above
# cookingtime: Time in real minutes ingredients have to boil
# 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
@ -236,8 +236,7 @@ recipes:
- Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3
- BEDROCK/1
# - Jungle Leaves/64 # Only with Vault
# - Green Dye/6 # Only with Vault
- ex-item/4
cookingtime: 3
distillruns: 2
distilltime: 60

View File

@ -82,7 +82,7 @@ autosave: 3
debug: false
# Version de configuration
version: '1.8'
version: '2.0'
oldMat: true
@ -90,10 +90,10 @@ oldMat: true
# -- 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
# 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:
@ -122,16 +122,16 @@ customItems:
# -- 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)
# 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:
@ -200,8 +200,6 @@ cauldron:
# Ex: 'Sugar_Cane'
# 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)
# 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)
# Ou un élément personnalisé défini ci-dessus
# cookingtime: Temps en minutes réelles durant lesquelles les ingrédients devront bouillir
@ -245,8 +243,7 @@ recipes:
- Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3
- BEDROCK/1
# - Jungle Leaves/64 # Only with Vault
# - Green Dye/6 # Only with Vault
- ex-item/4
cookingtime: 3
distillruns: 2
distilltime: 60

View File

@ -81,7 +81,7 @@ autosave: 3
debug: false
# Versione del config
version: '1.8'
version: '2.0'
oldMat: true
@ -89,10 +89,10 @@ oldMat: true
# -- 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
# 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:
@ -121,15 +121,15 @@ customItems:
# -- 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)
# 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:
@ -144,39 +144,39 @@ cauldron:
# -- One Ingredient: --
wheat:
name: Fermented wheat
name: Frumento fermentato
ingredients: WHEAT
sugarcane:
name: Sugar brew
name: Miscela zuccherata
ingredients: SUGAR_CANE
color: 'f1ffad' # yellowish green
apple:
name: Apple cider
name: Sidro di mele
ingredients: APPLE
potato:
name: Potatomash
name: Purè di patate
ingredients: POTATO_ITEM
grass:
name: Boiled herbs
name: Erbe bollite
ingredients: LONG_GRASS
color: '99ff66' # bright green
rmushroom:
name: Mushroom brew
name: Miscela ai funghi
ingredients: RED_MUSHROOM
color: 'ff5c33' # amber red
cocoa:
name: Chocolately brew
name: Miscela colorata
ingredients: INK_SACK
color: '804600' # mocca
milk:
name: Milky water
name: Acqua lattea
ingredients: MILK_BUCKET
color: BRIGHT_GREY
@ -196,8 +196,6 @@ cauldron:
# (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
# 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)
# Or a custom item defined above
# cookingtime: Tempo in minuti richiesto dagli ingredienti per bollire
@ -236,8 +234,7 @@ recipes:
- Brewery:Wheatbeer/2
# - ExoticGarden:Grape/3
- BEDROCK/1
# - Jungle Leaves/64 # Solo con Vault
# - Green Dye/6 # Solo con Vault
- ex-item/4
cookingtime: 3
distillruns: 2
distilltime: 60

View File

@ -80,17 +80,17 @@ autosave: 3
debug: false
# Config Version
version: '1.8'
version: '2.0'
# -- 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
# 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:
@ -120,16 +120,15 @@ customItems:
# -- 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)
# 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:

View File

@ -81,17 +81,17 @@ autosave: 3
debug: false
# Config Version
version: '1.8'
version: '2.0'
# -- 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
# 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:
@ -121,15 +121,15 @@ customItems:
# -- 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)
# 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:
@ -365,41 +365,41 @@ recipes:
- POISON/10
absinthe:
name: Poor Absinthe/Absinthe/Strong Absinthe
ingredients:
- Grass/15
cookingtime: 3
distillruns: 6
distilltime: 80
color: GREEN
difficulty: 8
alcohol: 45
effects:
- POISON/20-30
name: Poor Absinthe/Absinthe/Strong Absinthe
ingredients:
- Grass/15
cookingtime: 3
distillruns: 6
distilltime: 80
color: GREEN
difficulty: 8
alcohol: 45
effects:
- POISON/20-30
potato_soup:
name: Potato soup
ingredients:
- Potato/5
- Grass/3
cookingtime: 3
color: PINK
difficulty: 1
effects:
- HEAL/0-1
potato_soup:
name: Potato soup
ingredients:
- Potato/5
- Grass/3
cookingtime: 3
color: PINK
difficulty: 1
effects:
- HEAL/0-1
coffee:
name: Stale Coffee/Coffee/Strong Coffee
ingredients:
- Cocoa_Beans/12
- Milk_Bucket/2
cookingtime: 2
color: BLACK
difficulty: 3
lore: + &8Probably a week old
effects:
- REGENERATION/1/2-5
- SPEED/1/30-140
coffee:
name: Stale Coffee/Coffee/Strong Coffee
ingredients:
- Cocoa_Beans/12
- Milk_Bucket/2
cookingtime: 2
color: BLACK
difficulty: 3
lore: + &8Probably a week old
effects:
- REGENERATION/1/2-5
- SPEED/1/30-140
# 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.

View File

@ -82,17 +82,17 @@ autosave: 3
debug: false
# Version de configuration
version: '1.8'
version: '2.0'
# -- 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
# 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:
@ -122,16 +122,16 @@ customItems:
# -- 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)
# 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:

View File

@ -81,17 +81,17 @@ autosave: 3
debug: false
# Versione del config
version: '1.8'
version: '2.0'
# -- 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
# 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:
@ -121,15 +121,15 @@ customItems:
# -- 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)
# 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:
@ -144,39 +144,39 @@ cauldron:
# -- One Ingredient: --
wheat:
name: Fermented wheat
name: Frumento fermentato
ingredients: Wheat
sugarcane:
name: Sugar brew
name: Miscela zuccherata
ingredients: Sugar_Cane
color: 'f1ffad' # yellowish green
apple:
name: Apple cider
name: Sidro di mele
ingredients: Apple
potato:
name: Potatomash
name: Purè di patate
ingredients: Potato
grass:
name: Boiled herbs
name: Erbe bollite
ingredients: Grass
color: '99ff66' # bright green
rmushroom:
name: Mushroom brew
name: Miscela ai funghi
ingredients: Red_Mushroom
color: 'ff5c33' # amber red
cocoa:
name: Chocolately brew
name: Miscela colorata
ingredients: Cocoa_Beans
color: '804600' # mocca
milk:
name: Milky water
name: Acqua lattea
ingredients: Milk_Bucket
color: BRIGHT_GREY

View File

@ -83,17 +83,17 @@ autosave: 3
debug: false
# 配置文件版本
version: '1.8'
version: '2.0'
# -- 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
# 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:
@ -123,15 +123,15 @@ customItems:
# -- 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)
# 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:

View File

@ -647,7 +647,7 @@ public class Brew implements Cloneable {
lore.updateAgeLore(BConfig.colorInBarrels);
}
if (ageTime > 0.5) {
if (BConfig.colorInBarrels && !unlabeled && currentRecipe != null) {
if (BConfig.colorInBarrels) {
lore.updateWoodLore(true);
}
lore.updateQualityStars(BConfig.colorInBarrels);

View File

@ -13,19 +13,15 @@ import com.dre.brewery.recipe.BRecipe;
import com.dre.brewery.utility.BUtil;
import com.dre.brewery.utility.LegacyUtil;
import org.apache.commons.lang.math.NumberUtils;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.HandlerList;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
public class P extends JavaPlugin {
public static P p;
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..
// We decide here which to use, the new or the old or none at all
P.debug = true;
if (LegacyUtil.initNbt()) {
useNBT = true;
}
@ -81,11 +76,12 @@ public class P extends JavaPlugin {
// load the Config
try {
FileConfiguration cfg = BConfig.loadConfigFile();
if (cfg == null || !BConfig.readConfig(cfg)) {
if (cfg == null) {
p = null;
getServer().getPluginManager().disablePlugin(this);
return;
}
BConfig.readConfig(cfg);
} catch (Exception e) {
e.printStackTrace();
p = null;
@ -104,8 +100,11 @@ public class P extends JavaPlugin {
inventoryListener = new InventoryListener();
worldListener = new WorldListener();
integrationListener = new IntegrationListener();
getCommand("Brewery").setExecutor(new CommandListener());
getCommand("Brewery").setTabCompleter(new TabListener());
PluginCommand c = getCommand("Brewery");
if (c != null) {
c.setExecutor(new CommandListener());
c.setTabCompleter(new TabListener());
}
p.getServer().getPluginManager().registerEvents(blockListener, p);
p.getServer().getPluginManager().registerEvents(playerListener, p);
@ -148,25 +147,8 @@ public class P extends JavaPlugin {
// save Data to Disk
DataSave.save(true);
// delete Data from Ram
Barrel.barrels.clear();
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;
// delete config data, in case this is a reload and to clear up some ram
clearConfigData();
this.log(this.getDescription().getName() + " disabled!");
}
@ -177,11 +159,41 @@ public class P extends JavaPlugin {
}
FileConfiguration cfg = BConfig.loadConfigFile();
if (cfg == null) {
// Could not read yml file, do not proceed
// Could not read yml file, do not proceed, error was printed
return;
}
// 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.numConfigRecipes = 0;
BCauldronRecipe.acceptedMaterials.clear();
@ -201,34 +213,6 @@ public class P extends JavaPlugin {
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() {

View File

@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* 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 {
private static final HandlerList handlers = new HandlerList();

View File

@ -36,7 +36,7 @@ import java.util.Map;
public class BConfig {
public static final String configVersion = "1.8";
public static final String configVersion = "2.0";
public static boolean updateCheck;
public static CommandSender reloader;
@ -146,7 +146,7 @@ public class BConfig {
return null;
}
public static boolean readConfig(FileConfiguration config) {
public static void readConfig(FileConfiguration config) {
// Set the Language
p.language = config.getString("language", "en");
@ -162,7 +162,7 @@ public class BConfig {
if (!version.equals(configVersion) || (oldMat && P.use1_13)) {
File file = new File(P.p.getDataFolder(), "config.yml");
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);
config = YamlConfiguration.loadConfiguration(file);
}
@ -326,6 +326,6 @@ public class BConfig {
ConfigLoadEvent event = new ConfigLoadEvent();
P.p.getServer().getPluginManager().callEvent(event);
return true;
}
}

View File

@ -1,17 +1,16 @@
package com.dre.brewery.filedata;
import com.dre.brewery.utility.LegacyUtil;
import com.dre.brewery.P;
import com.dre.brewery.utility.LegacyUtil;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
public class ConfigUpdater {
@ -49,6 +48,25 @@ public class ConfigUpdater {
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() {
StringBuilder stringBuilder = new StringBuilder();
for (String line : config) {
@ -110,7 +128,7 @@ public class ConfigUpdater {
// ---- Updating to newer Versions ----
// 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")) {
// Version 0.5 was only released for de, but with en as setting, so default to de
if (!lang.equals("de")) {
@ -187,12 +205,24 @@ public class ConfigUpdater {
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) {
updateMaterials(true);
updateMaterialDescriptions(de);
}
if (!fromVersion.equals("1.8")) {
if (!fromVersion.equals(BConfig.configVersion)) {
P.p.log(P.p.languageReader.get("Error_ConfigUpdate", fromVersion));
return;
}
@ -551,12 +581,12 @@ public class ConfigUpdater {
if (index != -1) {
index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW und SPEED sind immer verborgen.) Mögliche Effekte:");
if (index != -1) {
config.remove(index);
removeLine(index);
}
}
index = indexOfStart("# Bei Effekten mit sofortiger Wirkung ");
if (index != -1) {
config.remove(index);
removeLine(index);
}
}
@ -650,12 +680,12 @@ public class ConfigUpdater {
if (index != -1) {
index = indexOfStart("# (WEAKNESS, INCREASE_DAMAGE, SLOW and SPEED are always hidden.) Possible Effects:");
if (index != -1) {
config.remove(index);
removeLine(index);
}
}
index = indexOfStart("# instant effects ");
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.");
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");
@ -840,7 +870,7 @@ public class ConfigUpdater {
int index = indexOfStart("# SamplePlugin = installed home plugin. Supports: ManagerXL.");
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'");
@ -1246,13 +1276,354 @@ public class ConfigUpdater {
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
private void updateMaterials(boolean toMC113) {
int index;
if (toMC113) {
index = indexOfStart("oldMat:");
if (index != -1) {
config.remove(index);
removeLine(index);
}
} else {
index = indexOfStart("version:");
@ -1311,6 +1682,29 @@ public class ConfigUpdater {
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) {
@ -1362,33 +1756,33 @@ public class ConfigUpdater {
index = indexOfStart("# Es kann ein Data-Wert (durability) angegeben werden");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Wenn Vault installiert ist");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Vault erkennt Namen wie");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# - Jungle Leaves/64 # Nur mit Vault");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# - Green Dye/6 # Nur mit Vault");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Ein 'X' an den Namen");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Effekte sind ab der 1.9 immer verborgen");
if (index != -1) {
config.remove(index);
removeLine(index);
}
} else {
index = indexOfStart("# ingredients: List of 'material,data/amount'");
@ -1398,33 +1792,33 @@ public class ConfigUpdater {
index = indexOfStart("# You can specify a data (durability) value");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# If Vault is installed normal names can be used");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Vault will recognize things");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# - Jungle Leaves/64 # Only with Vault");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# - Green Dye/6 # Only with Vault");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Suffix name with 'X' to hide effect");
if (index != -1) {
config.remove(index);
removeLine(index);
}
index = indexOfStart("# Effects are always hidden in 1.9 and newer");
if (index != -1) {
config.remove(index);
removeLine(index);
}
}
}

View File

@ -147,7 +147,7 @@ public class BrewLore {
if (brew.getDistillRuns() <= 0) return;
String prefix;
byte distillRuns = brew.getDistillRuns();
if (qualityColor && brew.hasRecipe()) {
if (qualityColor && !brew.isUnlabeled() && brew.hasRecipe()) {
prefix = getQualityColor(brew.getIngredients().getDistillQuality(brew.getCurrentRecipe(), distillRuns));
} else {
prefix = "§7";
@ -168,7 +168,7 @@ public class BrewLore {
public void updateAgeLore(boolean qualityColor) {
String prefix;
float age = brew.getAgeTime();
if (qualityColor && brew.hasRecipe()) {
if (qualityColor && !brew.isUnlabeled() && brew.hasRecipe()) {
prefix = getQualityColor(brew.getIngredients().getAgeQuality(brew.getCurrentRecipe(), age));
} else {
prefix = "§7";
@ -191,7 +191,7 @@ public class BrewLore {
* @param qualityColor If the lore should have colors according to quality
*/
public void updateWoodLore(boolean qualityColor) {
if (qualityColor && brew.hasRecipe()) {
if (qualityColor && brew.hasRecipe() && !brew.isUnlabeled()) {
int quality = brew.getIngredients().getWoodQuality(brew.getCurrentRecipe(), brew.getWood());
addOrReplaceLore(Type.WOOD, getQualityColor(quality), P.p.languageReader.get("Brew_Woodtype"));
} else {
@ -260,15 +260,16 @@ public class BrewLore {
}
updateCustomLore();
if (toQuality && brew.isUnlabeled()) {
return;
}
updateQualityStars(toQuality);
if (!brew.isUnlabeled()) {
// Ingredients
updateIngredientLore(toQuality);
// Ingredients
updateIngredientLore(toQuality);
// Cooking
updateCookLore(toQuality);
}
// Cooking
updateCookLore(toQuality);
// Distilling
updateDistillLore(toQuality);
@ -279,10 +280,8 @@ public class BrewLore {
}
// WoodType
if (!brew.isUnlabeled()) {
if (brew.getAgeTime() > 0.5) {
updateWoodLore(toQuality);
}
if (brew.getAgeTime() > 0.5) {
updateWoodLore(toQuality);
}
updateAlc(false);

View File

@ -261,17 +261,17 @@ public class LegacyUtil {
try {
Class.forName("org.bukkit.persistence.PersistentDataContainer");
NewNbtVer = true;
P.p.debugLog("Using the NEW nbt api");
P.p.log("Using the NEW nbt api");
return true;
} catch (ClassNotFoundException e) {
try {
Class.forName("org.bukkit.inventory.meta.tags.CustomItemTagContainer");
NewNbtVer = false;
P.p.debugLog("Using the OLD nbt api");
P.p.log("Using the OLD nbt api");
return true;
} catch (ClassNotFoundException ex) {
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;
}
}