Starting on the Crafty Crate.

This commit is contained in:
Lizbeth Rika committed 2014-07-26 16:36:14 +01:00
1 parent 28a093f3fc
commit 45e3f2f0e9
5 files changed
+61 -19

No files matched your search

@@ -11,9 +11,15 @@
*/
package vazkii.botania.common.block;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
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.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
@@ -22,13 +28,19 @@ import vazkii.botania.api.lexicon.ILexiconable;
import vazkii.botania.api.lexicon.LexiconEntry;
import vazkii.botania.client.core.helper.IconHelper;
import vazkii.botania.common.block.tile.TileOpenCrate;
import vazkii.botania.common.item.block.ItemBlockWithMetadataAndName;
import vazkii.botania.common.lexicon.LexiconData;
import vazkii.botania.common.lib.LibBlockNames;
public class BlockOpenCrate extends BlockModContainer implements ILexiconable {
IIcon iconSide;
IIcon iconBottom;
IIcon iconSideCraft;
IIcon iconBottomCraft;
private static final int SUBTYPES = 2;
public BlockOpenCrate() {
super(Material.wood);
setHardness(2.0F);
@@ -36,15 +48,39 @@ public class BlockOpenCrate extends BlockModContainer implements ILexiconable {
setBlockName(LibBlockNames.OPEN_CRATE);
}
@Override
protected boolean shouldRegisterInNameSet() {
return false;
}
@Override
public Block setBlockName(String par1Str) {
GameRegistry.registerBlock(this, ItemBlockWithMetadataAndName.class, par1Str);
return super.setBlockName(par1Str);
}
@Override
public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) {
for(int i = 0; i < SUBTYPES; i++)
par3List.add(new ItemStack(par1, 1, i));
}
@Override
public int damageDropped(int meta) {
return meta;
}
@Override
public void registerBlockIcons(IIconRegister par1IconRegister) {
blockIcon = IconHelper.forBlock(par1IconRegister, this, 0);
iconSide = IconHelper.forBlock(par1IconRegister, this, 0);
iconBottom = IconHelper.forBlock(par1IconRegister, this, 1);
iconSideCraft = IconHelper.forBlock(par1IconRegister, this, 2);
iconBottomCraft = IconHelper.forBlock(par1IconRegister, this, 3);
}
@Override
public IIcon getIcon(int side, int meta) {
return side == 0 ? iconBottom : blockIcon;
return meta == 0 ? side == 0 ? iconBottom : iconSide : side == 0 ? iconBottomCraft : iconSideCraft;
}
@Override
@@ -38,24 +38,29 @@ public class TileOpenCrate extends TileSimpleInventory {
redstone = true;
}
Block blockBelow = worldObj.getBlock(xCoord, yCoord - 1, zCoord);
if(blockBelow.isAir(worldObj, xCoord, yCoord - 1, zCoord)) {
if(canRelease()) {
ItemStack stack = getStackInSlot(0);
if(stack != null) {
EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord - 0.5, zCoord + 0.5, stack);
item.motionX = 0;
item.motionY = 0;
item.motionZ = 0;
if(redstone)
item.age = -200;
setInventorySlotContents(0, null);
if(!worldObj.isRemote)
worldObj.spawnEntityInWorld(item);
}
if(stack != null)
release(stack, redstone);
}
}
public boolean canRelease() {
Block blockBelow = worldObj.getBlock(xCoord, yCoord - 1, zCoord);
return blockBelow.isAir(worldObj, xCoord, yCoord - 1, zCoord);
}
public void release(ItemStack stack, boolean redstone) {
EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord - 0.5, zCoord + 0.5, stack);
item.motionX = 0;
item.motionY = 0;
item.motionZ = 0;
if(redstone)
item.age = -200;
setInventorySlotContents(0, null);
if(!worldObj.isRemote)
worldObj.spawnEntityInWorld(item);
}
}
+2 -1
View File
@@ -251,7 +251,8 @@ tile.botania:enchanter.name=Mana Enchanter
tile.botania:turntable.name=Spreader Turntable
tile.botania:tinyPlanetBlock.name=Tiny Planet
tile.botania:alchemyCatalyst.name=Alchemy Catalyst
tile.botania:openCrate.name=Open Crate
tile.botania:openCrate0.name=Open Crate
tile.botania:openCrate1.name=Crafty Crate
tile.botania:forestEye.name=Eye of the Ancients
tile.botania:storage0.name=Block of Manasteel
tile.botania:storage1.name=Block of Terrasteel
File renamed without changes.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB