Updates! :D

This commit is contained in:
Ellpeck 2015-06-18 13:14:57 +02:00
parent 9568befa4b
commit 9f11e8d73a
93 changed files with 620 additions and 723 deletions

View file

@ -18,7 +18,7 @@ buildscript {
apply plugin: 'forge' apply plugin: 'forge'
apply plugin: 'maven' apply plugin: 'maven'
version = "1.7.10-0.0.5.5" version = "1.7.10-0.0.5.7"
group = "ellpeck.actuallyadditions" group = "ellpeck.actuallyadditions"
archivesBaseName = "ActuallyAdditions" archivesBaseName = "ActuallyAdditions"
@ -53,7 +53,7 @@ processResources{
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info' include 'mcmod.info'
expand 'update':project.version, 'mcversion':project.minecraft.version expand 'version':project.version, 'mcversion':project.minecraft.version
} }
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityBreaker; import ellpeck.actuallyadditions.tile.TileEntityBreaker;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -21,6 +22,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockBreaker extends BlockContainerBase implements INameableItem{ public class BlockBreaker extends BlockContainerBase implements INameableItem{
private IIcon frontIcon; private IIcon frontIcon;
@ -117,6 +120,13 @@ public class BlockBreaker extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -100,6 +100,7 @@ public class BlockCanolaPress extends BlockContainerBase implements INameableIte
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerUsageInfo(list, TileEntityCanolaPress.energyUsedPerTick); BlockUtil.addPowerUsageInfo(list, TileEntityCanolaPress.energyUsedPerTick);
} }

View file

@ -100,6 +100,7 @@ public class BlockCoalGenerator extends BlockContainerBase implements INameableI
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerProductionInfo(list, TileEntityCoalGenerator.energyProducedPerTick); BlockUtil.addPowerProductionInfo(list, TileEntityCoalGenerator.energyProducedPerTick);
} }

View file

