mirror of
https://github.com/DieReicheErethons/Brewery.git
synced 2024-09-29 04:07:30 +02:00
Convert pre 1.11 Brews (cosmetic)
This commit is contained in:
parent
036657747c
commit
d0198c9f04
@ -14,8 +14,10 @@ import org.bukkit.inventory.BrewerInventory;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.inventory.meta.PotionMeta;
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
import org.bukkit.potion.PotionData;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
import org.bukkit.potion.PotionType;
|
||||||
import org.jetbrains.annotations.Contract;
|
import org.jetbrains.annotations.Contract;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ -985,19 +987,40 @@ public class Brew implements Cloneable {
|
|||||||
getFromPotionEffect(((PotionMeta) meta), true);
|
getFromPotionEffect(((PotionMeta) meta), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void convertPre19(ItemStack item) {
|
public void convertPre1_9(ItemStack item) {
|
||||||
removeLegacy(item);
|
removeLegacy(item);
|
||||||
PotionMeta potionMeta = ((PotionMeta) item.getItemMeta());
|
PotionMeta potionMeta = ((PotionMeta) item.getItemMeta());
|
||||||
assert potionMeta != null;
|
assert potionMeta != null;
|
||||||
|
|
||||||
|
BrewLore lore = new BrewLore(this, potionMeta);
|
||||||
|
lore.removeEffects();
|
||||||
|
|
||||||
if (hasRecipe()) {
|
if (hasRecipe()) {
|
||||||
BrewLore lore = new BrewLore(this, potionMeta);
|
|
||||||
lore.removeEffects();
|
|
||||||
currentRecipe.getColor().colorBrew(potionMeta, item, canDistill());
|
currentRecipe.getColor().colorBrew(potionMeta, item, canDistill());
|
||||||
lore.removeLegacySpacing();
|
|
||||||
} else {
|
} else {
|
||||||
PotionColor.GREY.colorBrew(potionMeta, item, canDistill());
|
PotionColor.GREY.colorBrew(potionMeta, item, canDistill());
|
||||||
new BrewLore(this, potionMeta).removeLegacySpacing();
|
|
||||||
}
|
}
|
||||||
|
lore.removeLegacySpacing();
|
||||||
|
save(potionMeta);
|
||||||
|
item.setItemMeta(potionMeta);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void convertPre1_11(ItemStack item) {
|
||||||
|
removeLegacy(item);
|
||||||
|
PotionMeta potionMeta = ((PotionMeta) item.getItemMeta());
|
||||||
|
assert potionMeta != null;
|
||||||
|
|
||||||
|
potionMeta.setBasePotionData(new PotionData(PotionType.UNCRAFTABLE));
|
||||||
|
BrewLore lore = new BrewLore(this, potionMeta);
|
||||||
|
lore.removeEffects();
|
||||||
|
|
||||||
|
if (hasRecipe()) {
|
||||||
|
lore.addOrReplaceEffects(currentRecipe.getEffects(), getQuality());
|
||||||
|
currentRecipe.getColor().colorBrew(potionMeta, item, canDistill());
|
||||||
|
} else {
|
||||||
|
PotionColor.GREY.colorBrew(potionMeta, item, canDistill());
|
||||||
|
}
|
||||||
|
lore.removeLegacySpacing();
|
||||||
save(potionMeta);
|
save(potionMeta);
|
||||||
item.setItemMeta(potionMeta);
|
item.setItemMeta(potionMeta);
|
||||||
}
|
}
|
||||||
|
@ -108,11 +108,22 @@ public class InventoryListener implements Listener {
|
|||||||
ItemStack item = event.getCurrentItem();
|
ItemStack item = event.getCurrentItem();
|
||||||
if (item.hasItemMeta()) {
|
if (item.hasItemMeta()) {
|
||||||
PotionMeta potion = ((PotionMeta) item.getItemMeta());
|
PotionMeta potion = ((PotionMeta) item.getItemMeta());
|
||||||
// convert potions from 1.8 to 1.9 for color and to remove effect descriptions
|
assert potion != null;
|
||||||
if (P.use1_9 && !potion.hasItemFlag(ItemFlag.HIDE_POTION_EFFECTS)) {
|
if (P.use1_11) {
|
||||||
Brew brew = Brew.get(potion);
|
// Convert potions from 1.10 to 1.11 for new color
|
||||||
if (brew != null) {
|
if (potion.getColor() == null) {
|
||||||
brew.convertPre19(item);
|
Brew brew = Brew.get(potion);
|
||||||
|
if (brew != null) {
|
||||||
|
brew.convertPre1_11(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// convert potions from 1.8 to 1.9 for color and to remove effect descriptions
|
||||||
|
if (P.use1_9 && !potion.hasItemFlag(ItemFlag.HIDE_POTION_EFFECTS)) {
|
||||||
|
Brew brew = Brew.get(potion);
|
||||||
|
if (brew != null) {
|
||||||
|
brew.convertPre1_9(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Brew brew = Brew.get(item);
|
Brew brew = Brew.get(item);
|
||||||
@ -203,6 +214,7 @@ public class InventoryListener implements Listener {
|
|||||||
ItemStack item = event.getCurrentItem();
|
ItemStack item = event.getCurrentItem();
|
||||||
if (item != null && item.getType() == Material.POTION && item.hasItemMeta()) {
|
if (item != null && item.getType() == Material.POTION && item.hasItemMeta()) {
|
||||||
PotionMeta meta = (PotionMeta) item.getItemMeta();
|
PotionMeta meta = (PotionMeta) item.getItemMeta();
|
||||||
|
assert meta != null;
|
||||||
Brew brew = Brew.get(meta);
|
Brew brew = Brew.get(meta);
|
||||||
if (brew != null) {
|
if (brew != null) {
|
||||||
BrewLore lore = null;
|
BrewLore lore = null;
|
||||||
@ -325,6 +337,7 @@ public class InventoryListener implements Listener {
|
|||||||
ItemStack item = event.getItem();
|
ItemStack item = event.getItem();
|
||||||
if (item.getType() == Material.POTION && Brew.isBrew(item)) {
|
if (item.getType() == Material.POTION && Brew.isBrew(item)) {
|
||||||
PotionMeta meta = (PotionMeta) item.getItemMeta();
|
PotionMeta meta = (PotionMeta) item.getItemMeta();
|
||||||
|
assert meta != null;
|
||||||
if (BrewLore.hasColorLore(meta)) {
|
if (BrewLore.hasColorLore(meta)) {
|
||||||
// has color lore, convert lore back to normal
|
// has color lore, convert lore back to normal
|
||||||
Brew brew = Brew.get(meta);
|
Brew brew = Brew.get(meta);
|
||||||
|
@ -19,7 +19,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class BRecipe {
|
public class BRecipe {
|
||||||
|
|
||||||
public static List<BRecipe> recipes = new ArrayList<>();
|
private static List<BRecipe> recipes = new ArrayList<>();
|
||||||
public static int numConfigRecipes; // The number of recipes in the list that are from config
|
public static int numConfigRecipes; // The number of recipes in the list that are from config
|
||||||
|
|
||||||
private String[] name;
|
private String[] name;
|
||||||
|
@ -59,6 +59,7 @@ public class PotionColor {
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public void colorBrew(PotionMeta meta, ItemStack potion, boolean destillable) {
|
public void colorBrew(PotionMeta meta, ItemStack potion, boolean destillable) {
|
||||||
if (P.use1_9) {
|
if (P.use1_9) {
|
||||||
|
// We need to Hide Potion Effects even in 1.12, as it would otherwise show "No Effects"
|
||||||
meta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
|
meta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
|
||||||
if (P.use1_11) {
|
if (P.use1_11) {
|
||||||
// BasePotionData was only used for the Color, so starting with 1.12 we can use setColor instead
|
// BasePotionData was only used for the Color, so starting with 1.12 we can use setColor instead
|
||||||
|
Loading…
Reference in New Issue
Block a user