diff --git a/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/SomePrettyRandomStuff.java similarity index 86% rename from src/main/java/ellpeck/someprettyrandomstuff/SPRS.java rename to src/main/java/ellpeck/someprettyrandomstuff/SomePrettyRandomStuff.java index 8ecc36777..5a58c6b30 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/SomePrettyRandomStuff.java @@ -1,6 +1,8 @@ package ellpeck.someprettyrandomstuff; import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; @@ -14,25 +16,26 @@ import ellpeck.someprettyrandomstuff.gen.OreGen; import ellpeck.someprettyrandomstuff.inventory.GuiHandler; import ellpeck.someprettyrandomstuff.items.InitItems; import ellpeck.someprettyrandomstuff.material.InitItemMaterials; +import ellpeck.someprettyrandomstuff.network.PacketHandler; import ellpeck.someprettyrandomstuff.proxy.IProxy; import ellpeck.someprettyrandomstuff.tile.TileEntityBase; import ellpeck.someprettyrandomstuff.util.Util; @Mod(modid = Util.MOD_ID, name = Util.NAME, version = Util.VERSION) -public class SPRS{ +public class SomePrettyRandomStuff{ - @Mod.Instance(Util.MOD_ID) - public static SPRS instance; + @Instance(Util.MOD_ID) + public static SomePrettyRandomStuff instance; @SidedProxy(clientSide = "ellpeck.someprettyrandomstuff.proxy.ClientProxy", serverSide = "ellpeck.someprettyrandomstuff.proxy.ServerProxy") public static IProxy proxy; @SuppressWarnings("unused") - @Mod.EventHandler() + @EventHandler() public void preInit(FMLPreInitializationEvent event){ - Util.logInfo(Util.isClientSide() ? "You're on a Client, eh?" : "You're on a Server, eh?"); Util.logInfo("Starting PreInitialization Phase..."); + PacketHandler.init(); ConfigurationHandler.init(event.getSuggestedConfigurationFile()); InitItemMaterials.init(); InitBlocks.init(); @@ -43,7 +46,7 @@ public class SPRS{ } @SuppressWarnings("unused") - @Mod.EventHandler() + @EventHandler() public void init(FMLInitializationEvent event){ Util.logInfo("Starting Initialization Phase..."); @@ -59,7 +62,7 @@ public class SPRS{ } @SuppressWarnings("unused") - @Mod.EventHandler() + @EventHandler() public void postInit(FMLPostInitializationEvent event){ Util.logInfo("Starting PostInitialization Phase..."); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java index ce66af3c5..8406db280 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java @@ -74,10 +74,10 @@ public class AchievementEvent{ public static void init(){ Util.logInfo("Initializing Events..."); - FMLCommonHandler.instance().bus().register(new AchievementEvent.SmeltEvent()); - FMLCommonHandler.instance().bus().register(new AchievementEvent.CraftEvent()); - FMLCommonHandler.instance().bus().register(new AchievementEvent.PickupEvent()); - FMLCommonHandler.instance().bus().register(new AchievementEvent.LoginEvent()); + FMLCommonHandler.instance().bus().register(new SmeltEvent()); + FMLCommonHandler.instance().bus().register(new CraftEvent()); + FMLCommonHandler.instance().bus().register(new PickupEvent()); + FMLCommonHandler.instance().bus().register(new LoginEvent()); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java index 1551d6d46..a73161caa 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java @@ -1,12 +1,13 @@ package ellpeck.someprettyrandomstuff.achievement; +import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; public class AchievementSPRS extends Achievement{ public AchievementSPRS(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){ - super("achievement." + name, name, x, y, displayStack, hasToHaveBefore); + super("achievement." + Util.MOD_ID_LOWER + "." + name, name, x, y, displayStack, hasToHaveBefore); InitAchievements.achievementList.add(this); if(hasToHaveBefore == null) this.initIndependentStat(); this.registerStat(); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java index f5608d28b..9d2302a50 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java @@ -7,6 +7,8 @@ import ellpeck.someprettyrandomstuff.items.ItemFertilizer; import ellpeck.someprettyrandomstuff.items.ItemMisc; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; import ellpeck.someprettyrandomstuff.tile.TileEntityCompost; +import ellpeck.someprettyrandomstuff.util.IName; +import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; @@ -18,17 +20,18 @@ import net.minecraft.world.World; import java.util.List; -public class BlockCompost extends BlockContainerBase{ +public class BlockCompost extends BlockContainerBase implements IName{ public BlockCompost(){ super(Material.wood); this.setCreativeTab(CreativeTab.instance); - this.setBlockName("blockCompost"); + this.setBlockName(Util.getNamePrefix() + this.getName()); this.setHarvestLevel("axe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeWood); } + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){ if(!world.isRemote){ ItemStack stackPlayer = player.getCurrentEquippedItem(); @@ -50,6 +53,7 @@ public class BlockCompost extends BlockContainerBase{ return true; } + @Override public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB mask, List list, Entity collidingEntity){ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.3125F, 1.0F); super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); @@ -65,28 +69,39 @@ public class BlockCompost extends BlockContainerBase{ this.setBlockBoundsForItemRender(); } + @Override public void setBlockBoundsForItemRender(){ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } + @Override public boolean isOpaqueCube(){ return false; } + @Override public boolean renderAsNormalBlock(){ return false; } + @Override public int getRenderType(){ return RenderingRegistry.getNextAvailableRenderId(); } + @Override public TileEntity createNewTileEntity(World world, int meta){ return new TileEntityCompost(); } + @Override public void breakBlock(World world, int x, int y, int z, Block block, int par6){ this.dropInventory(world, x, y, z); super.breakBlock(world, x, y, z, block, par6); } + + @Override + public String getName(){ + return "blockCompost"; + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java index 56fcb3257..95f8e6b74 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java @@ -2,10 +2,11 @@ package ellpeck.someprettyrandomstuff.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.someprettyrandomstuff.SPRS; +import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.inventory.GuiHandler; import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -15,41 +16,54 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; -public class BlockFeeder extends BlockContainerBase{ +public class BlockFeeder extends BlockContainerBase implements IName{ private IIcon topIcon; public BlockFeeder(){ super(Material.wood); - this.setBlockName("blockFeeder"); + this.setBlockName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); + this.setHarvestLevel("axe", 0); + this.setHardness(1.0F); + this.setStepSound(soundTypeWood); } + @Override public TileEntity createNewTileEntity(World world, int par2){ return new TileEntityFeeder(); } + @Override public IIcon getIcon(int side, int metadata){ return (side == 0 || side == 1) ? this.topIcon : this.blockIcon; } + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconReg){ - this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); - this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + "Top"); + this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + "Top"); } + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ if(!world.isRemote){ TileEntityFeeder feeder = (TileEntityFeeder)world.getTileEntity(x, y, z); - if (feeder != null) player.openGui(SPRS.instance, GuiHandler.FEEDER_ID, world, x, y, z); + if (feeder != null) player.openGui(SomePrettyRandomStuff.instance, GuiHandler.FEEDER_ID, world, x, y, z); return true; } return true; } + @Override public void breakBlock(World world, int x, int y, int z, Block block, int par6){ this.dropInventory(world, x, y, z); super.breakBlock(world, x, y, z, block, par6); } + + @Override + public String getName(){ + return "blockFeeder"; + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockGiantChest.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockGiantChest.java new file mode 100644 index 000000000..8ecd9f79a --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockGiantChest.java @@ -0,0 +1,69 @@ +package ellpeck.someprettyrandomstuff.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.inventory.GuiHandler; +import ellpeck.someprettyrandomstuff.tile.TileEntityGiantChest; +import ellpeck.someprettyrandomstuff.util.IName; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockGiantChest extends BlockContainerBase implements IName{ + + private IIcon topIcon; + + public BlockGiantChest(){ + super(Material.wood); + this.setBlockName(Util.getNamePrefix() + this.getName()); + this.setCreativeTab(CreativeTab.instance); + this.setHarvestLevel("axe", 0); + this.setHardness(1.0F); + this.setStepSound(soundTypeWood); + } + + @Override + public TileEntity createNewTileEntity(World world, int par2){ + return new TileEntityGiantChest(); + } + + @Override + public IIcon getIcon(int side, int metadata){ + return side == 1 ? this.topIcon : this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconReg){ + this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + "Top"); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + if(!world.isRemote){ + TileEntityGiantChest chest = (TileEntityGiantChest)world.getTileEntity(x, y, z); + if (chest != null) player.openGui(SomePrettyRandomStuff.instance, GuiHandler.GIANT_CHEST_ID, world, x, y, z); + return true; + } + return true; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int par6){ + this.dropInventory(world, x, y, z); + super.breakBlock(world, x, y, z, block, par6); + } + + @Override + public String getName(){ + return "blockGiantChest"; + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java index 77fe312c7..c6347062a 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java @@ -6,6 +6,7 @@ import ellpeck.someprettyrandomstuff.blocks.metalists.TheMiscBlocks; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.InitItems; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -21,14 +22,14 @@ import net.minecraft.util.StatCollector; import java.util.List; import java.util.Random; -public class BlockMisc extends Block{ +public class BlockMisc extends Block implements IName{ public static final TheMiscBlocks[] allMiscBlocks = TheMiscBlocks.values(); public IIcon[] textures = new IIcon[allMiscBlocks.length]; public BlockMisc(){ super(Material.rock); - this.setBlockName("blockMisc"); + this.setBlockName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } @@ -40,44 +41,64 @@ public class BlockMisc extends Block{ } } + @Override public Item getItemDropped(int meta, Random rand, int par3){ return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? InitItems.itemMisc : super.getItemDropped(meta, rand, par3); } + @Override public int damageDropped(int meta){ return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? TheMiscItems.QUARTZ.ordinal() : super.damageDropped(meta); } + @Override + public int quantityDropped(int meta, int fortune, Random random){ + return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? 1+random.nextInt(2)+fortune : 1; + } + + @Override public IIcon getIcon(int side, int metadata){ return textures[metadata]; } + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconReg){ for(int i = 0; i < textures.length; i++){ - textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscBlocks[i].getName()); + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + allMiscBlocks[i].getName()); } } + @Override + public String getName(){ + return "blockMisc"; + } + public static class ItemBlockMisc extends ItemBlock{ + private Block theBlock; + public ItemBlockMisc(Block block){ super(block); + this.theBlock = block; this.setHasSubtypes(true); this.setMaxDamage(0); } + @Override public String getUnlocalizedName(ItemStack stack){ return this.getUnlocalizedName() + allMiscBlocks[stack.getItemDamage()].getName(); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { - if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc")); + if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + allMiscBlocks[stack.getItemDamage()].getName() + ".desc")); else list.add(Util.shiftForInfo()); } + @Override public int getMetadata(int damage){ return damage; } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java index 71572450d..a83885b4d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java @@ -2,28 +2,36 @@ package ellpeck.someprettyrandomstuff.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import java.util.List; public class DefaultItemBlock extends ItemBlock{ + Block theBlock; + public DefaultItemBlock(Block block){ super(block); + this.theBlock = block; this.setHasSubtypes(false); } + @Override public String getUnlocalizedName(ItemStack stack){ return this.getUnlocalizedName(); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { - list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc")); + else list.add(Util.shiftForInfo()); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java index e716639e7..54d718cce 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java @@ -2,6 +2,7 @@ package ellpeck.someprettyrandomstuff.blocks; import cpw.mods.fml.common.registry.GameRegistry; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; @@ -10,18 +11,21 @@ public class InitBlocks{ public static Block blockCompost; public static Block blockMisc; public static Block blockFeeder; + public static Block blockGiantChest; public static void init(){ Util.logInfo("Initializing Blocks..."); blockCompost = new BlockCompost(); - GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockCompost)); + GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, ((IName)blockCompost).getName()); blockMisc = new BlockMisc(); - GameRegistry.registerBlock(blockMisc, BlockMisc.ItemBlockMisc.class, Util.getSubbedUnlocalized(blockMisc)); + GameRegistry.registerBlock(blockMisc, BlockMisc.ItemBlockMisc.class, ((IName)blockMisc).getName()); blockFeeder = new BlockFeeder(); - GameRegistry.registerBlock(blockFeeder, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockFeeder)); + GameRegistry.registerBlock(blockFeeder, DefaultItemBlock.class, ((IName)blockFeeder).getName()); + blockGiantChest = new BlockGiantChest(); + GameRegistry.registerBlock(blockGiantChest, DefaultItemBlock.class, ((IName)blockGiantChest).getName()); } -} +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java index 6519007e1..933ec360d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java @@ -1,8 +1,8 @@ package ellpeck.someprettyrandomstuff.blocks.metalists; -import ellpeck.someprettyrandomstuff.util.IItemEnum; +import ellpeck.someprettyrandomstuff.util.IName; -public enum TheMiscBlocks implements IItemEnum{ +public enum TheMiscBlocks implements IName{ QUARTZ_PILLAR("BlackQuartzPillar"), QUARTZ_CHISELED("BlackQuartzChiseled"), @@ -15,6 +15,7 @@ public enum TheMiscBlocks implements IItemEnum{ this.name = name; } + @Override public String getName(){ return this.name; } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java b/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java index e7df90488..428059eec 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java @@ -15,10 +15,12 @@ public class CreativeTab extends CreativeTabs{ super(Util.MOD_ID_LOWER); } + @Override public Item getTabIconItem(){ return InitItems.itemFoods; } + @Override public ItemStack getIconItemStack(){ return new ItemStack(this.getTabIconItem(), 1, TheFoods.SUBMARINE_SANDWICH.ordinal()); } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java b/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java index fca93df9c..efc8af309 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java @@ -12,6 +12,7 @@ import java.util.Random; public class OreGen implements IWorldGenerator{ + @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider){ switch (world.provider.dimensionId){ case -1: diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java index 367d5e736..e3e2d1d0c 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java @@ -17,7 +17,6 @@ public class ContainerFeeder extends Container{ private int lastCurrentTimer; private int lastCurrentAnimalAmount; - private int lastIsBred; public ContainerFeeder(InventoryPlayer inventory, TileEntityBase tile){ this.tileFeeder = (TileEntityFeeder)tile; @@ -33,13 +32,14 @@ public class ContainerFeeder extends Container{ } } + @Override public void addCraftingToCrafters(ICrafting iCraft){ super.addCraftingToCrafters(iCraft); iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer); iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount); - iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred); } + @Override public void detectAndSendChanges(){ super.detectAndSendChanges(); for(Object crafter : this.crafters){ @@ -47,94 +47,26 @@ public class ContainerFeeder extends Container{ if(this.lastCurrentTimer != this.tileFeeder.currentTimer) iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer); if(this.lastCurrentAnimalAmount != this.tileFeeder.currentAnimalAmount) iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount); - if(this.lastIsBred != this.tileFeeder.isBred) iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred); } this.lastCurrentTimer = this.tileFeeder.currentTimer; this.lastCurrentAnimalAmount = this.tileFeeder.currentAnimalAmount; - this.lastIsBred = this.tileFeeder.isBred; } + @Override @SideOnly(Side.CLIENT) public void updateProgressBar(int par1, int par2){ if(par1 == 0) this.tileFeeder.currentTimer = par2; if(par1 == 1) this.tileFeeder.currentAnimalAmount = par2; - if(par1 == 2) this.tileFeeder.isBred = par2; } + @Override public boolean canInteractWith(EntityPlayer player){ return this.tileFeeder.isUseableByPlayer(player); } + @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot){ - /*ItemStack itemstack = null; - Slot slot = (Slot)this.inventorySlots.get(p_82846_2_); - - if (slot != null && slot.getHasStack()) - { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - - if (p_82846_2_ == 2) - { - if (!this.mergeItemStack(itemstack1, 3, 39, true)) - { - return null; - } - - slot.onSlotChange(itemstack1, itemstack); - } - else if (p_82846_2_ != 1 && p_82846_2_ != 0) - { - if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) - { - if (!this.mergeItemStack(itemstack1, 0, 1, false)) - { - return null; - } - } - else if (TileEntityFurnace.isItemFuel(itemstack1)) - { - if (!this.mergeItemStack(itemstack1, 1, 2, false)) - { - return null; - } - } - else if (p_82846_2_ >= 3 && p_82846_2_ < 30) - { - if (!this.mergeItemStack(itemstack1, 30, 39, false)) - { - return null; - } - } - else if (p_82846_2_ >= 30 && p_82846_2_ < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) - { - return null; - } - } - else if (!this.mergeItemStack(itemstack1, 3, 39, false)) - { - return null; - } - - if (itemstack1.stackSize == 0) - { - slot.putStack((ItemStack)null); - } - else - { - slot.onSlotChanged(); - } - - if (itemstack1.stackSize == itemstack.stackSize) - { - return null; - } - - slot.onPickupFromSlot(p_82846_1_, itemstack1); - } - - return itemstack;*/ return null; } } \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerGiantChest.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerGiantChest.java new file mode 100644 index 000000000..e0297b626 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerGiantChest.java @@ -0,0 +1,43 @@ +package ellpeck.someprettyrandomstuff.inventory; + +import ellpeck.someprettyrandomstuff.tile.TileEntityBase; +import ellpeck.someprettyrandomstuff.tile.TileEntityGiantChest; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerGiantChest extends Container{ + + public TileEntityGiantChest tileChest; + + public ContainerGiantChest(InventoryPlayer inventory, TileEntityBase tile){ + this.tileChest = (TileEntityGiantChest)tile; + + for (int i = 0; i < 13; i++){ + for (int j = 0; j < 13; j++){ + this.addSlotToContainer(new Slot(this.tileChest, j + (i*13), 5 + j * 18, 5 + i * 18)); + } + } + + for (int i = 0; i < 3; i++){ + for (int j = 0; j < 9; j++){ + this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 33 + 8 + j * 18, 244 + 4 + i * 18)); + } + } + for (int i = 0; i < 9; i++){ + this.addSlotToContainer(new Slot(inventory, i, 33 + 8 + i * 18, 244 + 62)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player){ + return this.tileChest.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slot){ + return null; + } +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java index 14feab312..d55141381 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java @@ -19,38 +19,46 @@ public class GuiFeeder extends GuiContainer{ private static final ResourceLocation resLoc = Util.getGuiLocation("guiFeeder"); private TileEntityFeeder tileFeeder; + public int loveCounter; + public GuiFeeder(InventoryPlayer inventory, TileEntityBase tile){ super(new ContainerFeeder(inventory, tile)); this.tileFeeder = (TileEntityFeeder)tile; - this.xSize = 176; - this.ySize = 156; - } - - public void drawGuiContainerForegroundLayer(int x, int y){ - + this.ySize = 70+86; } + @Override public void drawGuiContainerBackgroundLayer(float f, int x, int y){ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(Util.GUI_INVENTORY_LOCATION); + this.drawTexturedModalRect(this.guiLeft, this.guiTop+70, 0, 0, 176, 86); this.mc.getTextureManager().bindTexture(resLoc); - this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); + this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, 176, 70); if(this.tileFeeder.currentTimer > 0){ int i = this.tileFeeder.getCurrentTimerToScale(22); - this.drawTexturedModalRect(guiLeft+80, guiTop+42-i, 176, 16+22-i, 16, 22); + this.drawTexturedModalRect(guiLeft + 80, guiTop + 42 - i, 176, 16 + 22 - i, 16, 22); } - if(this.tileFeeder.isBred == 1) this.drawTexturedModalRect(guiLeft+76, guiTop+4, 176, 0, 25, 16); if(this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 16, 8, 8); if(this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 24, 8, 8); + + if(this.loveCounter > 0){ + this.loveCounter++; + if(this.loveCounter >= 15){ + this.loveCounter = 0; + } + this.drawTexturedModalRect(guiLeft + 76, guiTop + 4, 176, 0, 25, 16); + } } + @Override public void drawScreen(int x, int y, float f){ super.drawScreen(x, y, f); if(x >= guiLeft+69 && y >= guiTop+30 && x <= guiLeft+69+10 && y <= guiTop+30+10){ - String[] array = new String[]{(this.tileFeeder.currentAnimalAmount + " " + StatCollector.translateToLocal("feeder.animal.desc") + (this.tileFeeder.currentAnimalAmount == 1 ? "" : StatCollector.translateToLocal("feeder.animalsSuffix.desc"))), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("feeder.tooMany.desc") : StatCollector.translateToLocal("feeder.notEnough.desc")))}; + String[] array = new String[]{(this.tileFeeder.currentAnimalAmount + " " + StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.animal.desc") + (this.tileFeeder.currentAnimalAmount == 1 ? "" : StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.animalsSuffix.desc"))), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.tooMany.desc") : StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.notEnough.desc")))}; this.func_146283_a(Arrays.asList(array), x, y); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiGiantChest.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiGiantChest.java new file mode 100644 index 000000000..3a8ace54b --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiGiantChest.java @@ -0,0 +1,32 @@ +package ellpeck.someprettyrandomstuff.inventory; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.tile.TileEntityBase; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +@SideOnly(Side.CLIENT) +public class GuiGiantChest extends GuiContainer{ + + private static final ResourceLocation resLoc = Util.getGuiLocation("guiGiantChest"); + + public GuiGiantChest(InventoryPlayer inventory, TileEntityBase tile){ + super(new ContainerGiantChest(inventory, tile)); + + this.xSize = 242; + this.ySize = 244+86; + } + + @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); + this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, 242, 244); + this.mc.getTextureManager().bindTexture(Util.GUI_INVENTORY_LOCATION); + this.drawTexturedModalRect(this.guiLeft+33, this.guiTop+244, 0, 0, 176, 86); + } +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java index 429f503d6..716f1d042 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java @@ -2,7 +2,7 @@ package ellpeck.someprettyrandomstuff.inventory; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.NetworkRegistry; -import ellpeck.someprettyrandomstuff.SPRS; +import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff; import ellpeck.someprettyrandomstuff.tile.TileEntityBase; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.entity.player.EntityPlayer; @@ -10,30 +10,37 @@ import net.minecraft.world.World; public class GuiHandler implements IGuiHandler{ + @Override public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z); switch (id){ case FEEDER_ID: return new ContainerFeeder(entityPlayer.inventory, tile); + case GIANT_CHEST_ID: + return new ContainerGiantChest(entityPlayer.inventory, tile); default: return null; } } + @Override public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z); switch (id){ case FEEDER_ID: return new GuiFeeder(entityPlayer.inventory, tile); + case GIANT_CHEST_ID: + return new GuiGiantChest(entityPlayer.inventory, tile); default: return null; } } public static final int FEEDER_ID = 0; + public static final int GIANT_CHEST_ID = 1; public static void init(){ Util.logInfo("Initializing GuiHandler..."); - NetworkRegistry.INSTANCE.registerGuiHandler(SPRS.instance, new GuiHandler()); + NetworkRegistry.INSTANCE.registerGuiHandler(SomePrettyRandomStuff.instance, new GuiHandler()); } -} +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java b/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java index 3b97361e5..66505a8e6 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items; import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.items.tools.*; import ellpeck.someprettyrandomstuff.material.InitItemMaterials; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.item.Item; @@ -29,16 +30,16 @@ public class InitItems{ Util.logInfo("Initializing Items..."); itemFertilizer = new ItemFertilizer(); - GameRegistry.registerItem(itemFertilizer, Util.getSubbedUnlocalized(itemFertilizer)); + GameRegistry.registerItem(itemFertilizer, ((IName)itemFertilizer).getName()); itemMisc = new ItemMisc(); - GameRegistry.registerItem(itemMisc, Util.getSubbedUnlocalized(itemMisc)); + GameRegistry.registerItem(itemMisc, ((IName)itemMisc).getName()); itemFoods = new ItemFoods(); - GameRegistry.registerItem(itemFoods, Util.getSubbedUnlocalized(itemFoods)); + GameRegistry.registerItem(itemFoods, ((IName)itemFoods).getName()); itemKnife = new ItemKnife(); - GameRegistry.registerItem(itemKnife, Util.getSubbedUnlocalized(itemKnife)); + GameRegistry.registerItem(itemKnife, ((IName)itemKnife).getName()); itemPickaxeEmerald = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemPickaxeEmerald"); itemAxeEmerald = new ItemAxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemAxeEmerald"); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java index c74758763..62dcd9bab 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -14,13 +15,14 @@ import net.minecraft.world.World; import java.util.List; -public class ItemFertilizer extends Item{ +public class ItemFertilizer extends Item implements IName{ public ItemFertilizer(){ - this.setUnlocalizedName("itemFertilizer"); + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ if(ItemDye.applyBonemeal(stack, world, x, y, z, player)){ if(!world.isRemote) world.playAuxSFX(2005, x, y, z, 0); @@ -29,18 +31,26 @@ public class ItemFertilizer extends Item{ return super.onItemUse(stack, player, world, x, y, z, par7, par8, par9, par10); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return "itemFertilizer"; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java index 68f76e141..b9c1bda4a 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java @@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.metalists.TheFoods; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -19,14 +20,14 @@ import net.minecraft.world.World; import java.util.List; -public class ItemFoods extends ItemFood{ +public class ItemFoods extends ItemFood implements IName{ public static final TheFoods[] allFoods = TheFoods.values(); public IIcon[] textures = new IIcon[allFoods.length]; public ItemFoods(){ super(0, 0.0F, false); - this.setUnlocalizedName("itemFood"); + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setHasSubtypes(true); this.setMaxDamage(0); this.setCreativeTab(CreativeTab.instance); @@ -34,22 +35,27 @@ public class ItemFoods extends ItemFood{ TheFoods.setReturnItems(); } + @Override public int func_150905_g(ItemStack stack){ return allFoods[stack.getItemDamage()].healAmount; } + @Override public float func_150906_h(ItemStack stack){ return allFoods[stack.getItemDamage()].saturation; } + @Override public EnumAction getItemUseAction(ItemStack stack){ return allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.drink : EnumAction.eat; } + @Override public int getMaxItemUseDuration(ItemStack stack){ return allFoods[stack.getItemDamage()].useDuration; } + @Override public int getMetadata(int damage){ return damage; } @@ -62,10 +68,12 @@ public class ItemFoods extends ItemFood{ } } + @Override public String getUnlocalizedName(ItemStack stack){ - return this.getUnlocalizedName() + allFoods[stack.getItemDamage()].name; + return this.getUnlocalizedName() + allFoods[stack.getItemDamage()].getName(); } + @Override public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){ ItemStack stackToReturn = super.onEaten(stack, world, player); ItemStack returnItem = allFoods[stack.getItemDamage()].returnItem; @@ -81,25 +89,33 @@ public class ItemFoods extends ItemFood{ return stackToReturn; } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc")); - list.add(StatCollector.translateToLocal("tooltip.hunger.desc") + ": " + allFoods[stack.getItemDamage()].healAmount); - list.add(StatCollector.translateToLocal("tooltip.saturation.desc") + ": " + allFoods[stack.getItemDamage()].saturation); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + this.getName() + allFoods[stack.getItemDamage()].getName() + ".desc")); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".hunger.desc") + ": " + allFoods[stack.getItemDamage()].healAmount); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".saturation.desc") + ": " + allFoods[stack.getItemDamage()].saturation); } else list.add(Util.shiftForInfo()); } + @Override public IIcon getIconFromDamage(int par1){ return textures[par1]; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ for(int i = 0; i < textures.length; i++){ - textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allFoods[i].getName()); + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + allFoods[i].getName()); } } + + @Override + public String getName(){ + return "itemFood"; + } } \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java index 10b150fd1..3dfcc1f3a 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java @@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.config.ConfigValues; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,16 +14,17 @@ import net.minecraft.util.IIcon; import java.util.List; -public class ItemKnife extends Item{ +public class ItemKnife extends Item implements IName{ public ItemKnife(){ - this.setUnlocalizedName("itemKnife"); + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setMaxDamage(ConfigValues.itemKnifeMaxDamage); this.setCreativeTab(CreativeTab.instance); this.setMaxStackSize(1); this.setContainerItem(this); } + @Override public ItemStack getContainerItem(ItemStack stack){ ItemStack theStack = stack.copy(); theStack.setItemDamage(theStack.getItemDamage() + 1); @@ -30,22 +32,31 @@ public class ItemKnife extends Item{ return theStack; } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); } + @Override public boolean getShareTag(){ return true; } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return "itemKnife"; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java index 5f3fe1979..0fd2b8e74 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java @@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -15,17 +16,23 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemMisc extends Item{ +public class ItemMisc extends Item implements IName{ public static final TheMiscItems[] allMiscItems = TheMiscItems.values(); public IIcon[] textures = new IIcon[allMiscItems.length]; public ItemMisc(){ - this.setUnlocalizedName("itemMisc"); + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setHasSubtypes(true); this.setCreativeTab(CreativeTab.instance); } + @Override + public String getName(){ + return "itemMisc"; + } + + @Override public int getMetadata(int damage){ return damage; } @@ -38,25 +45,29 @@ public class ItemMisc extends Item{ } } + @Override public String getUnlocalizedName(ItemStack stack){ return this.getUnlocalizedName() + allMiscItems[stack.getItemDamage()].name; } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ - if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc")); + if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + this.getName() + allMiscItems[stack.getItemDamage()].getName() + ".desc")); else list.add(Util.shiftForInfo()); } + @Override public IIcon getIconFromDamage(int par1){ return textures[par1]; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ for(int i = 0; i < textures.length; i++){ - textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscItems[i].getName()); + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + allMiscItems[i].getName()); } } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheFoods.java b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheFoods.java index d6b00b6e5..8efe91a7a 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheFoods.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheFoods.java @@ -1,11 +1,11 @@ package ellpeck.someprettyrandomstuff.items.metalists; import ellpeck.someprettyrandomstuff.items.InitItems; -import ellpeck.someprettyrandomstuff.util.IItemEnum; +import ellpeck.someprettyrandomstuff.util.IName; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -public enum TheFoods implements IItemEnum{ +public enum TheFoods implements IName{ CHEESE("Cheese", 1, 0.1F, false, 3), PUMPKIN_STEW("PumpkinStew", 10, 0.4F, true, 30), @@ -47,6 +47,7 @@ public enum TheFoods implements IItemEnum{ this.useDuration = useDuration; } + @Override public String getName(){ return this.name; } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java index 7cadccf5f..b2be3f9f9 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java @@ -1,8 +1,8 @@ package ellpeck.someprettyrandomstuff.items.metalists; -import ellpeck.someprettyrandomstuff.util.IItemEnum; +import ellpeck.someprettyrandomstuff.util.IName; -public enum TheMiscItems implements IItemEnum{ +public enum TheMiscItems implements IName{ PAPER_CONE("PaperCone"), MASHED_FOOD("MashedFood"), @@ -21,6 +21,7 @@ public enum TheMiscItems implements IItemEnum{ this.name = name; } + @Override public String getName(){ return this.name; } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java index bba838df8..005d04b88 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,29 +14,40 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemAxeSPRS extends ItemAxe{ +public class ItemAxeSPRS extends ItemAxe implements IName{ + + private String name; public ItemAxeSPRS(ToolMaterial toolMat, String unlocalizedName){ super(toolMat); - this.setUnlocalizedName(unlocalizedName); + this.name = unlocalizedName; + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); } } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return name; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java index 24dd654e9..e6f323c77 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,29 +14,40 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemHoeSPRS extends ItemHoe{ +public class ItemHoeSPRS extends ItemHoe implements IName{ + + private String name; public ItemHoeSPRS(ToolMaterial toolMat, String unlocalizedName){ super(toolMat); - this.setUnlocalizedName(unlocalizedName); + this.name = unlocalizedName; + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ list.add(Util.addStandardInformation(this)); if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); } } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return name; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java index 43f0cfbca..5bb6ac3ba 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,29 +14,40 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemPickaxeSPRS extends ItemPickaxe{ +public class ItemPickaxeSPRS extends ItemPickaxe implements IName{ + + private String name; public ItemPickaxeSPRS(ToolMaterial toolMat, String unlocalizedName){ super(toolMat); - this.setUnlocalizedName(unlocalizedName); + this.name = unlocalizedName; + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); } } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return name; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java index ac8d6654d..6adcf6c29 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,29 +14,40 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemShovelSPRS extends ItemSpade{ +public class ItemShovelSPRS extends ItemSpade implements IName{ + + private String name; public ItemShovelSPRS(ToolMaterial toolMat, String unlocalizedName){ super(toolMat); - this.setUnlocalizedName(unlocalizedName); + this.name = unlocalizedName; + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); } } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return name; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java index f83a426aa..529e0c276 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java @@ -3,6 +3,7 @@ package ellpeck.someprettyrandomstuff.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.IName; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -13,29 +14,40 @@ import net.minecraft.util.StatCollector; import java.util.List; -public class ItemSwordSPRS extends ItemSword{ +public class ItemSwordSPRS extends ItemSword implements IName{ + + private String name; public ItemSwordSPRS(ToolMaterial toolMat, String unlocalizedName){ super(toolMat); - this.setUnlocalizedName(unlocalizedName); + this.name = unlocalizedName; + this.setUnlocalizedName(Util.getNamePrefix() + this.getName()); this.setCreativeTab(CreativeTab.instance); } + @Override @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ list.add(Util.addStandardInformation(this)); if(Util.isShiftPressed()){ - list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + ".durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); } } + @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ - this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName()); + } + + @Override + public String getName(){ + return name; } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/network/PacketHandler.java b/src/main/java/ellpeck/someprettyrandomstuff/network/PacketHandler.java new file mode 100644 index 000000000..df442296f --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/network/PacketHandler.java @@ -0,0 +1,18 @@ +package ellpeck.someprettyrandomstuff.network; + +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import cpw.mods.fml.relauncher.Side; +import ellpeck.someprettyrandomstuff.util.Util; + +public class PacketHandler{ + + public static SimpleNetworkWrapper theNetwork; + + public static void init(){ + theNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(Util.MOD_ID + "Channel"); + + theNetwork.registerMessage(PacketTileEntityFeeder.Handler.class, PacketTileEntityFeeder.class, 0, Side.CLIENT); + } + +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/network/PacketTileEntityFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/network/PacketTileEntityFeeder.java new file mode 100644 index 000000000..16af269c9 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/network/PacketTileEntityFeeder.java @@ -0,0 +1,69 @@ +package ellpeck.someprettyrandomstuff.network; + +import cpw.mods.fml.client.FMLClientHandler; +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.someprettyrandomstuff.inventory.GuiFeeder; +import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.passive.EntityAnimal; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class PacketTileEntityFeeder implements IMessage{ + + private int tileX; + private int tileY; + private int tileZ; + private int animalID; + + @SuppressWarnings("unused") + public PacketTileEntityFeeder(){ + + } + + public PacketTileEntityFeeder(TileEntityFeeder tile, int animalID){ + this.tileX = tile.xCoord; + this.tileY = tile.yCoord; + this.tileZ = tile.zCoord; + this.animalID = animalID; + } + + @Override + public void fromBytes(ByteBuf buf){ + this.tileX = buf.readInt(); + this.tileY = buf.readInt(); + this.tileZ = buf.readInt(); + this.animalID = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf){ + buf.writeInt(this.tileX); + buf.writeInt(this.tileY); + buf.writeInt(this.tileZ); + buf.writeInt(this.animalID); + } + + public static class Handler implements IMessageHandler{ + + @Override + public IMessage onMessage(PacketTileEntityFeeder message, MessageContext ctx){ + World world = FMLClientHandler.instance().getClient().theWorld; + TileEntity tile = world.getTileEntity(message.tileX, message.tileY, message.tileZ); + + if(tile instanceof TileEntityFeeder){ + TileEntityFeeder tileFeeder = (TileEntityFeeder)tile; + tileFeeder.feedAnimal((EntityAnimal)world.getEntityByID(message.animalID)); + } + + if(Minecraft.getMinecraft().currentScreen instanceof GuiFeeder){ + ((GuiFeeder)Minecraft.getMinecraft().currentScreen).loveCounter++; + } + + return null; + } + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java index 25423820a..9e4275730 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java @@ -1,14 +1,21 @@ package ellpeck.someprettyrandomstuff.proxy; + @SuppressWarnings("unused") public class ClientProxy implements IProxy{ + @Override public void preInit(){ + } + @Override public void init(){ + } + @Override public void postInit(){ + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/proxy/IProxy.java b/src/main/java/ellpeck/someprettyrandomstuff/proxy/IProxy.java index 1ee452f5b..e65a8eaa0 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/proxy/IProxy.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/proxy/IProxy.java @@ -1,6 +1,6 @@ package ellpeck.someprettyrandomstuff.proxy; -public interface IProxy { +public interface IProxy{ public abstract void preInit(); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ServerProxy.java b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ServerProxy.java index bd944d25f..3c94b4caa 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ServerProxy.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ServerProxy.java @@ -5,14 +5,17 @@ import ellpeck.someprettyrandomstuff.util.Util; @SuppressWarnings("unused") public class ServerProxy implements IProxy{ + @Override public void preInit(){ Util.logInfo("PreInitializing ServerProxy..."); } + @Override public void init(){ Util.logInfo("Initializing ServerProxy..."); } + @Override public void postInit(){ Util.logInfo("PostInitializing ServerProxy..."); } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java index 4af467c52..ecb2dab29 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java @@ -2,34 +2,31 @@ package ellpeck.someprettyrandomstuff.tile; import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; public abstract class TileEntityBase extends TileEntity{ + @Override public Packet getDescriptionPacket(){ NBTTagCompound compound = new NBTTagCompound(); this.writeToNBT(compound); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.getBlockMetadata(), compound); } + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet){ super.onDataPacket(net, packet); this.readFromNBT(packet.func_148857_g()); } - public boolean shouldRefresh(Block oldBlock, Block newBlock, int oldMeta, int newMeta, World world, int x, int y, int z){ - return false; - } - public static void init(){ Util.logInfo("Registering TileEntities..."); GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID_LOWER + ":tileEntityCompost"); GameRegistry.registerTileEntity(TileEntityFeeder.class, Util.MOD_ID_LOWER + ":tileEntityFeeder"); + GameRegistry.registerTileEntity(TileEntityGiantChest.class, Util.MOD_ID_LOWER + ":tileEntityGiantChest"); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java index f06b85087..41b7e61b1 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java @@ -17,6 +17,7 @@ public class TileEntityCompost extends TileEntityInventoryBase{ super(1, "tileEntityCompost"); } + @Override public void updateEntity(){ if(!worldObj.isRemote){ if(this.slots[0] != null && !(this.slots[0].getItem() instanceof ItemFertilizer) && this.slots[0].stackSize >= this.amountNeededToConvert){ @@ -29,11 +30,13 @@ public class TileEntityCompost extends TileEntityInventoryBase{ } } + @Override public void writeToNBT(NBTTagCompound compound){ super.writeToNBT(compound); compound.setInteger("ConversionTime", this.conversionTime); } + @Override public void readFromNBT(NBTTagCompound compound){ super.readFromNBT(compound); this.conversionTime = compound.getInteger("ConversionTime"); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java index 51b3f24a4..38de7fd6d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java @@ -1,8 +1,11 @@ package ellpeck.someprettyrandomstuff.tile; +import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.config.ConfigValues; +import ellpeck.someprettyrandomstuff.network.PacketHandler; +import ellpeck.someprettyrandomstuff.network.PacketTileEntityFeeder; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; @@ -18,13 +21,12 @@ public class TileEntityFeeder extends TileEntityInventoryBase{ public int currentTimer; public int currentAnimalAmount; - //Is 0 or 1, gets sent to the GUI for display - public int isBred; public TileEntityFeeder(){ super(1, "tileEntityFeeder"); } + @Override @SuppressWarnings("unchecked") public void updateEntity(){ if(!worldObj.isRemote){ @@ -37,48 +39,46 @@ public class TileEntityFeeder extends TileEntityInventoryBase{ this.currentTimer = 0; EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount)); if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){ - randomAnimal.func_146082_f(null); + + PacketHandler.theNetwork.sendToAllAround(new PacketTileEntityFeeder(this, randomAnimal.getEntityId()), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, this.xCoord, this.yCoord, this.zCoord, 80)); + this.feedAnimal(randomAnimal); + this.slots[0].stackSize--; if(this.slots[0].stackSize == 0) this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); - - this.isBred = 1; - Random rand = new Random(); - for(int i = 0; i < 7; i++){ - double d = rand.nextGaussian() * 0.02D; - double d1 = rand.nextGaussian() * 0.02D; - double d2 = rand.nextGaussian() * 0.02D; - worldObj.spawnParticle("heart", (randomAnimal.posX + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, randomAnimal.posY + 0.5D + (double)(rand.nextFloat() * randomAnimal.height), (randomAnimal.posZ + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, d, d1, d2); - } } } - else{ - if(this.currentTimer == timerGoal/10) this.isBred = 0; - this.currentTimer++; - } - } - else{ - this.currentTimer = 0; - this.isBred = 0; + else this.currentTimer++; } + else this.currentTimer = 0; } - else{ - this.currentTimer = 0; - this.isBred = 0; - } + else this.currentTimer = 0; } } } + public void feedAnimal(EntityAnimal animal){ + animal.func_146082_f(null); + Random rand = new Random(); + for(int i = 0; i < 7; i++){ + double d = rand.nextGaussian() * 0.02D; + double d1 = rand.nextGaussian() * 0.02D; + double d2 = rand.nextGaussian() * 0.02D; + worldObj.spawnParticle("heart", (animal.posX + (double)(rand.nextFloat() * animal.width * 2.0F)) - animal.width, animal.posY + 0.5D + (double)(rand.nextFloat() * animal.height), (animal.posZ + (double)(rand.nextFloat() * animal.width * 2.0F)) - animal.width, d, d1, d2); + } + } + @SideOnly(Side.CLIENT) public int getCurrentTimerToScale(int i){ return this.currentTimer * i / this.timerGoal; } + @Override public void writeToNBT(NBTTagCompound compound){ super.writeToNBT(compound); compound.setInteger("Timer", this.currentTimer); } + @Override public void readFromNBT(NBTTagCompound compound){ super.readFromNBT(compound); this.currentTimer = compound.getInteger("Timer"); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityGiantChest.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityGiantChest.java new file mode 100644 index 000000000..d5e8358d3 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityGiantChest.java @@ -0,0 +1,43 @@ +package ellpeck.someprettyrandomstuff.tile; + + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; + +public class TileEntityGiantChest extends TileEntityInventoryBase{ + + public TileEntityGiantChest(){ + super(169, "tileEntityGiantChest"); + } + + @Override + public void writeToNBT(NBTTagCompound compound){ + super.writeToNBT(compound); + NBTTagList tagList = new NBTTagList(); + for(int currentIndex = 0; currentIndex < slots.length; ++currentIndex){ + if (slots[currentIndex] != null){ + NBTTagCompound tagCompound = new NBTTagCompound(); + //Too many slots to get saved as Byte + tagCompound.setShort("Slot", (short)currentIndex); + slots[currentIndex].writeToNBT(tagCompound); + tagList.appendTag(tagCompound); + } + } + compound.setTag("Items", tagList); + } + + @Override + public void readFromNBT(NBTTagCompound compound){ + super.readFromNBT(compound); + NBTTagList tagList = compound.getTagList("Items", 10); + for (int i = 0; i < tagList.tagCount(); ++i){ + NBTTagCompound tagCompound = tagList.getCompoundTagAt(i); + //Too many slots to get saved as Byte + short slotIndex = tagCompound.getShort("Slot"); + if (slotIndex >= 0 && slotIndex < slots.length){ + slots[slotIndex] = ItemStack.loadItemStackFromNBT(tagCompound); + } + } + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java index 06887f32d..e54c06de1 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java @@ -16,6 +16,7 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements this.name = name; } + @Override public void writeToNBT(NBTTagCompound compound){ super.writeToNBT(compound); NBTTagList tagList = new NBTTagList(); @@ -30,6 +31,7 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements compound.setTag("Items", tagList); } + @Override public void readFromNBT(NBTTagCompound compound){ super.readFromNBT(compound); NBTTagList tagList = compound.getTagList("Items", 10); @@ -42,34 +44,42 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements } } + @Override public int getInventoryStackLimit(){ return 64; } + @Override public boolean isUseableByPlayer(EntityPlayer player){ return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; } + @Override public boolean isItemValidForSlot(int i, ItemStack stack){ return false; } + @Override public ItemStack getStackInSlotOnClosing(int i){ return getStackInSlot(i); } + @Override public void setInventorySlotContents(int i, ItemStack stack){ this.slots[i] = stack; } + @Override public int getSizeInventory(){ return slots.length; } + @Override public ItemStack getStackInSlot(int i){ return slots[i]; } + @Override public ItemStack decrStackSize(int i, int j){ if (slots[i] != null) { ItemStack stackAt; @@ -91,18 +101,22 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements this.slots = new ItemStack[itemAmount]; } + @Override public String getInventoryName(){ return this.name; } + @Override public boolean hasCustomInventoryName(){ return false; } + @Override public void openInventory(){ } + @Override public void closeInventory(){ } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/util/IItemEnum.java b/src/main/java/ellpeck/someprettyrandomstuff/util/IName.java similarity index 75% rename from src/main/java/ellpeck/someprettyrandomstuff/util/IItemEnum.java rename to src/main/java/ellpeck/someprettyrandomstuff/util/IName.java index 269e650e6..d4f5c674d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/util/IItemEnum.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/util/IName.java @@ -1,6 +1,6 @@ package ellpeck.someprettyrandomstuff.util; -public interface IItemEnum{ +public interface IName{ public abstract String getName(); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java b/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java index ced8edd5e..169231b92 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java @@ -1,9 +1,6 @@ package ellpeck.someprettyrandomstuff.util; -import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; @@ -25,6 +22,7 @@ public class Util{ public static final Logger SPRS_LOGGER = LogManager.getLogger(MOD_ID); public static final int WILDCARD = OreDictionary.WILDCARD_VALUE; + public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory"); public static final String BLACK = (char)167 + "0"; public static final String BLUE = (char)167 + "1"; @@ -56,37 +54,34 @@ public class Util{ } public static String shiftForInfo(){ - return GREEN + ITALIC + StatCollector.translateToLocal("tooltip.shiftForInfo.desc"); + return GREEN + ITALIC + StatCollector.translateToLocal("tooltip." + MOD_ID_LOWER + ".shiftForInfo.desc"); } public static String addStandardInformation(Item item){ - if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + getSubbedUnlocalized(item) + ".desc"); - else return shiftForInfo(); + if(item instanceof IName){ + if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)item).getName() + ".desc"); + else return shiftForInfo(); + } + return null; } public static void logInfo(String text){ SPRS_LOGGER.log(Level.INFO, text); } - public static boolean isClientSide(){ - return FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT; - } - - public static String getSubbedUnlocalized(Item item){ - return item.getUnlocalizedName().substring(5); - } - - public static String getSubbedUnlocalized(Block block){ - return block.getUnlocalizedName().substring(5); - } - public static void registerItems(Item[] items){ for(Item item : items){ - GameRegistry.registerItem(item, getSubbedUnlocalized(item)); + if(item instanceof IName){ + GameRegistry.registerItem(item, ((IName)item).getName()); + } } } public static ResourceLocation getGuiLocation(String file){ return new ResourceLocation(MOD_ID_LOWER, "textures/gui/" + file + ".png"); } + + public static String getNamePrefix(){ + return MOD_ID_LOWER + "."; + } } \ No newline at end of file diff --git a/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang b/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang index 74314678e..8fc6e9f3a 100644 --- a/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang +++ b/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang @@ -1,134 +1,136 @@ itemGroup.someprettyrandomstuff=SomePrettyRandomStuff achievement.page.someprettyrandomstuff=SomePrettyRandomStuff -tile.blockCompost.name=Compost -tile.blockMiscOreBlackQuartz.name=Black Quartz Ore -tile.blockMiscBlackQuartz.name=Block of Black Quartz -tile.blockMiscBlackQuartzChiseled.name=Chiseled Block of Black Quartz -tile.blockMiscBlackQuartzPillar.name=Pillar of Black Quartz -tile.blockFeeder.name=Automatic Feeder +tile.someprettyrandomstuff.blockCompost.name=Compost +tile.someprettyrandomstuff.blockMiscOreBlackQuartz.name=Black Quartz Ore +tile.someprettyrandomstuff.blockMiscBlackQuartz.name=Block of Black Quartz +tile.someprettyrandomstuff.blockMiscBlackQuartzChiseled.name=Chiseled Block of Black Quartz +tile.someprettyrandomstuff.blockMiscBlackQuartzPillar.name=Pillar of Black Quartz +tile.someprettyrandomstuff.blockFeeder.name=Automatic Feeder +tile.someprettyrandomstuff.blockGiantChest.name=Giant Chest -item.itemMiscMashedFood.name=Mashed Food -item.itemMiscRefinedIron.name=Refined Iron -item.itemMiscRefinedRedstone.name=Refined Redstone -item.itemMiscCompressedIron.name=Compressed Iron -item.itemMiscSteel.name=Steel -item.itemFertilizer.name=Fertilizer -item.itemMiscDough.name=Dough -item.itemMiscPaperCone.name=Paper Cone -item.itemMiscKnifeBlade.name=Knife Blade -item.itemMiscKnifeHandle.name=Knife Handle -item.itemMiscBlackQuartz.name=Black Quartz +item.someprettyrandomstuff.itemMiscMashedFood.name=Mashed Food +item.someprettyrandomstuff.itemMiscRefinedIron.name=Refined Iron +item.someprettyrandomstuff.itemMiscRefinedRedstone.name=Refined Redstone +item.someprettyrandomstuff.itemMiscCompressedIron.name=Compressed Iron +item.someprettyrandomstuff.itemMiscSteel.name=Steel +item.someprettyrandomstuff.itemFertilizer.name=Fertilizer +item.someprettyrandomstuff.itemMiscDough.name=Dough +item.someprettyrandomstuff.itemMiscPaperCone.name=Paper Cone +item.someprettyrandomstuff.itemMiscKnifeBlade.name=Knife Blade +item.someprettyrandomstuff.itemMiscKnifeHandle.name=Knife Handle +item.someprettyrandomstuff.itemMiscBlackQuartz.name=Black Quartz -item.itemKnife.name=Knife -item.itemPickaxeEmerald.name=Emerald Pickaxe -item.itemAxeEmerald.name=Emerald Axe -item.itemShovelEmerald.name=Emerald Shovel -item.itemHoeEmerald.name=Emerald Hoe -item.itemSwordEmerald.name=Emerald Sword -item.itemPickaxeObsidian.name=Obsidian Pickaxe -item.itemAxeObsidian.name=Obsidian Axe -item.itemShovelObsidian.name=Obsidian Shovel -item.itemHoeObsidian.name=Obsidian Hoe -item.itemSwordObsidian.name=Obsidian Sword +item.someprettyrandomstuff.itemKnife.name=Knife +item.someprettyrandomstuff.itemPickaxeEmerald.name=Emerald Pickaxe +item.someprettyrandomstuff.itemAxeEmerald.name=Emerald Axe +item.someprettyrandomstuff.itemShovelEmerald.name=Emerald Shovel +item.someprettyrandomstuff.itemHoeEmerald.name=Emerald Hoe +item.someprettyrandomstuff.itemSwordEmerald.name=Emerald Sword +item.someprettyrandomstuff.itemPickaxeObsidian.name=Obsidian Pickaxe +item.someprettyrandomstuff.itemAxeObsidian.name=Obsidian Axe +item.someprettyrandomstuff.itemShovelObsidian.name=Obsidian Shovel +item.someprettyrandomstuff.itemHoeObsidian.name=Obsidian Hoe +item.someprettyrandomstuff.itemSwordObsidian.name=Obsidian Sword -item.itemFoodBaguette.name=Baguette -item.itemFoodPizza.name=Pizza -item.itemFoodHamburger.name=Hamburger -item.itemFoodBigCookie.name=Big Cookie -item.itemFoodSubmarineSandwich.name=Submarine Sandwich -item.itemFoodToast.name=Toast -item.itemFoodChocolate.name=Chocolate -item.itemFoodChocolateCake.name=Chocolate Cake -item.itemFoodNoodle.name=Noodle -item.itemFoodSpaghetti.name=Spaghetti -item.itemFoodFrenchFry.name=French Fry -item.itemFoodFrenchFries.name=French Fries -item.itemFoodFishNChips.name=Fish 'N' Chips -item.itemFoodCarrotJuice.name=Carrot Juice -item.itemFoodPumpkinStew.name=Pumpkin Stew -item.itemFoodCheese.name=Cheese +item.someprettyrandomstuff.itemFoodBaguette.name=Baguette +item.someprettyrandomstuff.itemFoodPizza.name=Pizza +item.someprettyrandomstuff.itemFoodHamburger.name=Hamburger +item.someprettyrandomstuff.itemFoodBigCookie.name=Big Cookie +item.someprettyrandomstuff.itemFoodSubmarineSandwich.name=Submarine Sandwich +item.someprettyrandomstuff.itemFoodToast.name=Toast +item.someprettyrandomstuff.itemFoodChocolate.name=Chocolate +item.someprettyrandomstuff.itemFoodChocolateCake.name=Chocolate Cake +item.someprettyrandomstuff.itemFoodNoodle.name=Noodle +item.someprettyrandomstuff.itemFoodSpaghetti.name=Spaghetti +item.someprettyrandomstuff.itemFoodFrenchFry.name=French Fry +item.someprettyrandomstuff.itemFoodFrenchFries.name=French Fries +item.someprettyrandomstuff.itemFoodFishNChips.name=Fish 'N' Chips +item.someprettyrandomstuff.itemFoodCarrotJuice.name=Carrot Juice +item.someprettyrandomstuff.itemFoodPumpkinStew.name=Pumpkin Stew +item.someprettyrandomstuff.itemFoodCheese.name=Cheese -tooltip.shiftForInfo.desc=Press Shift for Info -tooltip.hunger.desc=Fills -tooltip.saturation.desc=Saturation -tooltip.durability.desc=Durability +tooltip.someprettyrandomstuff.shiftForInfo.desc=Press Shift for Info +tooltip.someprettyrandomstuff.hunger.desc=Fills +tooltip.someprettyrandomstuff.saturation.desc=Saturation +tooltip.someprettyrandomstuff.durability.desc=Durability -tooltip.blockCompost.desc=Used to make Fertilizer with Mashed Food -tooltip.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch! -tooltip.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating. -tooltip.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating. -tooltip.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say! -tooltip.blockFeeder.desc=Feeds Animals on its own! +tooltip.someprettyrandomstuff.blockCompost.desc=Used to make Fertilizer with Mashed Food +tooltip.someprettyrandomstuff.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch! +tooltip.someprettyrandomstuff.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating. +tooltip.someprettyrandomstuff.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating. +tooltip.someprettyrandomstuff.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say! +tooltip.someprettyrandomstuff.blockFeeder.desc=Feeds Animals on its own! +tooltip.someprettyrandomstuff.blockGiantChest.desc=GUI Scale on 'Auto'? That's a problem! -tooltip.itemMiscMashedFood.desc=Used to make Fertilizer -tooltip.itemMiscRefinedIron.desc=Iron, but better -tooltip.itemMiscRefinedRedstone.desc=Redstone, but better -tooltip.itemMiscCompressedIron.desc=Iron, but compressed -tooltip.itemMiscSteel.desc=Like Iron, but stronger. Much stronger. -tooltip.itemFertilizer.desc=Om nom nom. Don't eat it. -tooltip.itemMiscDough.desc=Used to make things that involve dough. -tooltip.itemMiscPaperCone.desc=Used to store foodstuffs! -tooltip.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth! -tooltip.itemMiscKnifeHandle.desc=Fits comfortably in your hand. -tooltip.itemMiscBlackQuartz.desc=Used in the Quartz Enchanter! +tooltip.someprettyrandomstuff.itemMiscMashedFood.desc=Used to make Fertilizer +tooltip.someprettyrandomstuff.itemMiscRefinedIron.desc=Iron, but better +tooltip.someprettyrandomstuff.itemMiscRefinedRedstone.desc=Redstone, but better +tooltip.someprettyrandomstuff.itemMiscCompressedIron.desc=Iron, but compressed +tooltip.someprettyrandomstuff.itemMiscSteel.desc=Like Iron, but stronger. Much stronger. +tooltip.someprettyrandomstuff.itemFertilizer.desc=Om nom nom. Don't eat it. +tooltip.someprettyrandomstuff.itemMiscDough.desc=Used to make things that involve dough. +tooltip.someprettyrandomstuff.itemMiscPaperCone.desc=Used to store foodstuffs! +tooltip.someprettyrandomstuff.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth! +tooltip.someprettyrandomstuff.itemMiscKnifeHandle.desc=Fits comfortably in your hand. +tooltip.someprettyrandomstuff.itemMiscBlackQuartz.desc=Used in the Quartz Enchanter! -tooltip.itemKnife.desc=Cuts things! Only food though, don't think of stuff... -tooltip.itemPickaxeEmerald.desc=Mines Stone. -tooltip.itemAxeEmerald.desc=Mines Wood. -tooltip.itemShovelEmerald.desc=Mines Dirt. -tooltip.itemHoeEmerald.desc=Mines... uhm... yea. -tooltip.itemSwordEmerald.desc=Mines... mobs? -tooltip.itemPickaxeObsidian.desc=Mines Stone. Slooooowly. -tooltip.itemAxeObsidian.desc=Mines Wood. Slooooowly. -tooltip.itemShovelObsidian.desc=Mines Dirt. Slooooowly. -tooltip.itemHoeObsidian.desc=Mines... uhm... yea. -tooltip.itemSwordObsidian.desc=Mines... mobs? +tooltip.someprettyrandomstuff.itemKnife.desc=Cuts things! Only food though, don't think of stuff... +tooltip.someprettyrandomstuff.itemPickaxeEmerald.desc=Mines Stone. +tooltip.someprettyrandomstuff.itemAxeEmerald.desc=Mines Wood. +tooltip.someprettyrandomstuff.itemShovelEmerald.desc=Mines Dirt. +tooltip.someprettyrandomstuff.itemHoeEmerald.desc=Mines... uhm... yea. +tooltip.someprettyrandomstuff.itemSwordEmerald.desc=Mines... mobs? +tooltip.someprettyrandomstuff.itemPickaxeObsidian.desc=Mines Stone. Slooooowly. +tooltip.someprettyrandomstuff.itemAxeObsidian.desc=Mines Wood. Slooooowly. +tooltip.someprettyrandomstuff.itemShovelObsidian.desc=Mines Dirt. Slooooowly. +tooltip.someprettyrandomstuff.itemHoeObsidian.desc=Mines... uhm... yea. +tooltip.someprettyrandomstuff.itemSwordObsidian.desc=Mines... mobs? -tooltip.itemFoodBaguette.desc=It's french. It's noms. -tooltip.itemFoodPizza.desc=Who doesn't like it? -tooltip.itemFoodHamburger.desc=It's from a german city! -tooltip.itemFoodBigCookie.desc=Do you know? The Subway Thing? -tooltip.itemFoodSubmarineSandwich.desc=Do you know? The Subway and everything else Thing? -tooltip.itemFoodToast.desc="GHOSTS! GHOSTS! TOASTS!" -tooltip.itemFoodChocolate.desc=Lari likes. -tooltip.itemFoodChocolateCake.desc=Looks delicious. With redberries. Or something. -tooltip.itemFoodNoodle.desc=Just one. Like... that's not much. -tooltip.itemFoodSpaghetti.desc=The most generic food ever. So clichée. -tooltip.itemFoodFrenchFry.desc=French. Fry. -tooltip.itemFoodFrenchFries.desc=Much like French Fires, but actually taste good. -tooltip.itemFoodFishNChips.desc=It's Fish. It's Chips. Or French Fries. Whatevs. -tooltip.itemFoodCarrotJuice.desc=Carrots, but pressed! -tooltip.itemFoodPumpkinStew.desc=Like Mushroom Stew or Rabbit Stew, but pumpykinny. -tooltip.itemFoodCheese.desc=Cheese. +tooltip.someprettyrandomstuff.itemFoodBaguette.desc=It's french. It's noms. +tooltip.someprettyrandomstuff.itemFoodPizza.desc=Who doesn't like it? +tooltip.someprettyrandomstuff.itemFoodHamburger.desc=It's from a german city! +tooltip.someprettyrandomstuff.itemFoodBigCookie.desc=Do you know? The Subway Thing? +tooltip.someprettyrandomstuff.itemFoodSubmarineSandwich.desc=Do you know? The Subway and everything else Thing? +tooltip.someprettyrandomstuff.itemFoodToast.desc="GHOSTS! GHOSTS! TOASTS!" +tooltip.someprettyrandomstuff.itemFoodChocolate.desc=Lari likes. +tooltip.someprettyrandomstuff.itemFoodChocolateCake.desc=Looks delicious. With redberries. Or something. +tooltip.someprettyrandomstuff.itemFoodNoodle.desc=Just one. Like... that's not much. +tooltip.someprettyrandomstuff.itemFoodSpaghetti.desc=The most generic food ever. So clichée. +tooltip.someprettyrandomstuff.itemFoodFrenchFry.desc=French. Fry. +tooltip.someprettyrandomstuff.itemFoodFrenchFries.desc=Much like French Fires, but actually taste good. +tooltip.someprettyrandomstuff.itemFoodFishNChips.desc=It's Fish. It's Chips. Or French Fries. Whatevs. +tooltip.someprettyrandomstuff.itemFoodCarrotJuice.desc=Carrots, but pressed! +tooltip.someprettyrandomstuff.itemFoodPumpkinStew.desc=Like Mushroom Stew or Rabbit Stew, but pumpykinny. +tooltip.someprettyrandomstuff.itemFoodCheese.desc=Cheese. -achievement.smeltBaguette=Better than Bread! -achievement.smeltBaguette.desc=Bake a Baguette -achievement.craftDough=Knead, knead! -achievement.craftDough.desc=Craft some Dough -achievement.craftCompost=Throw it all in! -achievement.craftCompost.desc=Craft a Compost -achievement.craftFertilizer=Better than Bone Meal! -achievement.craftFertilizer.desc=Make Fertilizer -achievement.craftSubSandwich=Metro, Underground, Tube, Nom! -achievement.craftSubSandwich.desc=Craft a Submarine Sandwich -achievement.craftPaperCone=Witch's hat! -achievement.craftPaperCone.desc=Craft a Paper Cone -achievement.craftFrenchFry=Just the single one... -achievement.craftFrenchFry.desc=Craft a French Fry -achievement.craftFrenchFries=French Fires? -achievement.craftFrenchFries.desc=Craft French Fries -achievement.craftFishNChips=It's Fish! It's Chips! -achievement.craftFishNChips.desc=Craft Fish 'N' Chips -achievement.craftMashedFood=Munch munch munch! -achievement.craftMashedFood.desc=Craft Mashed Food -achievement.craftKnifeBlade=Sharp! So sharp! -achievement.craftKnifeBlade.desc=Craft a Knife Blade -achievement.craftKnife=Sharper! Even sharper! -achievement.craftKnife.desc=Craft a Knife +achievement.someprettyrandomstuff.smeltBaguette=Better than Bread! +achievement.someprettyrandomstuff.smeltBaguette.desc=Bake a Baguette +achievement.someprettyrandomstuff.craftDough=Knead, knead! +achievement.someprettyrandomstuff.craftDough.desc=Craft some Dough +achievement.someprettyrandomstuff.craftCompost=Throw it all in! +achievement.someprettyrandomstuff.craftCompost.desc=Craft a Compost +achievement.someprettyrandomstuff.craftFertilizer=Better than Bone Meal! +achievement.someprettyrandomstuff.craftFertilizer.desc=Make Fertilizer +achievement.someprettyrandomstuff.craftSubSandwich=Metro, Underground, Tube, Nom! +achievement.someprettyrandomstuff.craftSubSandwich.desc=Craft a Submarine Sandwich +achievement.someprettyrandomstuff.craftPaperCone=Witch's hat! +achievement.someprettyrandomstuff.craftPaperCone.desc=Craft a Paper Cone +achievement.someprettyrandomstuff.craftFrenchFry=Just the single one... +achievement.someprettyrandomstuff.craftFrenchFry.desc=Craft a French Fry +achievement.someprettyrandomstuff.craftFrenchFries=French Fires? +achievement.someprettyrandomstuff.craftFrenchFries.desc=Craft French Fries +achievement.someprettyrandomstuff.craftFishNChips=It's Fish! It's Chips! +achievement.someprettyrandomstuff.craftFishNChips.desc=Craft Fish 'N' Chips +achievement.someprettyrandomstuff.craftMashedFood=Munch munch munch! +achievement.someprettyrandomstuff.craftMashedFood.desc=Craft Mashed Food +achievement.someprettyrandomstuff.craftKnifeBlade=Sharp! So sharp! +achievement.someprettyrandomstuff.craftKnifeBlade.desc=Craft a Knife Blade +achievement.someprettyrandomstuff.craftKnife=Sharper! Even sharper! +achievement.someprettyrandomstuff.craftKnife.desc=Craft a Knife -feeder.animal.desc=Animal -feeder.animalsSuffix.desc=s -feeder.enoughToBreed.desc=Enough to breed! -feeder.tooMany.desc=Too many to breed! -feeder.notEnough.desc=Not enough to breed! \ No newline at end of file +info.someprettyrandomstuff.feeder.animal.desc=Animal +info.someprettyrandomstuff.feeder.animalsSuffix.desc=s +info.someprettyrandomstuff.feeder.enoughToBreed.desc=Enough to breed! +info.someprettyrandomstuff.feeder.tooMany.desc=Too many to breed! +info.someprettyrandomstuff.feeder.notEnough.desc=Not enough to breed! \ No newline at end of file diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChest.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChest.png new file mode 100644 index 000000000..898ee7474 Binary files /dev/null and b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChest.png differ diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChestTop.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChestTop.png new file mode 100644 index 000000000..485f8a4f0 Binary files /dev/null and b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockGiantChestTop.png differ diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscOreBlackQuartz.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscOreBlackQuartz.png index e0d3735cd..c17cd4b7c 100644 Binary files a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscOreBlackQuartz.png and b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscOreBlackQuartz.png differ diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiFeeder.png b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiFeeder.png index d370d9812..417d2af29 100644 Binary files a/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiFeeder.png and b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiFeeder.png differ diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiGiantChest.png b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiGiantChest.png new file mode 100644 index 000000000..eafc35dac Binary files /dev/null and b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiGiantChest.png differ diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiInventory.png b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiInventory.png new file mode 100644 index 000000000..6916cd386 Binary files /dev/null and b/src/main/resources/assets/someprettyrandomstuff/textures/gui/guiInventory.png differ