From ef30ee009eb9021f3bd4741dcc5700f9a5499320 Mon Sep 17 00:00:00 2001 From: Forstride Date: Fri, 5 Jan 2024 12:40:44 -0500 Subject: [PATCH] Allowed various items to be used as filters for the Water Purifier --- .../entity/WaterPurifierBlockEntity.java | 32 ++++++++++++++++-- .../textures/gui/container/water_purifier.png | Bin 1212 -> 1157 bytes 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/toughasnails/block/entity/WaterPurifierBlockEntity.java b/common/src/main/java/toughasnails/block/entity/WaterPurifierBlockEntity.java index a79fbfbf..8fb4e83d 100644 --- a/common/src/main/java/toughasnails/block/entity/WaterPurifierBlockEntity.java +++ b/common/src/main/java/toughasnails/block/entity/WaterPurifierBlockEntity.java @@ -7,9 +7,13 @@ import com.google.common.collect.ImmutableMap; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; import net.minecraft.world.ContainerHelper; import net.minecraft.world.WorldlyContainer; @@ -23,16 +27,18 @@ import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; import net.minecraft.world.level.block.state.BlockState; -import toughasnails.api.crafting.TANRecipeTypes; import toughasnails.api.blockentity.TANBlockEntityTypes; +import toughasnails.api.crafting.TANRecipeTypes; import toughasnails.block.WaterPurifierBlock; import toughasnails.container.WaterPurifierContainer; import toughasnails.crafting.WaterPurifierRecipe; import javax.annotation.Nullable; +import java.util.Iterator; public class WaterPurifierBlockEntity extends BaseContainerBlockEntity implements WorldlyContainer { @@ -405,7 +411,29 @@ public static int getFilterDuration(ItemStack filter) private static ImmutableMap getFilterDurations() { ImmutableMap.Builder builder = ImmutableMap.builder(); - builder.put(Items.CHARCOAL, 1200); + add(builder, Items.SHORT_GRASS, 100); + add(builder, Items.PAPER, 200); + add(builder, Items.GRAVEL, 400); + add(builder, ItemTags.SAND, 800); + add(builder, Items.CHARCOAL, 1600); + add(builder, Items.PRISMARINE_CRYSTALS, 3200); + add(builder, Items.HEART_OF_THE_SEA, 6400); return builder.build(); } + + private static void add(ImmutableMap.Builder builder, TagKey tagKey, int i) + { + Iterator var3 = BuiltInRegistries.ITEM.getTagOrEmpty(tagKey).iterator(); + + while(var3.hasNext()) + { + Holder holder = (Holder)var3.next(); + builder.put(holder.value(), i); + } + } + + private static void add(ImmutableMap.Builder builder, ItemLike itemLike, int i) { + Item item = itemLike.asItem(); + builder.put(item, i); + } } diff --git a/common/src/main/resources/assets/toughasnails/textures/gui/container/water_purifier.png b/common/src/main/resources/assets/toughasnails/textures/gui/container/water_purifier.png index fefe9eaf7760d4c8efde41bdb6e097ee15bfdffb..a019bd1cf3f5151f9f70e51d0631b097533dd105 100644 GIT binary patch literal 1157 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBzE*%wh%1mjcI+6p^wR(T|BIR(V_=Kx?(Pl^4V8&|;yv^2k@x@2&CN41 zGJwi#J@#G#QhX&re!)P+2*BWa;LZu43}=ByWHC^|eh_A~U=3DbU|>Gw>Eakt5%>1i z&7#EyBCdfpX;1#wZ*R3|$c@Ql)7)6{t!^jFoxUwyDx#NsZ<{^6vhA&6*_-2vb8bXl zHd|iA#Z-9z_-EB~A`Gf;|CeOAHDudd&?^&Rd{jO4!tLnGy^nv!Zf_{txR_62U#Q?+ zrX$e~yKe+`G9>XH*tc_e@4B8JA7Jlb^LfU)RxRcWkG=-_ESI}<^cKUG zZ`O=+cluv<`pSIAe0Pj!!?b%#jW?%>%QBYSNat9f{Per61G{r6BM;NB7oMBFr!szF zvWg4IWmvtM&Eb5}aJtJP9<%2mWwMLb10x4qn@{W}SNM+nT$>hNBOZoei z(BfD9=bx}$SpPM7dAKzwMS}rI0gTNsnzCkebQ7<*ohB W^0kUbV%~LveCg@x=d#Wzp$PzBlh(ih literal 1212 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBzE*%wh%1mjcI+6p^wR(T|BIR(V_=Kx?(Pl^4V8&|;yv^2k@x@2&CN41 zGJwi#J@#G#QhX&re!)P+2*BWa;LZu43}=ByWHC^|0T5=)y4J}Fw3E@(#WAEJ?(MD4 zqS*!#u8Dh&oICb=f1YX~4?f6LP3pC$uYWwng9b@>nLIfRaPiDy3bl z9@87jHZBxmJoN8=DQAYbw3dLv+jx+?7fZ$eA07-3yB&7l2&iO8{6BxbzyG=!FMRL2oK|aY$trQF zPVD<@hF>2%H~*_+xUj37yJ0HB^dD?B)8&5nUu9TxmN((kr8M>r8UgYL&gaJ`rdtJF zWo%jc`bB18w$+;=mL0zvZZTZCRr+VmmmhE0ukcSeXS3|M(^STckH3Pwmdjmg-pZKq zww%eTc)lF>RsMqePadvf*z#q@IiFcJFE|z))^lc%)!cubLH5g4)(hM({QYOygh)E5 zFL)ezm2Jb0EQS*O@|w|mA}Fj@M*t^dkf)`~Ozm<>#43~Q^mgD8eCZ&+D?RL0%i ztPKoboZoHies)8C{z={i`LEmk)|at?6#)rQ=)u?w3BMk{3%8yu>F_=Fn9;r47iDIb zs+l*e+p@4n{PQkjn6idzd!u1&28N&Sp1dhlGj4ddyC-$e_QjTFuYK|uVl$m3^`Did z!p_vFpjK4}d`OhE3IcXwYgmb@?3dHgr_?8eCSBIXx&(=;AS-@9{