diff --git a/src/main/java/ganymedes01/etfuturum/ModBlocks.java b/src/main/java/ganymedes01/etfuturum/ModBlocks.java index 5eb1a1b55..f0613fefb 100644 --- a/src/main/java/ganymedes01/etfuturum/ModBlocks.java +++ b/src/main/java/ganymedes01/etfuturum/ModBlocks.java @@ -9,7 +9,6 @@ import ganymedes01.etfuturum.blocks.ores.BlockOreNetherGold; import ganymedes01.etfuturum.client.sound.ModSounds; import ganymedes01.etfuturum.configuration.configs.*; -import ganymedes01.etfuturum.core.utils.Utils; import ganymedes01.etfuturum.tileentities.TileEntityWoodSign; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -101,15 +100,15 @@ public enum ModBlocks { SCULK(ConfigBlocksItems.enableSculk && EtFuturum.TESTING, new BlockSculk()), SCULK_CATALYST(ConfigBlocksItems.enableSculk && EtFuturum.TESTING, new BlockSculkCatalyst()), TINTED_GLASS(ConfigBlocksItems.enableAmethyst, new BlockTintedGlass()), - STONE_WALL(ConfigBlocksItems.enableExtraVanillaWalls, new BlockNewWall("stone_wall", new Block[]{Blocks.stonebrick, Blocks.stonebrick, Blocks.sandstone, Blocks.brick_block}, new int[]{0, 1, 0, 0}, new String[]{"stone_brick_wall", "mossy_stone_brick_wall", "sandstone_wall", "brick_wall"}), ItemBlockNewWall.class), - NETHER_BRICK_WALL(ConfigBlocksItems.enableExtraVanillaWalls, new BlockNewWall("nether_brick_wall", new Block[]{Blocks.nether_brick}, new int[]{0}, null), ItemBlockNewWall.class), - STONE_WALL_2(ConfigBlocksItems.enableStones, new BlockNewWall("stone_wall_2", new Block[]{STONE.get(), STONE.get(), STONE.get()}, new int[]{1, 3, 5}, new String[]{"granite_wall", "diorite_wall", "andesite_wall"}), ItemBlockNewWall.class), - RED_SANDSTONE_WALL(ConfigBlocksItems.enableRedSandstone, new BlockNewWall("red_sandstone_wall", new Block[]{RED_SANDSTONE.get()}, new int[]{0}, null), ItemBlockNewWall.class), - PRISMARINE_WALL(ConfigBlocksItems.enablePrismarine, new BlockNewWall("prismarine_wall", new Block[]{PRISMARINE_BLOCK.get()}, new int[]{0}, null), ItemBlockNewWall.class), - RED_NETHER_BRICK_WALL(ConfigBlocksItems.enableNewNetherBricks, new BlockNewWall("red_nether_brick_wall", new Block[]{RED_NETHERBRICK.get()}, new int[]{0}, null), ItemBlockNewWall.class), - END_BRICK_WALL(ConfigBlocksItems.enableChorusFruit, new BlockNewWall("end_brick_wall", new Block[]{END_BRICKS.get()}, new int[]{0}, null), ItemBlockNewWall.class), - DEEPSLATE_WALL(ConfigBlocksItems.enableDeepslate, new BlockNewWall("deepslate_wall", new Block[]{COBBLED_DEEPSLATE.get(), POLISHED_DEEPSLATE.get()}, new int[]{0, 0}, new String[]{"cobbled_deepslate_wall", "polished_deepslate_wall"}), ItemBlockNewWall.class), - DEEPSLATE_BRICK_WALL(ConfigBlocksItems.enableDeepslate, new BlockNewWall("deepslate_brick_wall", new Block[]{DEEPSLATE_BRICKS.get(), DEEPSLATE_BRICKS.get()}, new int[]{0, 2}, new String[]{"deepslate_brick_wall", "deepslate_tile_wall"}), ItemBlockNewWall.class), + STONE_WALL(ConfigBlocksItems.enableExtraVanillaWalls, new BasicWall("stone_wall", new Block[]{Blocks.stonebrick, Blocks.stonebrick, Blocks.sandstone, Blocks.brick_block}, new int[]{0, 1, 0, 0}, new String[]{"stone_brick_wall", "mossy_stone_brick_wall", "sandstone_wall", "brick_wall"}), ItemBlockNewWall.class), + NETHER_BRICK_WALL(ConfigBlocksItems.enableExtraVanillaWalls, new BasicWall("nether_brick_wall", new Block[]{Blocks.nether_brick}, new int[]{0}, null), ItemBlockNewWall.class), + STONE_WALL_2(ConfigBlocksItems.enableStones, new BasicWall("stone_wall_2", new Block[]{STONE.get(), STONE.get(), STONE.get()}, new int[]{1, 3, 5}, new String[]{"granite_wall", "diorite_wall", "andesite_wall"}), ItemBlockNewWall.class), + RED_SANDSTONE_WALL(ConfigBlocksItems.enableRedSandstone, new BasicWall("red_sandstone_wall", new Block[]{RED_SANDSTONE.get()}, new int[]{0}, null), ItemBlockNewWall.class), + PRISMARINE_WALL(ConfigBlocksItems.enablePrismarine, new BasicWall("prismarine_wall", new Block[]{PRISMARINE_BLOCK.get()}, new int[]{0}, null), ItemBlockNewWall.class), + RED_NETHER_BRICK_WALL(ConfigBlocksItems.enableNewNetherBricks, new BasicWall("red_nether_brick_wall", new Block[]{RED_NETHERBRICK.get()}, new int[]{0}, null), ItemBlockNewWall.class), + END_BRICK_WALL(ConfigBlocksItems.enableChorusFruit, new BasicWall("end_brick_wall", new Block[]{END_BRICKS.get()}, new int[]{0}, null), ItemBlockNewWall.class), + DEEPSLATE_WALL(ConfigBlocksItems.enableDeepslate, new BasicWall("deepslate_wall", new Block[]{COBBLED_DEEPSLATE.get(), POLISHED_DEEPSLATE.get()}, new int[]{0, 0}, new String[]{"cobbled_deepslate_wall", "polished_deepslate_wall"}), ItemBlockNewWall.class), + DEEPSLATE_BRICK_WALL(ConfigBlocksItems.enableDeepslate, new BasicWall("deepslate_brick_wall", new Block[]{DEEPSLATE_BRICKS.get(), DEEPSLATE_BRICKS.get()}, new int[]{0, 2}, new String[]{"deepslate_brick_wall", "deepslate_tile_wall"}), ItemBlockNewWall.class), DEEPSLATE_COAL_ORE(ConfigBlocksItems.enableDeepslate && ConfigBlocksItems.enableDeepslateOres, new BlockDeepslateOre(Blocks.coal_ore)), DEEPSLATE_IRON_ORE(ConfigBlocksItems.enableDeepslate && ConfigBlocksItems.enableDeepslateOres, new BlockDeepslateOre(Blocks.iron_ore)), DEEPSLATE_GOLD_ORE(ConfigBlocksItems.enableDeepslate && ConfigBlocksItems.enableDeepslateOres, new BlockDeepslateOre(Blocks.gold_ore)), @@ -129,8 +128,8 @@ public enum ModBlocks { END_GATEWAY(EtFuturum.TESTING, new BlockEndGateway()), OBSERVER(ConfigMixins.enableObservers, new BlockObserver()), TARGET(ConfigBlocksItems.enableTarget, new BlockTarget()), - RED_SANDSTONE_STAIRS(ConfigBlocksItems.enableRedSandstone, new BasicStairs(RED_SANDSTONE.get(), 0).setBlockName(Utils.getUnlocalisedName("red_sandstone_stairs"))), - PURPUR_STAIRS(ConfigBlocksItems.enableChorusFruit, new BasicStairs(PURPUR_BLOCK.get(), 0).setBlockName(Utils.getUnlocalisedName("purpur_stairs"))), + RED_SANDSTONE_STAIRS(ConfigBlocksItems.enableRedSandstone, new BasicStairs(RED_SANDSTONE.get(), 0)), + PURPUR_STAIRS(ConfigBlocksItems.enableChorusFruit, new BasicStairs(PURPUR_BLOCK.get(), 0).setBlockName("purpur")), RED_SANDSTONE_SLAB(ConfigBlocksItems.enableRedSandstone, new BlockRedSandstoneSlab(false), ItemBlockGenericSlab.class), DOUBLE_RED_SANDSTONE_SLAB(ConfigBlocksItems.enableRedSandstone, new BlockRedSandstoneSlab(true), ItemBlockGenericSlab.class), PURPUR_SLAB(ConfigBlocksItems.enableChorusFruit, new BlockPurpurSlab(false), ItemBlockGenericSlab.class), @@ -139,23 +138,23 @@ public enum ModBlocks { DOUBLE_STONE_SLAB(ConfigBlocksItems.enableExtraVanillaSlabs, new BlockStoneSlab1(true), ItemBlockGenericSlab.class), STONE_SLAB_2(ConfigBlocksItems.enableStones, new BlockStoneSlab2(false), ItemBlockGenericSlab.class), DOUBLE_STONE_SLAB_2(ConfigBlocksItems.enableStones, new BlockStoneSlab2(true), ItemBlockGenericSlab.class), - PRISMARINE_STAIRS(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 0).setBlockName(Utils.getUnlocalisedName("prismarine_stairs"))), - PRISMARINE_STAIRS_BRICK(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 1).setBlockName(Utils.getUnlocalisedName("prismarine_stairs_brick"))), - PRISMARINE_STAIRS_DARK(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 2).setBlockName(Utils.getUnlocalisedName("prismarine_stairs_dark"))), - SMOOTH_SANDSTONE_STAIRS(ConfigBlocksItems.enableSmoothSandstone, new BasicStairs(SMOOTH_SANDSTONE.get(), 0).setBlockName(Utils.getUnlocalisedName("smooth_sandstone_stairs"))), - SMOOTH_RED_SANDSTONE_STAIRS(ConfigBlocksItems.enableRedSandstone, new BasicStairs(SMOOTH_RED_SANDSTONE.get(), 0).setBlockName(Utils.getUnlocalisedName("smooth_red_sandstone_stairs"))), - SMOOTH_QUARTZ_STAIRS(ConfigBlocksItems.enableSmoothQuartz, new BasicStairs(SMOOTH_QUARTZ.get(), 0).setBlockName(Utils.getUnlocalisedName("smooth_quartz_stairs"))), - RED_NETHERBRICK_STAIRS(ConfigBlocksItems.enableNewNetherBricks, new BasicStairs(RED_NETHERBRICK.get(), 0).setBlockName(Utils.getUnlocalisedName("red_nether_brick_stairs"))), - GRANITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 1).setBlockName(Utils.getUnlocalisedName("granite_stairs"))), - POLISHED_GRANITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 2).setBlockName(Utils.getUnlocalisedName("polished_granite_stairs"))), - DIORITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 3).setBlockName(Utils.getUnlocalisedName("diorite_stairs"))), - POLISHED_DIORITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 4).setBlockName(Utils.getUnlocalisedName("polished_diorite_stairs"))), - ANDESITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 5).setBlockName(Utils.getUnlocalisedName("andesite_stairs"))), - POLISHED_ANDESITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 6).setBlockName(Utils.getUnlocalisedName("polished_andesite_stairs"))), - MOSSY_STONE_BRICK_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.stonebrick, 1).setBlockName(Utils.getUnlocalisedName("mossy_stone_brick_stairs"))), - MOSSY_COBBLESTONE_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.mossy_cobblestone, 0).setBlockName(Utils.getUnlocalisedName("mossy_cobblestone_stairs"))), - STONE_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.stone, 0).setBlockName(Utils.getUnlocalisedName("stone_stairs"))), - END_BRICK_STAIRS(ConfigBlocksItems.enableChorusFruit, new BasicStairs(END_BRICKS.get(), 0).setBlockName(Utils.getUnlocalisedName("end_brick_stairs"))), + PRISMARINE_STAIRS(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 0).setBlockName("prismarine")), + PRISMARINE_STAIRS_BRICK(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 1).setBlockName("prismarine_brick")), + PRISMARINE_STAIRS_DARK(ConfigBlocksItems.enablePrismarine, new BasicStairs(PRISMARINE_BLOCK.get(), 2).setBlockName("dark_prismarine")), + SMOOTH_SANDSTONE_STAIRS(ConfigBlocksItems.enableSmoothSandstone, new BasicStairs(SMOOTH_SANDSTONE.get(), 0)), + SMOOTH_RED_SANDSTONE_STAIRS(ConfigBlocksItems.enableRedSandstone, new BasicStairs(SMOOTH_RED_SANDSTONE.get(), 0)), + SMOOTH_QUARTZ_STAIRS(ConfigBlocksItems.enableSmoothQuartz, new BasicStairs(SMOOTH_QUARTZ.get(), 0)), + RED_NETHERBRICK_STAIRS(ConfigBlocksItems.enableNewNetherBricks, new BasicStairs(RED_NETHERBRICK.get(), 0).setBlockName("red_nether_brick")), + GRANITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 1).setBlockName("granite")), + POLISHED_GRANITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 2).setBlockName("polished_granite")), + DIORITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 3).setBlockName("diorite")), + POLISHED_DIORITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 4).setBlockName("polished_diorite")), + ANDESITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 5).setBlockName("andesite")), + POLISHED_ANDESITE_STAIRS(ConfigBlocksItems.enableStones, new BasicStairs(STONE.get(), 6).setBlockName("polished_andesite")), + MOSSY_STONE_BRICK_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.stonebrick, 1).setBlockName("mossy_stone_brick")), + MOSSY_COBBLESTONE_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.mossy_cobblestone, 0).setBlockName("mossy_cobblestone")), + STONE_STAIRS(ConfigBlocksItems.enableExtraVanillaStairs, new BasicStairs(Blocks.stone, 0)), + END_BRICK_STAIRS(ConfigBlocksItems.enableChorusFruit, new BasicStairs(END_BRICKS.get(), 0)), SMOOTH_SANDSTONE_SLAB(ConfigBlocksItems.enableSmoothSandstone, new BlockSmoothSandstoneSlab(0, false), ItemBlockGenericSlab.class), DOUBLE_SMOOTH_SANDSTONE_SLAB(ConfigBlocksItems.enableSmoothSandstone, new BlockSmoothSandstoneSlab(0, true), ItemBlockGenericSlab.class), SMOOTH_RED_SANDSTONE_SLAB(ConfigBlocksItems.enableRedSandstone, new BlockSmoothSandstoneSlab(1, false), ItemBlockGenericSlab.class), @@ -183,10 +182,10 @@ public enum ModBlocks { WAXED_EXPOSED_CUT_COPPER_STAIRS(ConfigBlocksItems.enableCopper, new BlockCutCopperStairs(13)), WAXED_WEATHERED_CUT_COPPER_STAIRS(ConfigBlocksItems.enableCopper, new BlockCutCopperStairs(14)), WAXED_OXIDIZED_CUT_COPPER_STAIRS(ConfigBlocksItems.enableCopper, new BlockCutCopperStairs(15)), - COBBLED_DEEPSLATE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(COBBLED_DEEPSLATE.get(), 0).setBlockName(Utils.getUnlocalisedName("cobbled_deepslate_stairs"))), - POLISHED_DEEPSLATE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(POLISHED_DEEPSLATE.get(), 0).setBlockName(Utils.getUnlocalisedName("polished_deepslate_stairs"))), - DEEPSLATE_BRICK_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(DEEPSLATE_BRICKS.get(), 0).setBlockName(Utils.getUnlocalisedName("deepslate_brick_stairs"))), - DEEPSLATE_TILE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(DEEPSLATE_BRICKS.get(), 2).setBlockName(Utils.getUnlocalisedName("deepslate_tile_stairs")).setStepSound(ModSounds.soundDeepslateTiles)), + COBBLED_DEEPSLATE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(COBBLED_DEEPSLATE.get(), 0)), + POLISHED_DEEPSLATE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(POLISHED_DEEPSLATE.get(), 0)), + DEEPSLATE_BRICK_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(DEEPSLATE_BRICKS.get(), 0)), + DEEPSLATE_TILE_STAIRS(ConfigBlocksItems.enableDeepslate, new BasicStairs(DEEPSLATE_BRICKS.get(), 2).setBlockName("deepslate_tile").setStepSound(ModSounds.soundDeepslateTiles)), IRON_TRAPDOOR(ConfigBlocksItems.enableIronTrapdoor, new BlockIronTrapdoor()), MAGMA(ConfigBlocksItems.enableMagmaBlock, new BlockMagma()), BARREL(ConfigBlocksItems.enableBarrel, new BlockBarrel()), diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BasicSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicSlab.java new file mode 100644 index 000000000..d1ffbfb8d --- /dev/null +++ b/src/main/java/ganymedes01/etfuturum/blocks/BasicSlab.java @@ -0,0 +1,116 @@ +package ganymedes01.etfuturum.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +import java.util.List; +import java.util.Random; + +public class BasicSlab extends BlockSlab implements ISubBlocksBlock { + + @SideOnly(Side.CLIENT) + private IIcon[] icons; + public final String[] types; + private BasicSlab doubleSlab; + /** + * Used to know the previous slab registered, so the slab knows what the double slab version is without passing it as a constructor argument every time + * We store the previous slab we registered, so it can be passed to the double slab that registers after it. + */ + private static BasicSlab previousSlab; + + public BasicSlab(boolean isDouble, Material material, String... names) { + super(isDouble, material); + if (names.length > 8) { + throw new IllegalArgumentException("Slabs can't have more than 8 subtypes! Tried to register a slab with " + names.length); + } + types = names; + useNeighborBrightness = !isDouble; + opaque = isDouble; + if (isDouble) { + doubleSlab = this; + previousSlab.doubleSlab = this; + previousSlab = null; + } else { + previousSlab = this; + } + } + + public BasicSlab getDoubleSlab() { + return doubleSlab; + } + + @Override + public IIcon[] getIcons() { + return icons; + } + + protected void setIcons(IIcon[] icons) { + this.icons = icons; + } + + @Override + public String[] getTypes() { + return types; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + setIcons(new IIcon[getTypes().length]); + for (int i = 0; i < getIcons().length; i++) { + getIcons()[i] = "".equals(getTypes()[i]) ? reg.registerIcon(getTextureName()) : reg.registerIcon(getTypes()[i]); + } + blockIcon = getIcons()[0]; + } + + @Override + public String getNameFor(ItemStack stack) { + return func_150002_b(stack.getItemDamage()); + } + + @Override + public String func_150002_b(int meta) { + String type = getTypes()[Math.max(0, (meta % 8) % getTypes().length)]; + type = ("".equals(type) ? getUnlocalizedName().replace("tile.", "").replace("etfuturum.", "") : type); + if (type.toLowerCase().endsWith("bricks") || type.toLowerCase().endsWith("tiles")) { + type = type.substring(0, type.length() - 1); + } + return type + "_slab"; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({"unchecked", "rawtypes"}) + public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_) { + if (!field_150004_a) { + for (int i = 0; i < types.length; i++) { + p_149666_3_.add(new ItemStack(p_149666_1_, 1, i)); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return icons[(meta % 8) % icons.length]; + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) { + return Item.getItemFromBlock(this); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(this); + } +} diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BasicStairs.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicStairs.java index 921445e66..b2f0f435a 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BasicStairs.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BasicStairs.java @@ -1,6 +1,7 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; +import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; @@ -13,5 +14,15 @@ public BasicStairs(Block p_i45428_1_, int p_i45428_2_) { useNeighborBrightness = true; meta = p_i45428_2_; setCreativeTab(EtFuturum.creativeTabBlocks); + String name = p_i45428_1_.getUnlocalizedName().replace("tile.", "").replace("etfuturum.", ""); + if (name.toLowerCase().endsWith("bricks") || name.toLowerCase().endsWith("tiles")) { + name = name.substring(0, name.length() - 1); + } + setBlockName(name); + } + + @Override + public Block setBlockName(String p_149663_1_) { + return super.setBlockName(Utils.getUnlocalisedName(p_149663_1_) + "_stairs"); } } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsBlock.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesBlock.java similarity index 90% rename from src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsBlock.java rename to src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesBlock.java index dd547de4b..85249a641 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsBlock.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesBlock.java @@ -12,18 +12,18 @@ import java.util.List; -public class BasicVariantsBlock extends Block implements ISubBlocksBlock { +public class BasicSubtypesBlock extends Block implements ISubBlocksBlock { @SideOnly(Side.CLIENT) private IIcon[] icons; private final String[] types; private final int startMeta; - public BasicVariantsBlock(Material material, String... types) { + public BasicSubtypesBlock(Material material, String... types) { this(material, 0, types); } - public BasicVariantsBlock(Material material, int startMeta, String... types) { + public BasicSubtypesBlock(Material material, int startMeta, String... types) { super(material); this.types = types; this.startMeta = startMeta; diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSand.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesSand.java similarity index 91% rename from src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSand.java rename to src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesSand.java index bf7a8f677..d92ecb21d 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSand.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BasicSubtypesSand.java @@ -12,18 +12,18 @@ import java.util.List; -public class BasicVariantsSand extends BlockFalling implements ISubBlocksBlock { +public class BasicSubtypesSand extends BlockFalling implements ISubBlocksBlock { @SideOnly(Side.CLIENT) private IIcon[] icons; private final String[] types; private final int startMeta; - public BasicVariantsSand(Material material, String... types) { + public BasicSubtypesSand(Material material, String... types) { this(material, 0, types); } - public BasicVariantsSand(Material material, int startMeta, String... types) { + public BasicSubtypesSand(Material material, int startMeta, String... types) { super(material); this.types = types; this.startMeta = startMeta; diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSlab.java deleted file mode 100644 index ee7fbd43f..000000000 --- a/src/main/java/ganymedes01/etfuturum/blocks/BasicVariantsSlab.java +++ /dev/null @@ -1,101 +0,0 @@ -package ganymedes01.etfuturum.blocks; - -import java.util.List; -import java.util.Random; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ganymedes01.etfuturum.core.utils.Utils; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -public abstract class BasicVariantsSlab extends BlockSlab { - - public final String[] metaBlocks; - - public BasicVariantsSlab(boolean p_i45410_1_, Material p_i45410_2_, String... names) { - super(p_i45410_1_, p_i45410_2_); - metaBlocks = names; - useNeighborBrightness = !field_150004_a; - opaque = field_150004_a; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) { - // Take Icons from the original Slabs - } - - @Override - public String getUnlocalizedName() { - return "tile." + Utils.getUnlocalisedName((field_150004_a ? "double_" : "") + super.getUnlocalizedName().split("\\.")[2]); - } - - @Override - public String func_150002_b(int meta) - { - meta %= 8; - - if(meta >= metaBlocks.length) { - meta = 0; - } - - if(metaBlocks[meta].equals("")) { - return super.getUnlocalizedName(); - } - return "tile." + Utils.getUnlocalisedName(metaBlocks[meta] + "_" + getUnlocalizedName().split("_")[field_150004_a ? 2 : 1]); - } - - @Override - @SideOnly(Side.CLIENT) - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_) - { - for (int i = 0; i < metaBlocks.length && !field_150004_a; i++) - { - p_149666_3_.add(new ItemStack(p_149666_1_, 1, i)); - } - } - - public abstract BasicVariantsSlab[] getSlabTypes(); - - public abstract IIcon[] getSlabIcons(int side); - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) - { - IIcon[] icons = getSlabIcons(side); - - meta %= 8; - - if(meta >= icons.length) { - meta = 0; - } - - return icons[meta]; - } - - public boolean isDouble() { - return field_150004_a; - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) - { - return Item.getItemFromBlock(getSlabTypes()[0]); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(getSlabTypes()[0]); - } -} diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewWall.java b/src/main/java/ganymedes01/etfuturum/blocks/BasicWall.java similarity index 90% rename from src/main/java/ganymedes01/etfuturum/blocks/BlockNewWall.java rename to src/main/java/ganymedes01/etfuturum/blocks/BasicWall.java index 2dbb7b7e4..56fe1b91b 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewWall.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BasicWall.java @@ -1,7 +1,5 @@ package ganymedes01.etfuturum.blocks; -import java.util.List; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; @@ -19,15 +17,17 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockNewWall extends BlockWall implements IMultiStepSound { - +import java.util.List; + +public class BasicWall extends BlockWall implements IMultiStepSound { + private Block[] blocks; private int[] metas; private String[] names; - + public int variations; - public BlockNewWall(String string, Block[] blocks, int[] metas, String[] names) { + public BasicWall(String string, Block[] blocks, int[] metas, String[] names) { super(blocks[0]); this.blocks = blocks; this.metas = metas; @@ -55,7 +55,7 @@ public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_1496 public boolean canConnectWallTo(IBlockAccess p_150091_1_, int p_150091_2_, int p_150091_3_, int p_150091_4_) { Block block = p_150091_1_.getBlock(p_150091_2_, p_150091_3_, p_150091_4_); - return block instanceof BlockFenceGate || block instanceof BlockNewWall || super.canConnectWallTo(p_150091_1_, p_150091_2_, p_150091_3_, p_150091_4_); + return block instanceof BlockFenceGate || block instanceof BasicWall || super.canConnectWallTo(p_150091_1_, p_150091_2_, p_150091_3_, p_150091_4_); } public float getBlockHardness(World p_149712_1_, int p_149712_2_, int p_149712_3_, int p_149712_4_) diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockConcrete.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockConcrete.java index fbcba6922..c6435ef0d 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockConcrete.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockConcrete.java @@ -4,7 +4,7 @@ import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -public class BlockConcrete extends BasicVariantsBlock { +public class BlockConcrete extends BasicSubtypesBlock { public BlockConcrete() { super(Material.rock, "white_concrete", "orange_concrete", "magenta_concrete", "light_blue_concrete", "yellow_concrete", "lime_concrete", "pink_concrete", diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockConcretePowder.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockConcretePowder.java index a5a535570..2b1bac669 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockConcretePowder.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockConcretePowder.java @@ -8,7 +8,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockConcretePowder extends BasicVariantsSand { +public class BlockConcretePowder extends BasicSubtypesSand { public BlockConcretePowder() { super(Material.sand, "white_concrete_powder", "orange_concrete_powder", "magenta_concrete_powder", "light_blue_concrete_powder", "yellow_concrete_powder", diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockCopper.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockCopper.java index cb463ca41..44c1ebe4f 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockCopper.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockCopper.java @@ -15,7 +15,7 @@ import java.util.Random; -public class BlockCopper extends BasicVariantsBlock implements IDegradable { +public class BlockCopper extends BasicSubtypesBlock implements IDegradable { public BlockCopper() { super(Material.iron, "copper_block", "exposed_copper", "weathered_copper", "oxidized_copper", "cut_copper", "exposed_cut_copper", "weathered_cut_copper", diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperSlab.java index c3dbf9600..ae4474a03 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperSlab.java @@ -1,22 +1,25 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.client.sound.ModSounds; import ganymedes01.etfuturum.configuration.configs.ConfigSounds; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.IIcon; import net.minecraft.world.World; import java.util.Random; -public class BlockCutCopperSlab extends BasicVariantsSlab implements IDegradable { +public class BlockCutCopperSlab extends BasicSlab implements IDegradable { public BlockCutCopperSlab(boolean p_i45410_1_) { - super(p_i45410_1_, Material.iron, "", "exposed", "weathered", "oxidized", "waxed", "waxed_exposed", "waxed_weathered", "waxed_oxidized"); + super(p_i45410_1_, Material.iron, "cut_copper", "exposed_cut_copper", "weathered_cut_copper", "oxidized_cut_copper", "waxed_cut_copper", "waxed_exposed_cut_copper", + "waxed_weathered_cut_copper", "waxed_oxidized_cut_copper"); setHardness(3); setResistance(6); setHarvestLevel("pickaxe", 1); @@ -39,29 +42,12 @@ public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer e } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.CUT_COPPER_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_CUT_COPPER_SLAB.get()}; - } - - @Override - public String func_150002_b(int meta) - { - meta %= 8; - - if(metaBlocks[meta].equals("")) { - return super.getUnlocalizedName(); - } - - return "tile.etfuturum." + metaBlocks[meta] + "_" + super.getUnlocalizedName().split("tile.etfuturum.")[1]; - } - - @Override - public IIcon[] getSlabIcons(int side) { - IIcon[] blocks = new IIcon[8]; - for(int i = 0; i < blocks.length; i++) { - blocks[i] = ModBlocks.COPPER_BLOCK.get().getIcon(side, (i % 4) + 4); + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + setIcons(new IIcon[4]); + for (int i = 0; i < getIcons().length; i++) { + getIcons()[i] = "".equals(getTypes()[i]) ? reg.registerIcon(getTextureName()) : reg.registerIcon(getTypes()[i]); } - return blocks; } @Override diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperStairs.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperStairs.java index ba2bdbd4f..86a06c693 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperStairs.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockCutCopperStairs.java @@ -1,7 +1,6 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.ModBlocks; -import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; @@ -12,7 +11,7 @@ public class BlockCutCopperStairs extends BasicStairs implements IDegradable { public BlockCutCopperStairs(int p_i45428_2_) { super(ModBlocks.COPPER_BLOCK.get(), p_i45428_2_); - String name = "cut_copper_stairs"; + String name = "cut_copper"; String subtype; switch (meta) { default: @@ -27,13 +26,21 @@ public BlockCutCopperStairs(int p_i45428_2_) { case 7: subtype = "oxidized"; break; - case 12: subtype = "waxed"; break; - case 13: subtype = "waxed_exposed"; break; - case 14: subtype = "waxed_weathered"; break; - case 15: subtype = "waxed_oxidized"; break; + case 12: + subtype = "waxed"; + break; + case 13: + subtype = "waxed_exposed"; + break; + case 14: + subtype = "waxed_weathered"; + break; + case 15: + subtype = "waxed_oxidized"; + break; } - setBlockName(Utils.getUnlocalisedName(subtype + (subtype.equals("") ? "" : "_") + name)); - setTickRandomly(meta < 7 ? true : false); + setBlockName(subtype + (subtype.equals("") ? "" : "_") + name); + setTickRandomly(meta < 7); } @Override diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateBricks.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateBricks.java index cf212e5ee..46d1502be 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateBricks.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateBricks.java @@ -7,7 +7,7 @@ import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; -public class BlockDeepslateBricks extends BasicVariantsBlock implements IMultiStepSound { +public class BlockDeepslateBricks extends BasicSubtypesBlock implements IMultiStepSound { public BlockDeepslateBricks() { super(Material.rock, "deepslate_bricks", "cracked_deepslate_bricks", "deepslate_tiles", "cracked_deepslate_tiles", "chiseled_deepslate"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateSlab.java index 7cc3e2eb9..88297b02e 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockDeepslateSlab.java @@ -1,20 +1,18 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.client.sound.ModSounds; import ganymedes01.etfuturum.configuration.configs.ConfigSounds; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -public class BlockDeepslateSlab extends BasicVariantsSlab implements IMultiStepSound { +public class BlockDeepslateSlab extends BasicSlab implements IMultiStepSound { private final boolean brick; public BlockDeepslateSlab(boolean isDouble, boolean isBrick) { - super(isDouble, Material.rock, isBrick ? (new String[]{"brick", "tile"}) : (new String[]{"cobbled", "polished"})); + super(isDouble, Material.rock, isBrick ? (new String[]{"deepslate_bricks", "deepslate_tiles"}) : (new String[]{"cobbled_deepslate", "polished_deepslate"})); brick = isBrick; this.setHardness(3); this.setResistance(6); @@ -24,33 +22,6 @@ public BlockDeepslateSlab(boolean isDouble, boolean isBrick) { this.setStepSound(ConfigSounds.newBlockSounds ? isBrick ? ModSounds.soundDeepslateBricks : ModSounds.soundDeepslate : soundTypeStone); } - @Override - public String func_150002_b(int meta) - { - meta %= 8; - - if(meta >= metaBlocks.length) { - meta = 0; - } - String name = super.getUnlocalizedName(); - if(metaBlocks[meta].equals("tile")) - name = name.replace("brick", "tile"); - - return "tile.etfuturum." + (!brick ? (metaBlocks[meta]) + "_" : "") + name.split("\\.")[2]; - } - - @Override - public BasicVariantsSlab[] getSlabTypes() { - return brick ? new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.DEEPSLATE_BRICK_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_DEEPSLATE_BRICK_SLAB.get()} - : new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.DEEPSLATE_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_DEEPSLATE_SLAB.get()}; - } - - @Override - public IIcon[] getSlabIcons(int side) { - return brick ? new IIcon[] {ModBlocks.DEEPSLATE_BRICKS.get().getIcon(side, 0), ModBlocks.DEEPSLATE_BRICKS.get().getIcon(side, 2)} - : new IIcon[] {ModBlocks.COBBLED_DEEPSLATE.get().getIcon(side, 0), ModBlocks.POLISHED_DEEPSLATE.get().getIcon(side, 0)}; - } - @Override public SoundType getStepSound(IBlockAccess world, int x, int y, int z, int meta) { if(brick && (meta % 8) == 1) diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockEndBrickSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockEndBrickSlab.java index 4d1f13846..91d15e445 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockEndBrickSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockEndBrickSlab.java @@ -1,29 +1,17 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -import net.minecraft.util.IIcon; -public class BlockEndBrickSlab extends BasicVariantsSlab { +public class BlockEndBrickSlab extends BasicSlab { public BlockEndBrickSlab(boolean p_i45410_1_) { - super(p_i45410_1_, Material.rock, ""); + super(p_i45410_1_, Material.rock, "end_bricks"); setResistance(9); setHardness(3.0F); setBlockName(Utils.getUnlocalisedName("end_brick_slab")); setCreativeTab(EtFuturum.creativeTabBlocks); } - @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.END_BRICK_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_END_BRICK_SLAB.get()}; - } - - @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {ModBlocks.END_BRICKS.get().getIcon(side, 0)}; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockNetheriteStairs.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockNetheriteStairs.java index fa8a5d347..21ee1340f 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockNetheriteStairs.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockNetheriteStairs.java @@ -1,7 +1,6 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.ModBlocks; -import ganymedes01.etfuturum.core.utils.Utils; import ganymedes01.etfuturum.entities.EntityItemUninflammable; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; @@ -11,7 +10,7 @@ public class BlockNetheriteStairs extends BasicStairs { public BlockNetheriteStairs() { super(ModBlocks.NETHERITE_BLOCK.get(), 0); - setBlockName(Utils.getUnlocalisedName("netherite_stairs")); + setBlockName("netherite"); } @Override diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewNetherBrick.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockNewNetherBrick.java index 737cb33d7..9076e52fa 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewNetherBrick.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockNewNetherBrick.java @@ -6,7 +6,7 @@ import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -public class BlockNewNetherBrick extends BasicVariantsBlock { +public class BlockNewNetherBrick extends BasicSubtypesBlock { public BlockNewNetherBrick() { super(Material.rock, "red_nether_bricks", "cracked_nether_bricks", "chiseled_nether_bricks"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewStone.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockNewStone.java index 398174a3a..793a24782 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockNewStone.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockNewStone.java @@ -7,7 +7,7 @@ import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class BlockNewStone extends BasicVariantsBlock { +public class BlockNewStone extends BasicSubtypesBlock { public BlockNewStone() { super(Material.rock, 1, "", "granite", "polished_granite", "diorite", "polished_diorite", "andesite", "polished_andesite"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarine.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarine.java index eec827798..517c5342c 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarine.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarine.java @@ -4,7 +4,7 @@ import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -public class BlockPrismarine extends BasicVariantsBlock { +public class BlockPrismarine extends BasicSubtypesBlock { public BlockPrismarine() { super(Material.rock, "prismarine", "prismarine_bricks", "dark_prismarine"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarineSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarineSlab.java index e8fa50ff2..c3d546427 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarineSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockPrismarineSlab.java @@ -1,44 +1,16 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -import net.minecraft.util.IIcon; -public class BlockPrismarineSlab extends BasicVariantsSlab { +public class BlockPrismarineSlab extends BasicSlab { public BlockPrismarineSlab(boolean p_i45410_1_) { - super(p_i45410_1_, Material.rock, "rough", "brick", "dark"); + super(p_i45410_1_, Material.rock, "prismarine", "prismarine_bricks", "dark_prismarine"); setHardness(1.5F); setResistance(6.0F); setBlockName(Utils.getUnlocalisedName("prismarine_slab")); setCreativeTab(EtFuturum.creativeTabBlocks); } - - @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.PRISMARINE_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_PRISMARINE_SLAB.get()}; - } - - @Override - public String func_150002_b(int meta) - { - meta %= 8; - - if(meta >= metaBlocks.length) { - meta = 0; - } - - return "tile.etfuturum." + metaBlocks[meta] + "_" + super.getUnlocalizedName().split("\\.")[2]; - } - - @Override - public IIcon[] getSlabIcons(int side) { - IIcon[] blocks = new IIcon[3]; - for(int i = 0; i < 3; i++) { - blocks[i] = ModBlocks.PRISMARINE_BLOCK.get().getIcon(side, i); - }; - return blocks; - } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockPurpurSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockPurpurSlab.java index 1d05e74a4..6cf42aee2 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockPurpurSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockPurpurSlab.java @@ -1,18 +1,21 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.boss.EntityDragon; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -public class BlockPurpurSlab extends BasicVariantsSlab { +public class BlockPurpurSlab extends BasicSlab { public BlockPurpurSlab(boolean isDouble) { - super(isDouble, Material.rock, ""); + super(isDouble, Material.rock, "purpur"); setResistance(6); setHardness(2.0F); setBlockName(Utils.getUnlocalisedName("purpur_slab")); @@ -20,17 +23,15 @@ public BlockPurpurSlab(boolean isDouble) { } @Override - public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { - return !(entity instanceof EntityDragon); + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + IIcon[] icon = new IIcon[getTypes().length]; + icon[0] = ModBlocks.PURPUR_BLOCK.get().getIcon(2, 0); + setIcons(icon); } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.PURPUR_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_PURPUR_SLAB.get()}; - } - - @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {ModBlocks.PURPUR_BLOCK.get().getIcon(side, 0)}; + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { + return !(entity instanceof EntityDragon); } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockRawOre.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockRawOre.java index b9eee82b7..ef16a3003 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockRawOre.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockRawOre.java @@ -4,7 +4,7 @@ import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -public class BlockRawOre extends BasicVariantsBlock { +public class BlockRawOre extends BasicSubtypesBlock { public BlockRawOre() { super(Material.rock, "raw_copper_block", "raw_iron_block", "raw_gold_block"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedNetherBrickSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedNetherBrickSlab.java index a050bd314..893147851 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedNetherBrickSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedNetherBrickSlab.java @@ -1,29 +1,16 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -import net.minecraft.util.IIcon; -public class BlockRedNetherBrickSlab extends BasicVariantsSlab { +public class BlockRedNetherBrickSlab extends BasicSlab { public BlockRedNetherBrickSlab(boolean p_i45410_1_) { - super(p_i45410_1_, Material.rock, "red_nether_brick_slab"); + super(p_i45410_1_, Material.rock, "red_nether_bricks"); setResistance(6); setHardness(2.0F); setBlockName(Utils.getUnlocalisedName("red_nether_brick_slab")); setCreativeTab(EtFuturum.creativeTabBlocks); } - - @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.RED_NETHERBRICK_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_RED_NETHERBRICK_SLAB.get()}; - } - - @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {ModBlocks.RED_NETHERBRICK.get().getIcon(side, 0)}; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstone.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstone.java index 949ecbf89..e72540171 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstone.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstone.java @@ -12,5 +12,4 @@ public BlockRedSandstone() { setBlockName(Utils.getUnlocalisedName("red_sandstone")); setCreativeTab(EtFuturum.creativeTabBlocks); } - } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstoneSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstoneSlab.java index d3865467c..8d84a9d68 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstoneSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockRedSandstoneSlab.java @@ -1,15 +1,18 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; -public class BlockRedSandstoneSlab extends BasicVariantsSlab { +public class BlockRedSandstoneSlab extends BasicSlab { public BlockRedSandstoneSlab(boolean isDouble) { - super(isDouble, Material.rock, "", "cut"); + super(isDouble, Material.rock, "red_sandstone", "cut_red_sandstone"); setResistance(6); setHardness(2.0F); setBlockName(Utils.getUnlocalisedName("red_sandstone_slab")); @@ -17,27 +20,17 @@ public BlockRedSandstoneSlab(boolean isDouble) { } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.RED_SANDSTONE_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_RED_SANDSTONE_SLAB.get()}; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + IIcon[] icon = new IIcon[getTypes().length]; + icon[0] = ModBlocks.RED_SANDSTONE.get().getIcon(2, 0); + icon[1] = ModBlocks.RED_SANDSTONE.get().getIcon(2, 2); + setIcons(icon); } @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {ModBlocks.RED_SANDSTONE.get().getIcon(side, 0), ModBlocks.RED_SANDSTONE.get().getIcon(side, 2)}; - } - - @Override - public String func_150002_b(int meta) - { - meta %= 8; - - if(meta >= metaBlocks.length) { - meta = 0; - } - - if(metaBlocks[meta].equals("")) { - return super.getUnlocalizedName(); - } - return "tile.etfuturum." + metaBlocks[meta] + "_" + super.getUnlocalizedName().split("\\.")[2]; + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return ModBlocks.RED_SANDSTONE.get().getIcon(side, (meta % 8) % getIcons().length == 0 ? 0 : 2); } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothQuartzSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothQuartzSlab.java index 9d5d17fa9..00727d247 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothQuartzSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothQuartzSlab.java @@ -1,15 +1,18 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; -public class BlockSmoothQuartzSlab extends BasicVariantsSlab { +public class BlockSmoothQuartzSlab extends BasicSlab { public BlockSmoothQuartzSlab(boolean p_i45410_1_) { - super(p_i45410_1_, Material.rock, ""); + super(p_i45410_1_, Material.rock, "smooth_quartz"); setResistance(6); setHardness(2.0F); setBlockName(Utils.getUnlocalisedName("smooth_quartz_slab")); @@ -17,13 +20,10 @@ public BlockSmoothQuartzSlab(boolean p_i45410_1_) { } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.SMOOTH_QUARTZ_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_SMOOTH_QUARTZ_SLAB.get()}; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + IIcon[] icon = new IIcon[getTypes().length]; + blockIcon = icon[0] = ModBlocks.SMOOTH_QUARTZ.get().getIcon(2, 0); + setIcons(icon); } - - @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {ModBlocks.SMOOTH_QUARTZ.get().getIcon(side, 0)}; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothSandstoneSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothSandstoneSlab.java index 0b062bad6..1d45ba5b5 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothSandstoneSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockSmoothSandstoneSlab.java @@ -1,17 +1,20 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; -public class BlockSmoothSandstoneSlab extends BasicVariantsSlab { +public class BlockSmoothSandstoneSlab extends BasicSlab { private final int meta; public BlockSmoothSandstoneSlab(int theMeta, boolean p_i45410_1_) { - super(p_i45410_1_, Material.rock, ""); + super(p_i45410_1_, Material.rock, "smooth" + (theMeta == 1 ? "_red" : "") + "_sandstone"); meta = theMeta; setResistance(6); setHardness(2.0F); @@ -20,16 +23,16 @@ public BlockSmoothSandstoneSlab(int theMeta, boolean p_i45410_1_) { } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) (meta == 0 ? ModBlocks.SMOOTH_SANDSTONE_SLAB.get() : ModBlocks.SMOOTH_RED_SANDSTONE_SLAB.get()), - (BasicVariantsSlab) (meta == 0 ? ModBlocks.DOUBLE_SMOOTH_SANDSTONE_SLAB.get() : ModBlocks.DOUBLE_SMOOTH_RED_SANDSTONE_SLAB.get())}; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + IIcon[] icon = new IIcon[getTypes().length]; + blockIcon = icon[0] = this.meta == 1 ? ModBlocks.SMOOTH_RED_SANDSTONE.get().getIcon(2, 2) : ModBlocks.SMOOTH_SANDSTONE.get().getIcon(2, 2); + setIcons(icon); } @Override - public IIcon[] getSlabIcons(int side) { - if(meta == 1) - return new IIcon[] {ModBlocks.SMOOTH_RED_SANDSTONE.get().getIcon(side, 0)}; - return new IIcon[] {ModBlocks.SMOOTH_SANDSTONE.get().getIcon(side, 0)}; + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.meta == 1 ? ModBlocks.SMOOTH_RED_SANDSTONE.get().getIcon(side, 2) : ModBlocks.SMOOTH_SANDSTONE.get().getIcon(side, 2); } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockSponge.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockSponge.java index 6f0e9c507..b9b356927 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockSponge.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockSponge.java @@ -18,7 +18,7 @@ import java.util.LinkedList; import java.util.Random; -public class BlockSponge extends BasicVariantsBlock { +public class BlockSponge extends BasicSubtypesBlock { public BlockSponge() { super(Material.sponge, "", "wet_sponge"); diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab1.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab1.java index c762069f0..54569f9ad 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab1.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab1.java @@ -1,13 +1,15 @@ package ganymedes01.etfuturum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; -public class BlockStoneSlab1 extends BasicVariantsSlab { +public class BlockStoneSlab1 extends BasicSlab { public BlockStoneSlab1(boolean p_i45410_1_) { super(p_i45410_1_, Material.rock, "stone", "mossy_cobblestone", "mossy_stone_brick", "cut_sandstone"); @@ -19,14 +21,22 @@ public BlockStoneSlab1(boolean p_i45410_1_) { } @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.DOUBLE_STONE_SLAB.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_STONE_SLAB.get()}; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + IIcon[] icon = new IIcon[getTypes().length]; + icon[0] = Blocks.stone.getIcon(2, 0); + icon[1] = Blocks.mossy_cobblestone.getIcon(2, 0); + icon[2] = Blocks.stonebrick.getIcon(2, 1); + icon[3] = Blocks.sandstone.getIcon(2, 2); + setIcons(icon); } @Override - public IIcon[] getSlabIcons(int side) { - return new IIcon[] {Blocks.stone.getIcon(side, 0),Blocks.mossy_cobblestone.getIcon(side, 0), - Blocks.stonebrick.getIcon(side, 1), Blocks.sandstone.getIcon(side, 2)}; + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + if ((meta % 8) % getIcons().length == 3) { + return Blocks.sandstone.getIcon(side, 2); + } + return super.getIcon(side, meta); } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab2.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab2.java index 3d248c364..51067552f 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab2.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockStoneSlab2.java @@ -1,12 +1,10 @@ package ganymedes01.etfuturum.blocks; import ganymedes01.etfuturum.EtFuturum; -import ganymedes01.etfuturum.ModBlocks; import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.material.Material; -import net.minecraft.util.IIcon; -public class BlockStoneSlab2 extends BasicVariantsSlab { +public class BlockStoneSlab2 extends BasicSlab { public BlockStoneSlab2(boolean p_i45410_1_) { super(p_i45410_1_, Material.rock, "granite", "polished_granite", "diorite", "polished_diorite", "andesite", "polished_andesite"); @@ -16,19 +14,4 @@ public BlockStoneSlab2(boolean p_i45410_1_) { setBlockName(Utils.getUnlocalisedName("stone_slab_2")); setCreativeTab(EtFuturum.creativeTabBlocks); } - - @Override - public BasicVariantsSlab[] getSlabTypes() { - return new BasicVariantsSlab[]{(BasicVariantsSlab) ModBlocks.STONE_SLAB_2.get(), (BasicVariantsSlab) ModBlocks.DOUBLE_STONE_SLAB_2.get()}; - } - - @Override - public IIcon[] getSlabIcons(int side) { - IIcon[] blocks = new IIcon[6]; - for(int i = 0; i < 6; i++) { - blocks[i] = ModBlocks.STONE.get().getIcon(side, i + 1); - }; - return blocks; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGeneric.java b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGeneric.java index 997b3856e..5a2d77cb2 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGeneric.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGeneric.java @@ -11,6 +11,9 @@ public class ItemBlockGeneric extends ItemBlock { public ItemBlockGeneric(Block block) { super(block); setHasSubtypes(true); + if (!(block instanceof ISubBlocksBlock)) { + throw new IllegalArgumentException("ItemBlockGeneric instantiation needs to be given a block instance that implements ISubBlocksBlock! Passed in " + block.getClass().getCanonicalName()); + } } @Override @@ -18,15 +21,15 @@ public String getUnlocalizedName(ItemStack stack) { return addTilePrefix(((ISubBlocksBlock) field_150939_a).getNameFor(stack)); } + private String addTilePrefix(String name) { + return "tile." + Utils.getUnlocalisedName(name); + } + @Override public int getMetadata(int meta) { return meta % ((ISubBlocksBlock) field_150939_a).getTypes().length; } - private String addTilePrefix(String name) { - return "tile." + Utils.getUnlocalisedName(name); - } - private String[] getTypes() { return ((ISubBlocksBlock) field_150939_a).getTypes(); } diff --git a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGenericSlab.java b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGenericSlab.java index 040b317d4..9fc2b8c7d 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGenericSlab.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockGenericSlab.java @@ -1,26 +1,29 @@ package ganymedes01.etfuturum.blocks.itemblocks; -import ganymedes01.etfuturum.blocks.BasicVariantsSlab; +import ganymedes01.etfuturum.blocks.BasicSlab; +import ganymedes01.etfuturum.blocks.ISubBlocksBlock; +import ganymedes01.etfuturum.core.utils.Utils; import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; import net.minecraft.item.ItemSlab; import net.minecraft.item.ItemStack; public class ItemBlockGenericSlab extends ItemSlab { - final String[] metaBlocks; - public ItemBlockGenericSlab(Block block) { - super(block, ((BasicVariantsSlab) block).getSlabTypes()[0], ((BasicVariantsSlab) block).getSlabTypes()[1], ((BasicVariantsSlab) block).isDouble()); + super(block, (BlockSlab) block, ((BasicSlab) block).getDoubleSlab(), block == ((BasicSlab) block).getDoubleSlab()); this.setHasSubtypes(true); - metaBlocks = ((BasicVariantsSlab) block).metaBlocks; } @Override - public String getUnlocalizedName(ItemStack itemStack) { - return ((BasicVariantsSlab) Block.getBlockFromItem(itemStack.getItem())).func_150002_b(itemStack.getItemDamage()).replace("double_", ""); + public String getUnlocalizedName(ItemStack stack) { + return addTilePrefix(((ISubBlocksBlock) field_150939_a).getNameFor(stack)); + } + + private String addTilePrefix(String name) { + return "tile." + Utils.getUnlocalisedName(name); } - @Override public int getMetadata(int meta) { return meta % 8; diff --git a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockNewWall.java b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockNewWall.java index 4af073259..a7d5f26a5 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockNewWall.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/itemblocks/ItemBlockNewWall.java @@ -1,6 +1,6 @@ package ganymedes01.etfuturum.blocks.itemblocks; -import ganymedes01.etfuturum.blocks.BlockNewWall; +import ganymedes01.etfuturum.blocks.BasicWall; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -9,17 +9,17 @@ public class ItemBlockNewWall extends ItemBlock { public ItemBlockNewWall(Block p_i45328_1_) { super(p_i45328_1_); - setHasSubtypes(((BlockNewWall)field_150939_a).variations > 1); + setHasSubtypes(((BasicWall) field_150939_a).variations > 1); } public int getMetadata(int p_77647_1_) { - return p_77647_1_ % ((BlockNewWall)field_150939_a).variations; + return p_77647_1_ % ((BasicWall) field_150939_a).variations; } public String getUnlocalizedName(ItemStack p_77667_1_) { - return ((BlockNewWall)field_150939_a).getWallName(p_77667_1_); + return ((BasicWall) field_150939_a).getWallName(p_77667_1_); } } diff --git a/src/main/java/ganymedes01/etfuturum/recipes/ModRecipes.java b/src/main/java/ganymedes01/etfuturum/recipes/ModRecipes.java index 5a6d73b10..2779a97d0 100644 --- a/src/main/java/ganymedes01/etfuturum/recipes/ModRecipes.java +++ b/src/main/java/ganymedes01/etfuturum/recipes/ModRecipes.java @@ -6,7 +6,9 @@ import ganymedes01.etfuturum.ModItems; import ganymedes01.etfuturum.blocks.BlockStoneSlab2; import ganymedes01.etfuturum.blocks.IDegradable; -import ganymedes01.etfuturum.configuration.configs.*; +import ganymedes01.etfuturum.configuration.configs.ConfigBlocksItems; +import ganymedes01.etfuturum.configuration.configs.ConfigFunctions; +import ganymedes01.etfuturum.configuration.configs.ConfigWorld; import ganymedes01.etfuturum.core.utils.Utils; import ganymedes01.etfuturum.entities.EntityNewBoat; import ganymedes01.etfuturum.items.ItemSuspiciousStew; @@ -259,7 +261,7 @@ private static void registerRecipes() { addShapedRecipe(ModBlocks.STONE.newItemStack(4, 6), "xx", "xx", 'x', "stoneAndesite"); Block[] stone_stairs = new Block[]{ModBlocks.GRANITE_STAIRS.get(), ModBlocks.POLISHED_GRANITE_STAIRS.get(), ModBlocks.DIORITE_STAIRS.get(), ModBlocks.POLISHED_DIORITE_STAIRS.get(), ModBlocks.ANDESITE_STAIRS.get(), ModBlocks.POLISHED_ANDESITE_STAIRS.get()}; for (int i = 0; i < stone_stairs.length; i++) { //TODO: Rewrite this, this seems needlessly convoluted - String dictName = "stone" + StringUtils.capitalize(((BlockStoneSlab2) ModBlocks.STONE_SLAB_2.get()).metaBlocks[(i / 2) * 2]) + (i % 2 == 1 ? "Polished" : ""); + String dictName = "stone" + StringUtils.capitalize(((BlockStoneSlab2) ModBlocks.STONE_SLAB_2.get()).types[(i / 2) * 2]) + (i % 2 == 1 ? "Polished" : ""); addShapedRecipe(ModBlocks.STONE_SLAB_2.newItemStack(6, i), "xxx", 'x', dictName); addShapedRecipe(new ItemStack(stone_stairs[i], 4), "x ", "xx ", "xxx", 'x', dictName); if (i % 2 == 1) { diff --git a/src/main/resources/assets/etfuturum/lang/en_US.lang b/src/main/resources/assets/etfuturum/lang/en_US.lang index 134c79df3..0f5c51a89 100755 --- a/src/main/resources/assets/etfuturum/lang/en_US.lang +++ b/src/main/resources/assets/etfuturum/lang/en_US.lang @@ -565,11 +565,11 @@ tile.etfuturum.nether_wart.name=Nether Wart Block tile.etfuturum.bone.name=Bone Block tile.etfuturum.prismarine_stairs.name=Prismarine Stairs -tile.etfuturum.prismarine_stairs_brick.name=Prismarine Bricks Stairs -tile.etfuturum.prismarine_stairs_dark.name=Dark Prismarine Stairs +tile.etfuturum.prismarine_brick_stairs.name=Prismarine Bricks Stairs +tile.etfuturum.dark_prismarine_stairs.name=Dark Prismarine Stairs -tile.etfuturum.rough_prismarine_slab.name=Prismarine Slab -tile.etfuturum.brick_prismarine_slab.name=Prismarine Bricks Slab +tile.etfuturum.prismarine_slab.name=Prismarine Slab +tile.etfuturum.prismarine_brick_slab.name=Prismarine Bricks Slab tile.etfuturum.dark_prismarine_slab.name=Dark Prismarine Slab tile.etfuturum.stripped_oak_log.name=Stripped Oak Log @@ -694,8 +694,8 @@ tile.etfuturum.black_bed.name=Black Bed tile.etfuturum.barrier.name=Barrier tile.etfuturum.red_nether_bricks.name=Red Nether Bricks -tile.etfuturum.red_nether_bricks_slab.name=Red Nether Brick Slab -tile.etfuturum.red_nether_bricks_stairs.name=Red Nether Brick stairs +tile.etfuturum.red_nether_brick_slab.name=Red Nether Brick Slab +tile.etfuturum.red_nether_brick_stairs.name=Red Nether Brick stairs tile.etfuturum.chiseled_nether_bricks.name=Chiseled Nether Bricks tile.etfuturum.cracked_nether_bricks.name=Cracked Nether Bricks tile.etfuturum.nether_gold_ore.name=Nether Gold Ore