From 80e979d0596991aadb3ba2b0f21224f80d25ef41 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Mon, 10 Jun 2024 19:57:38 +0200 Subject: [PATCH] added lava hoarder --- .../EmptyLavaHoarderBlockEntity.java | 85 ++++++++++++ .../blocks/BlockEmptyLavahoarder.java | 124 ++++++++++++++++++ .../quickiemod/blocks/BlockLavahoarder.java | 81 ++++++++++++ .../quickiemod/blocks/QuickieBlocks.java | 2 + .../quickiemod/init/BlockEntityIdentity.java | 22 ++++ .../quickiemod/init/RegistryManager.java | 4 + .../blockstates/emptylavahoarder.json | 7 + .../quickiemod/blockstates/lavahoarder.json | 7 + .../models/block/emptylavahoarder.json | 6 + .../quickiemod/models/block/lavahoarder.json | 6 + .../models/item/emptylavahoarder.json | 10 ++ .../quickiemod/models/item/lavahoarder.json | 10 ++ .../textures/block/emptylavahoarder.png | Bin 0 -> 542 bytes .../quickiemod/textures/block/lavahoarder.png | Bin 0 -> 709 bytes .../recipes/shaped_emptylavahoarder.json | 20 +++ 15 files changed, 384 insertions(+) create mode 100644 src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java create mode 100644 src/main/java/de/jottyfan/quickiemod/blocks/BlockEmptyLavahoarder.java create mode 100644 src/main/java/de/jottyfan/quickiemod/blocks/BlockLavahoarder.java create mode 100644 src/main/java/de/jottyfan/quickiemod/init/BlockEntityIdentity.java create mode 100644 src/main/resources/assets/quickiemod/blockstates/emptylavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/blockstates/lavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/block/emptylavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/block/lavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/item/emptylavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/item/lavahoarder.json create mode 100644 src/main/resources/assets/quickiemod/textures/block/emptylavahoarder.png create mode 100644 src/main/resources/assets/quickiemod/textures/block/lavahoarder.png create mode 100644 src/main/resources/data/quickiemod/recipes/shaped_emptylavahoarder.json diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java b/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java new file mode 100644 index 0000000..0ba7d89 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java @@ -0,0 +1,85 @@ +package de.jottyfan.quickiemod.blockentity; + +import java.util.Random; + +import de.jottyfan.quickiemod.blocks.QuickieBlocks; +import de.jottyfan.quickiemod.init.RegistryManager; +import de.jottyfan.quickiemod.items.QuickieItems; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.entity.ItemEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class EmptyLavaHoarderBlockEntity extends BlockEntity { + + public EmptyLavaHoarderBlockEntity(BlockPos pos, BlockState state) { + super(RegistryManager.EMPTYLAVAHOARDER, pos, state); + } + + public static final void spawnRandomItems(World world, BlockPos pos, Integer count) { + Integer which = new Random().nextInt(10); + if (which < 1) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.DIAMOND, new Random().nextInt(count + 2)))); + } else if (which < 2) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.EMERALD, new Random().nextInt(count + 1)))); + } else if (which < 3) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.RAW_GOLD, new Random().nextInt(count)))); + } else if (which < 4) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.RAW_IRON, new Random().nextInt(count + 1)))); + } else if (which < 5) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.RAW_COPPER, new Random().nextInt(count + 2)))); + } else if (which < 6) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.OBSIDIAN))); + } else if (which < 7) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.LAPIS_LAZULI))); + } else if (which < 8) { + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(QuickieItems.SULPHOR.getItem()))); + } + } + + /** + * sucks the lava that touches the block + * + * @param world the world + * @param pos the pos + * @return true if lava was found + */ + private boolean suckLava(World world, BlockPos pos) { + if (world == null) { + return false; + } else if (Blocks.LAVA.equals(world.getBlockState(pos).getBlock())) { + world.setBlockState(pos, Blocks.AIR.getDefaultState()); + BlockPos up = pos.up(); + Random random = new Random(); + if (random.nextFloat() > 0.9f) { + spawnRandomItems(world, up, 2); + } + return true; + } + return false; + } + + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof EmptyLavaHoarderBlockEntity) { + EmptyLavaHoarderBlockEntity elhbe = (EmptyLavaHoarderBlockEntity) be; + boolean found = elhbe.suckLava(world, pos.north()); + found = found || elhbe.suckLava(world, pos.south()); + found = found || elhbe.suckLava(world, pos.east()); + found = found || elhbe.suckLava(world, pos.west()); + found = found || elhbe.suckLava(world, pos.up()); + found = found || elhbe.suckLava(world, pos.down()); + if (found) { + world.setBlockState(pos, QuickieBlocks.LAVAHOARDER.getBlock().getDefaultState()); + } + } + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blocks/BlockEmptyLavahoarder.java b/src/main/java/de/jottyfan/quickiemod/blocks/BlockEmptyLavahoarder.java new file mode 100644 index 0000000..669debe --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blocks/BlockEmptyLavahoarder.java @@ -0,0 +1,124 @@ +package de.jottyfan.quickiemod.blocks; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Random; +import java.util.Set; + +import de.jottyfan.quickiemod.blockentity.EmptyLavaHoarderBlockEntity; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.entity.ExperienceOrbEntity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContextParameterSet.Builder; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class BlockEmptyLavahoarder extends Block implements BlockEntityProvider { + + public BlockEmptyLavahoarder() { + super(AbstractBlock.Settings.create().hardness(2.5f)); + } + + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) { + return new EmptyLavaHoarderBlockEntity(pos, blockState); + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ + return (world1, pos, state1, be) -> EmptyLavaHoarderBlockEntity.tick(world1, pos, state1, be); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + List list = new ArrayList<>(); + list.add(new ItemStack(QuickieBlocks.EMPTYLAVAHOARDER.getBlock())); + return list; + } + + private static final String stringOf(BlockPos pos) { + StringBuilder buf = new StringBuilder(); + buf.append(pos.getX()).append(":"); + buf.append(pos.getY()).append(":"); + buf.append(pos.getZ()); + return buf.toString(); + } + + private static final BlockPos blockPosOf(String s) { + if (s.contains(":")) { + String[] parts = s.split(":"); + if (parts.length > 2) { + Integer x = Integer.valueOf(parts[0]); + Integer y = Integer.valueOf(parts[1]); + Integer z = Integer.valueOf(parts[2]); + return new BlockPos(x, y, z); + } else { + return null; + } + } else { + return null; + } + } + + private void findAllAttachedLavaBlocks(Set list, BlockPos pos, World world, Integer counter) { + if (counter < 1) { + return; + } else if (Blocks.LAVA.equals(world.getBlockState(pos).getBlock())) { + String p = stringOf(pos); + if (!list.contains(p)) { + list.add(p); + findAllAttachedLavaBlocks(list, pos.up(), world, counter - 1); + findAllAttachedLavaBlocks(list, pos.down(), world, counter - 1); + findAllAttachedLavaBlocks(list, pos.north(), world, counter - 1); + findAllAttachedLavaBlocks(list, pos.south(), world, counter - 1); + findAllAttachedLavaBlocks(list, pos.east(), world, counter - 1); + findAllAttachedLavaBlocks(list, pos.west(), world, counter - 1); + } + } + } + + @Override + public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { + Set positions = new HashSet<>(); + Integer counter = 8; // TODO: make it level up - able + findAllAttachedLavaBlocks(positions, pos.up(), world, counter); + findAllAttachedLavaBlocks(positions, pos.down(), world, counter); + findAllAttachedLavaBlocks(positions, pos.north(), world, counter); + findAllAttachedLavaBlocks(positions, pos.south(), world, counter); + findAllAttachedLavaBlocks(positions, pos.east(), world, counter); + findAllAttachedLavaBlocks(positions, pos.west(), world, counter); + Integer amount = positions.size(); + for (String p : positions) { + world.setBlockState(blockPosOf(p), Blocks.AIR.getDefaultState()); + } + if (amount > 0) { + world.setBlockState(pos, QuickieBlocks.LAVAHOARDER.getBlock().getDefaultState()); + int count = 0; + Random random = new Random(); + for (int i = 0; i < amount; i++) { + if (random.nextFloat() < 0.0125) { + count++; + } + } + BlockPos up = pos.up(); + if (count > 0) { + EmptyLavaHoarderBlockEntity.spawnRandomItems(world, up, count); + world.spawnEntity(new ExperienceOrbEntity(world, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, count)); + } + } + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blocks/BlockLavahoarder.java b/src/main/java/de/jottyfan/quickiemod/blocks/BlockLavahoarder.java new file mode 100644 index 0000000..a7b3291 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blocks/BlockLavahoarder.java @@ -0,0 +1,81 @@ +package de.jottyfan.quickiemod.blocks; + +import java.util.ArrayList; +import java.util.List; + +import de.jottyfan.quickiemod.blockentity.EmptyLavaHoarderBlockEntity; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockEntityProvider; +import net.minecraft.block.BlockRenderType; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.entity.ItemEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.loot.context.LootContextParameterSet.Builder; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class BlockLavahoarder extends Block implements BlockEntityProvider { + + public BlockLavahoarder() { + super(AbstractBlock.Settings.create().hardness(2.5f).luminance(state -> 15)); + } + + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) { + return new EmptyLavaHoarderBlockEntity(pos, blockState); + } + + @Override + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, + BlockEntityType type) { + return (world1, pos, state1, be) -> EmptyLavaHoarderBlockEntity.tick(world1, pos, state1, be); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + List list = new ArrayList<>(); + list.add(new ItemStack(QuickieBlocks.LAVAHOARDER.getBlock())); + return list; + } + + @Override + protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { + if (!world.isClient) { + Hand hand = player.getActiveHand(); + ItemStack handStack = player.getStackInHand(hand); + if (handStack != null && Items.BUCKET.equals(handStack.getItem())) { + Integer amount = handStack.getCount(); + ItemStack lavaBucketStack = new ItemStack(Items.LAVA_BUCKET, 1); + ItemStack emptyBucketStack = new ItemStack(Items.BUCKET, amount - 1); + if (emptyBucketStack.getCount() < 1) { + player.setStackInHand(hand, lavaBucketStack); + } else { + player.setStackInHand(hand, emptyBucketStack); + world.spawnEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), lavaBucketStack)); + } + EmptyLavaHoarderBlockEntity.spawnRandomItems(world, pos, 2); + world.setBlockState(pos, QuickieBlocks.EMPTYLAVAHOARDER.getBlock().getDefaultState()); + } + } + return ActionResult.SUCCESS; // forbid to empty the just filled lava bucket + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java b/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java index a590bc1..d0ff038 100644 --- a/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java +++ b/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java @@ -9,6 +9,8 @@ import net.minecraft.block.Block; */ public enum QuickieBlocks { // @formatter:off + LAVAHOARDER(new BlockLavahoarder(), "lavahoarder", false), + EMPTYLAVAHOARDER(new BlockEmptyLavahoarder(), "emptylavahoarder"), KELPSTACK(new BlockKelpstack(), "kelpstack"), COTTONPLANT(new BlockCottonplant(), "cottonplant", false), CANOLAPLANT(new BlockCanolaplant(), "canolaplant", false), diff --git a/src/main/java/de/jottyfan/quickiemod/init/BlockEntityIdentity.java b/src/main/java/de/jottyfan/quickiemod/init/BlockEntityIdentity.java new file mode 100644 index 0000000..5875a12 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/init/BlockEntityIdentity.java @@ -0,0 +1,22 @@ +package de.jottyfan.quickiemod.init; + +import de.jottyfan.quickiemod.QuickieMod; +import net.minecraft.util.Identifier; + +/** + * + * @author jotty + * + */ +public class BlockEntityIdentity { + public static final Identifier ITEMHOARDER = new Identifier(QuickieMod.MODID, "itemhoarderblockentity"); + public static final Identifier BLOCKSPREADER = new Identifier(QuickieMod.MODID, "blockspreaderblockentity"); + public static final Identifier BLOCKSTACKERUP = new Identifier(QuickieMod.MODID, "blockstackerblockentity"); + public static final Identifier MONSTERHOARDER = new Identifier(QuickieMod.MODID, "monsterhoarderblockentity"); + public static final Identifier EMPTYLAVALHOARDER = new Identifier(QuickieMod.MODID, "emptylavahoarderblockentity"); + public static final Identifier DRILL_DOWN = new Identifier(QuickieMod.MODID, "drillblockdownblockentity"); + public static final Identifier DRILL_EAST = new Identifier(QuickieMod.MODID, "drillblockeastblockentity"); + public static final Identifier DRILL_SOUTH = new Identifier(QuickieMod.MODID, "drillblocksouthblockentity"); + public static final Identifier DRILL_WEST = new Identifier(QuickieMod.MODID, "drillblockwestblockentity"); + public static final Identifier DRILL_NORTH = new Identifier(QuickieMod.MODID, "drillblocknorthblockentity"); +} diff --git a/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java b/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java index 713e92a..c9219fa 100644 --- a/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import de.jottyfan.quickiemod.QuickieMod; +import de.jottyfan.quickiemod.blockentity.EmptyLavaHoarderBlockEntity; import de.jottyfan.quickiemod.blocks.QuickieBlocks; import de.jottyfan.quickiemod.items.QuickieItems; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; @@ -12,6 +13,7 @@ import net.fabricmc.fabric.api.biome.v1.ModificationPhase; import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; import net.fabricmc.fabric.api.registry.FuelRegistry; import net.minecraft.block.ComposterBlock; +import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.BlockItem; import net.minecraft.item.Item.Settings; import net.minecraft.item.ItemStack; @@ -30,6 +32,8 @@ import net.minecraft.util.Identifier; public class RegistryManager { private static final Logger LOGGER = LoggerFactory.getLogger(QuickieMod.MODID); + public static final BlockEntityType EMPTYLAVAHOARDER = Registry.register(Registries.BLOCK_ENTITY_TYPE, BlockEntityIdentity.EMPTYLAVALHOARDER, BlockEntityType.Builder.create(EmptyLavaHoarderBlockEntity::new, QuickieBlocks.EMPTYLAVAHOARDER.getBlock(), QuickieBlocks.LAVAHOARDER.getBlock()).build(null)); + public static final void registerItemGroup() { Registry.register(Registries.ITEM_GROUP, RegistryKey.of(RegistryKeys.ITEM_GROUP, new Identifier(QuickieMod.MODID, "itemgroups")), FabricItemGroup.builder().icon(() -> new ItemStack(QuickieItems.ROTTEN_FLESH_STRIPES.getItem())).displayName(Text.literal(QuickieMod.MODID)) diff --git a/src/main/resources/assets/quickiemod/blockstates/emptylavahoarder.json b/src/main/resources/assets/quickiemod/blockstates/emptylavahoarder.json new file mode 100644 index 0000000..d9d5831 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/emptylavahoarder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/emptylavahoarder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/blockstates/lavahoarder.json b/src/main/resources/assets/quickiemod/blockstates/lavahoarder.json new file mode 100644 index 0000000..24fd033 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/lavahoarder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/lavahoarder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/models/block/emptylavahoarder.json b/src/main/resources/assets/quickiemod/models/block/emptylavahoarder.json new file mode 100644 index 0000000..1f89087 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/emptylavahoarder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/emptylavahoarder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/lavahoarder.json b/src/main/resources/assets/quickiemod/models/block/lavahoarder.json new file mode 100644 index 0000000..31892f4 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/lavahoarder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/lavahoarder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/emptylavahoarder.json b/src/main/resources/assets/quickiemod/models/item/emptylavahoarder.json new file mode 100644 index 0000000..f01dd20 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/emptylavahoarder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/emptylavahoarder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/lavahoarder.json b/src/main/resources/assets/quickiemod/models/item/lavahoarder.json new file mode 100644 index 0000000..b3be3b9 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/lavahoarder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/lavahoarder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/textures/block/emptylavahoarder.png b/src/main/resources/assets/quickiemod/textures/block/emptylavahoarder.png new file mode 100644 index 0000000000000000000000000000000000000000..8e0bed92bd1caf694d03794528cff5a9fe19d378 GIT binary patch literal 542 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf;Q*fyS7v55RuJG|W#wXJ?NMQuIx{^WJFn{ zCe4it2MWn%hD4M&=jZ08=9K`s3=Gaisfi`2DGKG8B^e6tp1uJoda3L{@uQwDjv*44 zW6$3XVlw1mdywk5J79W&+YybD?X8>UxP)9;^6l^ZQ(|q>|7ONKnSI87vdUi1Nqwy+ ztZY~8XW|JGRhX@*x-`II>dHe5On*)F+8N4UOn-fN{?>fyEcb?q>+kKq7E=38GNs|% zVM<$QIkv;~O@Q(7Ga_xV|L-(f_y`=~Rw}vu(ei+M#?za|Y$uuTJdt0-DLv<4 S+3Nt1Pd#1zT-G@yGywpd;H+i< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/quickiemod/textures/block/lavahoarder.png b/src/main/resources/assets/quickiemod/textures/block/lavahoarder.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae48cb255c64daaa8acf44e876e0271ab0fd263 GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47`*~~LR^`d*_c^)SwVn`+rFeM6d3i*6 zcqDj%fJdB%M~WB37T^UjqvL>4nJa0`PlBg3pY5H=O_Q%X3BI+F6?>zE> zLb9155hc#~xw)x%B|t6%gL6@8Vo7R>LV0FMhJw4NZ$OG(Dmzg8hNp{Th{WaC^S8a7 z90k}uI3GV^d$fsN#^+3zP?E!iuL~bMP(2#7S>$unqoqcr*M9zwzZ+WhvAOc+$Bzds z-UZ5hkK)ju*AO7~;8G~to;g85T&+2bh=^PL(f4;x= z-JcpE59W{7a_j!PwRY9;A6?5)XX7n_*>=y@0{QF eY^6T(%A~UM@6olgovxn)^1P?3pUXO@geCy*l