Skip to content

Commit

Permalink
New: Dark Steel Trap Door
Browse files Browse the repository at this point in the history
  • Loading branch information
HenryLoenwind committed Dec 2, 2016
1 parent 0c15278 commit 9b0a159
Show file tree
Hide file tree
Showing 12 changed files with 116 additions and 9 deletions.
Binary file added doc/textures/dark_iron_trapdoor.pspimage
Binary file not shown.
28 changes: 28 additions & 0 deletions resources/assets/enderio/blockstates/blockDarkSteelTrapdoor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"forge_marker": 1,
"defaults": {
"textures": {
"particle": "enderio:blocks/dark_iron_trapdoor",
"texture": "enderio:blocks/dark_iron_trapdoor"
}
},
"variants": {
"facing=north,half=bottom,open=false": { "model": "trapdoor_bottom" },
"facing=south,half=bottom,open=false": { "model": "trapdoor_bottom" },
"facing=east,half=bottom,open=false": { "model": "trapdoor_bottom" },
"facing=west,half=bottom,open=false": { "model": "trapdoor_bottom" },
"facing=north,half=top,open=false": { "model": "trapdoor_top" },
"facing=south,half=top,open=false": { "model": "trapdoor_top" },
"facing=east,half=top,open=false": { "model": "trapdoor_top" },
"facing=west,half=top,open=false": { "model": "trapdoor_top" },
"facing=north,half=bottom,open=true": { "model": "trapdoor_open" },
"facing=south,half=bottom,open=true": { "model": "trapdoor_open", "y": 180 },
"facing=east,half=bottom,open=true": { "model": "trapdoor_open", "y": 90 },
"facing=west,half=bottom,open=true": { "model": "trapdoor_open", "y": 270 },
"facing=north,half=top,open=true": { "model": "trapdoor_open" },
"facing=south,half=top,open=true": { "model": "trapdoor_open", "y": 180 },
"facing=east,half=top,open=true": { "model": "trapdoor_open", "y": 90 },
"facing=west,half=top,open=true": { "model": "trapdoor_open", "y": 270 },
"inventory": { "model": "trapdoor_bottom" }
}
}
10 changes: 10 additions & 0 deletions resources/assets/enderio/config/recipe_materials_core.xml
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,16 @@ XML editor will display that as tooltips when editing this file.
</crafting>
</recipe>

<recipe name="Dark Steel Trap Door" required="true">
<crafting>
<grid size="2x2">
<item name="DARK_STEEL"/><item name="DARK_STEEL"/>
<item name="DARK_STEEL"/><item name="DARK_STEEL"/>
</grid>
<output name="enderio:blockDarkSteelTrapdoor" amount="1"/>
</crafting>
</recipe>

<recipe name="Bread" required="true">
<smelting exp="0.35">
<input name="dustWheat"/>
Expand Down
2 changes: 2 additions & 0 deletions resources/assets/enderio/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1521,3 +1521,5 @@ enderio.gui.permission.denied=Permission denied
enderio.wrench.permission.denied=Permission denied
enderio.soulvial.denied=Permission denied
enderio.soulvial.owned.denied=Permission denied - only owners may pickup owned animals

tile.blockDarkSteelTrapdoor.name=Dark Steel Trap Door
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions src/main/java/crazypants/enderio/IModObject.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
package crazypants.enderio;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import net.minecraft.block.Block;
import net.minecraft.item.Item;

public interface IModObject {

@Nonnull
String getUnlocalisedName();

@Nullable
Block getBlock();

@Nullable
Item getItem();

}
4 changes: 3 additions & 1 deletion src/main/java/crazypants/enderio/ModObject.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import crazypants.enderio.block.BlockDarkIronBars;
import crazypants.enderio.block.BlockDarkSteelAnvil;
import crazypants.enderio.block.BlockDarkSteelLadder;
import crazypants.enderio.block.BlockDarkSteelTrapDoor;
import crazypants.enderio.block.BlockDecoration;
import crazypants.enderio.block.BlockDecorationFacing;
import crazypants.enderio.block.BlockReinforcedObsidian;
Expand All @@ -24,9 +25,9 @@
import crazypants.enderio.conduit.item.ItemItemConduit;
import crazypants.enderio.conduit.item.filter.ItemBasicItemFilter;
import crazypants.enderio.conduit.item.filter.ItemExistingItemFilter;
import crazypants.enderio.conduit.item.filter.ItemSpeciesItemFilter;
import crazypants.enderio.conduit.item.filter.ItemModItemFilter;
import crazypants.enderio.conduit.item.filter.ItemPowerItemFilter;
import crazypants.enderio.conduit.item.filter.ItemSpeciesItemFilter;
import crazypants.enderio.conduit.liquid.ItemLiquidConduit;
import crazypants.enderio.conduit.me.ItemMEConduit;
import crazypants.enderio.conduit.oc.ItemOCConduit;
Expand Down Expand Up @@ -164,6 +165,7 @@ protected void preInitElem(FMLPreInitializationEvent event) {
},
blockPaintedFusedQuartz(BlockPaintedFusedQuartz.class),
blockDarkIronBars(BlockDarkIronBars.class),
blockDarkSteelTrapdoor(BlockDarkSteelTrapDoor.class),