@ -6,6 +6,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityCoffeeMachine; import ellpeck.actuallyadditions.tile.TileEntityCoffeeMachine;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -21,6 +22,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockCoffeeMachine extends BlockContainerBase implements INameableItem{ public class BlockCoffeeMachine extends BlockContainerBase implements INameableItem{
public BlockCoffeeMachine(){ public BlockCoffeeMachine(){
@ -121,6 +124,14 @@ public class BlockCoffeeMachine extends BlockContainerBase implements INameableI
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 5, "");
BlockUtil.addPowerUsageInfo(list, TileEntityCoffeeMachine.energyUsePerTick);
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -8,6 +8,7 @@ import ellpeck.actuallyadditions.items.ItemFertilizer;
import ellpeck.actuallyadditions.items.ItemMisc; import ellpeck.actuallyadditions.items.ItemMisc;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import ellpeck.actuallyadditions.tile.TileEntityCompost; import ellpeck.actuallyadditions.tile.TileEntityCompost;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -148,6 +149,13 @@ public class BlockCompost extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -19,8 +19,11 @@ public abstract class BlockContainerBase extends BlockContainer{
super(mat); super(mat);
} }
public TileEntityInventoryBase dropInventory(World world, int x, int y, int z){ public void dropInventory(World world, int x, int y, int z){
TileEntityInventoryBase tileEntity = (TileEntityInventoryBase)world.getTileEntity(x, y, z); TileEntity tile = world.getTileEntity(x, y, z);
if(tile instanceof TileEntityInventoryBase){
TileEntityInventoryBase tileEntity = (TileEntityInventoryBase)tile;
if(tileEntity.getSizeInventory() > 0){
for(int i = 0; i < tileEntity.getSizeInventory(); i++){ for(int i = 0; i < tileEntity.getSizeInventory(); i++){
ItemStack itemStack = tileEntity.getStackInSlot(i); ItemStack itemStack = tileEntity.getStackInSlot(i);
if(itemStack != null && itemStack.stackSize > 0){ if(itemStack != null && itemStack.stackSize > 0){
@ -29,8 +32,7 @@ public abstract class BlockContainerBase extends BlockContainer{
float dY = rand.nextFloat()*0.8F+0.1F; float dY = rand.nextFloat()*0.8F+0.1F;
float dZ = 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()); EntityItem entityItem = new EntityItem(world, x+dX, y+dY, z+dZ, itemStack.copy());
if (itemStack.hasTagCompound()) if(itemStack.hasTagCompound()) entityItem.getEntityItem().setTagCompound((NBTTagCompound)itemStack.getTagCompound().copy());
entityItem.getEntityItem().setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
float factor = 0.05F; float factor = 0.05F;
entityItem.motionX = rand.nextGaussian()*factor; entityItem.motionX = rand.nextGaussian()*factor;
entityItem.motionY = rand.nextGaussian()*factor+0.2F; entityItem.motionY = rand.nextGaussian()*factor+0.2F;
@ -39,7 +41,8 @@ public abstract class BlockContainerBase extends BlockContainer{
itemStack.stackSize = 0; itemStack.stackSize = 0;
} }
} }
return tileEntity; }
}
} }
@Override @Override

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityDropper; import ellpeck.actuallyadditions.tile.TileEntityDropper;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -21,6 +22,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockDropper extends BlockContainerBase implements INameableItem{ public class BlockDropper extends BlockContainerBase implements INameableItem{
private IIcon frontIcon; private IIcon frontIcon;
@ -114,6 +117,13 @@ public class BlockDropper extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFeeder; import ellpeck.actuallyadditions.tile.TileEntityFeeder;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -18,6 +19,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockFeeder extends BlockContainerBase implements INameableItem{ public class BlockFeeder extends BlockContainerBase implements INameableItem{
private IIcon topIcon; private IIcon topIcon;
@ -93,6 +96,13 @@ public class BlockFeeder extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFermentingBarrel; import ellpeck.actuallyadditions.tile.TileEntityFermentingBarrel;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -18,6 +19,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockFermentingBarrel extends BlockContainerBase implements INameableItem{ public class BlockFermentingBarrel extends BlockContainerBase implements INameableItem{
private IIcon iconTop; private IIcon iconTop;
@ -93,6 +96,13 @@ public class BlockFermentingBarrel extends BlockContainerBase implements INameab
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int meta){ public int getMetadata(int meta){
return meta; return meta;

View file

@ -4,10 +4,12 @@ import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.tile.TileEntityFishingNet; import ellpeck.actuallyadditions.tile.TileEntityFishingNet;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -16,6 +18,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockFishingNet extends BlockContainerBase implements INameableItem{ public class BlockFishingNet extends BlockContainerBase implements INameableItem{
public BlockFishingNet(){ public BlockFishingNet(){
@ -88,6 +92,13 @@ public class BlockFishingNet extends BlockContainerBase implements INameableItem
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int meta){ public int getMetadata(int meta){
return meta; return meta;

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFluidCollector; import ellpeck.actuallyadditions.tile.TileEntityFluidCollector;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -21,6 +22,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockFluidCollector extends BlockContainerBase implements INameableItem{ public class BlockFluidCollector extends BlockContainerBase implements INameableItem{
private IIcon frontIcon; private IIcon frontIcon;
@ -117,6 +120,13 @@ public class BlockFluidCollector extends BlockContainerBase implements INameable
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -2,11 +2,13 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -16,6 +18,8 @@ import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic; import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import java.util.List;
public class BlockFluidFlowing extends BlockFluidClassic implements INameableItem{ public class BlockFluidFlowing extends BlockFluidClassic implements INameableItem{
private String name; private String name;
@ -84,6 +88,13 @@ public class BlockFluidFlowing extends BlockFluidClassic implements INameableIte
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFurnaceDouble; import ellpeck.actuallyadditions.tile.TileEntityFurnaceDouble;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -21,6 +22,7 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random; import java.util.Random;
public class BlockFurnaceDouble extends BlockContainerBase implements INameableItem{ public class BlockFurnaceDouble extends BlockContainerBase implements INameableItem{
@ -164,6 +166,14 @@ public class BlockFurnaceDouble extends BlockContainerBase implements INameableI
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerUsageInfo(list, TileEntityFurnaceDouble.energyUsePerTick);
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -96,6 +96,7 @@ public class BlockFurnaceSolar extends BlockContainerBase implements INameableIt
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerProductionInfo(list, TileEntityFurnaceSolar.energyProducedPerTick); BlockUtil.addPowerProductionInfo(list, TileEntityFurnaceSolar.energyProducedPerTick);
} }

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityGiantChest; import ellpeck.actuallyadditions.tile.TileEntityGiantChest;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -18,6 +19,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockGiantChest extends BlockContainerBase implements INameableItem{ public class BlockGiantChest extends BlockContainerBase implements INameableItem{
private IIcon topIcon; private IIcon topIcon;
@ -95,6 +98,13 @@ public class BlockGiantChest extends BlockContainerBase implements INameableItem
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -3,11 +3,13 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.tile.TileEntityGreenhouseGlass; import ellpeck.actuallyadditions.tile.TileEntityGreenhouseGlass;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -17,6 +19,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockGreenhouseGlass extends BlockContainerBase implements INameableItem{ public class BlockGreenhouseGlass extends BlockContainerBase implements INameableItem{
public BlockGreenhouseGlass(){ public BlockGreenhouseGlass(){
@ -96,6 +100,13 @@ public class BlockGreenhouseGlass extends BlockContainerBase implements INameabl
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -3,8 +3,10 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityGrinder; import ellpeck.actuallyadditions.tile.TileEntityGrinder;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -19,6 +21,7 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random; import java.util.Random;
public class BlockGrinder extends BlockContainerBase implements INameableItem{ public class BlockGrinder extends BlockContainerBase implements INameableItem{
@ -127,6 +130,14 @@ public class BlockGrinder extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, ((BlockGrinder)theBlock).isDouble ? 3 : 4, "");
BlockUtil.addPowerUsageInfo(list, ((BlockGrinder)theBlock).isDouble ? ConfigIntValues.GRINDER_DOUBLE_ENERGY_USED.getValue() : ConfigIntValues.GRINDER_ENERGY_USED.getValue());
}
@Override @Override
public int getMetadata(int meta){ public int getMetadata(int meta){
return meta; return meta;

View file

@ -84,6 +84,7 @@ public class BlockHeatCollector extends BlockContainerBase implements INameableI
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 3, "");
BlockUtil.addPowerProductionInfo(list, TileEntityHeatCollector.energyProducedPerTick); BlockUtil.addPowerProductionInfo(list, TileEntityHeatCollector.energyProducedPerTick);
} }

View file

@ -5,8 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityInputter; import ellpeck.actuallyadditions.tile.TileEntityInputter;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.*;
import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -19,6 +18,7 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random; import java.util.Random;
public class BlockInputter extends BlockContainerBase implements INameableItem{ public class BlockInputter extends BlockContainerBase implements INameableItem{
@ -115,6 +115,20 @@ public class BlockInputter extends BlockContainerBase implements INameableItem{
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocalFormatted("tooltip." + ModUtil.MOD_ID_LOWER + ".blockInputter.desc." + 1, StringUtil.OBFUSCATED, StringUtil.LIGHT_GRAY));
for(int i = 1; i < 6; i++){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".blockInputter.desc." + (i + 1)));
}
if((((BlockInputter)theBlock).isAdvanced)) list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((INameableItem)theBlock).getName() + ".desc"));
}
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -121,6 +121,7 @@ public class BlockItemRepairer extends BlockContainerBase implements INameableIt
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerUsageInfo(list, TileEntityItemRepairer.energyUsePerTick); BlockUtil.addPowerUsageInfo(list, TileEntityItemRepairer.energyUsePerTick);
} }

View file

@ -3,7 +3,9 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.tile.TileEntityLavaFactoryController; import ellpeck.actuallyadditions.tile.TileEntityLavaFactoryController;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -18,6 +20,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockLavaFactoryController extends BlockContainerBase implements INameableItem{ public class BlockLavaFactoryController extends BlockContainerBase implements INameableItem{
private IIcon topIcon; private IIcon topIcon;
@ -96,6 +100,16 @@ public class BlockLavaFactoryController extends BlockContainerBase implements IN
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 3, "");
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".uses.desc") + " " + TileEntityLavaFactoryController.energyNeededToProduceLava + " RF/B");
}
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -3,12 +3,14 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -85,6 +87,13 @@ public class BlockMisc extends Block implements INameableItem{
return this.getUnlocalizedName() + (stack.getItemDamage() >= allMiscBlocks.length ? " ERROR!" : allMiscBlocks[stack.getItemDamage()].getName()); return this.getUnlocalizedName() + (stack.getItemDamage() >= allMiscBlocks.length ? " ERROR!" : allMiscBlocks[stack.getItemDamage()].getName());
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, allMiscBlocks[stack.getItemDamage()].getName());
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -100,6 +100,7 @@ public class BlockOilGenerator extends BlockContainerBase implements INameableIt
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
BlockUtil.addPowerProductionInfo(list, TileEntityOilGenerator.energyProducedPerTick); BlockUtil.addPowerProductionInfo(list, TileEntityOilGenerator.energyProducedPerTick);
} }

View file

@ -4,10 +4,12 @@ import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.tile.TileEntityPhantomBooster; import ellpeck.actuallyadditions.tile.TileEntityPhantomBooster;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -16,6 +18,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class BlockPhantomBooster extends BlockContainerBase implements INameableItem{ public class BlockPhantomBooster extends BlockContainerBase implements INameableItem{
public BlockPhantomBooster(){ public BlockPhantomBooster(){
@ -90,6 +94,13 @@ public class BlockPhantomBooster extends BlockContainerBase implements INameable
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 2, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -7,8 +7,7 @@ import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityPhantomPlacer; import ellpeck.actuallyadditions.tile.TileEntityPhantomPlacer;
import ellpeck.actuallyadditions.tile.TileEntityPhantomface; import ellpeck.actuallyadditions.tile.TileEntityPhantomface;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.*;
import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -157,8 +156,15 @@ public class BlockPhantomface extends BlockContainerBase implements INameableIte
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 2, "");
if(KeyUtil.isShiftPressed()){
if(((BlockPhantomface)this.theBlock).type == LIQUIFACE){
list.add(StringUtil.ORANGE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomLiquiface.desc.3"));
list.add(StringUtil.ORANGE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomLiquiface.desc.4"));
}
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomRange.desc") + ": " + ((BlockPhantomface)theBlock).range); list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomRange.desc") + ": " + ((BlockPhantomface)theBlock).range);
} }
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){

View file

@ -3,11 +3,13 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.ItemSeed; import ellpeck.actuallyadditions.items.ItemSeed;
import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockCrops; import net.minecraft.block.BlockCrops;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -131,6 +133,13 @@ public class BlockPlant extends BlockCrops implements INameableItem, IFactoryHar
return this.getUnlocalizedName(); return this.getUnlocalizedName();
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
BlockUtil.addInformation(theBlock, list, 1, "");
}
@Override @Override
public int getMetadata(int damage){ public int getMetadata(int damage){
return damage; return damage;

View file

@ -1,5 +1,6 @@
package ellpeck.actuallyadditions.blocks; package ellpeck.actuallyadditions.blocks;
import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
import ellpeck.actuallyadditions.util.BlockUtil; import ellpeck.actuallyadditions.util.BlockUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -184,7 +185,7 @@ public class InitBlocks{
public static void registerFluids(){ public static void registerFluids(){
String canolaOil = "canolaoil"; String canolaOil = "canolaoil";
if(!FluidRegistry.isFluidRegistered(canolaOil)){ if(!FluidRegistry.isFluidRegistered(canolaOil) || ConfigBoolValues.PREVENT_CANOLA_OVERRIDE.isEnabled()){
fluidCanolaOil = new FluidAA(canolaOil).setDensity(1200).setViscosity(1500).setTemperature(300).setRarity(EnumRarity.uncommon); fluidCanolaOil = new FluidAA(canolaOil).setDensity(1200).setViscosity(1500).setTemperature(300).setRarity(EnumRarity.uncommon);
FluidRegistry.registerFluid(fluidCanolaOil); FluidRegistry.registerFluid(fluidCanolaOil);
} }
@ -193,7 +194,7 @@ public class InitBlocks{
} }
fluidCanolaOil = FluidRegistry.getFluid(canolaOil); fluidCanolaOil = FluidRegistry.getFluid(canolaOil);
if(fluidCanolaOil.getBlock() == null){ if(fluidCanolaOil.getBlock() == null || ConfigBoolValues.PREVENT_CANOLA_BLOCK_OVERRIDE.isEnabled()){
blockCanolaOil = new BlockFluidFlowing(fluidCanolaOil, Material.water, "blockCanolaOil"); blockCanolaOil = new BlockFluidFlowing(fluidCanolaOil, Material.water, "blockCanolaOil");
BlockUtil.register(blockCanolaOil, BlockFluidFlowing.TheItemBlock.class, false); BlockUtil.register(blockCanolaOil, BlockFluidFlowing.TheItemBlock.class, false);
} }
@ -203,7 +204,7 @@ public class InitBlocks{
blockCanolaOil = fluidCanolaOil.getBlock(); blockCanolaOil = fluidCanolaOil.getBlock();
String oil = "oil"; String oil = "oil";
if(!FluidRegistry.isFluidRegistered(oil)){ if(!FluidRegistry.isFluidRegistered(oil) || ConfigBoolValues.PREVENT_OIL_OVERRIDE.isEnabled()){
fluidOil = new FluidAA(oil).setDensity(1200).setViscosity(1500).setTemperature(300).setRarity(EnumRarity.uncommon); fluidOil = new FluidAA(oil).setDensity(1200).setViscosity(1500).setTemperature(300).setRarity(EnumRarity.uncommon);
FluidRegistry.registerFluid(fluidOil); FluidRegistry.registerFluid(fluidOil);
} }
@ -212,7 +213,7 @@ public class InitBlocks{
} }
fluidOil = FluidRegistry.getFluid(oil); fluidOil = FluidRegistry.getFluid(oil);
if(fluidOil.getBlock() == null){ if(fluidOil.getBlock() == null || ConfigBoolValues.PREVENT_OIL_BLOCK_OVERRIDE.isEnabled()){
blockOil = new BlockFluidFlowing(fluidOil, Material.water, "blockOil"); blockOil = new BlockFluidFlowing(fluidOil, Material.water, "blockOil");
BlockUtil.register(blockOil, BlockFluidFlowing.TheItemBlock.class, false); BlockUtil.register(blockOil, BlockFluidFlowing.TheItemBlock.class, false);
} }
@ -223,6 +224,6 @@ public class InitBlocks{
} }
public static void errorAlreadyRegistered(String str){ public static void errorAlreadyRegistered(String str){
ModUtil.LOGGER.log(Level.WARN, str + " from Actually Additions is not getting used as it has already been registered by another Mod! Issues may (but shouldn't) occur!"); ModUtil.LOGGER.log(Level.WARN, str + " from Actually Additions is not getting used as it has already been registered by another Mod! If this causes Issues (which it shouldn't!), you can turn this off in the Config File!");
} }
} }

View file

@ -11,7 +11,8 @@ public enum ConfigCategories{
MOB_DROPS("mob drops"), MOB_DROPS("mob drops"),
WORLD_GEN("world gen"), WORLD_GEN("world gen"),
POTION_RING_CRAFTING("ring crafting"), POTION_RING_CRAFTING("ring crafting"),
OTHER("other"); OTHER("other"),
FLUIDS("fluids");
public final String name; public final String name;

View file

@ -7,6 +7,8 @@ import java.io.File;
public class ConfigurationHandler{ public class ConfigurationHandler{
public static final String ISSUES_WARNING = " [THIS COULD CAUSE ISSUES, CHANGE AT YOUR OWN RISK!]";
public static void init(File configFile){ public static void init(File configFile){
Util.logInfo("Grabbing Configurations..."); Util.logInfo("Grabbing Configurations...");
Configuration config = new Configuration(configFile); Configuration config = new Configuration(configFile);

View file

@ -2,6 +2,7 @@ package ellpeck.actuallyadditions.config.values;
import ellpeck.actuallyadditions.config.ConfigCategories; import ellpeck.actuallyadditions.config.ConfigCategories;
import ellpeck.actuallyadditions.config.ConfigValues; import ellpeck.actuallyadditions.config.ConfigValues;
import ellpeck.actuallyadditions.config.ConfigurationHandler;
public enum ConfigBoolValues{ public enum ConfigBoolValues{
@ -20,15 +21,21 @@ public enum ConfigBoolValues{
PEARL_SHARD_DROP("Ender Pearl Shard", ConfigCategories.MOB_DROPS, true, "If the Ender Pearl Shard drops from Mobs"), PEARL_SHARD_DROP("Ender Pearl Shard", ConfigCategories.MOB_DROPS, true, "If the Ender Pearl Shard drops from Mobs"),
EMERALD_SHARD_CROP("Emerald Shard", ConfigCategories.MOB_DROPS, true, "If the Emerald Shard drops from Mobs"), EMERALD_SHARD_CROP("Emerald Shard", ConfigCategories.MOB_DROPS, true, "If the Emerald Shard drops from Mobs"),
DO_WAILA_INFO("Waila Display Info", ConfigCategories.OTHER, true, "If the Shift Description should display in Waila too"),
DO_UPDATE_CHECK("Do Update Check", ConfigCategories.OTHER, true, "If Actually Additions should check for an Update on joining a World"), DO_UPDATE_CHECK("Do Update Check", ConfigCategories.OTHER, true, "If Actually Additions should check for an Update on joining a World"),
DO_CRUSHER_SPAM("Crusher Debug", ConfigCategories.OTHER, false, "Print out Crusher Recipe Initializing Debug"), DO_CRUSHER_SPAM("Crusher Debug", ConfigCategories.OTHER, false, "Print out Crusher Recipe Initializing Debug"),
DO_CAT_DROPS("Do Cat Drops", ConfigCategories.OTHER, true, "If Cats drop Hairy Balls on Occasion"), DO_CAT_DROPS("Do Cat Drops", ConfigCategories.OTHER, true, "If Cats drop Hairy Balls on Occasion"),
DO_WAILA_INFO("Waila Display Info", ConfigCategories.OTHER, true, "If the Shift Description should display in Waila too"),
DO_RICE_GEN("Rice Gen", ConfigCategories.WORLD_GEN, true, "If Rice should generate in the World"), DO_RICE_GEN("Rice Gen", ConfigCategories.WORLD_GEN, true, "If Rice should generate in the World"),
DO_CANOLA_GEN("Canola Gen", ConfigCategories.WORLD_GEN, true, "If Canola should generate in the World"), DO_CANOLA_GEN("Canola Gen", ConfigCategories.WORLD_GEN, true, "If Canola should generate in the World"),
DO_FLAX_GEN("Flax Gen", ConfigCategories.WORLD_GEN, true, "If Flax should generate in the World"), DO_FLAX_GEN("Flax Gen", ConfigCategories.WORLD_GEN, true, "If Flax should generate in the World"),
DO_COFFEE_GEN("Coffee Gen", ConfigCategories.WORLD_GEN, true, "If Coffee should generate in the World"); DO_COFFEE_GEN("Coffee Gen", ConfigCategories.WORLD_GEN, true, "If Coffee should generate in the World"),
PREVENT_OIL_OVERRIDE("Oil Fluid Override", ConfigCategories.FLUIDS, false, "If not registering Oil Fluids from Actually Additions if other Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING),
PREVENT_CANOLA_OVERRIDE("Canola Oil Fluid Override", ConfigCategories.FLUIDS, false, "If not registering Canola Oil Fluids from Actually Additions if other Canola Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING),
PREVENT_OIL_BLOCK_OVERRIDE("Oil Block Override", ConfigCategories.FLUIDS, false, "If not registering Oil Blocks from Actually Additions if other Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING),
PREVENT_CANOLA_BLOCK_OVERRIDE("Canola Oil Block Override", ConfigCategories.FLUIDS, false, "If not registering Canola Oil Blocks from Actually Additions if other Canola Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING);
public final String name; public final String name;
public final String category; public final String category;

View file

@ -12,7 +12,6 @@ public class InitCrafting {
MiscCrafting.init(); MiscCrafting.init();
FoodCrafting.init(); FoodCrafting.init();
ToolCrafting.init(); ToolCrafting.init();
} }
} }

View file

@ -61,7 +61,7 @@ public class CreativeTab extends CreativeTabs{
addBlock(InitBlocks.blockCanolaPress); addBlock(InitBlocks.blockCanolaPress);
addBlock(InitBlocks.blockFermentingBarrel); addBlock(InitBlocks.blockFermentingBarrel);
addItem(InitItems.itemDrill); //addItem(InitItems.itemDrill);
addItem(InitItems.itemPhantomConnector); addItem(InitItems.itemPhantomConnector);
addItem(InitItems.itemBucketCanolaOil); addItem(InitItems.itemBucketCanolaOil);
addItem(InitItems.itemBucketOil); addItem(InitItems.itemBucketOil);

View file

@ -1,6 +1,5 @@
package ellpeck.actuallyadditions.event; package ellpeck.actuallyadditions.event;
import ellpeck.actuallyadditions.manual.InventoryEvents;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
public class InitEvents{ public class InitEvents{
@ -16,8 +15,6 @@ public class InitEvents{
Util.registerEvent(new EntityLivingEvent()); Util.registerEvent(new EntityLivingEvent());
Util.registerEvent(new WorldDecorationEvent()); Util.registerEvent(new WorldDecorationEvent());
Util.registerEvent(new BucketFillEvent()); Util.registerEvent(new BucketFillEvent());
Util.registerEvent(new InventoryEvents.InitGuiEvent());
Util.registerEvent(new InventoryEvents.ButtonPressedEvent());
} }
} }

View file

@ -50,7 +50,7 @@ public class VillageComponentJamHouse extends StructureVillagePieces.House1{
for (int i = 0; i < xSize; i++){ for (int i = 0; i < xSize; i++){
for(int j = 0; j < zSize; j++){ for(int j = 0; j < zSize; j++){
this.clearCurrentPositionBlocksUpwards(world, j, ySize, i, sbb); this.clearCurrentPositionBlocksUpwards(world, j, ySize, i, sbb);
this.func_151554_b(world, Blocks.cobblestone, 0, j, -1, i, sbb); this.func_151554_b(world, Blocks.cobblestone, 0, j, 0, i, sbb);
} }
} }

View file

@ -4,8 +4,6 @@ import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.gui.*; import ellpeck.actuallyadditions.inventory.gui.*;
import ellpeck.actuallyadditions.manual.ContainerManual;
import ellpeck.actuallyadditions.manual.GuiManual;
import ellpeck.actuallyadditions.tile.TileEntityBase; import ellpeck.actuallyadditions.tile.TileEntityBase;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -16,7 +14,7 @@ public class GuiHandler implements IGuiHandler{
@Override @Override
public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){
TileEntityBase tile = null; TileEntityBase tile = null;
if(id != CRAFTER_ID && id != DRILL_ID && id != MANUAL_ID){ if(id != CRAFTER_ID && id != DRILL_ID){
tile = (TileEntityBase)world.getTileEntity(x, y, z); tile = (TileEntityBase)world.getTileEntity(x, y, z);
} }
switch(id){ switch(id){
@ -56,8 +54,6 @@ public class GuiHandler implements IGuiHandler{
return new ContainerFluidCollector(entityPlayer.inventory, tile); return new ContainerFluidCollector(entityPlayer.inventory, tile);
case COFFEE_MACHINE_ID: case COFFEE_MACHINE_ID:
return new ContainerCoffeeMachine(entityPlayer.inventory, tile); return new ContainerCoffeeMachine(entityPlayer.inventory, tile);
case MANUAL_ID:
return new ContainerManual();
default: default:
return null; return null;
} }
@ -66,7 +62,7 @@ public class GuiHandler implements IGuiHandler{
@Override @Override
public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){
TileEntityBase tile = null; TileEntityBase tile = null;
if(id != CRAFTER_ID && id != DRILL_ID && id != MANUAL_ID){ if(id != CRAFTER_ID && id != DRILL_ID){
tile = (TileEntityBase)world.getTileEntity(x, y, z); tile = (TileEntityBase)world.getTileEntity(x, y, z);
} }
switch(id){ switch(id){
@ -106,8 +102,6 @@ public class GuiHandler implements IGuiHandler{
return new GuiFluidCollector(entityPlayer.inventory, tile); return new GuiFluidCollector(entityPlayer.inventory, tile);
case COFFEE_MACHINE_ID: case COFFEE_MACHINE_ID:
return new GuiCoffeeMachine(entityPlayer.inventory, tile, x, y, z, world); return new GuiCoffeeMachine(entityPlayer.inventory, tile, x, y, z, world);
case MANUAL_ID:
return new GuiManual();
default: default:
return null; return null;
} }
@ -132,7 +126,6 @@ public class GuiHandler implements IGuiHandler{
public static final int FLUID_COLLECTOR_ID = 16; public static final int FLUID_COLLECTOR_ID = 16;
public static final int COFFEE_MACHINE_ID = 17; public static final int COFFEE_MACHINE_ID = 17;
public static final int DRILL_ID = 18; public static final int DRILL_ID = 18;
public static final int MANUAL_ID = 19;
public static void init(){ public static void init(){
Util.logInfo("Initializing GuiHandler..."); Util.logInfo("Initializing GuiHandler...");

View file

@ -69,13 +69,13 @@ public class InitItems{
public static Item emeraldPaxel; public static Item emeraldPaxel;
public static Item obsidianPaxel; public static Item obsidianPaxel;
public static Item itemDrill; //public static Item itemDrill;
public static void init(){ public static void init(){
Util.logInfo("Initializing Items..."); Util.logInfo("Initializing Items...");
itemDrill = new ItemDrill(); //itemDrill = new ItemDrill();
ItemUtil.register(itemDrill); //ItemUtil.register(itemDrill);
itemBucketOil = new ItemBucketAA(InitBlocks.blockOil, "itemBucketOil"); itemBucketOil = new ItemBucketAA(InitBlocks.blockOil, "itemBucketOil");
ItemUtil.register(itemBucketOil); ItemUtil.register(itemBucketOil);

View file

@ -3,15 +3,19 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemBucket; import net.minecraft.item.ItemBucket;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import java.util.List;
public class ItemBucketAA extends ItemBucket implements INameableItem{ public class ItemBucketAA extends ItemBucket implements INameableItem{
private String name; private String name;
@ -27,6 +31,12 @@ public class ItemBucketAA extends ItemBucket implements INameableItem{
return EnumRarity.uncommon; return EnumRarity.uncommon;
} }
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 1, "");
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -5,6 +5,8 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -201,6 +203,9 @@ public class ItemCoffee extends ItemFood implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+".desc.1"));
list.add(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+".desc.2", this.getMaxDamage()+1));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".hunger.desc")+": "+this.func_150905_g(stack)); list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".hunger.desc")+": "+this.func_150905_g(stack));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".saturation.desc")+": "+this.func_150906_h(stack)); list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".saturation.desc")+": "+this.func_150906_h(stack));
list.add(""); list.add("");
@ -213,6 +218,8 @@ public class ItemCoffee extends ItemFood implements INameableItem{
} }
else list.add("No Effects"); else list.add("No Effects");
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public IIcon getIconFromDamage(int par1){ public IIcon getIconFromDamage(int par1){

View file

@ -3,13 +3,17 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemFood; import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import java.util.List;
public class ItemCoffeeBean extends ItemFood implements INameableItem{ public class ItemCoffeeBean extends ItemFood implements INameableItem{
public ItemCoffeeBean(){ public ItemCoffeeBean(){
@ -27,6 +31,13 @@ public class ItemCoffeeBean extends ItemFood implements INameableItem{
return EnumRarity.rare; return EnumRarity.rare;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
ItemUtil.addInformation(this, list, 1, "");
}
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -14,12 +15,21 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class ItemCrafterOnAStick extends Item implements INameableItem{ public class ItemCrafterOnAStick extends Item implements INameableItem{
public ItemCrafterOnAStick(){ public ItemCrafterOnAStick(){
this.setMaxStackSize(1); this.setMaxStackSize(1);
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 1, "");
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -8,10 +8,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.items.tools.ItemAllToolAA; import ellpeck.actuallyadditions.items.tools.ItemAllToolAA;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.*;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil;
import ellpeck.actuallyadditions.util.WorldUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -48,14 +45,14 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
} }
public ItemDrill(){ public ItemDrill(){
super(3000000); super(500000);
this.setMaxStackSize(1); this.setMaxStackSize(1);
this.setHasSubtypes(true); this.setHasSubtypes(true);
} }
public static float defaultEfficiency = 8.0F; public static float defaultEfficiency = 8.0F;
public static int energyUsePerBlockOrHit = 100;
public int energyUsePerBlockOrHit = 100;
public float efficiency = defaultEfficiency; public float efficiency = defaultEfficiency;
@Override @Override
@ -77,23 +74,29 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
@Override @Override
public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5){ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5){
boolean hasSilkTouch = this.hasEnchantment(stack, Enchantment.silkTouch) >= 0; this.addEnchantFromUpgrade(Enchantment.silkTouch, ItemDrillUpgrade.UpgradeType.SILK_TOUCH, stack, 1);
if(this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.SILK_TOUCH)){ this.addEnchantFromUpgrade(Enchantment.fortune, ItemDrillUpgrade.UpgradeType.FORTUNE, stack, this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FORTUNE_II) ? 3 : 1);
if(!hasSilkTouch){
//TODO Add more Energy Use as Variable Change (Like Efficiency!)
stack.addEnchantment(Enchantment.silkTouch, 1);
} }
}
else if(hasSilkTouch) this.removeEnchantment(stack, Enchantment.silkTouch);
boolean hasFortune = this.hasEnchantment(stack, Enchantment.fortune) >= 0; public void addEnchantFromUpgrade(Enchantment enchantment, ItemDrillUpgrade.UpgradeType upgrade, ItemStack stack, int level){
if(this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FORTUNE)){ boolean hasEnchant = this.hasEnchantment(stack, enchantment) >= 0;
if(!hasFortune){ if(this.getHasUpgrade(stack, upgrade)){
//TODO Add more Energy Use as Variable Change (Like Efficiency!) if(!hasEnchant){
stack.addEnchantment(Enchantment.fortune, this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FORTUNE_II) ? 3 : 1); stack.addEnchantment(enchantment, level);
} }
} }
else if(hasFortune) this.removeEnchantment(stack, Enchantment.fortune); else if(hasEnchant) this.removeEnchantment(stack, enchantment);
}
public int getEnergyUsePerBlock(ItemStack stack){
int use = energyUsePerBlockOrHit;
ItemDrillUpgrade.UpgradeType[] types = ItemDrillUpgrade.UpgradeType.values();
for(ItemDrillUpgrade.UpgradeType type : types){
if(this.getHasUpgrade(stack, type)){
use += type.extraEnergy;
}
}
return use;
} }
public void removeEnchantment(ItemStack stack, Enchantment ench){ public void removeEnchantment(ItemStack stack, Enchantment ench){
@ -132,8 +135,8 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
} }
public boolean getHasUpgrade(ItemStack stack, ItemDrillUpgrade.UpgradeType upgrade){ public boolean getHasUpgrade(ItemStack stack, ItemDrillUpgrade.UpgradeType upgrade){
if(upgrade == ItemDrillUpgrade.UpgradeType.SILK_TOUCH) return true;
if(upgrade == ItemDrillUpgrade.UpgradeType.THREE_BY_THREE) return true; if(upgrade == ItemDrillUpgrade.UpgradeType.THREE_BY_THREE) return true;
if(upgrade == ItemDrillUpgrade.UpgradeType.FIVE_BY_FIVE) return true;
NBTTagCompound compound = stack.getTagCompound(); NBTTagCompound compound = stack.getTagCompound();
if(compound == null) return false; if(compound == null) return false;
@ -224,7 +227,7 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
int yRange = radius; int yRange = radius;
int zRange = 0; int zRange = 0;
MovingObjectPosition pos = WorldUtil.raytraceEntity(world, entity, 4.5D); MovingObjectPosition pos = WorldUtil.raytraceBlocksFromEntity(world, entity, 4.5D);
if(pos != null){ if(pos != null){
int side = pos.sideHit; int side = pos.sideHit;
if(side == 0 || side == 1){ if(side == 0 || side == 1){
@ -239,11 +242,12 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
for(int xPos = x-xRange; xPos <= x+xRange; xPos++){ for(int xPos = x-xRange; xPos <= x+xRange; xPos++){
for(int yPos = y-yRange; yPos <= y+yRange; yPos++){ for(int yPos = y-yRange; yPos <= y+yRange; yPos++){
for(int zPos = z-zRange; zPos <= z+zRange; zPos++){ for(int zPos = z-zRange; zPos <= z+zRange; zPos++){
if(this.getEnergyStored(stack) >= this.energyUsePerBlockOrHit){ int use = this.getEnergyUsePerBlock(stack);
if(this.getEnergyStored(stack) >= use){
Block block = world.getBlock(xPos, yPos, zPos); Block block = world.getBlock(xPos, yPos, zPos);
float hardness = block.getBlockHardness(world, xPos, yPos, zPos); float hardness = block.getBlockHardness(world, xPos, yPos, zPos);
if(!(xPos == x && yPos == y && zPos == z) && hardness > -1.0F && this.canHarvestBlock(block, stack)){ if(!(xPos == x && yPos == y && zPos == z) && hardness > -1.0F && this.canHarvestBlock(block, stack)){
this.extractEnergy(stack, this.energyUsePerBlockOrHit, false); this.extractEnergy(stack, use, false);
ArrayList<ItemStack> drops = new ArrayList<ItemStack>(); ArrayList<ItemStack> drops = new ArrayList<ItemStack>();
int meta = world.getBlockMetadata(xPos, yPos, zPos); int meta = world.getBlockMetadata(xPos, yPos, zPos);
@ -282,8 +286,9 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
@Override @Override
public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living){ public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living){
if(this.getEnergyStored(stack) >= this.energyUsePerBlockOrHit){ int use = this.getEnergyUsePerBlock(stack);
this.extractEnergy(stack, this.energyUsePerBlockOrHit, false); if(this.getEnergyStored(stack) >= use){
this.extractEnergy(stack, use, false);
if(!world.isRemote){ if(!world.isRemote){
if(!living.isSneaking()){ if(!living.isSneaking()){
if(this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.THREE_BY_THREE)){ if(this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.THREE_BY_THREE)){
@ -300,15 +305,16 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
@Override @Override
public float func_150893_a(ItemStack stack, Block block){ public float func_150893_a(ItemStack stack, Block block){
if(this.getEnergyStored(stack) < this.energyUsePerBlockOrHit) return 0.0F; if(this.getEnergyStored(stack) < this.getEnergyUsePerBlock(stack)) return 0.0F;
if(block.getMaterial() == Material.iron || block.getMaterial() == Material.anvil || block.getMaterial() == Material.rock || allSet.contains(block)) return efficiency; if(block.getMaterial() == Material.iron || block.getMaterial() == Material.anvil || block.getMaterial() == Material.rock || allSet.contains(block)) return efficiency;
else return super.func_150893_a(stack, block); else return super.func_150893_a(stack, block);
} }
@Override @Override
public boolean hitEntity(ItemStack stack, EntityLivingBase entity1, EntityLivingBase entity2){ public boolean hitEntity(ItemStack stack, EntityLivingBase entity1, EntityLivingBase entity2){
if(this.getEnergyStored(stack) >= this.energyUsePerBlockOrHit){ int use = this.getEnergyUsePerBlock(stack);
this.extractEnergy(stack, this.energyUsePerBlockOrHit, false); if(this.getEnergyStored(stack) >= use){
this.extractEnergy(stack, use, false);
} }
return true; return true;
} }
@ -348,12 +354,13 @@ public class ItemDrill extends ItemEnergyContainer implements INameableItem{
if(KeyUtil.isShiftPressed()){ if(KeyUtil.isShiftPressed()){
list.add(this.getEnergyStored(stack) + "/" + this.getMaxEnergyStored(stack) + " RF"); list.add(this.getEnergyStored(stack) + "/" + this.getMaxEnergyStored(stack) + " RF");
} }
else list.add(ItemUtil.shiftForInfo());
} }
@Override @Override
public Multimap getAttributeModifiers(ItemStack stack){ public Multimap getAttributeModifiers(ItemStack stack){
Multimap map = super.getAttributeModifiers(stack); Multimap map = super.getAttributeModifiers(stack);
map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", this.getEnergyStored(stack) >= this.energyUsePerBlockOrHit ? 8.0F : 0.0F, 0)); map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", this.getEnergyStored(stack) >= energyUsePerBlockOrHit ? 8.0F : 0.0F, 0));
return map; return map;
} }

View file

@ -12,16 +12,22 @@ import net.minecraft.util.IIcon;
public class ItemDrillUpgrade extends Item implements INameableItem{ public class ItemDrillUpgrade extends Item implements INameableItem{
public enum UpgradeType{ public enum UpgradeType{
SPEED, SPEED(10),
SPEED_II, SPEED_II(20),
SPEED_III, SPEED_III(30),
SILK_TOUCH, //Done SILK_TOUCH(20), //Done
FORTUNE, //Done FORTUNE(40), //Done
FORTUNE_II, //Done FORTUNE_II(60), //Done
THREE_BY_THREE, //Done THREE_BY_THREE(5), //Done
FIVE_BY_FIVE, //Done FIVE_BY_FIVE(5), //Done
VEIN, VEIN(30),
PLACER PLACER(0);
public int extraEnergy;
UpgradeType(int extraEnergy){
this.extraEnergy = extraEnergy;
}
} }
public UpgradeType type; public UpgradeType type;

View file

@ -4,9 +4,11 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.TheDusts; import ellpeck.actuallyadditions.items.metalists.TheDusts;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -55,6 +57,13 @@ public class ItemDust extends Item implements INameableItem{
return this.getUnlocalizedName() + (stack.getItemDamage() >= allDusts.length ? " ERROR!" : allDusts[stack.getItemDamage()].getName()); return this.getUnlocalizedName() + (stack.getItemDamage() >= allDusts.length ? " ERROR!" : allDusts[stack.getItemDamage()].getName());
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allDusts.length) ItemUtil.addInformation(this, list, 1, allDusts[stack.getItemDamage()].getName());
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -3,6 +3,7 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -13,6 +14,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
public class ItemFertilizer extends Item implements INameableItem{ public class ItemFertilizer extends Item implements INameableItem{
@Override @Override
@ -29,6 +32,13 @@ public class ItemFertilizer extends Item implements INameableItem{
return EnumRarity.rare; return EnumRarity.rare;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 1, "");
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -4,6 +4,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.TheFoods; import ellpeck.actuallyadditions.items.metalists.TheFoods;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -97,9 +99,13 @@ public class ItemFoods extends ItemFood implements INameableItem{
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allFoods.length){ if(stack.getItemDamage() < allFoods.length){
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+allFoods[stack.getItemDamage()].getName()+".desc"));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".hunger.desc")+": "+allFoods[stack.getItemDamage()].healAmount); list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".hunger.desc")+": "+allFoods[stack.getItemDamage()].healAmount);
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".saturation.desc")+": "+allFoods[stack.getItemDamage()].saturation); list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".saturation.desc")+": "+allFoods[stack.getItemDamage()].saturation);
} }
else list.add(ItemUtil.shiftForInfo());
}
} }
@Override @Override

View file

@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.recipe.HairyBallHandler; import ellpeck.actuallyadditions.recipe.HairyBallHandler;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
@ -15,6 +16,7 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.WeightedRandom; import net.minecraft.util.WeightedRandom;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random; import java.util.Random;
public class ItemHairyBall extends Item implements INameableItem{ public class ItemHairyBall extends Item implements INameableItem{
@ -43,6 +45,13 @@ public class ItemHairyBall extends Item implements INameableItem{
return EnumRarity.epic; return EnumRarity.epic;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 2, "");
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -4,6 +4,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.TheJams; import ellpeck.actuallyadditions.items.metalists.TheJams;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -16,6 +18,7 @@ import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect; import net.minecraft.potion.PotionEffect;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List; import java.util.List;
@ -96,6 +99,22 @@ public class ItemJams extends ItemFood implements INameableItem{
return stackToReturn; return stackToReturn;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allJams.length){
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+".desc.1"));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+allJams[stack.getItemDamage()].getName()+".desc"));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+"."+this.getName()+".desc.2"));
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".hunger.desc")+": "+allJams[stack.getItemDamage()].healAmount);
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".saturation.desc")+": "+allJams[stack.getItemDamage()].saturation);
}
else list.add(ItemUtil.shiftForInfo());
}
}
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int damage, int pass){ public IIcon getIconFromDamageForRenderPass(int damage, int pass){

View file

@ -4,6 +4,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -50,8 +52,13 @@ public class ItemKnife extends Item implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getShareTag(){ public boolean getShareTag(){

View file

@ -4,8 +4,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.config.values.ConfigBoolValues; import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.*;
import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockBush; import net.minecraft.block.BlockBush;
import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.BlockLeavesBase;
@ -18,9 +17,11 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class ItemLeafBlower extends Item implements INameableItem{ public class ItemLeafBlower extends Item implements INameableItem{
@ -100,6 +101,18 @@ public class ItemLeafBlower extends Item implements INameableItem{
return this.isAdvanced ? EnumRarity.epic : EnumRarity.rare; return this.isAdvanced ? EnumRarity.epic : EnumRarity.rare;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc." + 1));
list.add(StringUtil.ITALIC + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".itemLeafBlower.desc.2"));
list.add(StringUtil.ITALIC + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".itemLeafBlower.desc.3"));
}
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -4,9 +4,11 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -56,6 +58,13 @@ public class ItemMisc extends Item implements INameableItem{
return this.getUnlocalizedName() + (stack.getItemDamage() >= allMiscItems.length ? " ERROR!" : allMiscItems[stack.getItemDamage()].getName()); return this.getUnlocalizedName() + (stack.getItemDamage() >= allMiscItems.length ? " ERROR!" : allMiscItems[stack.getItemDamage()].getName());
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allMiscItems.length) ItemUtil.addInformation(this, list, 1, allMiscItems[stack.getItemDamage()].getName());
}
@Override @Override
public IIcon getIconFromDamage(int par1){ public IIcon getIconFromDamage(int par1){
return par1 >= textures.length ? null : textures[par1]; return par1 >= textures.length ? null : textures[par1];

View file

@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.tile.TileEntityPhantomPlacer; import ellpeck.actuallyadditions.tile.TileEntityPhantomPlacer;
import ellpeck.actuallyadditions.tile.TileEntityPhantomface; import ellpeck.actuallyadditions.tile.TileEntityPhantomface;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil; import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -143,6 +144,7 @@ public class ItemPhantomConnector extends Item implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 2, "");
ChunkCoordinates coords = this.getStoredPosition(stack); ChunkCoordinates coords = this.getStoredPosition(stack);
World world = this.getStoredWorld(stack); World world = this.getStoredWorld(stack);
if(coords != null && world != null){ if(coords != null && world != null){

View file

@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.ThePotionRings; import ellpeck.actuallyadditions.items.metalists.ThePotionRings;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -88,6 +89,15 @@ public class ItemPotionRing extends Item implements INameableItem{
return this.getUnlocalizedName() + (stack.getItemDamage() >= allRings.length ? " ERROR!" : allRings[stack.getItemDamage()].getName()); return this.getUnlocalizedName() + (stack.getItemDamage() >= allRings.length ? " ERROR!" : allRings[stack.getItemDamage()].getName());
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allRings.length){
ItemUtil.addInformation(this, list, 2, "");
}
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -2,15 +2,18 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.*;
import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
import java.util.List;
public class ItemResonantRice extends Item implements INameableItem{ public class ItemResonantRice extends Item implements INameableItem{
@ -28,6 +31,14 @@ public class ItemResonantRice extends Item implements INameableItem{
return EnumRarity.epic; return EnumRarity.epic;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 1, "");
if(KeyUtil.isShiftPressed() && OreDictionary.getOres("nuggetEnderium").size() == 0) list.add(StringUtil.RED + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".itemResonantRice.uncraftable.desc"));
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.blocks.BlockPlant; import ellpeck.actuallyadditions.blocks.BlockPlant;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -24,6 +25,8 @@ import net.minecraftforge.event.ForgeEventFactory;
import powercrystals.minefactoryreloaded.api.IFactoryPlantable; import powercrystals.minefactoryreloaded.api.IFactoryPlantable;
import powercrystals.minefactoryreloaded.api.ReplacementBlock; import powercrystals.minefactoryreloaded.api.ReplacementBlock;
import java.util.List;
public class ItemSeed extends ItemSeeds implements INameableItem, IFactoryPlantable{ public class ItemSeed extends ItemSeeds implements INameableItem, IFactoryPlantable{
public Block plant; public Block plant;
@ -86,6 +89,12 @@ public class ItemSeed extends ItemSeeds implements INameableItem, IFactoryPlanta
return EnumRarity.rare; return EnumRarity.rare;
} }
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
ItemUtil.addInformation(this, list, 1, "");
}
@Override @Override
public IIcon getIcon(ItemStack stack, int pass){ public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon; return this.itemIcon;

View file

@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops; import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -78,6 +79,13 @@ public class ItemSpecialDrop extends Item implements INameableItem{
return this.getUnlocalizedName() + (stack.getItemDamage() >= allDrops.length ? " ERROR!" : allDrops[stack.getItemDamage()].getName()); return this.getUnlocalizedName() + (stack.getItemDamage() >= allDrops.length ? " ERROR!" : allDrops[stack.getItemDamage()].getName());
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
if(stack.getItemDamage() < allDrops.length) ItemUtil.addInformation(this, list, stack.getItemDamage() == TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal() ? 2 : 1, allDrops[stack.getItemDamage()].getName());
}
@Override @Override
public IIcon getIconFromDamage(int par1){ public IIcon getIconFromDamage(int par1){
return par1 >= textures.length ? null : textures[par1]; return par1 >= textures.length ? null : textures[par1];

View file

@ -1,10 +1,11 @@
package ellpeck.actuallyadditions.items.tools; package ellpeck.actuallyadditions.items.tools;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import cpw.mods.fml.common.eventhandler.Event; import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -20,7 +21,6 @@ import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.UseHoeEvent; import net.minecraftforge.event.entity.player.UseHoeEvent;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -68,8 +68,12 @@ public class ItemAllToolAA extends ItemTool implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".paxel.desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ){ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ){
@ -126,13 +130,4 @@ public class ItemAllToolAA extends ItemTool implements INameableItem{
public String getOredictName(){ public String getOredictName(){
return oredictName; return oredictName;
} }
@Override
public Set<String> getToolClasses(ItemStack stack){
HashSet<String> hashSet = new HashSet<String>();
hashSet.add("pickaxe");
hashSet.add("shovel");
hashSet.add("axe");
return hashSet;
}
} }

View file

@ -3,12 +3,18 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemAxeAA extends ItemAxe implements INameableItem{ public class ItemAxeAA extends ItemAxe implements INameableItem{
@ -25,6 +31,17 @@ public class ItemAxeAA extends ItemAxe implements INameableItem{
this.oredictName = name; this.oredictName = name;
} }
@Override
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){
return stack.getItem() == repairItem.getItem(); return stack.getItem() == repairItem.getItem();

View file

@ -3,6 +3,8 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -33,8 +35,12 @@ public class ItemHoeAA extends ItemHoe implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){

View file

@ -3,6 +3,8 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -33,8 +35,12 @@ public class ItemPickaxeAA extends ItemPickaxe implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){

View file

@ -3,6 +3,8 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -33,8 +35,12 @@ public class ItemShovelAA extends ItemSpade implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){

View file

@ -3,6 +3,8 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.INameableItem; import ellpeck.actuallyadditions.util.INameableItem;
import ellpeck.actuallyadditions.util.ItemUtil;
import ellpeck.actuallyadditions.util.KeyUtil;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -33,8 +35,12 @@ public class ItemSwordAA extends ItemSword implements INameableItem{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + this.getName() + ".desc"));
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
} }
else list.add(ItemUtil.shiftForInfo());
}
@Override @Override
public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){ public boolean getIsRepairable(ItemStack itemToRepair, ItemStack stack){

View file

@ -1,232 +0,0 @@
package ellpeck.actuallyadditions.manual;
import cpw.mods.fml.relauncher.ReflectionHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import java.util.ArrayList;
import java.util.List;
public class ContainerManual extends Container{
TheInventory inventory = new TheInventory();
public ContainerManual(){
this.addSlotToContainer(new SlotImmovable(this.inventory, 0, 199, 41));
for(int i = 0; i < 13; i++){
for(int j = 0; j < 4; j++){
this.addSlotToContainer(new SlotImmovable(this.inventory, 1+j+(i*4), 5+j*18, 5+i*18));
}
}
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
this.addSlotToContainer(new SlotImmovable(this.inventory, 1+13*4+j+(i*3), 105+j*18, 23+i*18));
}
}
for(int i = 1; i < ManualItems.list.size()+1; i++){
if(i < 1+13*4){
this.inventory.setInventorySlotContents(i, ManualItems.list.get(i-1).stack.copy());
}
}
}
public void scrollTo(float f){
if(this.needsScrollBars()){
int i = ManualItems.list.size()/4-13;
int j = (int)((double)(f*(float)i)+0.5D);
if(j < 0) j = 0;
for(int k = 0; k < 13; ++k){
for(int l = 0; l < 4; ++l){
int i1 = l+(k+j)*4;
if(i1 >= 0 && i1 < ManualItems.list.size()){
this.inventory.setInventorySlotContents(1+l+k*4, ManualItems.list.get(i1).stack.copy());
}
else this.inventory.setInventorySlotContents(1+l+k*4, null);
}
}
}
}
public boolean needsScrollBars(){
return ManualItems.list.size() > 9*13;
}
@Override
@SuppressWarnings("unchecked")
public ItemStack slotClick(int slot, int par2, int par3, EntityPlayer player){
if(slot > 0 && slot < 1+13*4){
Slot theSlot = this.getSlot(slot);
if(theSlot.getStack() != null){
this.inventory.setInventorySlotContents(0, theSlot.getStack().copy());
for(int i = 0; i < 9; i++) this.inventory.setInventorySlotContents(1+13*4+i, null);
List<IRecipe> list = CraftingManager.getInstance().getRecipeList();
for(IRecipe iRec: list){
if(iRec instanceof ShapedOreRecipe){
ShapedOreRecipe recipe = (ShapedOreRecipe)iRec;
if(theSlot.getStack().isItemEqual(recipe.getRecipeOutput())){
int width = ReflectionHelper.getPrivateValue(ShapedOreRecipe.class, recipe, 4);
int height = ReflectionHelper.getPrivateValue(ShapedOreRecipe.class, recipe, 5);
for(int x = 0; x < width; x++){
for(int y = 0; y < height; y++){
int i = y*width+x;
ItemStack stack = null;
Object input = recipe.getInput()[i];
if(input instanceof ItemStack) stack = ((ItemStack)input).copy();
if(input instanceof ItemStack[]) stack = ((ItemStack[])input)[0];
if(input instanceof List) stack = ((List<ItemStack>)input).get(0);
int k = 0;
if(x == 0){
if(y == 0) k = 0;
if(y == 1) k = 3;
if(y == 2) k = 6;
}
if(x == 1){
if(y == 0) k = 1;
if(y == 1) k = 4;
if(y == 2) k = 7;
}
if(x == 2){
if(y == 0) k = 2;
if(y == 1) k = 5;
if(y == 2) k = 8;
}
this.inventory.setInventorySlotContents(1+13*4+k, stack);
}
}
break;
}
}
if(iRec instanceof ShapelessOreRecipe){
ShapelessOreRecipe recipe = (ShapelessOreRecipe)iRec;
if(theSlot.getStack().isItemEqual(recipe.getRecipeOutput())){
ArrayList<Object> ingredients = recipe.getInput();
for(int i = 0; i < ingredients.size(); i++){
ItemStack stack = null;
if(ingredients.get(i) instanceof ItemStack) stack = ((ItemStack)ingredients.get(i)).copy();
if(ingredients.get(i) instanceof ItemStack[]) stack = ((ItemStack[])ingredients.get(i))[0];
if(ingredients.get(i) instanceof List) stack = ((List<ItemStack>)ingredients.get(i)).get(0);
this.inventory.setInventorySlotContents(1+13*4+i, stack);
}
break;
}
}
}
}
}
return null;
}
@Override
public boolean canInteractWith(EntityPlayer player){
return this.inventory.isUseableByPlayer(player);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slot){
return null;
}
public static class TheInventory implements IInventory{
public ItemStack[] slots = new ItemStack[13*4+10];
@Override
public void setInventorySlotContents(int i, ItemStack stack){
this.slots[i] = stack;
this.markDirty();
}
@Override
public int getSizeInventory(){
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i){
if(i < this.getSizeInventory()){
return slots[i];
}
return null;
}
@Override
public ItemStack decrStackSize(int i, int j){
if (slots[i] != null){
ItemStack stackAt;
if(slots[i].stackSize <= j){
stackAt = slots[i];
slots[i] = null;
this.markDirty();
return stackAt;
}
else{
stackAt = slots[i].splitStack(j);
if (slots[i].stackSize == 0) slots[i] = null;
this.markDirty();
return stackAt;
}
}
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int i){
return getStackInSlot(i);
}
@Override
public String getInventoryName(){
return "Actually Additions Manual";
}
@Override
public boolean hasCustomInventoryName(){
return false;
}
@Override
public int getInventoryStackLimit(){
return 1;
}
@Override
public void markDirty(){
}
@Override
public boolean isUseableByPlayer(EntityPlayer player){
return true;
}
@Override
public void openInventory(){
}
@Override
public void closeInventory(){
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack){
return false;
}
}
}

View file

@ -1,115 +0,0 @@
package ellpeck.actuallyadditions.manual;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.util.AssetUtil;
import ellpeck.actuallyadditions.util.ModUtil;
import ellpeck.actuallyadditions.util.StringUtil;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class GuiManual extends GuiContainer{
private static final ResourceLocation resLoc = AssetUtil.getGuiLocation("guiManual");
private FontRenderer infoTextRenderer;
private float currentScroll;
private boolean isScrolling;
private boolean wasClicking;
public GuiManual(){
super(new ContainerManual());
this.xSize = 256;
this.ySize = 244;
}
@Override
public void drawScreen(int x, int y, float f){
if(((ContainerManual)this.inventorySlots).needsScrollBars()){
boolean flag = Mouse.isButtonDown(0);
int k = this.guiLeft;
int l = this.guiTop;
int i1 = k+78;
int j1 = l+5;
int k1 = i1+12;
int l1 = j1+232;
if(!this.wasClicking && flag && x >= i1 && y >= j1 && x < k1 && y < l1) this.isScrolling = true;
if(!flag) this.isScrolling = false;
this.wasClicking = flag;
if(this.isScrolling){
this.currentScroll = ((float)(y-j1)-7.5F)/((float)(l1-j1)-15.0F);
if(this.currentScroll < 0.0F){
this.currentScroll = 0.0F;
}
if(this.currentScroll > 1.0F){
this.currentScroll = 1.0F;
}
((ContainerManual)this.inventorySlots).scrollTo(this.currentScroll);
}
}
super.drawScreen(x, y, f);
}
@Override
public void handleMouseInput(){
super.handleMouseInput();
if(((ContainerManual)this.inventorySlots).needsScrollBars()){
int i = Mouse.getEventDWheel();
if(i != 0){
int j = ((ContainerManual)this.inventorySlots).inventory.slots.length/4-13;
if(i > 0) i = 1;
if(i < 0) i = -1;
this.currentScroll = (float)((double)this.currentScroll-(double)i/(double)j);
if(this.currentScroll < 0.0F) this.currentScroll = 0.0F;
if(this.currentScroll > 1.0F) this.currentScroll = 1.0F;
((ContainerManual)this.inventorySlots).scrollTo(this.currentScroll);
}
}
}
@Override
public void initGui(){
super.initGui();
this.infoTextRenderer = new FontRenderer(this.mc.gameSettings, new ResourceLocation("textures/font/ascii.png"), this.mc.renderEngine, true);
}
@Override
public void drawGuiContainerForegroundLayer(int x, int y){
AssetUtil.displayNameString(this.fontRendererObj, this.xSize, -10, "container."+ModUtil.MOD_ID_LOWER+".manual");
ManualItems.InfoTab tab = ManualItems.getTabFromStack(this.inventorySlots.getSlot(0).getStack());
if(tab != null){
this.drawCenterString(tab.title, 160, 8);
this.fontRendererObj.drawSplitString(tab.extraForRecipe, 95, 80, 155, StringUtil.DECIMAL_COLOR_GRAY_TEXT);
this.infoTextRenderer.drawSplitString(tab.text, 95, (tab.extraForRecipe == null || tab.extraForRecipe.length() <= 0 ? 80 : 100), 155, StringUtil.DECIMAL_COLOR_GRAY_TEXT);
}
}
private void drawCenterString(String text, int xPos, int yPos){
this.fontRendererObj.drawString(text, xPos - this.fontRendererObj.getStringWidth(text)/2, yPos, StringUtil.DECIMAL_COLOR_GRAY_TEXT);
}
@Override
public void drawGuiContainerBackgroundLayer(float f, int x, int y){
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(resLoc);
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
this.mc.getTextureManager().bindTexture(new ResourceLocation("textures/gui/container/creative_inventory/tabs.png"));
this.drawTexturedModalRect(this.guiLeft+78, this.guiTop+5 + (int)((float)(this.guiTop+5+232-this.guiTop+5-25) * this.currentScroll), 232+(((ContainerManual)this.inventorySlots).needsScrollBars() ? 0 : 12), 0, 12, 15);
}
}

View file

@ -1,56 +0,0 @@
package ellpeck.actuallyadditions.manual;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import ellpeck.actuallyadditions.inventory.gui.GuiInputter;
import ellpeck.actuallyadditions.network.PacketHandler;
import ellpeck.actuallyadditions.util.ModUtil;
import ellpeck.actuallyadditions.util.StringUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.util.StatCollector;
import net.minecraftforge.client.event.GuiScreenEvent;
public class InventoryEvents{
private static final int MANUAL_BUTTON_ID = 123782;
public static class InitGuiEvent{
@SubscribeEvent
@SuppressWarnings("unchecked")
public void onInitGuiEvent(GuiScreenEvent.InitGuiEvent.Post event){
if(event.gui instanceof GuiInventory && !Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode){
int k = (event.gui.width-176)/2;
int l = (event.gui.height-166)/2;
ManualButton button = new ManualButton(MANUAL_BUTTON_ID, k+160, l+166, "!");
event.buttonList.add(button);
}
}
}
public static class ButtonPressedEvent{
@SubscribeEvent
public void onButtonPressedEvent(GuiScreenEvent.ActionPerformedEvent.Post event){
if(event.gui instanceof GuiInventory && event.button.id == MANUAL_BUTTON_ID){
PacketHandler.theNetwork.sendToServer(new PacketOpenManual());
}
}
}
public static class ManualButton extends GuiInputter.SmallerButton{
public ManualButton(int id, int x, int y, String display){
super(id, x, y, display);
}
@Override
public void drawButton(Minecraft mc, int x, int y){
super.drawButton(mc, x, y);
boolean hovering = x >= this.xPosition && y >= this.yPosition && x < this.xPosition + this.width && y < this.yPosition + this.height;
if(this.getHoverState(hovering) == 2){
String manual = StatCollector.translateToLocal("container." + ModUtil.MOD_ID_LOWER + ".manual.name");
mc.fontRenderer.drawString(manual, this.xPosition+this.width/2-mc.fontRenderer.getStringWidth(manual)/2 , this.yPosition+this.height+5, StringUtil.DECIMAL_COLOR_WHITE);
}
}
}
}

View file

@ -1,77 +0,0 @@
package ellpeck.actuallyadditions.manual;
import ellpeck.actuallyadditions.blocks.InitBlocks;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
public class ManualItems{
public static ArrayList<InfoTab> list = new ArrayList<InfoTab>();
static{
addBlock(InitBlocks.blockPhantomface, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch", "OreDictionary!");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockBreaker, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockCoalGenerator, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomPlacer, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockFeeder, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockCanolaPress, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockFluidCollector, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomLiquiface, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockBreaker, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
addBlock(InitBlocks.blockPhantomBooster, "The Phantomface is a Block that is very nice and amazing and can transmit stuff if you connect it with stuff this is a text message so I don't care anyways bla bla bla bla bla Penis ficken arsch also das hier ist eine echt lange Message und ich weiß nicht was ich hier weiter schrieben soll das kommt eh späüter alles in die Lang datei", "");
}
private static void addItem(Item item, String text, String extraForRecipe){
addStack(new ItemStack(item), text, extraForRecipe);
}
private static void addBlock(Block block, String text, String extraForRecipe){
addStack(new ItemStack(block), text, extraForRecipe);
}
private static void addStack(ItemStack stack, String text, String extraForRecipe){
list.add(new InfoTab(stack.copy(), text, extraForRecipe));
}
public static InfoTab getTabFromStack(ItemStack stack){
for(InfoTab tab : list){
if(stack != null && tab.stack != null && stack.isItemEqual(tab.stack)) return tab;
}
return null;
}
public static class InfoTab{
public ItemStack stack;
public String text;
public String title;
public String extraForRecipe;
public InfoTab(ItemStack stack, String text, String extraForRecipe){
this.stack = stack;
this.title = stack.getDisplayName();
this.text = text;
this.extraForRecipe = extraForRecipe;
}
}
}

View file

@ -1,35 +0,0 @@
package ellpeck.actuallyadditions.manual;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.inventory.GuiHandler;
import io.netty.buffer.ByteBuf;
public class PacketOpenManual implements IMessage{
@SuppressWarnings("unused")
public PacketOpenManual(){
}
@Override
public void fromBytes(ByteBuf buf){
}
@Override
public void toBytes(ByteBuf buf){
}
public static class Handler implements IMessageHandler<PacketOpenManual, IMessage>{
@Override
public IMessage onMessage(PacketOpenManual message, MessageContext ctx){
ctx.getServerHandler().playerEntity.openGui(ActuallyAdditions.instance, GuiHandler.MANUAL_ID, ctx.getServerHandler().playerEntity.worldObj, (int)ctx.getServerHandler().playerEntity.posX, (int)ctx.getServerHandler().playerEntity.posY, (int)ctx.getServerHandler().playerEntity.posZ);
return null;
}
}
}

View file

@ -1,23 +0,0 @@
package ellpeck.actuallyadditions.manual;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotImmovable extends Slot{
public SlotImmovable(IInventory inventory, int id, int x, int y){
super(inventory, id, x, y);
}
@Override
public boolean isItemValid(ItemStack stack){
return false;
}
@Override
public boolean canTakeStack(EntityPlayer player){
return false;
}
}

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.network;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import ellpeck.actuallyadditions.manual.PacketOpenManual;
import ellpeck.actuallyadditions.network.gui.PacketGuiButton; import ellpeck.actuallyadditions.network.gui.PacketGuiButton;
import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.ModUtil;
@ -17,6 +16,5 @@ public class PacketHandler{
theNetwork.registerMessage(PacketTileEntityFeeder.Handler.class, PacketTileEntityFeeder.class, 0, Side.CLIENT); theNetwork.registerMessage(PacketTileEntityFeeder.Handler.class, PacketTileEntityFeeder.class, 0, Side.CLIENT);
theNetwork.registerMessage(PacketGuiButton.Handler.class, PacketGuiButton.class, 1, Side.SERVER); theNetwork.registerMessage(PacketGuiButton.Handler.class, PacketGuiButton.class, 1, Side.SERVER);
theNetwork.registerMessage(PacketFluidCollectorToClient.Handler.class, PacketFluidCollectorToClient.class, 2, Side.CLIENT); theNetwork.registerMessage(PacketFluidCollectorToClient.Handler.class, PacketFluidCollectorToClient.class, 2, Side.CLIENT);
theNetwork.registerMessage(PacketOpenManual.Handler.class, PacketOpenManual.class, 3, Side.SERVER);
} }
} }

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.tile;
import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockGrass; import net.minecraft.block.BlockGrass;
import net.minecraft.block.IGrowable; import net.minecraft.block.IGrowable;
import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.ChunkCoordinates;
@ -37,7 +36,7 @@ public class TileEntityGreenhouseGlass extends TileEntityBase{
public ChunkCoordinates blockToFertilize(){ public ChunkCoordinates blockToFertilize(){
for(int i = yCoord-1; i > 0; i--){ for(int i = yCoord-1; i > 0; i--){
Block block = worldObj.getBlock(xCoord, i, zCoord); Block block = worldObj.getBlock(xCoord, i, zCoord);
if(block != null && !(block instanceof BlockAir)){ if(block != null && !(worldObj.isAirBlock(xCoord, i, zCoord))){
if(block instanceof IGrowable && !(block instanceof BlockGrass)){ if(block instanceof IGrowable && !(block instanceof BlockGrass)){
return new ChunkCoordinates(xCoord, i, zCoord); return new ChunkCoordinates(xCoord, i, zCoord);
} }

View file

@ -2,11 +2,10 @@ package ellpeck.actuallyadditions.tile;
import cofh.api.energy.EnergyStorage; import cofh.api.energy.EnergyStorage;
import cofh.api.energy.IEnergyReceiver; import cofh.api.energy.IEnergyReceiver;
import ellpeck.actuallyadditions.blocks.BlockMisc; import ellpeck.actuallyadditions.blocks.InitBlocks;
import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks;
import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.config.values.ConfigIntValues;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@ -24,9 +23,7 @@ public class TileEntityLavaFactoryController extends TileEntityBase implements I
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void updateEntity(){ public void updateEntity(){
if(!worldObj.isRemote){ if(!worldObj.isRemote){
int isMulti = this.isMultiblock(); if(this.storage.getEnergyStored() >= energyNeededToProduceLava && this.isMultiblock() == HAS_AIR){
if(isMulti == HAS_AIR && this.storage.getEnergyStored() >= energyNeededToProduceLava){
this.currentWorkTime++; this.currentWorkTime++;
if(this.currentWorkTime >= this.maxWorkTime){ if(this.currentWorkTime >= this.maxWorkTime){
this.currentWorkTime = 0; this.currentWorkTime = 0;
@ -49,12 +46,12 @@ public class TileEntityLavaFactoryController extends TileEntityBase implements I
int metaWest = worldObj.getBlockMetadata(xCoord+ForgeDirection.WEST.offsetX, yCoord+1, zCoord+ForgeDirection.WEST.offsetZ); int metaWest = worldObj.getBlockMetadata(xCoord+ForgeDirection.WEST.offsetX, yCoord+1, zCoord+ForgeDirection.WEST.offsetZ);
int metaNeeded = TheMiscBlocks.LAVA_FACTORY_CASE.ordinal(); int metaNeeded = TheMiscBlocks.LAVA_FACTORY_CASE.ordinal();
if(blockNorth instanceof BlockMisc && blockEast instanceof BlockMisc && blockSouth instanceof BlockMisc && blockWest instanceof BlockMisc){ if(blockNorth == InitBlocks.blockMisc && blockEast == InitBlocks.blockMisc && blockSouth == InitBlocks.blockMisc && blockWest == InitBlocks.blockMisc){
if(metaNorth == metaNeeded && metaEast == metaNeeded && metaSouth == metaNeeded && metaWest == metaNeeded){ if(metaNorth == metaNeeded && metaEast == metaNeeded && metaSouth == metaNeeded && metaWest == metaNeeded){
if(worldObj.getBlock(xCoord, yCoord+1, zCoord) == Blocks.lava || worldObj.getBlock(xCoord, yCoord+1, zCoord) == Blocks.flowing_lava){ if(worldObj.getBlock(xCoord, yCoord+1, zCoord) == Blocks.lava || worldObj.getBlock(xCoord, yCoord+1, zCoord) == Blocks.flowing_lava){
return HAS_LAVA; return HAS_LAVA;
} }
if(worldObj.getBlock(xCoord, yCoord+1, zCoord) == null || worldObj.getBlock(xCoord, yCoord+1, zCoord) instanceof BlockAir){ if(worldObj.getBlock(xCoord, yCoord+1, zCoord) == null || worldObj.isAirBlock(xCoord, yCoord+1, zCoord)){
return HAS_AIR; return HAS_AIR;
} }
} }

View file

@ -155,7 +155,7 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{
private void pushFluid(ForgeDirection side){ private void pushFluid(ForgeDirection side){
TileEntity tile = WorldUtil.getTileEntityFromSide(side, worldObj, xCoord, yCoord, zCoord); TileEntity tile = WorldUtil.getTileEntityFromSide(side, worldObj, xCoord, yCoord, zCoord);
if(tile != null && tile instanceof IFluidHandler){ if(tile != null && tile instanceof IFluidHandler && this.getTankInfo(side) != null && this.getTankInfo(side).length > 0 && ((IFluidHandler)tile).getTankInfo(side.getOpposite()) != null && ((IFluidHandler)tile).getTankInfo(side.getOpposite()).length > 0){
for(FluidTankInfo myInfo : this.getTankInfo(side)){ for(FluidTankInfo myInfo : this.getTankInfo(side)){
for(FluidTankInfo hisInfo : ((IFluidHandler)tile).getTankInfo(side.getOpposite())){ for(FluidTankInfo hisInfo : ((IFluidHandler)tile).getTankInfo(side.getOpposite())){
if(myInfo != null && hisInfo != null && myInfo.fluid != null && myInfo.fluid.getFluid() != null){ if(myInfo != null && hisInfo != null && myInfo.fluid != null && myInfo.fluid.getFluid() != null){

View file

@ -17,6 +17,16 @@ public class BlockUtil{
return ModUtil.MOD_ID_LOWER + "." + ((INameableItem)block).getName(); return ModUtil.MOD_ID_LOWER + "." + ((INameableItem)block).getName();
} }
@SuppressWarnings("unchecked")
public static void addInformation(Block block, List list, int lines, String extraName){
if(KeyUtil.isShiftPressed()){
for(int i = 0; i < lines; i++){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((INameableItem)block).getName() + extraName + ".desc" + (lines > 1 ? "." +(i+1) : "")));
}
}
else list.add(ItemUtil.shiftForInfo());
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static void addPowerUsageInfo(List list, int usage){ public static void addPowerUsageInfo(List list, int usage){
if(KeyUtil.isShiftPressed()){ if(KeyUtil.isShiftPressed()){
@ -26,8 +36,10 @@ public class BlockUtil{
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static void addPowerProductionInfo(List list, int produce){ public static void addPowerProductionInfo(List list, int produce){
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".produces.desc") + " " + produce + " RF/t"); list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".produces.desc") + " " + produce + " RF/t");
} }
}
public static final ArrayList<Block> wailaRegisterList = new ArrayList<Block>(); public static final ArrayList<Block> wailaRegisterList = new ArrayList<Block>();

View file

@ -4,10 +4,23 @@ import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.creative.CreativeTab;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import java.util.List;
public class ItemUtil{ public class ItemUtil{
@SuppressWarnings("unchecked")
public static void addInformation(Item item, List list, int lines, String extraName){
if(KeyUtil.isShiftPressed()){
for(int i = 0; i < lines; i++){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((INameableItem)item).getName() + extraName + ".desc" + (lines > 1 ? "." +(i+1) : "")));
}
}
else list.add(shiftForInfo());
}
public static void registerItems(Item[] items){ public static void registerItems(Item[] items){
for(Item item : items){ for(Item item : items){
register(item); register(item);
@ -37,4 +50,8 @@ public class ItemUtil{
public static String createUnlocalizedName(Item item){ public static String createUnlocalizedName(Item item){
return ModUtil.MOD_ID_LOWER + "." + ((INameableItem)item).getName(); return ModUtil.MOD_ID_LOWER + "." + ((INameableItem)item).getName();
} }
public static String shiftForInfo(){
return StringUtil.GREEN + StringUtil.ITALIC + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".shiftForInfo.desc");
}
} }

View file

@ -5,7 +5,7 @@ import org.apache.logging.log4j.Logger;
public class ModUtil{ public class ModUtil{
public static final String VERSION = "1.7.10-0.0.5.5"; public static final String VERSION = "1.7.10-0.0.5.7";
public static final String MOD_ID = "ActuallyAdditions"; public static final String MOD_ID = "ActuallyAdditions";
public static final String NAME = "Actually Additions"; public static final String NAME = "Actually Additions";

View file

@ -28,28 +28,7 @@ public class WorldUtil{
return new ChunkCoordinates(x+side.offsetX, y+side.offsetY, z+side.offsetZ); return new ChunkCoordinates(x+side.offsetX, y+side.offsetY, z+side.offsetZ);
} }
public static void breakBlockAtSide(ForgeDirection side, World world, int x, int y, int z){ public static MovingObjectPosition raytraceBlocksFromEntity(World world, Entity player, double range){
if(side == ForgeDirection.UNKNOWN){
world.setBlockToAir(x, y, z);
return;
}
ChunkCoordinates c = getCoordsFromSide(side, x, y, z);
if(c != null){
world.setBlockToAir(c.posX, c.posY, c.posZ);
}
}
public static void pushEnergy(World world, int x, int y, int z, ForgeDirection side, EnergyStorage storage){
TileEntity tile = getTileEntityFromSide(side, world, x, y, z);
if(tile != null && tile instanceof IEnergyReceiver && storage.getEnergyStored() > 0){
if(((IEnergyReceiver)tile).canConnectEnergy(side.getOpposite())){
int receive = ((IEnergyReceiver)tile).receiveEnergy(side.getOpposite(), Math.min(storage.getMaxExtract(), storage.getEnergyStored()), false);
storage.extractEnergy(receive, false);
}
}
}
public static MovingObjectPosition raytraceEntity(World world, Entity player, double range){
float f1 = player.prevRotationPitch+(player.rotationPitch-player.prevRotationPitch)*1.0F; float f1 = player.prevRotationPitch+(player.rotationPitch-player.prevRotationPitch)*1.0F;
float f2 = player.prevRotationYaw+(player.rotationYaw-player.prevRotationYaw)*1.0F; float f2 = player.prevRotationYaw+(player.rotationYaw-player.prevRotationYaw)*1.0F;
double d0 = player.prevPosX+(player.posX-player.prevPosX)*1.0D; double d0 = player.prevPosX+(player.posX-player.prevPosX)*1.0D;
@ -69,12 +48,35 @@ public class WorldUtil{
return world.func_147447_a(vec3, vec31, false, true, false); return world.func_147447_a(vec3, vec31, false, true, false);
} }
public static void breakBlockAtSide(ForgeDirection side, World world, int x, int y, int z){
if(side == ForgeDirection.UNKNOWN){
world.setBlockToAir(x, y, z);
return;
}
ChunkCoordinates c = getCoordsFromSide(side, x, y, z);
if(c != null){
world.setBlockToAir(c.posX, c.posY, c.posZ);
}
}
public static void pushEnergy(World world, int x, int y, int z, ForgeDirection side, EnergyStorage storage){
TileEntity tile = getTileEntityFromSide(side, world, x, y, z);
if(tile != null && tile instanceof IEnergyReceiver && storage.getEnergyStored() > 0){
if(((IEnergyReceiver)tile).canConnectEnergy(side.getOpposite())){
int receive = ((IEnergyReceiver)tile).receiveEnergy(side.getOpposite(), Math.min(storage.getMaxExtract(), storage.getEnergyStored()), false);
storage.extractEnergy(receive, false);
world.markBlockForUpdate(x+side.offsetX, y+side.offsetY, z+side.offsetZ);
}
}
}
public static void pushFluid(World world, int x, int y, int z, ForgeDirection side, FluidTank tank){ public static void pushFluid(World world, int x, int y, int z, ForgeDirection side, FluidTank tank){
TileEntity tile = getTileEntityFromSide(side, world, x, y, z); TileEntity tile = getTileEntityFromSide(side, world, x, y, z);
if(tile != null && tank.getFluid() != null && tile instanceof IFluidHandler){ if(tile != null && tank.getFluid() != null && tile instanceof IFluidHandler){
if(((IFluidHandler)tile).canFill(side.getOpposite(), tank.getFluid().getFluid())){ if(((IFluidHandler)tile).canFill(side.getOpposite(), tank.getFluid().getFluid())){
int receive = ((IFluidHandler)tile).fill(side.getOpposite(), tank.getFluid(), true); int receive = ((IFluidHandler)tile).fill(side.getOpposite(), tank.getFluid(), true);
tank.drain(receive, true); tank.drain(receive, true);
world.markBlockForUpdate(x+side.offsetX, y+side.offsetY, z+side.offsetZ);
} }
} }
} }

View file

@ -134,7 +134,7 @@ tooltip.actuallyadditions.itemResonantRice.uncraftable.desc=Uncraftable because
tile.actuallyadditions.blockCanolaPress.name=Canola Press tile.actuallyadditions.blockCanolaPress.name=Canola Press
tooltip.actuallyadditions.blockCanolaPress.desc=Makes Canola Oil from Canola tooltip.actuallyadditions.blockCanolaPress.desc=Makes Canola Oil from Canola
tile.actuallyadditions.blockFermentingBarrel.name=Fermenting Barrel tile.actuallyadditions.blockFermentingBarrel.name=Fermenting Barrel
tooltip.actuallyadditions.blockFermentingBarrel.desc=Ferments Canola Oil made in a Press to Oil tooltip.actuallyadditions.blockFermentingBarrel.desc=Ferments Canola Oil made in a Press to Canola
tile.actuallyadditions.blockCanolaOil.name=Canola Oil tile.actuallyadditions.blockCanolaOil.name=Canola Oil
tooltip.actuallyadditions.blockCanolaOil.desc=Oil made from Canola tooltip.actuallyadditions.blockCanolaOil.desc=Oil made from Canola
@ -264,8 +264,7 @@ item.actuallyadditions.itemDustQuartz.name=Crushed Quartz
item.actuallyadditions.itemDustCoal.name=Crushed Coal item.actuallyadditions.itemDustCoal.name=Crushed Coal
item.actuallyadditions.itemDustQuartzBlack.name=Crushed Black Quartz item.actuallyadditions.itemDustQuartzBlack.name=Crushed Black Quartz
tooltip.actuallyadditions.moreInfo.desc.1=Open the Actually Additions Manual tooltip.actuallyadditions.shiftForInfo.desc=Press Shift for Info
tooltip.actuallyadditions.moreInfo.desc.2=with the Button in your Inventory!
tooltip.actuallyadditions.hunger.desc=Fills tooltip.actuallyadditions.hunger.desc=Fills
tooltip.actuallyadditions.saturation.desc=Saturation tooltip.actuallyadditions.saturation.desc=Saturation
tooltip.actuallyadditions.durability.desc=Durability tooltip.actuallyadditions.durability.desc=Durability
@ -451,7 +450,6 @@ container.actuallyadditions.energyface.name=Energyface
container.actuallyadditions.fluidPlacer.name=Fluid Placer container.actuallyadditions.fluidPlacer.name=Fluid Placer
container.actuallyadditions.fluidCollector.name=Fluid Collector container.actuallyadditions.fluidCollector.name=Fluid Collector
container.actuallyadditions.coffeeMachine.name=Coffee Machine container.actuallyadditions.coffeeMachine.name=Coffee Machine
container.actuallyadditions.manual.name=Actually Additions Manual
container.nei.actuallyadditions.crushing.name=Crusher container.nei.actuallyadditions.crushing.name=Crusher
container.nei.actuallyadditions.ballOfHair.name=Ball Of Hair Usage container.nei.actuallyadditions.ballOfHair.name=Ball Of Hair Usage

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -2,15 +2,13 @@
{ {
"modid": "ActuallyAdditions", "modid": "ActuallyAdditions",
"name": "Actually Additions", "name": "Actually Additions",
"description": "Actually Additions is a Mod that offers a bunch of things from Machines for Automation and tons of food to advanced Hopper Mechanisms and Effect Rings!", "description": "Do you want Automation? Wireless Transport? Better Machines? A cup o' Coffee? Chests? Better Hoppers? Leaf Blowers? Faster Growth? Plants? Well, Actually Additions has all that and a lot more!",
"version": "0.0.5.5", "version": "${version}",
"mcversion": "1.7.10", "mcversion": "${mcversion}",
"url": "https://github.com/Ellpeck/ActuallyAdditions", "url": "http://github.com/Ellpeck/ActuallyAdditions",
"updateUrl": "", "updateUrl": "",
"authorList": [ "authorList": [ "Ellpeck" ],
"Ellpeck" "credits": "Author: Ellpeck; Thanks to: xdqmhose, GlenthorLP, Lordhallo, canitzp",
],
"credits": "xdqmhose, GlenthorLP, Lordhallo, canitzp",
"logoFile": "assets/actuallyadditions/textures/logo.png", "logoFile": "assets/actuallyadditions/textures/logo.png",
"screenshots": [ "screenshots": [
], ],

View file

@ -1 +1 @@
Fixed a Bug with the Phantom Liquiface crashing with missing TankInfos Fixed a Bug caused by fixing the last Bug... Whoops...

View file

@ -1 +1 @@
1.7.10-0.0.5.6 1.7.10-0.0.5.7