Skip to content

Commit

Permalink
New block: Decoration block
Browse files Browse the repository at this point in the history
  • Loading branch information
HenryLoenwind committed Nov 1, 2015
1 parent b18951b commit d6f6822
Show file tree
Hide file tree
Showing 11 changed files with 287 additions and 78 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ minecraft_version=1.7.10
forge_version=10.13.4.1492-1.7.10
forgeDep_version=10.13.4

mod_version=0.7.2
mod_version=0.8.0

#Comment out this line to get rid of the appendix
mod_appendix=beta
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/info/loenwind/enderioaddons/config/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ public enum Config {
flagKeepTargetOnBreaking(Section.FLAG, false, "Should Magnetic Flags keep their target when being broken?"), //

flagEnabled(Section.RECIPES, true, "Enable the crafting recipe for the Magnetic Flag"), //

decoBlockInvisibleIsInvisible(Section.DECO, true, "Allow the invisible block to be invisible. Otherwise it will mimic a quite clear glass block."), //

decoBlockEnabled(Section.RECIPES, true, "Enable the crafting recipe for the decoration block"), //
;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

public enum Section {
DRAIN("drain"), COBBLEWORKS("cobbleworks"), WATERWORKS("waterworks"), RECIPES("recipes"), DEV("development"), IHOPPER("impulsehopper"), NIARD("niard"), VOIDTANK(
"void tank"), PMON("graphical power monitor"), TCOM("loot recycler"), MAGCHARGER("magnetic charger"), FLAG("magnetic flag");
"void tank"), PMON("graphical power monitor"), TCOM("loot recycler"), MAGCHARGER("magnetic charger"), FLAG("magnetic flag"), DECO("decoration block");

@Nonnull
public final String name;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
package info.loenwind.enderioaddons.machine.chassis;

import info.loenwind.enderioaddons.EnderIOAddons;
import info.loenwind.enderioaddons.config.Config;

import java.util.List;

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.minecraftforge.common.util.EnumHelper;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.BlockEio;
import crazypants.enderio.ModObject;

public class BlockChassis extends BlockEio {

public static final ModObject ModObject_blockChassis = EnumHelper.addEnum(ModObject.class, "blockChassis", new Class<?>[0], new Object[0]);
public static BlockChassis blockChassis;

private IIcon[] blockIcons = new IIcon[17];

public static BlockChassis create() {
blockChassis = new BlockChassis();
blockChassis.init();
return blockChassis;
}

public BlockChassis() {
super(ModObject_blockChassis.unlocalisedName, null);
setHardness(1.5F);
setStepSound(soundTypeMetal);
setHarvestLevel("pickaxe", 1);
}

@Override
protected void init() {
GameRegistry.registerBlock(this, ItemChassis.class, ModObject_blockChassis.unlocalisedName);
}

private static int[] iconMapping1 = { 0, 1, 2, 2, 2, 2 };
private static int[] iconMapping2 = { 0, 1, 3, 3, 3, 3 };

@Override
public IIcon getIcon(int side, int meta) {
switch (meta) {
case 5:
return blockIcons[1 + iconMapping1[side]];
case 6:
return blockIcons[1 + iconMapping2[side]];
case 11:
return blockIcons[7 + iconMapping1[side]];
case 12:
return blockIcons[7 + iconMapping2[side]];
case 15:
if (Config.decoBlockInvisibleIsInvisible.getBoolean()) {
return blockIcons[meta];
} else {
return blockIcons[meta + 1];
}
default:
return blockIcons[meta];
}
}

@Override
public int damageDropped(int meta) {
return meta;
}

@Override
public void getSubBlocks(Item item, CreativeTabs p_149666_2_, List list) {
for (int i = 0; i < 16; i++) {
list.add(new ItemStack(this, 1, i));
}
}

@Override
public boolean renderAsNormalBlock() {
return true;
}

@Override
public boolean isOpaqueCube() {
return false;
}

@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iIconRegister) {
blockIcons[0] = iIconRegister.registerIcon(EnderIOAddons.DOMAIN + ":machineChassi");
blockIcons[1] = iIconRegister.registerIcon("enderio:machineTemplate");
blockIcons[2] = iIconRegister.registerIcon("enderio:machineTop");
blockIcons[3] = iIconRegister.registerIcon("enderio:machineSide");
blockIcons[4] = iIconRegister.registerIcon("enderio:machineBack");
blockIcons[5] = null; // machine all sides side
blockIcons[6] = null; // machine all sides back
blockIcons[7] = iIconRegister.registerIcon("enderio:blockSoulMachineBlank");
blockIcons[8] = iIconRegister.registerIcon("enderio:blockSoulMachineTop");
blockIcons[9] = iIconRegister.registerIcon("enderio:blockSoulMachineSide");
blockIcons[10] = iIconRegister.registerIcon("enderio:blockSoulMachineBack");
blockIcons[11] = null; // soul machine all sides side
blockIcons[12] = null; // soul machine all sides back
blockIcons[13] = iIconRegister.registerIcon("enderio:capacitorBankCreativeBorder");
blockIcons[14] = iIconRegister.registerIcon(EnderIOAddons.DOMAIN + ":itemBrokenSpawner");
blockIcons[15] = iIconRegister.registerIcon("enderio:blank");
blockIcons[16] = iIconRegister.registerIcon("enderio:fusedGlassFrame");
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package info.loenwind.enderioaddons.machine.chassis;

import net.minecraft.block.Block;
import net.minecraft.item.ItemBlockWithMetadata;
import net.minecraft.item.ItemStack;

public class ItemChassis extends ItemBlockWithMetadata {

public ItemChassis(Block block) {
super(block, block);
}

@Override
public String getUnlocalizedName(ItemStack p_77667_1_) {
return super.getUnlocalizedName() + "." + p_77667_1_.getItemDamage();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import info.loenwind.enderioaddons.EnderIOAddons;
import info.loenwind.enderioaddons.config.Config;
import info.loenwind.enderioaddons.fluid.Fluids;
import info.loenwind.enderioaddons.machine.chassis.BlockChassis;
import info.loenwind.enderioaddons.machine.cobbleworks.BlockCobbleworks;
import info.loenwind.enderioaddons.machine.flag.BlockFlag;
import info.loenwind.enderioaddons.machine.framework.AbstractBlockFramework;
Expand Down Expand Up @@ -60,9 +61,11 @@ public void loadConfig() {
if (!Config.pMonEnabled.getBoolean()) {
API.hideItem(new ItemStack(BlockPMon.blockPMon, 1, OreDictionary.WILDCARD_VALUE));
}
if (!Config.flagEnabled.getBoolean() && !Config.magcEnabled.getBoolean() && !Config.decoBlockEnabled.getBoolean()) {
API.hideItem(new ItemStack(ItemMachinePart.itemMachinePart, 8, MachinePart.CHASSIPARTS.ordinal()));
}
if (!Config.flagEnabled.getBoolean() && !Config.magcEnabled.getBoolean()) {
API.hideItem(new ItemStack(ItemMachinePart.itemMachinePart, 2, MachinePart.SIMPLEMAGNET.ordinal()));
API.hideItem(new ItemStack(ItemMachinePart.itemMachinePart, 8, MachinePart.CHASSIPARTS.ordinal()));
}
if (Config.flagEnabled.getBoolean() && Config.magcEnabled.getBoolean()) {
API.registerRecipeHandler(new MagChargerRecipeHandler());
Expand All @@ -75,6 +78,9 @@ public void loadConfig() {
if (!Config.flagEnabled.getBoolean()) {
API.hideItem(new ItemStack(BlockMagCharger.blockMagCharger, 1, OreDictionary.WILDCARD_VALUE));
}
if (!Config.decoBlockEnabled.getBoolean()) {
API.hideItem(new ItemStack(BlockChassis.blockChassis, 1, OreDictionary.WILDCARD_VALUE));
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import info.loenwind.enderioaddons.common.InitAware;
import info.loenwind.enderioaddons.fluid.Fluids;
import info.loenwind.enderioaddons.gui.PacketAdvancedRedstoneMode;
import info.loenwind.enderioaddons.machine.chassis.BlockChassis;
import info.loenwind.enderioaddons.machine.cobbleworks.BlockCobbleworks;
import info.loenwind.enderioaddons.machine.drain.BlockDrain;
import info.loenwind.enderioaddons.machine.drain.InfiniteWaterSourceStopper;
Expand Down Expand Up @@ -41,6 +42,7 @@ public void init(FMLPreInitializationEvent event) {
BlockTcom.create();
BlockFlag.create();
BlockMagCharger.create();
BlockChassis.create();
}

@Override
Expand Down
Loading

0 comments on commit d6f6822

Please sign in to comment.