diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f55f97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.gradle +.idea +.metadata +.settings +*.class +bin +eclipse +gradle diff --git a/build.gradle b/build.gradle index 37b5f87..134f8fd 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ buildscript { apply plugin: 'forge' -version = "0.1.0-dev" +version = "1.0.0" group= "xyz.ibatv.iba_backblocks" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "iba_backblocks" targetCompatibility = sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/src/main/java/xyz/ibatv/iba_backblocks/IBA_BackBlocks.java b/src/main/java/xyz/ibatv/iba_backblocks/IBA_BackBlocks.java index 9468e5a..e6da679 100644 --- a/src/main/java/xyz/ibatv/iba_backblocks/IBA_BackBlocks.java +++ b/src/main/java/xyz/ibatv/iba_backblocks/IBA_BackBlocks.java @@ -2,6 +2,7 @@ package xyz.ibatv.iba_backblocks; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.item.Item; import net.minecraftforge.event.entity.living.LivingDropsEvent; @@ -18,7 +19,7 @@ import xyz.ibatv.iba_backblocks.items.Minecraft1_8_Items; public class IBA_BackBlocks { public static final String MODID = "iba_backblocks"; - public static final String VERSION = "0.1.0"; + public static final String VERSION = "0.1.1-dev"; @EventHandler @@ -27,11 +28,22 @@ public class IBA_BackBlocks { //config handling Register.mc18Ore(); Register.mc18logs(); - Register.fences(); + Register.initFencesGates(); Register.newSandStone(); Register.initSlimeBlock(); Register.initMutton(); Register.initRabbit(); + Register.initRecipes(); + Register.initAcaciaDoor(); + Register.initDarkoakDoor(); + Register.initBirchDoor(); + Register.initJungleDoor(); + Register.initSpruceDoor(); + Register.initIronTrapdoor(); + Register.initNewStones(); + Register.initPrismarine(); + Register.initRabbitStew(); + //Register.init(); Minecraft1_8_Items.items(); } @@ -73,12 +85,19 @@ public class IBA_BackBlocks { } } + public static void registerBlockHelperNoTab(Block s, String name) + { + s.setBlockName(name).setBlockTextureName("iba_backblocks:" + name); + GameRegistry.registerBlock(s, name); + } + public static void registerBlockHelper(Block s, String name) { s.setBlockName(name).setBlockTextureName("iba_backblocks:" + name); GameRegistry.registerBlock(s, name); } + public static void registerItemHelper(Item s, String name) { s.setUnlocalizedName(name).setTextureName("iba_backblocks:" + name); diff --git a/src/main/java/xyz/ibatv/iba_backblocks/Register/Register.java b/src/main/java/xyz/ibatv/iba_backblocks/Register/Register.java index 3bec8ec..28200c6 100644 --- a/src/main/java/xyz/ibatv/iba_backblocks/Register/Register.java +++ b/src/main/java/xyz/ibatv/iba_backblocks/Register/Register.java @@ -1,53 +1,154 @@ package xyz.ibatv.iba_backblocks.Register; -import cpw.mods.fml.common.registry.GameRegistry; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; + +import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.creativetab.CreativeTabs; + import xyz.ibatv.iba_backblocks.*; -import xyz.ibatv.iba_backblocks.blocks.mc18.BlockRedSandstone; -import xyz.ibatv.iba_backblocks.blocks.mc18.BlockSlime; -import xyz.ibatv.iba_backblocks.blocks.mc18.fence.cherryWoodFence; -import xyz.ibatv.iba_backblocks.blocks.mc18.fence.spruceWoodFence; +import xyz.ibatv.iba_backblocks.blocks.mc18.*; +import xyz.ibatv.iba_backblocks.blocks.mc18.fence.BlockFenceGateSimple; +import xyz.ibatv.iba_backblocks.blocks.mc18.fence.BlockFenceSimple; import xyz.ibatv.iba_backblocks.blocks.mc18.logs.*; import xyz.ibatv.iba_backblocks.init.InitBlocks; +import xyz.ibatv.iba_backblocks.items.Minecraft1_8_Items; + public class Register { + public static void initRecipes() + { + //more random changes from + // https://minecraft.wiki/w/Java_Edition_1.8 + Blocks.packed_ice.setHarvestLevel("pickaxe", 0); + Blocks.melon_block.setHarvestLevel("axe", 0); + Blocks.ladder.setHarvestLevel("axe", 0); + + //new recipes for existing blocks + + GameRegistry.addRecipe(new ItemStack(Blocks.stonebrick,1,reference.stonebrick_chisel), " s", " s" + ,'s', new ItemStack(Blocks.stone_slab,1,reference.stone_slab_stonebrick)); + + GameRegistry.addRecipe(new ItemStack(Blocks.stonebrick,1,reference.stonebrick_mossy), "sv", " " + ,'s', Blocks.stonebrick + ,'v', Blocks.vine + ); + + GameRegistry.addRecipe(new ItemStack(Blocks.mossy_cobblestone), "sv", " " + ,'s', Blocks.cobblestone + ,'v', Blocks.vine + ); + + GameRegistry.addSmelting(Blocks.stonebrick, new ItemStack(Blocks.stonebrick,1,reference.stonebrick_cracked), 0); + + //doors made only 1 each build in 1.7, but 3 in 1.8 + //we do it just for oak because i have all the door stuff for the types + GameRegistry.addRecipe(new ItemStack(Items.wooden_door,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_oak)); + } + + public static void initAcaciaDoor() + { + BlockDoorSimple door_acacia = new BlockDoorSimple(); + + ItemDoorSimple door_acacia_item = new ItemDoorSimple(door_acacia); + door_acacia.setItemDropped(door_acacia_item); + + IBA_BackBlocks.registerBlockHelperNoTab(door_acacia, "door_acacia"); + IBA_BackBlocks.registerItemHelper(door_acacia_item, "door_acacia_item") ; + + GameRegistry.addRecipe(new ItemStack(door_acacia_item,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_acacia)); + } + + public static void initJungleDoor() + { + BlockDoorSimple door_jungle = new BlockDoorSimple(); + + + ItemDoorSimple door_jungle_item = new ItemDoorSimple( door_jungle); + door_jungle_item.setUnlocalizedName("door_jungle_iten");//same texture name but its in the assets......items package + + door_jungle.setItemDropped(door_jungle_item); + + IBA_BackBlocks.registerBlockHelperNoTab(door_jungle, "door_jungle"); + IBA_BackBlocks.registerItemHelper(door_jungle_item, "door_jungle_item") ; + + GameRegistry.addRecipe(new ItemStack(door_jungle_item,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_jungle )); + } + + public static void initSpruceDoor() + { + BlockDoorSimple door_spruce = new BlockDoorSimple(); + + + ItemDoorSimple door_spruce_item = new ItemDoorSimple(door_spruce); + door_spruce_item.setUnlocalizedName("door_spruce_item");//same texture name but its in the assets......items package + + door_spruce.setItemDropped(door_spruce_item); + + IBA_BackBlocks.registerBlockHelperNoTab(door_spruce, "door_spruce"); + IBA_BackBlocks.registerItemHelper(door_spruce_item, "door_spruce_item") ; + + GameRegistry.addRecipe(new ItemStack(door_spruce_item,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_spruce) ); + } + + public static void initBirchDoor() + { + BlockDoorSimple door_birch = new BlockDoorSimple(); + + + ItemDoorSimple door_birch_item = new ItemDoorSimple(door_birch ); + door_birch_item.setUnlocalizedName("door_birch_item");//same texture name but its in the assets......items package + + door_birch.setItemDropped(door_birch_item); + + + IBA_BackBlocks.registerBlockHelperNoTab(door_birch, "door_birch"); + IBA_BackBlocks.registerItemHelper(door_birch_item, "door_birch_item") ; + + + GameRegistry.addRecipe(new ItemStack(door_birch_item,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_birch) ); + } + + public static void initDarkoakDoor() + { + BlockDoorSimple door_dark_oak = new BlockDoorSimple(); + + + ItemDoorSimple door_dark_oak_item = new ItemDoorSimple(door_dark_oak); + door_dark_oak_item.setUnlocalizedName("door_dark_oak_item");//same texture name but its in the assets......items package + + door_dark_oak.setItemDropped(door_dark_oak_item); + + IBA_BackBlocks.registerBlockHelperNoTab(door_dark_oak, "door_dark_oak"); + IBA_BackBlocks.registerItemHelper(door_dark_oak_item, "door_dark_oak_item") ; + + GameRegistry.addRecipe(new ItemStack(door_dark_oak_item,3), " pp", " pp", " pp", + 'p',new ItemStack(Blocks.planks,1,reference.planks_darkoak) ); + } + public static void mc18Ore() { GameRegistry.registerBlock(InitBlocks.oreCopper, "copper_ore").setCreativeTab(CreativeTabs.tabBlock); GameRegistry.registerBlock(InitBlocks.copperBlock, "copper_block").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.Andesite, "andesite").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.Diorite, "diorite").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.Granite, "granite").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.Prismarine, "prismarine").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.prismarine_bricks, "prismarine_bricks").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.dark_prismarine, "dark_prismarine").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.sea_lantern, "sea_lantern").setCreativeTab(CreativeTabs.tabBlock).setLightLevel(1.0F); - GameRegistry.registerBlock(InitBlocks.coarse_dirt, "coarse_dirt").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.red_sandstone, "red_sandstone").setCreativeTab(CreativeTabs.tabBlock); GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.spruce_planks, "spruce_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.cherry_planks, "cherry_planks").setCreativeTab(CreativeTabs.tabBlock); GameRegistry.registerBlock(InitBlocks.raw_copper_block, "raw_copper_block").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.polished_andesite, "polished_andesite").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.polished_diorite, "polished_diorite").setCreativeTab(CreativeTabs.tabBlock); - GameRegistry.registerBlock(InitBlocks.polished_granite, "polished_granite").setCreativeTab(CreativeTabs.tabBlock); GameRegistry.registerBlock(InitBlocks.wet_sponge, "wet_sponge").setCreativeTab(CreativeTabs.tabBlock); - //GameRegistry.registerBlock(InitBlocks.slime_block, "slime_block").setCreativeTab(CreativeTabs.tabBlock); - - + //GameRegistry.registerBlock(InitBlocks.Andesite, "andesite").setCreativeTab(CreativeTabs.tabBlock); } @@ -72,22 +173,9 @@ public class Register { GameRegistry.registerBlock(blockNewNewLog2, ItemNewNewLogs2.class, blockNewNewLog2.getUnlocalizedName().substring(5)); } - - public static Block cherryWoodFence; - public static Block spruceWoodFence; - - public static void fences() { - cherryWoodFence = new cherryWoodFence(Material.wood) - .setHardness(5F).setResistance(7F).setStepSound(Block.soundTypeWood); - GameRegistry.registerBlock(cherryWoodFence, "cherryWoodFence"); - - spruceWoodFence = new spruceWoodFence(Material.wood) - .setHardness(5F).setResistance(7F).setStepSound(Block.soundTypeWood); - GameRegistry.registerBlock(spruceWoodFence, "spruceWoodFence"); - } - - public static BlockRedSandstone red_sandstone; + public static BlockRedSandStoneSlab red_sandstone_slab; + public static BlockRedSandStoneSlab red_sandstone_dbl_slab; public static void newSandStone() { red_sandstone = new BlockRedSandstone(); @@ -105,8 +193,55 @@ public class Register { red_sandstone_carved.setStepSound(Block.soundTypePiston).setHardness(0.8F); IBA_BackBlocks.registerBlockHelper(red_sandstone_carved, "red_sandstone_carved"); + + BlockRedSandStoneStairs red_sandstone_stairs = new BlockRedSandStoneStairs(red_sandstone,0); + IBA_BackBlocks.registerBlockHelper(red_sandstone_stairs, "red_sandstone_stairs"); + + + GameRegistry.addRecipe(new ItemStack(red_sandstone_stairs,4), "s ", "ss ","sss", + 's', new ItemStack(red_sandstone)); + GameRegistry.addRecipe(new ItemStack(red_sandstone_stairs,4), " s", " ss","sss", + 's', new ItemStack(red_sandstone)); + + red_sandstone_slab = new BlockRedSandStoneSlab(false); + red_sandstone_dbl_slab = new BlockRedSandStoneSlab(true); + + + // s.setBlockName(name).setBlockTextureName(TEXTURE_LOCATION + name).setCreativeTab(tabMimic); + red_sandstone_dbl_slab.setHardness(0.8F); + red_sandstone_slab.setHardness(0.8F).setBlockName("red_sandstone_slab"); + red_sandstone_slab.setCreativeTab(CreativeTabs.tabBlock); + GameRegistry.registerBlock(red_sandstone_slab, + ItemSlabRedSandstone.class, "red_sandstone_slab"); + + GameRegistry.registerBlock(red_sandstone_dbl_slab, + ItemSlabRedSandstone.class, "red_sandstone_dbl_slab");//TODO: PICK BLOCK DOES TSONE LAB + + //undo the chiselled back to the 2 slabs + GameRegistry.addSmelting(new ItemStack(red_sandstone_carved), new ItemStack(red_sandstone_slab,2), 0); + + GameRegistry.addRecipe(new ItemStack(red_sandstone_slab,6), " ", " ","sss", + 's', new ItemStack(red_sandstone)); + GameRegistry.addRecipe(new ItemStack(red_sandstone_slab,6), "sss", " "," ", + 's', new ItemStack(red_sandstone)); + GameRegistry.addRecipe(new ItemStack(red_sandstone_slab,6), " ", "sss"," ", + 's', new ItemStack(red_sandstone)); + + + GameRegistry.addRecipe(new ItemStack(red_sandstone_carved), "s ", "s ", + 's', new ItemStack(red_sandstone_slab)); + + //uncraft slabs + GameRegistry.addRecipe(new ItemStack(red_sandstone,6), " ", "sss","sss", + 's', new ItemStack(red_sandstone_slab)); + + //uncraft stairs + GameRegistry.addRecipe(new ItemStack(red_sandstone,6), "ss", "ss", + 's', new ItemStack(red_sandstone_stairs)); + } + public static void initSlimeBlock() { BlockSlime slime = new BlockSlime(); @@ -119,6 +254,243 @@ public class Register { GameRegistry.addShapelessRecipe(new ItemStack(Items.slime_ball, 9), slime); } + public static void initIronTrapdoor() + { + // Iron Trapdoor, Armor Stand + // is protected again + BlockIronTrapdoor iron_trapdoor = new BlockIronTrapdoor(); + + IBA_BackBlocks.registerBlockHelper(iron_trapdoor, "iron_trapdoor"); + + GameRegistry.addRecipe(new ItemStack(iron_trapdoor), "ii", "ii", + 'i', Items.iron_ingot); + + GameRegistry.addSmelting(new ItemStack(iron_trapdoor), new ItemStack(Items.iron_ingot,4), 0); + } + + public static BlockFenceGateSimple acacia_fence_gate; + public static BlockFenceGateSimple spruce_fence_gate; + public static BlockFenceGateSimple birch_fence_gate; + public static BlockFenceGateSimple jungle_fence_gate; + public static BlockFenceGateSimple big_oak_fence_gate; + public static BlockFenceSimple birch_fence; + public static BlockFenceSimple jungle_fence; + public static BlockFenceSimple spruce_fence; + public static BlockFenceSimple big_oak_fence; + public static BlockFenceSimple acacia_fence; + + public static void initFencesGates() + { + // 5 fences + birch_fence = new BlockFenceSimple("planks_birch"); + + IBA_BackBlocks.registerBlockHelper(birch_fence, "birch_fence"); + + GameRegistry.addRecipe(new ItemStack(birch_fence,3), " ", "lsl", "lsl", + 'l', new ItemStack(Blocks.planks,1,reference.planks_birch), + 's', Items.stick + ); + + jungle_fence = new BlockFenceSimple("planks_jungle"); + + IBA_BackBlocks.registerBlockHelper(jungle_fence, "jungle_fence"); + + GameRegistry.addRecipe(new ItemStack(jungle_fence,3), " ", "lsl", "lsl", + 'l', new ItemStack(Blocks.planks,1,reference.planks_jungle), + 's', Items.stick + ); + + spruce_fence = new BlockFenceSimple("planks_spruce"); + + IBA_BackBlocks.registerBlockHelper(spruce_fence, "spruce_fence"); + + GameRegistry.addRecipe(new ItemStack(spruce_fence,3), " ", "lsl", "lsl", + 'l', new ItemStack(Blocks.planks,1,reference.planks_spruce), + 's', Items.stick + ); + + big_oak_fence = new BlockFenceSimple("planks_big_oak"); + IBA_BackBlocks.registerBlockHelper(big_oak_fence, "big_oak_fence"); + + GameRegistry.addRecipe(new ItemStack(big_oak_fence,3), " ", "lsl", "lsl", + 'l', new ItemStack(Blocks.planks,1,reference.planks_darkoak), + 's', Items.stick + ); + + acacia_fence = new BlockFenceSimple("planks_acacia"); + IBA_BackBlocks.registerBlockHelper(acacia_fence, "acacia_fence"); + + + GameRegistry.addRecipe(new ItemStack(acacia_fence,3), " ", "lsl", "lsl", + 'l', new ItemStack(Blocks.planks,1,reference.planks_acacia), + 's', Items.stick + ); + + + + // we inherited from basic fencegate to override getIcon, which was set + // to only plain planks + acacia_fence_gate = new BlockFenceGateSimple(); + IBA_BackBlocks.registerBlockHelper(acacia_fence_gate, "acacia_fence_gate"); + acacia_fence_gate.setBlockTextureName("planks_acacia"); + + GameRegistry.addRecipe(new ItemStack(acacia_fence_gate,1), " ", "sls", "sls", + 'l', new ItemStack(Blocks.planks,1,reference.planks_acacia), + 's', Items.stick + ); + + + spruce_fence_gate = new BlockFenceGateSimple(); + IBA_BackBlocks.registerBlockHelper(spruce_fence_gate, "spruce_fence_gate"); + + spruce_fence_gate.setBlockTextureName("planks_spruce"); + GameRegistry.addRecipe(new ItemStack(spruce_fence_gate,1), " ", "sls", "sls", + 'l', new ItemStack(Blocks.planks,1,reference.planks_spruce), + 's', Items.stick + ); + + + birch_fence_gate = new BlockFenceGateSimple(); + IBA_BackBlocks.registerBlockHelper(birch_fence_gate, "birch_fence_gate"); + birch_fence_gate.setBlockTextureName("planks_birch"); + + GameRegistry.addRecipe(new ItemStack(birch_fence_gate,1), " ", "sls", "sls", + 'l', new ItemStack(Blocks.planks,1,reference.planks_birch), + 's', Items.stick + ); + + jungle_fence_gate = new BlockFenceGateSimple(); + IBA_BackBlocks.registerBlockHelper(jungle_fence_gate, "jungle_fence_gate"); + jungle_fence_gate.setBlockTextureName("planks_jungle"); + GameRegistry.addRecipe(new ItemStack(jungle_fence_gate,1), " ", "sls", "sls", + 'l', new ItemStack(Blocks.planks,1,reference.planks_jungle), + 's', Items.stick + ); + + big_oak_fence_gate = new BlockFenceGateSimple(); + IBA_BackBlocks.registerBlockHelper(big_oak_fence_gate, "big_oak_fence_gate"); + big_oak_fence_gate.setBlockTextureName("planks_big_oak"); + + GameRegistry.addRecipe(new ItemStack(big_oak_fence_gate,1), " ", "sls", "sls", + 'l', new ItemStack(Blocks.planks,1,reference.planks_darkoak), + 's', Items.stick + ); + } + + public static void initNewStones() + { + BlockSimple diorite = new BlockSimple(Material.rock); + diorite.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(diorite, "diorite"); + + BlockSimple andesite = new BlockSimple(Material.rock); + andesite.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(andesite, "andesite"); + + BlockSimple granite = new BlockSimple(Material.rock); + granite.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(granite, "granite"); + + BlockSimple diorite_smooth = new BlockSimple(Material.rock); + diorite_smooth.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(diorite_smooth, "polished_diorite"); + + BlockSimple andesite_smooth = new BlockSimple(Material.rock); + andesite_smooth.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(andesite_smooth, "polished_andesite"); + + BlockSimple granite_smooth = new BlockSimple(Material.rock); + granite_smooth.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(granite_smooth, "polished_granite"); + + GameRegistry.addRecipe(new ItemStack(diorite_smooth), "pp", "pp", 'p', + diorite);//2quartz,2cobble in diagonal. quartz top right + GameRegistry.addRecipe(new ItemStack(andesite_smooth), "pp", "pp", 'p', + andesite);//1 dio + 1 cobble + GameRegistry.addRecipe(new ItemStack(granite_smooth), "pp", "pp", 'p', + granite);//1diorite+1qutz + + + + GameRegistry.addRecipe(new ItemStack(diorite), "cq", "qc", + 'c',Blocks.cobblestone, + 'q',Items.quartz);//2quartz,2cobble in diagonal. quartz top right + + GameRegistry.addShapelessRecipe(new ItemStack(andesite), diorite,Blocks.cobblestone); + GameRegistry.addShapelessRecipe(new ItemStack(granite), diorite,Items.quartz); + + + + BlockSimple coarse_dirt = new BlockSimple(Material.ground); + coarse_dirt.setHardness(0.5F).setResistance(0.5F).setStepSound(Block.soundTypeGravel).setBlockTextureName("coarse_dirt");; + IBA_BackBlocks.registerBlockHelper(coarse_dirt, "coarse_dirt"); + + GameRegistry.addRecipe(new ItemStack(coarse_dirt,1,1), "gd", "dg" + ,'g', Blocks.gravel + ,'d', Blocks.dirt + ); + GameRegistry.addRecipe(new ItemStack(coarse_dirt,1,1), "dg", "gd" + ,'g', Blocks.gravel + ,'d', Blocks.dirt + ); + + } + + + public static BlockSimple sea_lantern; + public static Item prismarine_crystals; + public static Item prismarine_shard; + + public static void initPrismarine() + { + prismarine_crystals = new Item(); + IBA_BackBlocks.registerItemHelper(prismarine_crystals, "prismarine_crystals"); + + prismarine_shard = new Item(); + IBA_BackBlocks.registerItemHelper(prismarine_shard, "prismarine_shard"); + + BlockSimple prismarine_bricks = new BlockSimple(Material.rock); + prismarine_bricks.setHardness(1.2F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(prismarine_bricks, "prismarine_bricks"); + + + BlockSimple prismarine_dark = new BlockSimple(Material.rock); + prismarine_dark.setHardness(1.5F).setResistance(30.0F).setStepSound(Block.soundTypeStone); + IBA_BackBlocks.registerBlockHelper(prismarine_dark, "dark_prismarine"); + + BlockSimple prismarine_rough = new BlockSimple(Material.rock); + prismarine_rough.setHardness(1.5F).setResistance(30.0F); + IBA_BackBlocks.registerBlockHelper(prismarine_rough, "prismarine"); + + + + sea_lantern = new BlockSimple(Material.glass, prismarine_crystals); + sea_lantern.setHardness(0.3F).setResistance(1.5F).setLightLevel(1.0F); + IBA_BackBlocks.registerBlockHelper(sea_lantern, "sea_lantern"); + + // recipe time + + GameRegistry.addRecipe(new ItemStack(prismarine_rough), "pp", "pp", + 'p', prismarine_shard); + + GameRegistry.addRecipe(new ItemStack(sea_lantern), "psp", "sss", "psp", + 'p', prismarine_shard, 's', prismarine_crystals); + + GameRegistry.addRecipe(new ItemStack(prismarine_bricks), "ppp", "ppp", + "ppp", 'p', prismarine_shard); + GameRegistry.addRecipe(new ItemStack(prismarine_dark), "ppp", "pip", + "ppp", 'p', prismarine_shard, 'i', new ItemStack(Items.dye, 1, + reference.dye_incsac)); + + // no guardians exist yet. so for now just smelt lapis? + + GameRegistry.addSmelting(new ItemStack(Items.dye, 1, + reference.dye_lapis), new ItemStack(prismarine_shard, 2), 0); + + GameRegistry.addShapelessRecipe(new ItemStack(prismarine_crystals), prismarine_shard,Items.glowstone_dust); + } + + public static ItemFood mutton_raw; public static ItemFood mutton_cooked; @@ -140,15 +512,26 @@ public class Register { public static ItemFood rabbit_cooked; public static void initRabbit() { - rabbit_raw = new ItemFood(2, false); + rabbit_raw = new ItemFood(3, false); IBA_BackBlocks.registerItemHelper(rabbit_raw, "rabbit_raw") ; - rabbit_cooked = new ItemFood(6, false); + rabbit_cooked = new ItemFood(5, false); IBA_BackBlocks.registerItemHelper(rabbit_cooked, "rabbit_cooked") ; GameRegistry.addSmelting(rabbit_raw, new ItemStack(rabbit_cooked, 1), 0); } + public static ItemFood rabbit_stew; + public static void initRabbitStew() + { + rabbit_stew = new ItemFood(10, false); + + IBA_BackBlocks.registerItemHelper(rabbit_stew, "rabbit_stew") ; + + GameRegistry.addShapelessRecipe(new ItemStack(Register.rabbit_stew), Register.rabbit_cooked,Items.baked_potato,Blocks.brown_mushroom,Items.carrot,Items.bowl); + GameRegistry.addShapelessRecipe(new ItemStack(Register.rabbit_stew), Register.rabbit_cooked,Items.baked_potato,Blocks.red_mushroom,Items.carrot,Items.bowl); + + } } \ No newline at end of file diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockDoorSimple.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockDoorSimple.java new file mode 100644 index 0000000..2d564e0 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockDoorSimple.java @@ -0,0 +1,155 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockDoor; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.IconFlipped; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockDoorSimple extends BlockDoor +{ + public BlockDoorSimple() + { + super(Material.wood); + //same hardness as vanilla basic door + this.setHardness(3.0F).setStepSound(soundTypeWood); + } + + @SideOnly(Side.CLIENT) + private IIcon[] iconsUpper; + + @SideOnly(Side.CLIENT) + private IIcon[] iconsLower; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) + { + this.iconsUpper = new IIcon[2]; + this.iconsLower = new IIcon[2]; + //"iba_backblocks:" + + this.iconsUpper[0] = p_149651_1_.registerIcon( this.textureName + "_upper"); + this.iconsLower[0] = p_149651_1_.registerIcon( this.textureName + "_lower"); + //this.field_150017_a[0] = p_149651_1_.registerIcon(this.getTextureName() + "_upper"); + // this.field_150016_b[0] = p_149651_1_.registerIcon(this.getTextureName() + "_lower"); + this.iconsUpper[1] = new IconFlipped(this.iconsUpper[0], true, false); + this.iconsLower[1] = new IconFlipped(this.iconsLower[0], true, false); + } + + private Item dropped; + + public void setItemDropped(Item itemDoor) + { + dropped = itemDoor; + } + + @Override + public Item getItemDropped(int par1, Random rand, int par2) + { + return dropped;//override this so they dont drop the oak door + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World worldObj, int x, int y, int z) + { + return dropped; // so creative mode pick block works + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int p_149691_1_, int p_149691_2_) + { + return this.iconsLower[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess p_149673_1_, int p_149673_2_, int p_149673_3_, int p_149673_4_, int p_149673_5_) + { + if (p_149673_5_ != 1 && p_149673_5_ != 0) + { + int i1 = this.func_150012_g(p_149673_1_, p_149673_2_, p_149673_3_, p_149673_4_); + int j1 = i1 & 3; + boolean flag = (i1 & 4) != 0; + boolean flag1 = false; + boolean flag2 = (i1 & 8) != 0; + + if (flag) + { + if (j1 == 0 && p_149673_5_ == 2) + { + flag1 = !flag1; + } + else if (j1 == 1 && p_149673_5_ == 5) + { + flag1 = !flag1; + } + else if (j1 == 2 && p_149673_5_ == 3) + { + flag1 = !flag1; + } + else if (j1 == 3 && p_149673_5_ == 4) + { + flag1 = !flag1; + } + } + else + { + if (j1 == 0 && p_149673_5_ == 5) + { + flag1 = !flag1; + } + else if (j1 == 1 && p_149673_5_ == 3) + { + flag1 = !flag1; + } + else if (j1 == 2 && p_149673_5_ == 4) + { + flag1 = !flag1; + } + else if (j1 == 3 && p_149673_5_ == 2) + { + flag1 = !flag1; + } + + if ((i1 & 16) != 0) + { + flag1 = !flag1; + } + } + + return flag2 ? this.iconsUpper[flag1?1:0] : this.iconsLower[flag1?1:0]; + } + else + { + return this.iconsLower[0]; + } + } + + + + /* + //todo; override ignore material and just do the real thing + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return (p_149650_1_ & 8) != 0 ? null : (this.blockMaterial == Material.iron ? Items.iron_door : Items.wooden_door); + } + + @SideOnly(Side.CLIENT) + public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) + { + return this.blockMaterial == Material.iron ? Items.iron_door : Items.wooden_door; + } + */ + +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockIronTrapdoor.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockIronTrapdoor.java new file mode 100644 index 0000000..0de4f2c --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockIronTrapdoor.java @@ -0,0 +1,15 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import net.minecraft.block.BlockTrapDoor; +import net.minecraft.block.material.Material; + +public class BlockIronTrapdoor extends BlockTrapDoor +{ + public BlockIronTrapdoor() + { + super(Material.iron); + + this.disableStats(); + this.setHardness(3.0F).setStepSound(soundTypeMetal); + } +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneSlab.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneSlab.java new file mode 100644 index 0000000..a9e75b2 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneSlab.java @@ -0,0 +1,69 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import java.util.List; +import java.util.Random; + +import xyz.ibatv.iba_backblocks.Register.Register; +import xyz.ibatv.iba_backblocks.reference; +import xyz.ibatv.iba_backblocks.IBA_BackBlocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.BlockStoneSlab; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockRedSandStoneSlab extends BlockSlab +{ + private IIcon icon; + public BlockRedSandStoneSlab(boolean b) + { + super(b, Blocks.sandstone.getMaterial()); + this.setLightOpacity(0); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tabs, List list) + { + list.add(new ItemStack(item, 1, 0)); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + return Register.red_sandstone.getBlockTextureFromSide(side) ; + } + + @Override + public Item getItemDropped(int i, Random rand, int m) + { + return Item.getItemFromBlock(this); + } + + @Override + protected ItemStack createStackedBlock(int meta) + { + return new ItemStack(Item.getItemFromBlock(this), 2, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World worldObj, int x, int y, int z) + { + return Item.getItemFromBlock(this); // so creative mode pick block works + } + + @Override + public String func_150002_b(int par1) //getFullSlabName + { + return super.getUnlocalizedName(); + } +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneStairs.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneStairs.java new file mode 100644 index 0000000..69a5ae8 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockRedSandStoneStairs.java @@ -0,0 +1,23 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockSandStone; +import net.minecraft.block.BlockStairs; +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 java.util.List; + +public class BlockRedSandStoneStairs extends BlockStairs +{ + public BlockRedSandStoneStairs(Block b, int o) + { + super(b, o); + this.setLightOpacity(0); + } +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockSimple.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockSimple.java new file mode 100644 index 0000000..1b1b7a2 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/BlockSimple.java @@ -0,0 +1,60 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import java.util.ArrayList; +import java.util.Random; + +import xyz.ibatv.iba_backblocks.IBA_BackBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockSimple extends Block +{ + Item itemDropped = null; + public BlockSimple(Material m) + { + super(m); + this.setCreativeTab(CreativeTabs.tabBlock).setStepSound(Block.soundTypeStone); + } + + public BlockSimple(Material m, Item d) + { + super(m); + itemDropped = d; + } + + @Override + public boolean canSilkHarvest() + { + return true; + } + + @Override + public int quantityDroppedWithBonus(int fortuneLevel, Random r) + { + int min = 2; + int extra = 1;//possibly add one extra + //2-3 normal + //fortune 3 means 2-5 + //so fortune must 1 or 2 means 2-4 + if(fortuneLevel > 1 && fortuneLevel < 3) extra = 2;//so now its 2-4 + + if(fortuneLevel >= 3) extra = 3;//now its 2-5 + + //the plus 1 is becuase nextInt is exclusive + return min + r.nextInt(extra+1);//so range is [min,extra] + } + + public Item getItemDropped(int i, Random rand, int m) + { + if(itemDropped == null) + return Item.getItemFromBlock(this); + else + return itemDropped; + } +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemDoorSimple.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemDoorSimple.java new file mode 100644 index 0000000..2b3261d --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemDoorSimple.java @@ -0,0 +1,64 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import net.minecraft.item.ItemDoor; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemDoor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class ItemDoorSimple extends ItemDoor +{ + public Block doorBlock; + public ItemDoorSimple(Block block) + { + super(Material.wood); + this.doorBlock = block; + this.maxStackSize = 64; + this.setCreativeTab(CreativeTabs.tabRedstone);//.setTextureName(texture); + } + + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon(this.iconString);//removed "samspowerups:" + + } + + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) + { + if (par7 != 1) + { + return false; + } + else + { + ++par5; + Block block = this.doorBlock; + + if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) + && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)) + { + if (!block.canPlaceBlockAt(par3World, par4, par5, par6)) + { + return false; + } + else + { + int i1 = MathHelper.floor_double((double) ((par2EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3; + ItemDoor.placeDoorBlock(par3World, par4, par5, par6, i1, block); + --par1ItemStack.stackSize; + return true; + } + } + else + { + return false; + } + } + } +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemSlabRedSandstone.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemSlabRedSandstone.java new file mode 100644 index 0000000..cc69af8 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/ItemSlabRedSandstone.java @@ -0,0 +1,207 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18; + +import xyz.ibatv.iba_backblocks.Register.Register; +import xyz.ibatv.iba_backblocks.IBA_BackBlocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class ItemSlabRedSandstone extends ItemBlock +{ + private final boolean field_150948_b; + private final BlockSlab blockSingle; + private final BlockSlab blockDouble; + // private static final String __OBFID = "CL_00000071"; + + public ItemSlabRedSandstone(Block block) + { + super(block); + this.blockSingle = Register.red_sandstone_slab; + this.blockDouble = Register.red_sandstone_dbl_slab; + this.field_150948_b = false; + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + /** + * Gets an icon index based on an item's damage value + */ + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int p_77617_1_) + { + return Block.getBlockFromItem(this).getIcon(2, p_77617_1_); + } + + /** + * Returns the metadata of the block which this Item (ItemBlock) can place + */ + public int getMetadata(int m) + { + return m; + } + + /** + * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have + * different names based on their damage or NBT. + */ + public String getUnlocalizedName(ItemStack is) + { + return this.blockSingle.func_150002_b(is.getItemDamage()); + } + + /** + * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return + * True if something happen and false if it don't. This is for ITEMS, not BLOCKS + */ + public boolean onItemUse(ItemStack is, EntityPlayer player, World world, int x, int y, int z, int m, float par1Float, float par2Float, float par3Float) + { + if (this.field_150948_b) + { + return super.onItemUse(is, player, world, x, y, z, m, par1Float, par2Float, par3Float); + } + else if (is.stackSize == 0) + { + return false; + } + else if (!player.canPlayerEdit(x, y, z, m, is)) + { + return false; + } + else + { + Block block = world.getBlock(x, y, z); + int i1 = world.getBlockMetadata(x, y, z); + int j1 = i1 & 7; + boolean flag = (i1 & 8) != 0; + + if ((m == 1 && !flag || m == 0 && flag) && block == this.blockSingle && j1 == is.getItemDamage()) + { + if (world.checkNoEntityCollision(this.blockDouble.getCollisionBoundingBoxFromPool(world, x, y, z)) && world.setBlock(x, y, z, this.blockDouble, j1, 3)) + { + world.playSoundEffect((double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), this.blockDouble.stepSound.func_150496_b(), (this.blockDouble.stepSound.getVolume() + 1.0F) / 2.0F, this.blockDouble.stepSound.getPitch() * 0.8F); + --is.stackSize; + } + + return true; + } + else + { + return this.func_150946_a(is, player, world, x, y, z, m) ? true : super.onItemUse(is, player, world, x, y, z, m, par1Float, par2Float, par3Float); + } + } + } + + @SideOnly(Side.CLIENT) + public boolean func_150936_a(World world, int x, int y, int z, int f, EntityPlayer player, ItemStack itemStack) + { + int i1 = x; + int j1 = y; + int k1 = z; + Block block = world.getBlock(x, y, z); + int l1 = world.getBlockMetadata(x, y, z); + int i2 = l1 & 7; + boolean flag = (l1 & 8) != 0; + + if ((f == 1 && !flag || f == 0 && flag) && block == this.blockSingle && i2 == itemStack.getItemDamage()) + { + return true; + } + else + { + if (f == 0) + { + --y; + } + + if (f == 1) + { + ++y; + } + + if (f == 2) + { + --z; + } + + if (f == 3) + { + ++z; + } + + if (f == 4) + { + --x; + } + + if (f == 5) + { + ++x; + } + + Block block1 = world.getBlock(x, y, z); + int j2 = world.getBlockMetadata(x, y, z); + i2 = j2 & 7; + return block1 == this.blockSingle && i2 == itemStack.getItemDamage() ? true : super.func_150936_a(world, i1, j1, k1, f, player, itemStack); + } + } + + private boolean func_150946_a(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int f) + { + if (f == 0) + { + --y; + } + + if (f == 1) + { + ++y; + } + + if (f == 2) + { + --z; + } + + if (f == 3) + { + ++z; + } + + if (f == 4) + { + --x; + } + + if (f == 5) + { + ++x; + } + + Block block = world.getBlock(x, y, z); + int i1 = world.getBlockMetadata(x, y, z); + int j1 = i1 & 7; + + if (block == this.blockSingle && j1 == itemStack.getItemDamage()) + { + if (world.checkNoEntityCollision(this.blockDouble.getCollisionBoundingBoxFromPool(world, x, y, z)) && world.setBlock(x, y, z, this.blockDouble, j1, 3)) + { + world.playSoundEffect((double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), this.blockDouble.stepSound.func_150496_b(), (this.blockDouble.stepSound.getVolume() + 1.0F) / 2.0F, this.blockDouble.stepSound.getPitch() * 0.8F); + --itemStack.stackSize; + } + + return true; + } + else + { + return false; + } + } +} + diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceGateSimple.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceGateSimple.java new file mode 100644 index 0000000..db826af --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceGateSimple.java @@ -0,0 +1,40 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18.fence; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFenceGate; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockFenceGateSimple extends BlockFenceGate +{ + private IIcon icon; + + public BlockFenceGateSimple() + { + super(); + this.setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundTypeWood); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + return this.icon;//Blocks.planks.getBlockTextureFromSide(side); + } + + @Override + public boolean canPlaceBlockAt(World w, int x, int y, int z) + { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) + { + this.icon = p_149651_1_.registerIcon( this.getTextureName()); + } +} \ No newline at end of file diff --git a/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceSimple.java b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceSimple.java new file mode 100644 index 0000000..a3f7170 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/blocks/mc18/fence/BlockFenceSimple.java @@ -0,0 +1,44 @@ +package xyz.ibatv.iba_backblocks.blocks.mc18.fence; + +import net.minecraft.world.World; +import xyz.ibatv.iba_backblocks.Register.Register; + + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFence; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.IBlockAccess; + +public class BlockFenceSimple extends BlockFence +{ + public BlockFenceSimple(String name) + { + super(name, Material.wood); + this.setStepSound(Block.soundTypeWood); + this.setHardness(2.0F).setResistance(5.0F);//same as vanilla fence + } + + @Override + public boolean canConnectFenceTo(IBlockAccess ib, int x, int y, int z) + { + Block block = ib.getBlock(x, y, z); + //if its NOT a fence or fence gate, do one extra check + return block == this || block == Blocks.fence || block == Blocks.fence_gate || + block == Register.acacia_fence || + block == Register.birch_fence || + block == Register.jungle_fence || + block == Register.spruce_fence || + block == Register.big_oak_fence || + block == Register.acacia_fence_gate || + block == Register.birch_fence_gate || + block == Register.jungle_fence_gate || + block == Register.spruce_fence_gate || + block == Register.big_oak_fence_gate || (block.getMaterial().isOpaque() && block.renderAsNormalBlock() && block.getMaterial() != Material.gourd);//it was for sure a fence or fgate, so we went true right away + } + + @Override + public boolean canPlaceTorchOnTop(World world, int x, int y, int z) { + return true; + } +} \ No newline at end of file diff --git a/src/main/java/xyz/ibatv/iba_backblocks/init/InitBlocks.java b/src/main/java/xyz/ibatv/iba_backblocks/init/InitBlocks.java index ea0fccf..4079edc 100644 --- a/src/main/java/xyz/ibatv/iba_backblocks/init/InitBlocks.java +++ b/src/main/java/xyz/ibatv/iba_backblocks/init/InitBlocks.java @@ -8,16 +8,6 @@ import xyz.ibatv.iba_backblocks.blocks.mc18.base.BaseBlocks; public class InitBlocks { public static final BaseBlocks oreCopper = new Ores("copper_ore", Material.rock, 3F, 5F), - copperBlock = new Ores("copper_block", Material.iron, 3F, 5F), Andesite = new Ores("andesite", Material.rock, 3F, 5F), - Diorite = new Ores("diorite", Material.rock, 3F, 5F), Granite = new Ores("granite", Material.rock, 3F, 5F), - Prismarine = new Ores("prismarine", Material.rock, 3F, 5F), prismarine_bricks = new Ores("prismarine_bricks", Material.rock, 3F, 5F), - dark_prismarine = new Ores("dark_prismarine", Material.rock, 3F, 5F), sea_lantern = new Ores("sea_lantern", Material.rock, 3F, 5F), - coarse_dirt = new Ores("coarse_dirt", Material.ground, 3F, 5F), cherry_planks = new Ores("cherry_planks", Material.wood, 3F, 5F), - raw_copper_block = new Ores("raw_copper_block", Material.rock, 3F, 5F), polished_andesite = new Ores("polished_andesite", Material.rock, 3F, 5F), - polished_diorite = new Ores("polished_diorite", Material.rock, 3F, 5F), polished_granite = new Ores("polished_granite", Material.rock, 3F, 5F), - wet_sponge = new Ores("wet_sponge", Material.rock, 3F, 5F), spruce_planks = new Ores("spruce_planks", Material.wood, 3F, 5F); - //polished_granite = new Ores("polished_granite", Material.rock, 3F, 5F); - - - //slime_block = new Ores("slime_block", Material.rock, 3F, 5F), + copperBlock = new Ores("copper_block", Material.iron, 3F, 5F), cherry_planks = new Ores("cherry_planks", Material.wood, 3F, 5F), + raw_copper_block = new Ores("raw_copper_block", Material.rock, 3F, 5F), wet_sponge = new Ores("wet_sponge", Material.rock, 3F, 5F); } diff --git a/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitFoot.java b/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitFoot.java new file mode 100644 index 0000000..a7df41a --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitFoot.java @@ -0,0 +1,6 @@ +package xyz.ibatv.iba_backblocks.items; + +import net.minecraft.item.Item; + +public class ItemRabbitFoot extends Item { +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitHide.java b/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitHide.java new file mode 100644 index 0000000..22397fb --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/items/ItemRabbitHide.java @@ -0,0 +1,6 @@ +package xyz.ibatv.iba_backblocks.items; + +import net.minecraft.item.Item; + +public class ItemRabbitHide extends Item { +} diff --git a/src/main/java/xyz/ibatv/iba_backblocks/items/Minecraft1_8_Items.java b/src/main/java/xyz/ibatv/iba_backblocks/items/Minecraft1_8_Items.java index 731d113..4df79bc 100644 --- a/src/main/java/xyz/ibatv/iba_backblocks/items/Minecraft1_8_Items.java +++ b/src/main/java/xyz/ibatv/iba_backblocks/items/Minecraft1_8_Items.java @@ -10,24 +10,33 @@ public class Minecraft1_8_Items { public static Item itemRawCopper; - static Item itemPrismarineCrystals; - static Item itemPrismarineShard; + //public static Item itemPrismarineCrystals; + //public static Item itemPrismarineShard; + + + public static Item itemRabbitHide; + public static Item itemRabbitFoot; public static void items() { - - - itemPrismarineCrystals = new ItemPrismarineCrystals().setUnlocalizedName("prismarine_crystals").setTextureName("iba_backblocks:prismarine_crystals"); - IBA_BackBlocks.registerItemHelper(itemPrismarineCrystals, "prismarine_crystals"); - - itemPrismarineShard = new ItemPrismarineShard().setUnlocalizedName("prismarine_shard").setTextureName("iba_backblocks:prismarine_shard"); - IBA_BackBlocks.registerItemHelper(itemPrismarineShard, "prismarine_shard"); + itemCopperIngot = new ItemCopperIngot().setUnlocalizedName("copper_ingot").setTextureName("iba_backblocks:copper_ingot"); + itemRawCopper = new ItemRawCopper().setUnlocalizedName("raw_copper").setTextureName("iba_backblocks:raw_copper"); + GameRegistry.registerItem(itemCopperIngot, itemCopperIngot.getUnlocalizedName().substring(5)); + GameRegistry.registerItem(itemRawCopper, itemRawCopper.getUnlocalizedName().substring(5)); - itemCopperIngot = new ItemCopperIngot().setUnlocalizedName("copper_ingot").setTextureName("iba_backblocks:copper_ingot"); - itemRawCopper = new ItemRawCopper().setUnlocalizedName("raw_copper").setTextureName("iba_backblocks:raw_copper"); - GameRegistry.registerItem(itemCopperIngot, itemCopperIngot.getUnlocalizedName().substring(5)); - GameRegistry.registerItem(itemRawCopper, itemRawCopper.getUnlocalizedName().substring(5)); - + //itemPrismarineCrystals = new ItemPrismarineCrystals().setUnlocalizedName("prismarine_crystals").setTextureName("iba_backblocks:prismarine_crystals"); + //IBA_BackBlocks.registerItemHelper(itemPrismarineCrystals, "prismarine_crystals"); + + //itemPrismarineShard = new ItemPrismarineShard().setUnlocalizedName("prismarine_shard").setTextureName("iba_backblocks:prismarine_shard"); + //IBA_BackBlocks.registerItemHelper(itemPrismarineShard, "prismarine_shard"); + + + + itemRabbitHide = new ItemRabbitHide().setUnlocalizedName("rabbit_hide").setTextureName("iba_backblocks:rabbit_hide"); + IBA_BackBlocks.registerItemHelper(itemRabbitHide, "rabbit_hide"); + + itemRabbitFoot = new ItemRabbitFoot().setUnlocalizedName("rabbit_foot").setTextureName("iba_backblocks:rabbit_foot"); + IBA_BackBlocks.registerItemHelper(itemRabbitFoot, "rabbit_foot"); } } diff --git a/src/main/java/xyz/ibatv/iba_backblocks/reference.java b/src/main/java/xyz/ibatv/iba_backblocks/reference.java new file mode 100644 index 0000000..f62de93 --- /dev/null +++ b/src/main/java/xyz/ibatv/iba_backblocks/reference.java @@ -0,0 +1,214 @@ +package xyz.ibatv.iba_backblocks; + +import java.util.ArrayList; + +import net.minecraft.entity.passive.EntityBat; +import net.minecraft.entity.passive.EntityChicken; +import net.minecraft.entity.passive.EntityCow; +import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityPig; +import net.minecraft.entity.passive.EntitySheep; + +public class reference +{ + public static final int TICKS_PER_SEC = 20; + + + + + public static final int face_bottom = 0; + public static final int face_top = 1; + public static final int face_north = 2; + public static final int face_south = 3; + public static final int face_west = 4; + public static final int face_east = 5; + + + // Items.skull + public static final int skull_skeleton = 0; + public static final int skull_wither = 1; + public static final int skull_zombie = 2; + public static final int skull_player = 3; + public static final int skull_creeper = 4; + + + public static final int dye_incsac = 0; + public static final int dye_red = 1; + public static final int dye_cactus = 2; + public static final int dye_cocoa = 3; + public static final int dye_lapis = 4; + public static final int dye_purple = 5; + public static final int dye_cyan = 6; + public static final int dye_lightgray = 7; + public static final int dye_gray = 8; + public static final int dye_pink = 9; + public static final int dye_lime = 10; + public static final int dye_dandelion = 11; + public static final int dye_lightblue = 12; + public static final int dye_magenta = 13; + public static final int dye_orange = 14; + public static final int dye_bonemeal = 15; + + + public static final int CHEST_RARITY_COMMON = 100; + public static final int CHEST_RARITY_REDSTONE = 50; + public static final int CHEST_RARITY_RECORD = 5; + public static final int CHEST_RARITY_GAPPLE = 1; + + + //import net.minecraftforge.common.ChestGenHooks; + public static String chest_mineshaftCorridor = "mineshaftCorridor"; + public static String chest_pyramidJungleChest= "pyramidJungleChest"; + public static String chest_pyramidDesertyChest= "pyramidDesertyChest"; + public static String chest_pyramidJungleDispenser= "pyramidJungleDispenser"; + public static String chest_strongholdCorridor= "strongholdCorridor"; + public static String chest_strongholdLibrary= "strongholdLibrary"; + public static String chest_strongholdCrossing= "strongholdCrossing"; + public static String chest_villageBlacksmith= "villageBlacksmith"; + public static String chest_bonusChest= "bonusChest"; + public static String chest_dungeonChest= "dungeonChest"; + + + + + public static long ticksPerDay = 24000 ; + + + //TODO: + // player inv slots + //zero o 8 is the hotbar + //9 to 35 is the main inventory + + //100 to 103 is the armor + + + public static final int stone_slab_stone = 0; + public static final int stone_slab_sandstone = 1; + public static final int stone_slab_oldwood = 2; + public static final int stone_slab_cobble = 3; + public static final int stone_slab_brickred = 4; + public static final int stone_slab_stonebrick = 5; + public static final int stone_slab_netehrbrick = 6; + public static final int stone_slab_quartz = 7; + + public static final int stonebrick_stone = 0; + public static final int stonebrick_mossy = 1; + public static final int stonebrick_cracked = 2; + public static final int stonebrick_chisel = 3; + + public static final int planks_oak = 0; + public static final int planks_spruce = 1; + public static final int planks_birch = 2; + public static final int planks_jungle = 3; + public static final int planks_acacia = 4; + public static final int planks_darkoak = 5; + + public static final int log_oak = 0; + public static final int log_spruce = 1; + public static final int log_birch = 2; + public static final int log_jungle = 3; + public static final int log2_acacia = 0; + public static final int log2_darkoak = 5; + + public static final int sapling_oak = 0; + public static final int sapling_spruce = 1; + public static final int sapling_birch = 2; + public static final int sapling_jungle = 3; + public static final int sapling_acacia = 4; + public static final int sapling_darkoak = 5; + + public static final int quartz_block = 0; + public static final int quartz_chiselled = 1; + public static final int quartz_pillar = 2; + + public static final int cobblestone_wall_plain = 0; + public static final int cobblestone_wall_mossy = 1; + + public static final int potion_SPEED = 1; + public static final int potion_SLOWNESS = 2; + public static final int potion_HASTE = 3; + public static final int potion_FATIGUE = 4; + public static final int potion_STRENGTH = 5; + public static final int potion_instanthealth = 6; + public static final int potion_instantdamage = 7;//both would not work in runestones + public static final int potion_JUMP = 8; + public static final int potion_NAUSEA = 9; + public static final int potion_REGEN = 10; + public static final int potion_RESISTANCE = 11; + public static final int potion_FIRERESIST = 12; + public static final int potion_WATER_BREATHING = 13; + public static final int potion_INVIS = 14; + public static final int potion_BLINDNESS = 15; + public static final int potion_NIGHT_VISION = 16; + public static final int potion_HUNGER = 17; + public static final int potion_WEAKNESS = 18; + public static final int potion_POISON = 19; + public static final int potion_WITHER = 20; + public static final int potion_HEALTH_BOOST = 21; + public static final int potion_absorption = 22;// is absorption; like 21 but they vanish like gold apple hearts + public static final int potion_SATURATION = 23;//fills hunger + + public static final int entity_cow = 92; + public static final int entity_pig = 90; + public static final int entity_sheep = 91; + public static final int entity_chicken = 93; + public static final int entity_mooshroom = 96; + public static final int entity_bat = 65; + + + public class PlayerInventory + { + public static final int ROWS = 3; + public static final int COLS = 9; + public static final int SIZE = ROWS*COLS; + public static final int START = 9;//top left + public static final int END = START + SIZE; + } + + // public static final String gamerule_commandBlockOutput = "commandBlockOutput"; + public class FurnaceBurnTime // inner class + { + public static final int Sticks = 100; + public static final int WoodenSlabs = 150; + public static final int WoodenTools = 200; + public static final int WoodStuff = 300; + public static final int Coal = 1600; + public static final int LavaBucket = 20000; + public static final int Sapling = 100; + public static final int BlazeRod = 2400; + + } + public static class gamerule + { + public final static String commandBlockOutput = "commandBlockOutput"; + public static final String doDaylightCycle = "doDaylightCycle"; + public static final String doFireTick = "doFireTick"; + public static final String doMobLoot = "doMobLoot"; + public static final String doMobSpawning = "doMobSpawning"; + public static final String doTileDrops = "doTileDrops"; + public static final String keepInventory = "keepInventory"; + public static final String mobGriefing = "mobGriefing"; + public static final String naturalRegeneration = "naturalRegeneration"; + } + //public static struct tallgrass{ + + public static class grassplant + { + public final static int deadbush=0; + public final static int grass=1; + public final static int fern=2; + } + + + //is struct + public static class tallgrass + { + public final static int sunflower = 0; + public final static int lilac=1; + public final static int grass=2; + public final static int fern=3; + public final static int rosebush=4; + public final static int peony=5; + + } +}//ends class reference \ No newline at end of file diff --git a/src/main/resources/assets/iba_backblocks/lang/en_US.lang b/src/main/resources/assets/iba_backblocks/lang/en_US.lang index ee99e43..1a1fa7b 100644 --- a/src/main/resources/assets/iba_backblocks/lang/en_US.lang +++ b/src/main/resources/assets/iba_backblocks/lang/en_US.lang @@ -1,55 +1,56 @@ -item.copper_ingot.name=Copper Ingot -item.raw_copper.name=Raw Copper - - - - //Blocks -//Ores / Materials - tile.iba_backblocks:copper_ore.name=Copper Ore tile.iba_backblocks:copper_block.name=Copper Block -tile.iba_backblocks:andesite.name=Andesite -tile.iba_backblocks:diorite.name=Diorite -tile.iba_backblocks:granite.name=Granite -tile.iba_backblocks:prismarine.name=Prismarine -tile.iba_backblocks:prismarine_bricks.name=Prismarine Bricks -tile.iba_backblocks:dark_prismarine.name=Dark Prismarine -tile.iba_backblocks:sea_lantern.name=Sea Lantern -tile.iba_backblocks:coarse_dirt.name=Coarse Dirt -tile.iba_backblocks:red_sandstone.name=Red Sandstone -tile.iba_backblocks:polished_andesite.name=Polished Andesite -tile.iba_backblocks:polished_granite.name=Polished Granite -tile.iba_backblocks:polished_diorite.name=Polished Diorite tile.iba_backblocks:wet_sponge.name=Wet Sponge tile.iba_backblocks:raw_copper_block.name=Raw Copper Block + + + tile.red_sandstone.name=Red Sandstone tile.red_sandstone_smooth.name=Cut Red Sandstone tile.red_sandstone_carved.name=Chiseled Red Sandstone +tile.red_sandstone_slab.name=Red Sandstone Slab +tile.red_sandstone_stairs.name=Red Sandstone Stairs tile.slime_block.name=Slime Block +tile.iron_trapdoor.name=Iron Trapdoor +tile.andesite.name=Andesite +tile.diorite.name=Diorite +tile.granite.name=Granite +tile.prismarine.name=Prismarine +tile.prismarine_bricks.name=Prismarine Bricks +tile.dark_prismarine.name=Dark Prismarine +tile.sea_lantern.name=Sea Lantern +tile.coarse_dirt.name=Coarse Dirt +tile.polished_andesite.name=Polished Andesite +tile.polished_granite.name=Polished Granite +tile.polished_diorite.name=Polished Diorite - - -//Wood Planks - -tile.iba_backblocks:cherry_planks.name=Cherry Planks -tile.iba_backblocks:spruce_planks.name=Spruce Planks - - //Fences -tile.cherryWoodFence.name=Cherry Fence -tile.spruceWoodFence.name=Spruce Fence +tile.acacia_fence.name=Acacia Fence +tile.birch_fence.name=Birch Fence +tile.big_oak_fence.name=Dark Oak Fence +tile.spruce_fence.name=Spruce Fence +tile.jungle_fence.name=Jungle Fence +//Fence Gates + +tile.acacia_fence_gate.name=Acacia Fence Gate +tile.birch_fence_gate.name=Birch Fence Gate +tile.big_oak_fence_gate.name=Dark Oak Fence Gate +tile.spruce_fence_gate.name=Spruce Fence Gate +tile.jungle_fence_gate.name=Jungle Fence Gate + //Wood + //Stripped 1 tile.stripped.oak.name=Stripped Oak Log tile.stripped.spruce.name=Stripped Spruce Log @@ -79,14 +80,27 @@ tile.log2.cherry.name=Cherry Log tile.log3.bamboo.name=Block of Bamboo tile.log3.pale_oak.name=Pale Oak +//Wood Planks + +tile.iba_backblocks:cherry_planks.name=Cherry Planks +// Items // - - -//Items - +item.rabbit_hide.name=Rabbit Hide +item.rabbit_foot.name=Rabbit Foot item.rabbit_raw.name=Raw Rabbit item.rabbit_cooked.name=Cooked Rabbit +item.rabbit_stew.name=Rabbit Stew item.mutton_raw.name=Raw Mutton -item.mutton_cooked.name=Cooked Mutton \ No newline at end of file +item.mutton_cooked.name=Cooked Mutton +item.copper_ingot.name=Copper Ingot +item.raw_copper.name=Raw Copper +item.prismarine_crystals.name=Prismarine Crystals +item.prismarine_shard.name=Prismarine Shard + +item.door_dark_oak_item.name=Dark Oak Door +item.door_jungle_item.name=Jungle Door +item.door_birch_item.name=Birch Door +item.door_acacia_item.name=Acacia Door +item.door_spruce_item.name=Spruce Door \ No newline at end of file diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_lower.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_lower.png new file mode 100644 index 0000000..2f57508 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_lower.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_upper.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_upper.png new file mode 100644 index 0000000..9b7e742 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_acacia_upper.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_lower.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_lower.png new file mode 100644 index 0000000..2c6f7d3 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_lower.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_upper.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_upper.png new file mode 100644 index 0000000..1345b41 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_birch_upper.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_lower.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_lower.png new file mode 100644 index 0000000..7bb3ff2 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_lower.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_upper.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_upper.png new file mode 100644 index 0000000..27fa6cc Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_dark_oak_upper.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_lower.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_lower.png new file mode 100644 index 0000000..4edfa3c Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_lower.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_upper.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_upper.png new file mode 100644 index 0000000..d5201f8 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_jungle_upper.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_lower.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_lower.png new file mode 100644 index 0000000..5faa6e7 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_lower.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_upper.png b/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_upper.png new file mode 100644 index 0000000..38e2717 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/door_spruce_upper.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/blocks/iron_trapdoor.png b/src/main/resources/assets/iba_backblocks/textures/blocks/iron_trapdoor.png new file mode 100644 index 0000000..2eaab82 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/blocks/iron_trapdoor.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/items/door_acacia_item.png b/src/main/resources/assets/iba_backblocks/textures/items/door_acacia_item.png new file mode 100644 index 0000000..d273920 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/items/door_acacia_item.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/items/door_birch_item.png b/src/main/resources/assets/iba_backblocks/textures/items/door_birch_item.png new file mode 100644 index 0000000..bb270cd Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/items/door_birch_item.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/items/door_dark_oak_item.png b/src/main/resources/assets/iba_backblocks/textures/items/door_dark_oak_item.png new file mode 100644 index 0000000..cd7c649 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/items/door_dark_oak_item.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/items/door_jungle_item.png b/src/main/resources/assets/iba_backblocks/textures/items/door_jungle_item.png new file mode 100644 index 0000000..71ca657 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/items/door_jungle_item.png differ diff --git a/src/main/resources/assets/iba_backblocks/textures/items/door_spruce_item.png b/src/main/resources/assets/iba_backblocks/textures/items/door_spruce_item.png new file mode 100644 index 0000000..751fa93 Binary files /dev/null and b/src/main/resources/assets/iba_backblocks/textures/items/door_spruce_item.png differ