From 1318ae93eb2d64f7af2b38737aaaaa7d6ee20a8e Mon Sep 17 00:00:00 2001 From: StarWishsama Date: Sun, 22 Dec 2024 13:32:26 +0800 Subject: [PATCH] feat(brewer): add new potion in 1.21 --- .../slimefun4/storage/util/StorageCacheUtils.java | 13 ++++++++----- .../items/androids/ProgrammableAndroid.java | 1 + .../items/electric/machines/AutoBrewer.java | 7 +++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/util/StorageCacheUtils.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/util/StorageCacheUtils.java index bce00384b3..e6dcb4c6a9 100644 --- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/util/StorageCacheUtils.java +++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/util/StorageCacheUtils.java @@ -2,7 +2,6 @@ import city.norain.slimefun4.api.menu.UniversalMenu; import city.norain.slimefun4.utils.TaskUtil; -import com.google.common.base.Preconditions; import com.xzavier0722.mc.plugin.slimefun4.storage.callback.IAsyncReadCallback; import com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataContainer; import com.xzavier0722.mc.plugin.slimefun4.storage.controller.ASlimefunDataContainer; @@ -96,8 +95,10 @@ public static void setData(Location loc, String key, String val) { block.setData(key, val); } else { var uni = getUniversalBlock(loc.getBlock()); - Preconditions.checkNotNull(uni); - uni.setData(key, val); + + if (uni != null) { + uni.setData(key, val); + } } } @@ -108,8 +109,10 @@ public static void removeData(Location loc, String key) { block.removeData(key); } else { var uni = getUniversalBlock(loc.getBlock()); - Preconditions.checkNotNull(uni); - uni.removeData(key); + + if (uni != null) { + uni.removeData(key); + } } } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java index 8046de2a6c..bc481dbf39 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java @@ -877,6 +877,7 @@ protected void rotate(Block b, BlockFace current, int mod) { rotatable.setRotation(rotation.getOppositeFace()); } })); + StorageCacheUtils.setData(b.getLocation(), "rotation", rotation.name()); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBrewer.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBrewer.java index 7b74c27ac2..17752cd261 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBrewer.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBrewer.java @@ -51,6 +51,13 @@ public class AutoBrewer extends AContainer implements NotHopperable { fermentations.put(VersionedPotionType.HEALING, VersionedPotionType.HARMING); fermentations.put(PotionType.POISON, VersionedPotionType.HARMING); fermentations.put(PotionType.NIGHT_VISION, PotionType.INVISIBILITY); + + if (SlimefunExtended.getMinecraftVersion().isAtLeast(1, 21)) { + potionRecipes.put(Material.BREEZE_ROD, PotionType.WIND_CHARGED); + potionRecipes.put(Material.COBWEB, PotionType.WEAVING); + potionRecipes.put(Material.SLIME_BLOCK, PotionType.OOZING); + potionRecipes.put(Material.STONE, PotionType.INFESTED); + } } @ParametersAreNonnullByDefault