// Machines
blockStirlingGenerator(BlockStirlingGenerator.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class BlockItemDarkIronBars extends ItemBlock {
public class BlastResistantItemBlock extends ItemBlock {

public BlockItemDarkIronBars(Block block, String name) {
super(block);
public BlastResistantItemBlock(Block block, String name) {
super(block);
setRegistryName(name);
}

@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List<String> par3List, boolean par4) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public BlockDarkIronBars() {

protected void init() {
GameRegistry.register(this);
GameRegistry.register(new BlockItemDarkIronBars(this, ModObject.blockDarkIronBars.getUnlocalisedName()));
GameRegistry.register(new BlastResistantItemBlock(this, ModObject.blockDarkIronBars.getUnlocalisedName()));
}

@Override
Expand Down
55 changes: 55 additions & 0 deletions src/main/java/crazypants/enderio/block/BlockDarkSteelTrapDoor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package crazypants.enderio.block;

import crazypants.enderio.EnderIOTab;
import crazypants.enderio.IModObject;
import crazypants.enderio.ModObject;
import crazypants.enderio.render.IHaveRenderers;
import crazypants.util.ClientUtil;
import net.minecraft.block.BlockTrapDoor;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class BlockDarkSteelTrapDoor extends BlockTrapDoor implements IHaveRenderers {

public static BlockDarkSteelTrapDoor create() {
BlockDarkSteelTrapDoor res = new BlockDarkSteelTrapDoor(ModObject.blockDarkSteelTrapdoor, Material.IRON, true);
res.init();
return res;
}

private final IModObject modObject;

public BlockDarkSteelTrapDoor(IModObject modObject, Material materialIn, boolean isBlastResistant) {
super(materialIn);
this.modObject = modObject;
if (isBlastResistant) {
setResistance(2000.0F); // TNT Proof
}
if (materialIn == Material.IRON) {
setHardness(5.0F);
setSoundType(SoundType.METAL);
} else {
setHardness(3.0F);
setSoundType(SoundType.WOOD);
}
disableStats();
setUnlocalizedName(modObject.getUnlocalisedName());
setRegistryName(modObject.getUnlocalisedName());
setCreativeTab(EnderIOTab.tabEnderIO);
}

protected void init() {
GameRegistry.register(this);
GameRegistry.register(new BlastResistantItemBlock(this, modObject.getUnlocalisedName()));
}

@Override
@SideOnly(Side.CLIENT)
public void registerRenderers() {
ClientUtil.registerDefaultItemRenderer(modObject);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public boolean isSideSolid(BlockPos pos, EnumFacing side, boolean _default) {
public TileEntity getTileEntity(BlockPos pos) {
IBlockState paintSource = getPaintSource(pos);
if (paintSource != null && paintSource != super.getBlockState(pos)) {
return createTileEntity(paintSource, pos);
return createTileEntity(paintSource, pos.toImmutable());
}
return super.getTileEntity(pos);
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/crazypants/util/ClientUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.enderio.core.common.BlockEnder;

import crazypants.enderio.EnderIO;
import crazypants.enderio.ModObject;
import crazypants.enderio.IModObject;
import crazypants.enderio.conduit.IConduitBundle;
import crazypants.enderio.conduit.TileConduitBundle;
import crazypants.enderio.conduit.liquid.ILiquidConduit;
Expand Down Expand Up @@ -119,7 +119,7 @@ public static void regRenderer(Item item, int meta, ResourceLocation loc) {
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(loc, "inventory"));
}

public static void registerDefaultItemRenderer(ModObject mo) {
public static void registerDefaultItemRenderer(IModObject mo) {
if (mo.getItem() != null) {
regRenderer(mo.getItem(), 0, mo.getUnlocalisedName());
}
Expand Down

0 comments on commit 9b0a159

Please sign in to comment.