Some more work on stuffs

This commit is contained in:
pahimar 2014-04-01 22:47:08 -04:00
parent 1821b3ebbc
commit c0a2f2d929
26 changed files with 907 additions and 18 deletions

View file

@ -41,11 +41,11 @@ public class EquivalentExchange3
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
// Initialize mod blocks
ModBlocks.init();
// Initialize mod items
ModItems.init();
// Initialize mod blocks
ModBlocks.init();
}
@EventHandler

View file

@ -0,0 +1,81 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
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.util.MathHelper;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.List;
import java.util.Random;
public class BlockAlchemicalFuel extends BlockEE
{
@SideOnly(Side.CLIENT)
private IIcon[] blockTop, blockSide;
public BlockAlchemicalFuel()
{
super();
this.setBlockName(Names.Items.ALCHEMICAL_FUEL);
this.setHardness(5.0f);
this.setResistance(10.0f);
}
@Override
public Item getItemDropped(int par1, Random random, int par2)
{
return Item.getItemFromBlock(this);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < Names.Items.ALCHEMICAL_FUEL_SUBTYPES.length; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public int damageDropped(int metaData)
{
return metaData;
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
this.blockTop = new IIcon[Names.Items.ALCHEMICAL_FUEL_SUBTYPES.length];
this.blockSide = new IIcon[Names.Items.ALCHEMICAL_FUEL_SUBTYPES.length];
for (int i = 0; i < Names.Items.ALCHEMICAL_FUEL_SUBTYPES.length; i++)
{
blockTop[i] = iconRegister.registerIcon(String.format("%s.%s_top", getUnwrappedUnlocalizedName(this.getUnlocalizedName()), Names.Items.ALCHEMICAL_FUEL_SUBTYPES[i]));
blockSide[i] = iconRegister.registerIcon(String.format("%s.%s_side", getUnwrappedUnlocalizedName(this.getUnlocalizedName()), Names.Items.ALCHEMICAL_FUEL_SUBTYPES[i]));
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metaData)
{
metaData = MathHelper.clamp_int(metaData, 0, Names.Items.ALCHEMICAL_FUEL_SUBTYPES.length - 1);
if (ForgeDirection.getOrientation(side) == ForgeDirection.UP || ForgeDirection.getOrientation(side) == ForgeDirection.DOWN)
{
return blockTop[metaData];
}
else
{
return blockSide[metaData];
}
}
}

View file

@ -0,0 +1,31 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.item.ModItems;
import com.pahimar.ee3.reference.Names;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import java.util.Random;
public class BlockChalk extends BlockEE
{
public BlockChalk()
{
super(Material.clay);
this.setBlockName(Names.Items.CHALK);
this.setHardness(0.6f);
this.setStepSound(soundTypeStone);
}
@Override
public Item getItemDropped(int par1, Random random, int par2)
{
return ModItems.chalk;
}
@Override
public int quantityDropped(Random random)
{
return (random.nextInt(4) + 1);
}
}

View file

@ -0,0 +1,134 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.creativetab.CreativeTab;
import com.pahimar.ee3.reference.Textures;
import com.pahimar.ee3.tileentity.TileEntityEE;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.Random;
public class BlockEE extends Block
{
public BlockEE()
{
this(Material.rock);
}
public BlockEE(Material material)
{
super(material);
this.setCreativeTab(CreativeTab.EE3_TAB);
}
@Override
public String getUnlocalizedName()
{
return String.format("tile.%s%s", Textures.RESOURCE_PREFIX, getUnwrappedUnlocalizedName(super.getUnlocalizedName()));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
blockIcon = iconRegister.registerIcon(String.format("%s", getUnwrappedUnlocalizedName(this.getUnlocalizedName())));
}
protected String getUnwrappedUnlocalizedName(String unlocalizedName)
{
return unlocalizedName.substring(unlocalizedName.indexOf(".") + 1);
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int meta)
{
dropInventory(world, x, y, z);
super.breakBlock(world, x, y, z, block, meta);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLiving, ItemStack itemStack)
{
if (world.getTileEntity(x, y, z) instanceof TileEntityEE)
{
int direction = 0;
int facing = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if (facing == 0)
{
direction = ForgeDirection.NORTH.ordinal();
}
else if (facing == 1)
{
direction = ForgeDirection.EAST.ordinal();
}
else if (facing == 2)
{
direction = ForgeDirection.SOUTH.ordinal();
}
else if (facing == 3)
{
direction = ForgeDirection.WEST.ordinal();
}
if (itemStack.hasDisplayName())
{
((TileEntityEE) world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName());
}
((TileEntityEE) world.getTileEntity(x, y, z)).setOrientation(direction);
}
}
protected void dropInventory(World world, int x, int y, int z)
{
TileEntity tileEntity = world.getTileEntity(x, y, z);
if (!(tileEntity instanceof IInventory))
{
return;
}
IInventory inventory = (IInventory) tileEntity;
for (int i = 0; i < inventory.getSizeInventory(); i++)
{
ItemStack itemStack = inventory.getStackInSlot(i);
if (itemStack != null && itemStack.stackSize > 0)
{
Random rand = new Random();
float dX = rand.nextFloat() * 0.8F + 0.1F;
float dY = rand.nextFloat() * 0.8F + 0.1F;
float dZ = rand.nextFloat() * 0.8F + 0.1F;
EntityItem entityItem = new EntityItem(world, x + dX, y + dY, z + dZ, itemStack.copy());
if (itemStack.hasTagCompound())
{
entityItem.getEntityItem().setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
}
float factor = 0.05F;
entityItem.motionX = rand.nextGaussian() * factor;
entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
entityItem.motionZ = rand.nextGaussian() * factor;
world.spawnEntityInWorld(entityItem);
itemStack.stackSize = 0;
}
}
}
}

View file

@ -0,0 +1,94 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.reference.Colors;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
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.world.IBlockAccess;
import java.util.List;
public class BlockInfusedCloth extends BlockEE
{
public BlockInfusedCloth()
{
super(Material.cloth);
this.setHardness(0.8f);
this.setBlockName(Names.Blocks.INFUSED_CLOTH);
this.setStepSound(soundTypeCloth);
}
@Override
public int damageDropped(int metaData)
{
return metaData;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < 3; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
blockIcon = iconRegister.registerIcon("wool_colored_white");
}
@Override
@SideOnly(Side.CLIENT)
public int colorMultiplier(IBlockAccess blockAccess, int x, int y, int z)
{
int metaData = blockAccess.getBlockMetadata(x, y, z);
if (metaData == 0)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_VERDANT, 16);
}
else if (metaData == 1)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_AZURE, 16);
}
else if (metaData == 2)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
@Override
@SideOnly(Side.CLIENT)
public int getRenderColor(int metaData)
{
if (metaData == 0)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_VERDANT, 16);
}
else if (metaData == 1)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_AZURE, 16);
}
else if (metaData == 2)
{
return Integer.parseInt(Colors.INFUSED_CLOTH_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
}

View file

@ -0,0 +1,93 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.reference.Colors;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
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.world.IBlockAccess;
import java.util.List;
public class BlockInfusedPlank extends BlockEE
{
public BlockInfusedPlank()
{
super(Material.wood);
this.setHardness(2.0f);
this.setResistance(5.0f);
this.setBlockName(Names.Blocks.INFUSED_PLANK);
this.setStepSound(soundTypeWood);
}
@Override
public int damageDropped(int metaData)
{
return metaData;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < 3; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
blockIcon = iconRegister.registerIcon("planks_oak");
}
@SideOnly(Side.CLIENT)
public int colorMultiplier(IBlockAccess blockAccess, int x, int y, int z)
{
int metaData = blockAccess.getBlockMetadata(x, y, z);
if (metaData == 0)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_VERDANT, 16);
}
else if (metaData == 1)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_AZURE, 16);
}
else if (metaData == 2)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
@SideOnly(Side.CLIENT)
public int getRenderColor(int metaData)
{
if (metaData == 0)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_VERDANT, 16);
}
else if (metaData == 1)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_AZURE, 16);
}
else if (metaData == 2)
{
return Integer.parseInt(Colors.INFUSED_PLANKS_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
}

View file

@ -0,0 +1,168 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.reference.Colors;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
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.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.List;
public class BlockInfusedWood extends BlockEE
{
@SideOnly(Side.CLIENT)
private IIcon logEnd, logSide;
public BlockInfusedWood()
{
super(Material.wood);
this.setHardness(2.0f);
this.setBlockName(Names.Blocks.INFUSED_WOOD);
this.setStepSound(soundTypeWood);
}
@Override
public int damageDropped(int metaData)
{
return metaData & 3;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < 3; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister)
{
logEnd = iconRegister.registerIcon("log_oak_top");
logSide = iconRegister.registerIcon("log_oak");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metaData)
{
if (ForgeDirection.getOrientation(side) == ForgeDirection.UP || ForgeDirection.getOrientation(side) == ForgeDirection.DOWN)
{
if (metaData >> 2 == 0)
{
return logEnd;
}
else
{
return logSide;
}
}
else if (ForgeDirection.getOrientation(side) == ForgeDirection.NORTH || ForgeDirection.getOrientation(side) == ForgeDirection.SOUTH)
{
if (metaData >> 2 == 2)
{
return logEnd;
}
else
{
return logSide;
}
}
else
{
if (metaData >> 2 == 1)
{
return logEnd;
}
else
{
return logSide;
}
}
}
/**
* Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
*/
@Override
public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metaData)
{
int logType = metaData & 3;
byte rotation = 0;
switch (side)
{
case 0:
case 1:
rotation = 0;
break;
case 2:
case 3:
rotation = 8;
break;
case 4:
case 5:
rotation = 4;
}
int newMetaData = logType | rotation;
world.setBlockMetadataWithNotify(x, y, z, newMetaData, 3);
return newMetaData;
}
@SideOnly(Side.CLIENT)
public int colorMultiplier(IBlockAccess blockAccess, int x, int y, int z)
{
int metaData = blockAccess.getBlockMetadata(x, y, z) & 3;
if (metaData == 0)
{
return Integer.parseInt(Colors.INFUSED_WOOD_VERDANT, 16);
}
else if (metaData == 1)
{
return Integer.parseInt(Colors.INFUSED_WOOD_AZURE, 16);
}
else if (metaData == 2)
{
return Integer.parseInt(Colors.INFUSED_WOOD_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
@SideOnly(Side.CLIENT)
public int getRenderColor(int metaData)
{
int adjustedMetaData = metaData & 3;
if (adjustedMetaData == 0)
{
return Integer.parseInt(Colors.INFUSED_WOOD_VERDANT, 16);
}
else if (adjustedMetaData == 1)
{
return Integer.parseInt(Colors.INFUSED_WOOD_AZURE, 16);
}
else if (adjustedMetaData == 2)
{
return Integer.parseInt(Colors.INFUSED_WOOD_MINIUM, 16);
}
else
{
return Integer.parseInt(Colors.PURE_WHITE, 16);
}
}
}

View file

@ -1,9 +1,27 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.item.ItemBlockAlchemicalFuel;
import com.pahimar.ee3.item.ItemBlockInfusedCloth;
import com.pahimar.ee3.item.ItemBlockInfusedPlank;
import com.pahimar.ee3.item.ItemBlockInfusedWood;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.common.registry.GameRegistry;
public class ModBlocks
{
public static final BlockEE chalk = new BlockChalk();
public static final BlockEE alchemicalFuel = new BlockAlchemicalFuel();
public static final BlockEE infusedCloth = new BlockInfusedCloth();
public static final BlockEE infusedWood = new BlockInfusedWood();
public static final BlockEE infusedPlank = new BlockInfusedPlank();
public static void init()
{
GameRegistry.registerBlock(chalk, "tile." + Names.Items.CHALK);
GameRegistry.registerBlock(alchemicalFuel, ItemBlockAlchemicalFuel.class, "tile." + Names.Items.ALCHEMICAL_FUEL);
GameRegistry.registerBlock(infusedCloth, ItemBlockInfusedCloth.class, "tile." + Names.Blocks.INFUSED_CLOTH);
GameRegistry.registerBlock(infusedWood, ItemBlockInfusedWood.class, "tile." + Names.Blocks.INFUSED_WOOD);
GameRegistry.registerBlock(infusedPlank, ItemBlockInfusedPlank.class, "tile." + Names.Blocks.INFUSED_PLANK);
}
}

View file

@ -0,0 +1,14 @@
package com.pahimar.ee3.item;
import com.pahimar.ee3.block.ModBlocks;
import com.pahimar.ee3.reference.Names;
import net.minecraft.block.Block;
import net.minecraft.item.ItemMultiTexture;
public class ItemBlockAlchemicalFuel extends ItemMultiTexture
{
public ItemBlockAlchemicalFuel(Block block)
{
super(ModBlocks.alchemicalFuel, ModBlocks.alchemicalFuel, Names.Items.ALCHEMICAL_FUEL_SUBTYPES);
}
}

View file

@ -0,0 +1,34 @@
package com.pahimar.ee3.item;
import com.pahimar.ee3.reference.Messages;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemBlockInfusedCloth extends ItemBlock
{
public ItemBlockInfusedCloth(Block block)
{
super(block);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean flag)
{
int dustMetaData = (itemStack.getItemDamage() % 3) + 1;
list.add(String.format("%s %s", StatCollector.translateToLocal(Messages.TOOLTIP_INFUSED_WITH), new ItemStack(ModItems.alchemicalDust, 1, dustMetaData).getDisplayName()));
}
}

View file

@ -0,0 +1,34 @@
package com.pahimar.ee3.item;
import com.pahimar.ee3.reference.Messages;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemBlockInfusedPlank extends ItemBlock
{
public ItemBlockInfusedPlank(Block block)
{
super(block);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean flag)
{
int dustMetaData = (itemStack.getItemDamage() % 3) + 1;
list.add(String.format("%s %s", StatCollector.translateToLocal(Messages.TOOLTIP_INFUSED_WITH), new ItemStack(ModItems.alchemicalDust, 1, dustMetaData).getDisplayName()));
}
}

View file

@ -0,0 +1,34 @@
package com.pahimar.ee3.item;
import com.pahimar.ee3.reference.Messages;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemBlockInfusedWood extends ItemBlock
{
public ItemBlockInfusedWood(Block block)
{
super(block);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean flag)
{
int dustMetaData = (itemStack.getItemDamage() % 3) + 1;
list.add(String.format("%s %s", StatCollector.translateToLocal(Messages.TOOLTIP_INFUSED_WITH), new ItemStack(ModItems.alchemicalDust, 1, dustMetaData).getDisplayName()));
}
}

View file

@ -1,5 +1,13 @@
package com.pahimar.ee3.item;
import com.pahimar.ee3.reference.Names;
public class ItemDiviningRod extends ItemEE
{
public ItemDiviningRod()
{
super();
this.setHasSubtypes(true);
this.setUnlocalizedName(Names.Items.DIVINING_ROD);
}
}

View file

@ -2,19 +2,19 @@ package com.pahimar.ee3.item;
import com.pahimar.ee3.reference.Names;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
public class ModItems
{
public static final Item alchemicalBag = new ItemAlchemicalBag();
public static final Item alchemicalDust = new ItemAlchemicalDust();
public static final Item alchemicalFuel = new ItemAlchemicalFuel();
public static final Item inertStone = new ItemInertStone();
public static final Item miniumShard = new ItemMiniumShard();
public static final Item miniumStone = new ItemMiniumStone();
public static final Item philosophersStone = new ItemPhilosophersStone();
public static final Item alchemicalInventoryUpgrade = new ItemAlchemicalInventoryUpgrade();
public static final Item chalk = new ItemChalk();
public static final ItemEE alchemicalBag = new ItemAlchemicalBag();
public static final ItemEE alchemicalDust = new ItemAlchemicalDust();
public static final ItemEE alchemicalFuel = new ItemAlchemicalFuel();
public static final ItemEE inertStone = new ItemInertStone();
public static final ItemEE miniumShard = new ItemMiniumShard();
public static final ItemEE miniumStone = new ItemMiniumStone();
public static final ItemEE philosophersStone = new ItemPhilosophersStone();
public static final ItemEE alchemicalInventoryUpgrade = new ItemAlchemicalInventoryUpgrade();
public static final ItemEE chalk = new ItemChalk();
public static final ItemEE diviningRod = new ItemDiviningRod();
public static void init()
{
@ -27,5 +27,6 @@ public class ModItems
GameRegistry.registerItem(philosophersStone, "item." + Names.Items.PHILOSOPHERS_STONE);
GameRegistry.registerItem(chalk, "item." + Names.Items.CHALK);
GameRegistry.registerItem(alchemicalInventoryUpgrade, "item." + Names.Items.ALCHEMICAL_UPGRADE);
GameRegistry.registerItem(diviningRod, "item." + Names.Items.DIVINING_ROD);
}
}

View file

@ -2,5 +2,6 @@ package com.pahimar.ee3.reference;
public class Messages
{
public static final String TOOLTIP_INFUSED_WITH = "tooltip.ee3:infusedPrefix";
public static final String UPGRADES_CHESTS = "tooltip.ee3:upgradesPrefix";
}

View file

@ -2,6 +2,13 @@ package com.pahimar.ee3.reference;
public class Names
{
public static class Blocks
{
public static final String INFUSED_CLOTH = "infusedCloth";
public static final String INFUSED_WOOD = "infusedWood";
public static final String INFUSED_PLANK = "infusedPlank";
}
public static class Items
{
public static final String ALCHEMICAL_BAG = "alchemicalBag";
@ -19,6 +26,7 @@ public class Names
public static final String PHILOSOPHERS_STONE = "stonePhilosophers";
public static final String ALCHEMICAL_UPGRADE = "alchemicalUpgrade";
public static final String[] ALCHEMICAL_UPGRADE_SUBTYPES = {"verdant", "azure", "minium"};
public static final String DIVINING_ROD = "diviningRod";
}
public static class NBT
@ -35,5 +43,6 @@ public class Names
public static final String STATE = "teState";
public static final String CUSTOM_NAME = "CustomName";
public static final String DIRECTION = "teDirection";
public static final String OWNER = "owner";
}
}

View file

@ -0,0 +1,121 @@
package com.pahimar.ee3.tileentity;
import com.pahimar.ee3.reference.Names;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityEE extends TileEntity
{
protected ForgeDirection orientation;
protected byte state;
protected String customName;
protected String owner;
public TileEntityEE()
{
orientation = ForgeDirection.SOUTH;
state = 0;
customName = "";
}
public ForgeDirection getOrientation()
{
return orientation;
}
public void setOrientation(int orientation)
{
this.orientation = ForgeDirection.getOrientation(orientation);
}
public void setOrientation(ForgeDirection orientation)
{
this.orientation = orientation;
}
public short getState()
{
return state;
}
public void setState(byte state)
{
this.state = state;
}
public boolean hasCustomName()
{
return customName != null && customName.length() > 0;
}
public String getCustomName()
{
return customName;
}
public void setCustomName(String customName)
{
this.customName = customName;
}
public boolean hasOwner()
{
return owner != null && owner.length() > 0;
}
public String getOwner()
{
return owner;
}
public void setOwner(String owner)
{
this.owner = owner;
}
@Override
public void readFromNBT(NBTTagCompound nbtTagCompound)
{
super.readFromNBT(nbtTagCompound);
if (nbtTagCompound.hasKey(Names.NBT.DIRECTION))
{
this.orientation = ForgeDirection.getOrientation(nbtTagCompound.getByte(Names.NBT.DIRECTION));
}
if (nbtTagCompound.hasKey(Names.NBT.STATE))
{
this.state = nbtTagCompound.getByte(Names.NBT.STATE);
}
if (nbtTagCompound.hasKey(Names.NBT.CUSTOM_NAME))
{
this.customName = nbtTagCompound.getString(Names.NBT.CUSTOM_NAME);
}
if (nbtTagCompound.hasKey(Names.NBT.OWNER))
{
this.owner = nbtTagCompound.getString(Names.NBT.OWNER);
}
}
@Override
public void writeToNBT(NBTTagCompound nbtTagCompound)
{
super.writeToNBT(nbtTagCompound);
nbtTagCompound.setByte(Names.NBT.DIRECTION, (byte) orientation.ordinal());
nbtTagCompound.setByte(Names.NBT.STATE, state);
if (this.hasCustomName())
{
nbtTagCompound.setString(Names.NBT.CUSTOM_NAME, customName);
}
if (this.hasOwner())
{
nbtTagCompound.setString(Names.NBT.OWNER, owner);
}
}
}

View file

@ -25,9 +25,9 @@ item.ee3:alchemicalUpgrade.minium.name=Minium Upgrade
# Block localizations
tile.ee3:alchemicalChest.name=Alchemical Chest
tile.ee3:alchemicalFuelBlock.alchemicalCoal.name=Alchemical Coal Block
tile.ee3:alchemicalFuelBlock.mobiusFuel.name=Mobius Fuel Block
tile.ee3:alchemicalFuelBlock.aeternalisFuel.name=Aeternalis Fuel Block
tile.ee3:alchemicalFuel.alchemicalCoal.name=Block of Alchemical Coal
tile.ee3:alchemicalFuel.mobiusFuel.name=Block of Mobius Fuel
tile.ee3:alchemicalFuel.aeternalisFuel.name=Block of Aeternalis Fuel
tile.ee3:aludel.name=Aludel Base
tile.ee3:calcinator.name=Calcinator
tile.ee3:chalk.name=Chalk
@ -35,7 +35,7 @@ tile.ee3:glassBell.name=Glass Bell
tile.ee3:researchStation.name=Research Station [WIP]
tile.ee3:infusedCloth.name=Infused Cloth
tile.ee3:infusedWood.name=Infused Wood
tile.ee3:infusedPlanks.name=Infused Wood Planks
tile.ee3:infusedPlank.name=Infused Wood Planks
# GUI localizations
container.ee3:alchemicalBag=Alchemical Bag

View file

@ -0,0 +1,7 @@
{
"animation": {
"frames": [
0
]
}
}

View file

@ -0,0 +1,7 @@
{
"animation": {
"frames": [
0
]
}
}