diff --git a/src/main/java/com/pitheguy/magicmod/MagicMod.java b/src/main/java/com/pitheguy/magicmod/MagicMod.java index 9f01b09..86391ab 100644 --- a/src/main/java/com/pitheguy/magicmod/MagicMod.java +++ b/src/main/java/com/pitheguy/magicmod/MagicMod.java @@ -8,6 +8,8 @@ import com.pitheguy.magicmod.util.RegistryHandler; import com.pitheguy.magicmod.world.gen.ModOreGen; import net.minecraft.client.gui.ScreenManager; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; @@ -53,6 +55,7 @@ private void doClientStuff(final FMLClientSetupEvent event) { ScreenManager.registerFactory(ModContainerTypes.MAGIC_INFUSER.get(), MagicInfuserScreen::new); ScreenManager.registerFactory(ModContainerTypes.MAGIC_CRATE.get(), MagicCrateScreen::new); ScreenManager.registerFactory(ModContainerTypes.MAGIC_PRESS.get(), MagicPressScreen::new); + RenderTypeLookup.setRenderLayer(RegistryHandler.MAGIC_VEIN.get(), RenderType.getCutout()); } @SubscribeEvent diff --git a/src/main/java/com/pitheguy/magicmod/blocks/MagicVein.java b/src/main/java/com/pitheguy/magicmod/blocks/MagicVein.java new file mode 100644 index 0000000..1356722 --- /dev/null +++ b/src/main/java/com/pitheguy/magicmod/blocks/MagicVein.java @@ -0,0 +1,45 @@ +package com.pitheguy.magicmod.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.server.ServerWorld; +import net.minecraftforge.common.ToolType; + +import java.util.Random; + +public class MagicVein extends Block { + public MagicVein() { + super(Properties.create(Material.IRON) + .hardnessAndResistance(5, 7) + .sound(SoundType.METAL) + .harvestLevel(2) + .harvestTool(ToolType.PICKAXE) + .doesNotBlockMovement() + .notSolid() + ); + } + + @Override + public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { + return Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D); + } + + @Override + public boolean propagatesSkylightDown(BlockState state, IBlockReader reader, BlockPos pos) { + return true; + } + + @Override + public void tick(BlockState state, ServerWorld worldIn, BlockPos pos, Random rand) { + super.tick(state, worldIn, pos, rand); + if(worldIn.getBlockState(pos.down()).isAir()) { + worldIn.destroyBlock(pos, false); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/pitheguy/magicmod/util/RegistryHandler.java b/src/main/java/com/pitheguy/magicmod/util/RegistryHandler.java index 6d8398b..9fc88c8 100644 --- a/src/main/java/com/pitheguy/magicmod/util/RegistryHandler.java +++ b/src/main/java/com/pitheguy/magicmod/util/RegistryHandler.java @@ -131,6 +131,7 @@ public static void init() { public static final RegistryObject MAGIC_INFUSER = BLOCKS.register("magic_infuser", MagicInfuser::new); public static final RegistryObject MAGIC_CRATE = BLOCKS.register("magic_crate", MagicCrate::new); public static final RegistryObject MAGIC_PRESS = BLOCKS.register("magic_press", MagicPress::new); + public static final RegistryObject MAGIC_VEIN = BLOCKS.register("magic_vein", MagicVein::new); //Magic Lamps public static final RegistryObject MAGIC_LAMP_RED = BLOCKS.register("magic_lamp_red", MagicLamp::new); @@ -153,6 +154,7 @@ public static void init() { public static final RegistryObject MAGIC_INFUSER_ITEM = ITEMS.register("magic_infuser", () -> new BlockItemBase(MAGIC_INFUSER.get())); public static final RegistryObject MAGIC_CRATE_ITEM = ITEMS.register("magic_crate", () -> new BlockItemBase(MAGIC_CRATE.get())); public static final RegistryObject MAGIC_PRESS_ITEM = ITEMS.register("magic_press", () -> new BlockItemBase(MAGIC_PRESS.get())); + public static final RegistryObject MAGIC_VEIN_ITEM = ITEMS.register("magic_vein", () -> new BlockItemBase(MAGIC_VEIN.get())); //Magic Lamps public static final RegistryObject MAGIC_LAMP_RED_ITEM = ITEMS.register("magic_lamp_red", () -> new BlockItemBase(MAGIC_LAMP_RED.get())); diff --git a/src/main/resources/assets/magicmod/blockstates/magic_vein.json b/src/main/resources/assets/magicmod/blockstates/magic_vein.json new file mode 100644 index 0000000..53a9225 --- /dev/null +++ b/src/main/resources/assets/magicmod/blockstates/magic_vein.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "magicmod:block/magic_vein" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/magicmod/lang/en_us.json b/src/main/resources/assets/magicmod/lang/en_us.json index f41d3a4..0ec793b 100644 --- a/src/main/resources/assets/magicmod/lang/en_us.json +++ b/src/main/resources/assets/magicmod/lang/en_us.json @@ -59,6 +59,7 @@ "block.magicmod.magic_infuser": "Magic Infuser", "block.magicmod.magic_crate": "Magic Crate", "block.magicmod.magic_press": "Magic Press", + "block.magicmod.magic_vein": "Magic Vein", "block.magicmod.magic_lamp_red": "Magic Lamp (Red)", "block.magicmod.magic_lamp_orange": "Magic Lamp (Orange)", "block.magicmod.magic_lamp_yellow": "Magic Lamp (Yellow)", diff --git a/src/main/resources/assets/magicmod/models/block/magic_vein.json b/src/main/resources/assets/magicmod/models/block/magic_vein.json new file mode 100644 index 0000000..1e55b53 --- /dev/null +++ b/src/main/resources/assets/magicmod/models/block/magic_vein.json @@ -0,0 +1,19 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "particle": "magicmod:blocks/magic_vein", + "vine": "magicmod:blocks/magic_vein" + }, + "elements": [ + { + "from": [0, 0.8, 0], + "to": [16, 0.8, 16], + "shade": false, + "faces": { + "up": {"uv": [16, 0, 0, 16], "rotation": 180, "texture": "#vine", "tintindex": 0}, + "down": {"uv": [0, 0, 16, 16], "texture": "#vine", "tintindex": 0} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/magicmod/models/item/magic_vein.json b/src/main/resources/assets/magicmod/models/item/magic_vein.json new file mode 100644 index 0000000..91abf6c --- /dev/null +++ b/src/main/resources/assets/magicmod/models/item/magic_vein.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "magicmod:items/magic_vein" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/magicmod/textures/blocks/magic_infused_stone.png b/src/main/resources/assets/magicmod/textures/blocks/magic_infused_stone.png new file mode 100644 index 0000000..414fba9 Binary files /dev/null and b/src/main/resources/assets/magicmod/textures/blocks/magic_infused_stone.png differ diff --git a/src/main/resources/assets/magicmod/textures/blocks/magic_vein.png b/src/main/resources/assets/magicmod/textures/blocks/magic_vein.png new file mode 100644 index 0000000..46d38c8 Binary files /dev/null and b/src/main/resources/assets/magicmod/textures/blocks/magic_vein.png differ diff --git a/src/main/resources/assets/magicmod/textures/items/magic_vein.png b/src/main/resources/assets/magicmod/textures/items/magic_vein.png new file mode 100644 index 0000000..300b492 Binary files /dev/null and b/src/main/resources/assets/magicmod/textures/items/magic_vein.png differ