diff --git a/src/main/java/WayofTime/bloodmagic/api/Constants.java b/src/main/java/WayofTime/bloodmagic/api/Constants.java index 5ff52ae2..b5fb2f4b 100644 --- a/src/main/java/WayofTime/bloodmagic/api/Constants.java +++ b/src/main/java/WayofTime/bloodmagic/api/Constants.java @@ -291,7 +291,8 @@ public class Constants DIMENSIONAL_PORTAL("BlockDimensionalPortal"), BLOOD_TANK("BlockBloodTank"), MIMIC("BlockMimic"), - ALCHEMY_TABLE("BlockAlchemyTable"); + ALCHEMY_TABLE("BlockAlchemyTable"), + DEMON_BRICK_1("BlockDemonBricks1"); @Getter private final String regName; diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockDemonBase.java b/src/main/java/WayofTime/bloodmagic/block/BlockDemonBase.java new file mode 100644 index 00000000..a3ca7696 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/block/BlockDemonBase.java @@ -0,0 +1,42 @@ +package WayofTime.bloodmagic.block; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + +import WayofTime.bloodmagic.BloodMagic; +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.block.base.BlockString; +import WayofTime.bloodmagic.client.IVariantProvider; + +public class BlockDemonBase extends BlockString implements IVariantProvider +{ + public final String[] names; + + public BlockDemonBase(String baseName, String[] names) + { + super(Material.ROCK, names); + this.names = names; + + setUnlocalizedName(Constants.Mod.MODID + "." + baseName + "."); + setCreativeTab(BloodMagic.tabBloodMagic); + setHardness(2.0F); + setResistance(5.0F); + setSoundType(SoundType.STONE); + setHarvestLevel("pickaxe", 2); + } + + @Override + public List> getVariants() + { + List> ret = new ArrayList>(); + for (int i = 0; i < names.length; i++) + ret.add(new ImmutablePair(i, "type=" + names[i])); + return ret; + } +} diff --git a/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockDemonBase.java b/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockDemonBase.java new file mode 100644 index 00000000..b633ef9b --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockDemonBase.java @@ -0,0 +1,29 @@ +package WayofTime.bloodmagic.item.block; + +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import WayofTime.bloodmagic.block.BlockDemonBase; + +public class ItemBlockDemonBase extends ItemBlock +{ + public final BlockDemonBase demonBlock; + + public ItemBlockDemonBase(BlockDemonBase block) + { + super(block); + setHasSubtypes(true); + demonBlock = block; + } + + @Override + public String getUnlocalizedName(ItemStack stack) + { + return super.getUnlocalizedName(stack) + demonBlock.names[stack.getItemDamage()]; + } + + @Override + public int getMetadata(int meta) + { + return meta; + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java index 4021181a..973f7c52 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java @@ -18,6 +18,7 @@ import WayofTime.bloodmagic.block.BlockBloodRune; import WayofTime.bloodmagic.block.BlockBloodStoneBrick; import WayofTime.bloodmagic.block.BlockBloodTank; import WayofTime.bloodmagic.block.BlockCrystal; +import WayofTime.bloodmagic.block.BlockDemonBase; import WayofTime.bloodmagic.block.BlockDemonCrucible; import WayofTime.bloodmagic.block.BlockDemonCrystal; import WayofTime.bloodmagic.block.BlockDemonCrystallizer; @@ -43,6 +44,7 @@ import WayofTime.bloodmagic.item.block.ItemBlockBloodRune; import WayofTime.bloodmagic.item.block.ItemBlockBloodStoneBrick; import WayofTime.bloodmagic.item.block.ItemBlockBloodTank; import WayofTime.bloodmagic.item.block.ItemBlockCrystal; +import WayofTime.bloodmagic.item.block.ItemBlockDemonBase; import WayofTime.bloodmagic.item.block.ItemBlockDemonCrystal; import WayofTime.bloodmagic.item.block.ItemBlockMimic; import WayofTime.bloodmagic.item.block.ItemBlockPath; @@ -113,6 +115,8 @@ public class ModBlocks public static Block mimic; + public static Block demonBrick1; + public static void init() { FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence()); @@ -150,6 +154,8 @@ public class ModBlocks mimic = registerBlock(new ItemBlockMimic(new BlockMimic()), Constants.BloodMagicBlock.MIMIC.getRegName()); + demonBrick1 = registerBlock(new ItemBlockDemonBase(new BlockDemonBase("bricks1", new String[] { "brick1_raw", "brick1_corrosive", "brick1_destructive", "brick1_vengeful", "brick1_steadfast", "brick2_raw", "brick2_corrosive", "brick2_destructive", "brick2_vengeful", "brick2_steadfast", "brick3_raw", "brick3_corrosive", "brick3_destructive", "brick3_vengeful", "brick3_steadfast" })), Constants.BloodMagicBlock.DEMON_BRICK_1.getRegName()); + // testSpellBlock = registerBlock(new BlockTestSpellBlock()); BloodMagicAPI.addToTeleposerBlacklist(inputRoutingNode); diff --git a/src/main/resources/assets/bloodmagic/blockstates/BlockDemonBricks1.json b/src/main/resources/assets/bloodmagic/blockstates/BlockDemonBricks1.json new file mode 100644 index 00000000..b290a8bd --- /dev/null +++ b/src/main/resources/assets/bloodmagic/blockstates/BlockDemonBricks1.json @@ -0,0 +1,87 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { }, + "model": "cube_all", + "uvlock": true + }, + "variants": { + "type": { + "brick1_raw": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick1" + } + }, + "brick1_corrosive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick1_c" + } + }, + "brick1_destructive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick1_d" + } + }, + "brick1_vengeful": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick1_v" + } + }, + "brick1_steadfast": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick1_s" + } + }, + "brick2_raw": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick2" + } + }, + "brick2_corrosive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick2_c" + } + }, + "brick2_destructive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick2_d" + } + }, + "brick2_vengeful": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick2_v" + } + }, + "brick2_steadfast": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick2_s" + } + }, + "brick3_raw": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick3" + } + }, + "brick3_corrosive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick3_c" + } + }, + "brick3_destructive": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick3_d" + } + }, + "brick3_vengeful": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick3_v" + } + }, + "brick3_steadfast": { + "textures": { + "all": "bloodmagic:blocks/dungeon/dungeon_brick3_s" + } + } + } + } +}