From 9299dc39f1141bc1145457831bf3835986bfaaca Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Mon, 10 Jun 2024 22:17:09 +0200 Subject: [PATCH] added and improved monster hoarder --- .../de/jottyfan/quickiemod/QuickieMod.java | 1 + .../blockentity/BlockEntityTypes.java | 22 ++++++ .../blockentity/BlockMonsterhoarder.java | 64 ++++++++++++++++++ .../EmptyLavaHoarderBlockEntity.java | 3 +- .../blockentity/ItemHoarderBlockEntity.java | 3 +- .../MonsterHoarderBlockEntity.java | 51 ++++++++++++++ .../blocks/BlockMonsterhoarder.java | 64 ++++++++++++++++++ .../quickiemod/blocks/QuickieBlocks.java | 1 + .../quickiemod/init/RegistryManager.java | 11 ++- .../blockstates/monsterhoarder.json | 7 ++ .../models/block/monsterhoarder.json | 6 ++ .../models/item/monsterhoarder.json | 10 +++ .../textures/block/monsterhoarder.png | Bin 0 -> 2370 bytes .../recipes/shaped_monsterhoarder.json | 20 ++++++ 14 files changed, 253 insertions(+), 10 deletions(-) create mode 100644 src/main/java/de/jottyfan/quickiemod/blockentity/BlockEntityTypes.java create mode 100644 src/main/java/de/jottyfan/quickiemod/blockentity/BlockMonsterhoarder.java create mode 100644 src/main/java/de/jottyfan/quickiemod/blockentity/MonsterHoarderBlockEntity.java create mode 100644 src/main/java/de/jottyfan/quickiemod/blocks/BlockMonsterhoarder.java create mode 100644 src/main/resources/assets/quickiemod/blockstates/monsterhoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/block/monsterhoarder.json create mode 100644 src/main/resources/assets/quickiemod/models/item/monsterhoarder.json create mode 100644 src/main/resources/assets/quickiemod/textures/block/monsterhoarder.png create mode 100644 src/main/resources/data/quickiemod/recipes/shaped_monsterhoarder.json diff --git a/src/main/java/de/jottyfan/quickiemod/QuickieMod.java b/src/main/java/de/jottyfan/quickiemod/QuickieMod.java index d53c7dd..a9f6fc5 100644 --- a/src/main/java/de/jottyfan/quickiemod/QuickieMod.java +++ b/src/main/java/de/jottyfan/quickiemod/QuickieMod.java @@ -19,6 +19,7 @@ public class QuickieMod implements ModInitializer { @Override public void onInitialize() { LOGGER.info("loading {}", MODID); + RegistryManager.registerBlockEntityTypes(); RegistryManager.registerItems(); RegistryManager.registerBlocks(); RegistryManager.registerFeatures(); diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/BlockEntityTypes.java b/src/main/java/de/jottyfan/quickiemod/blockentity/BlockEntityTypes.java new file mode 100644 index 0000000..f6339bc --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/BlockEntityTypes.java @@ -0,0 +1,22 @@ +package de.jottyfan.quickiemod.blockentity; + +import de.jottyfan.quickiemod.blocks.QuickieBlocks; +import de.jottyfan.quickiemod.init.BlockEntityIdentity; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; + +/** + * + * @author jotty + * + */ +public class BlockEntityTypes { + 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 BlockEntityType ITEMHOARDER = Registry.register(Registries.BLOCK_ENTITY_TYPE, BlockEntityIdentity.ITEMHOARDER, + BlockEntityType.Builder.create(ItemHoarderBlockEntity::new, QuickieBlocks.ITEMHOARDER.getBlock()).build(null)); + public static final BlockEntityType MONSTERHOARDER = Registry.register(Registries.BLOCK_ENTITY_TYPE, + BlockEntityIdentity.MONSTERHOARDER, BlockEntityType.Builder.create(MonsterHoarderBlockEntity::new, QuickieBlocks.MONSTERHOARDER.getBlock()).build(null)); +} diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/BlockMonsterhoarder.java b/src/main/java/de/jottyfan/quickiemod/blockentity/BlockMonsterhoarder.java new file mode 100644 index 0000000..0c6572a --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/BlockMonsterhoarder.java @@ -0,0 +1,64 @@ +package de.jottyfan.quickiemod.blockentity; + +import java.util.ArrayList; +import java.util.List; + +import de.jottyfan.quickiemod.blocks.QuickieBlocks; +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.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContextParameterSet.Builder; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class BlockMonsterhoarder extends Block implements BlockEntityProvider { + + + public BlockMonsterhoarder() { + super(AbstractBlock.Settings.create().hardness(2.5f).luminance(state -> 15)); + } + + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) { + return new MonsterHoarderBlockEntity(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) -> MonsterHoarderBlockEntity.tick(world1, pos, state1, be); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + List list = new ArrayList<>(); + list.add(new ItemStack(QuickieBlocks.MONSTERHOARDER.getBlock())); + return list; + } + + @Override + public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { + if (!world.isClient) { + world.playSound(null, pos, SoundEvents.UI_TOAST_CHALLENGE_COMPLETE, SoundCategory.PLAYERS, 1f, 1f); + } + super.onPlaced(world, pos, state, placer, itemStack); + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java b/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java index 0ba7d89..468889c 100644 --- a/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/EmptyLavaHoarderBlockEntity.java @@ -3,7 +3,6 @@ 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; @@ -22,7 +21,7 @@ import net.minecraft.world.World; public class EmptyLavaHoarderBlockEntity extends BlockEntity { public EmptyLavaHoarderBlockEntity(BlockPos pos, BlockState state) { - super(RegistryManager.EMPTYLAVAHOARDER, pos, state); + super(BlockEntityTypes.EMPTYLAVAHOARDER, pos, state); } public static final void spawnRandomItems(World world, BlockPos pos, Integer count) { diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/ItemHoarderBlockEntity.java b/src/main/java/de/jottyfan/quickiemod/blockentity/ItemHoarderBlockEntity.java index 9a83ffc..a14665c 100644 --- a/src/main/java/de/jottyfan/quickiemod/blockentity/ItemHoarderBlockEntity.java +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/ItemHoarderBlockEntity.java @@ -3,7 +3,6 @@ package de.jottyfan.quickiemod.blockentity; import java.util.ArrayList; import java.util.List; -import de.jottyfan.quickiemod.init.RegistryManager; import de.jottyfan.quickiemod.text.PrefixedText; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; @@ -35,7 +34,7 @@ public class ItemHoarderBlockEntity extends LootableContainerBlockEntity { private float suckradius; public ItemHoarderBlockEntity(BlockPos pos, BlockState state) { - super(RegistryManager.ITEMHOARDER, pos, state); + super(BlockEntityTypes.ITEMHOARDER, pos, state); stacks = DefaultedList.ofSize(54, ItemStack.EMPTY); setSuckradius(4f); // TODO: make it level up - able and start with 2 } diff --git a/src/main/java/de/jottyfan/quickiemod/blockentity/MonsterHoarderBlockEntity.java b/src/main/java/de/jottyfan/quickiemod/blockentity/MonsterHoarderBlockEntity.java new file mode 100644 index 0000000..9cf34b6 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blockentity/MonsterHoarderBlockEntity.java @@ -0,0 +1,51 @@ +package de.jottyfan.quickiemod.blockentity; + +import java.util.List; + +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.entity.Entity; +import net.minecraft.entity.mob.HostileEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class MonsterHoarderBlockEntity extends BlockEntity { + + private float suckradius; + + public MonsterHoarderBlockEntity(BlockPos pos, BlockState state) { + super(BlockEntityTypes.MONSTERHOARDER, pos, state); + setSuckradius(8f); // TODO: make it level up - able and start with 2 + } + + public static void tick(World world, BlockPos pos, BlockState state, BlockEntity be) { + if (be instanceof MonsterHoarderBlockEntity) { + MonsterHoarderBlockEntity mhbe = (MonsterHoarderBlockEntity) be; + Box box = new Box(pos).expand(mhbe.getSuckradius()); + List entities = world.getOtherEntities(null, box); + for (Entity entity : entities) { + if (entity instanceof HostileEntity) { + if (entity.isFireImmune()) { + entity.kill(); + } else { + entity.setOnFireFor(90); + } + } + } + } + } + + public float getSuckradius() { + return suckradius; + } + + public void setSuckradius(float suckradius) { + this.suckradius = suckradius; + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blocks/BlockMonsterhoarder.java b/src/main/java/de/jottyfan/quickiemod/blocks/BlockMonsterhoarder.java new file mode 100644 index 0000000..f635838 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/blocks/BlockMonsterhoarder.java @@ -0,0 +1,64 @@ +package de.jottyfan.quickiemod.blocks; + +import java.util.ArrayList; +import java.util.List; + +import de.jottyfan.quickiemod.blockentity.MonsterHoarderBlockEntity; +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.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContextParameterSet.Builder; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author jotty + * + */ +public class BlockMonsterhoarder extends Block implements BlockEntityProvider { + + + public BlockMonsterhoarder() { + super(AbstractBlock.Settings.create().hardness(2.5f).luminance(state -> 15)); + } + + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState blockState) { + return new MonsterHoarderBlockEntity(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) -> MonsterHoarderBlockEntity.tick(world1, pos, state1, be); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + List list = new ArrayList<>(); + list.add(new ItemStack(QuickieBlocks.MONSTERHOARDER.getBlock())); + return list; + } + + @Override + public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { + if (!world.isClient) { + world.playSound(null, pos, SoundEvents.UI_TOAST_CHALLENGE_COMPLETE, SoundCategory.PLAYERS, 1f, 1f); + } + super.onPlaced(world, pos, state, placer, itemStack); + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java b/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java index bacfb0f..746e2bd 100644 --- a/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java +++ b/src/main/java/de/jottyfan/quickiemod/blocks/QuickieBlocks.java @@ -9,6 +9,7 @@ import net.minecraft.block.Block; */ public enum QuickieBlocks { // @formatter:off + MONSTERHOARDER(new BlockMonsterhoarder(), "monsterhoarder"), ITEMHOARDER(new BlockItemhoarder(), "itemhoarder"), LAVAHOARDER(new BlockLavahoarder(), "lavahoarder", false), EMPTYLAVAHOARDER(new BlockEmptyLavahoarder(), "emptylavahoarder"), diff --git a/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java b/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java index 9fb44ab..3d06d22 100644 --- a/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/quickiemod/init/RegistryManager.java @@ -4,8 +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.blockentity.ItemHoarderBlockEntity; +import de.jottyfan.quickiemod.blockentity.BlockEntityTypes; import de.jottyfan.quickiemod.blocks.QuickieBlocks; import de.jottyfan.quickiemod.items.QuickieItems; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; @@ -14,7 +13,6 @@ 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; @@ -33,9 +31,6 @@ 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 BlockEntityType ITEMHOARDER = Registry.register(Registries.BLOCK_ENTITY_TYPE, BlockEntityIdentity.ITEMHOARDER, BlockEntityType.Builder.create(ItemHoarderBlockEntity::new, QuickieBlocks.ITEMHOARDER.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)) @@ -81,4 +76,8 @@ public class RegistryManager { BiomeModifications.create(new Identifier(QuickieMod.MODID, "nether_features")).add(ModificationPhase.ADDITIONS, BiomeSelectors.foundInTheNether(), FeaturesManager.netherOres()); } + + public static final void registerBlockEntityTypes() { + new BlockEntityTypes(); + } } diff --git a/src/main/resources/assets/quickiemod/blockstates/monsterhoarder.json b/src/main/resources/assets/quickiemod/blockstates/monsterhoarder.json new file mode 100644 index 0000000..659e2e0 --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/monsterhoarder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/monsterhoarder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/models/block/monsterhoarder.json b/src/main/resources/assets/quickiemod/models/block/monsterhoarder.json new file mode 100644 index 0000000..331985d --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/monsterhoarder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/monsterhoarder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/monsterhoarder.json b/src/main/resources/assets/quickiemod/models/item/monsterhoarder.json new file mode 100644 index 0000000..5ef4898 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/monsterhoarder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/monsterhoarder", + "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/monsterhoarder.png b/src/main/resources/assets/quickiemod/textures/block/monsterhoarder.png new file mode 100644 index 0000000000000000000000000000000000000000..aba9272439bb5ab7992405c870c6152ebd9121ba GIT binary patch literal 2370 zcmV-I3BC4-P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvk_4*_{O1%t0!V=1III!AfsgM5MD;TBHixHT zx~nK5ATzbJ8UOkBH2=aM1)Gcyl46e0;?HNFso*Br^LM_T_4`vF?7jIIH_r>g5aXNA zV;pKR`Pf|zMvpVFpGT}z;k~(5K<4&JV)_KLh9Y_CJwu{I3``HV? z=mCRFh6X#f_*@f-&ws&x+Mfg?#~$}?k2_AkV`rY*FYunbFYIj5asGtD*r*2a3nLwO z;dksdLSL-il|Nq8@QC0Cc60VL=QyV;J_4y|^icOG`woT`Q1YG@aS8sHW7${6m2kuc z&^y?yxSDa<5pbN&yY7mcZtU;o8n)rB5%00YLYW#L3UIke!kN1PJH!pFF^1{c zi`(nwyds7X!yG|QqO~^Wh}*Ul=nNyZfQZ161=M6NAj|sz{fJM{PzfBo z2_eKFA%z@DOD3vy?rGpk;=eYv&cpill`8-74P%E}KY6u;~at`TKM6ygrKwBBYUb;3((iJS3i zv4`X#yPkz>Ns}L*2Os0+dsCuUFuBeO_GFx*jtkOXeG4o6-GMUe`a<8pPxpwn$I8{S z6vYu(p@Y=!u4+E76PWf##;uJ;Mj1kpjp+{6>{@Z?QHotE4VopP~Y+upb%b7nSVyLtkPBfcZ z+e}C)=@2qjDnZ83$eiB3vDR3_XCJbLPxP+4Krvpi-om&d^t06;XDV06G0j#Cj&W6sV>qZ*6Igrl&ON4s1818` z^_&7t*?#JVfQg?)H9Hco1+yZCK5q8#eXbe%dwdLTt{}1P_-GjFUtAq+sg}@i-jJsP zl@;ltx~h2g>nB90Dm2W)YYl$RJxOb-qdcS|h>wn%mCkMqomU!i7{QUo7;=I%WQv&2 z$_UGd>d$BLaL6I^x|#uriBKQUqg}D~Q-$28(gpDjWELg14rFOCTB1G*z!$JLwjg0I zU^m&B>Or_Sdzo%f)X>T_Ec9d_mNrQvT-_!!m-2KgqiecC#T#DpA3AK5NY0u>M{0Z7 z*xs2dY?>eMxzAtmd~uwSB+HvVQJf!rwsk`DB~aA!8`DURx$7#lbFiLqLTl}6s{==L zLq|s|sAtuP7!fWM`JE#ESe|wt62%SAX6?Q2Q?`rT+56ieZ?)KlXh-s62)x<}Li0N1 zC_`Dp(wC10KPkVR$rmkh6*WzsJRZ$UQ<%|TQXJ@d_5{@AP$c`8s`JgM(#fstKdP+c zzsoerNJbOZG@c5CoO8NmTN{~&iqgPm3BV`|KRQ%Rcy3k7kw_i6y`JCBgMEO(GDnE?|ViYBapH2kO zqK7@$-2Nikr)3eNupx_=__s@~Xm)8cqyH&KM^K-i?&-@MBEq9_quZB38l0x9?~R-L znFCGJeV{xhDg9|-&_kh;93;>dJ(&og%*+p;qw3}iM1=-|o?Yi#P7ALY_QwpJ5H$J& zen}!D-<-WdJZtyZ245;ZnfL@6J)yicas~}f>HVE6yMvH&dg{?6cM+lkVJzW>J zHhy=Ir2aIjP<4Ah3#iW}oX|yrb0yr4fuNAHFC!gWUGvI&SBt8VZcAELK&2ZdQAH4P z`;d#-q5CRc+D8GM3-bea5~a7KuUGbTY_Q3!HvV@FZf)QPO}5tj7mNAq7rbG2p8x;= zhfqvZMIIO@DkL=+EIHc%2BQ}xq8%tIL{+0NJwRf3-90|-Kmhbd0QyY;{Z9b?Q2_r^ z0RK|}-&R-uRRI520smM7|5^qATL=GK3IAOT|6dOOU=ROc5&vQn|6~>aWfuQu8UJV- z|7slnZ6N=2C*pW{|9vpwrKj$@yY$%D=HcZ1`1t+#`Tzg_fkn>200001VoOIv0Eh)0 zNB{r;32;bRa{vGf6951U69E94oEQKA00(qQO+^Rf2m%ZW65BKo*Z=?kv`IukR2b7$ zkJ)y@Knz1I36g;>p)Fa4y(Mi2hX4OQJmCpH$@kc@Y#>>M5GpU1Fl(`TC*ls=Zm==4 zS1ex|e6A7q2OJ!PK+{x{G^0^t$~k?=r2}|>b<07*qoM6N<$f~oCmdH?_b literal 0 HcmV?d00001 diff --git a/src/main/resources/data/quickiemod/recipes/shaped_monsterhoarder.json b/src/main/resources/data/quickiemod/recipes/shaped_monsterhoarder.json new file mode 100644 index 0000000..4360b7d --- /dev/null +++ b/src/main/resources/data/quickiemod/recipes/shaped_monsterhoarder.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "qqq", + "qtq", + "qqq" + ], + "key": { + "q": { + "item": "quickiemod:quickieingot" + }, + "t": { + "item": "minecraft:torch" + } + }, + "result": { + "id": "quickiemod:monsterhoarder", + "count": 1 + } +} \ No newline at end of file