Added Pixie Jars
This commit is contained in:
parent
617413b0bc
commit
7f2cea1927
6 changed files with 98 additions and 3 deletions
|
@ -8,7 +8,7 @@ import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class EntityBird extends EntityFlyingMob
|
public class EntityBird extends EntityFlyingCreature
|
||||||
{
|
{
|
||||||
public int courseChangeCooldown;
|
public int courseChangeCooldown;
|
||||||
public double waypointX;
|
public double waypointX;
|
||||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class EntityPixie extends EntityFlyingMob
|
public class EntityPixie extends EntityFlyingCreature
|
||||||
{
|
{
|
||||||
public int courseChangeCooldown;
|
public int courseChangeCooldown;
|
||||||
public double waypointX;
|
public double waypointX;
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
package biomesoplenty.items;
|
package biomesoplenty.items;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
import net.minecraft.client.renderer.texture.IconRegister;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.EnumMovingObjectType;
|
import net.minecraft.util.EnumMovingObjectType;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.FakePlayer;
|
||||||
import biomesoplenty.BiomesOPlenty;
|
import biomesoplenty.BiomesOPlenty;
|
||||||
import biomesoplenty.api.Fluids;
|
import biomesoplenty.api.Fluids;
|
||||||
import biomesoplenty.api.Items;
|
import biomesoplenty.api.Items;
|
||||||
|
import biomesoplenty.entities.EntityPixie;
|
||||||
|
|
||||||
public class ItemJarEmpty extends Item
|
public class ItemJarEmpty extends Item
|
||||||
{
|
{
|
||||||
|
@ -76,4 +80,43 @@ public class ItemJarEmpty extends Item
|
||||||
return par1ItemStack;
|
return par1ItemStack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if the item can be used on the given entity, e.g. shears on sheep.
|
||||||
|
*/
|
||||||
|
public boolean itemInteractionForEntity(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, EntityLivingBase par3EntityLivingBase)
|
||||||
|
{
|
||||||
|
if (par3EntityLivingBase instanceof EntityPixie)
|
||||||
|
{
|
||||||
|
EntityPixie entitypixie = (EntityPixie)par3EntityLivingBase;
|
||||||
|
|
||||||
|
entitypixie.setDead();
|
||||||
|
|
||||||
|
--par1ItemStack.stackSize;
|
||||||
|
|
||||||
|
if (par2EntityPlayer.inventory.getFirstEmptyStack() >= 0)
|
||||||
|
{
|
||||||
|
EntityItem entityitem = new EntityItem(par2EntityPlayer.worldObj, par2EntityPlayer.posX, par2EntityPlayer.posY, par2EntityPlayer.posZ, new ItemStack(Items.jarFilled.get(), 1, 2));
|
||||||
|
if (!par2EntityPlayer.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
par2EntityPlayer.worldObj.spawnEntityInWorld(entityitem);
|
||||||
|
|
||||||
|
if (!(par2EntityPlayer instanceof FakePlayer))
|
||||||
|
{
|
||||||
|
entityitem.onCollideWithPlayer(par2EntityPlayer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
par2EntityPlayer.dropPlayerItem(new ItemStack(Items.jarFilled.get(), 1, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,17 +4,23 @@ import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.texture.IconRegister;
|
import net.minecraft.client.renderer.texture.IconRegister;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.EntityLivingData;
|
||||||
|
import net.minecraft.entity.monster.EntitySpider;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.Icon;
|
import net.minecraft.util.Icon;
|
||||||
|
import net.minecraft.world.World;
|
||||||
import biomesoplenty.BiomesOPlenty;
|
import biomesoplenty.BiomesOPlenty;
|
||||||
import biomesoplenty.api.Items;
|
import biomesoplenty.api.Items;
|
||||||
|
import biomesoplenty.configuration.configfile.BOPConfigurationIDs;
|
||||||
|
import biomesoplenty.entities.EntityPixie;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class ItemJarFilled extends Item
|
public class ItemJarFilled extends Item
|
||||||
{
|
{
|
||||||
private static String[] jars = {"jarhoney", "jarpoison"};
|
private static String[] jars = {"jarhoney", "jarpoison", "jarpixie"};
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private Icon[] textures;
|
private Icon[] textures;
|
||||||
|
|
||||||
|
@ -66,4 +72,49 @@ public class ItemJarFilled extends Item
|
||||||
subTypes.add(new ItemStack(itemId, 1, meta));
|
subTypes.add(new ItemStack(itemId, 1, meta));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
||||||
|
{
|
||||||
|
if (par1ItemStack.getItemDamage() == 2)
|
||||||
|
{
|
||||||
|
if (par3EntityPlayer.ridingEntity != null)
|
||||||
|
return par1ItemStack;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (par3EntityPlayer.dimension == 0 || par3EntityPlayer.dimension == BOPConfigurationIDs.promisedLandDimID)
|
||||||
|
{
|
||||||
|
--par1ItemStack.stackSize;
|
||||||
|
|
||||||
|
if (par1ItemStack.stackSize <= 0)
|
||||||
|
{
|
||||||
|
return new ItemStack(Items.jarEmpty.get(), 1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!par3EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.jarEmpty.get(), 1, 0)))
|
||||||
|
{
|
||||||
|
par3EntityPlayer.dropPlayerItem(new ItemStack(Items.jarEmpty.get(), 1, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
EntityPixie pixie = new EntityPixie(par2World);
|
||||||
|
pixie.setLocationAndAngles((double)par3EntityPlayer.posX, (double)par3EntityPlayer.posY + 1.0F, (double)par3EntityPlayer.posZ, 0.0F, 0.0F);
|
||||||
|
pixie.onSpawnWithEgg((EntityLivingData)null);
|
||||||
|
par2World.spawnEntityInWorld(pixie);
|
||||||
|
pixie.playLivingSound();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!par3EntityPlayer.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
par3EntityPlayer.addChatMessage("\u00a75Pixies cannot survive in this environment!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return par1ItemStack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,6 +325,7 @@ item.bop.miscItems.pixiedust.name=Pixie Dust
|
||||||
item.bop.jarEmpty.name=Empty Jar
|
item.bop.jarEmpty.name=Empty Jar
|
||||||
item.bop.jarFilled.jarhoney.name=Honey Jar
|
item.bop.jarFilled.jarhoney.name=Honey Jar
|
||||||
item.bop.jarFilled.jarpoison.name=Poison Extract Jar
|
item.bop.jarFilled.jarpoison.name=Poison Extract Jar
|
||||||
|
item.bop.jarFilled.jarpixie.name=Pixie Jar
|
||||||
|
|
||||||
item.bop.gems.amethyst.name=Amethyst
|
item.bop.gems.amethyst.name=Amethyst
|
||||||
item.bop.gems.ruby.name=Ruby
|
item.bop.gems.ruby.name=Ruby
|
||||||
|
|
BIN
resources/assets/biomesoplenty/textures/items/jarpixie.png
Normal file
BIN
resources/assets/biomesoplenty/textures/items/jarpixie.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 356 B |
Loading…
Reference in a new issue