summaryrefslogtreecommitdiff
path: root/YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2018-05-24 15:53:20 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2018-05-24 15:53:20 -0400
commit3eb8c7a8fca3f22475d53e30f0b90a6737f313fa (patch)
tree1c0afbcb6712408fb791849969f9766dcdeb5868 /YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java
Initial commit
Diffstat (limited to 'YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java')
-rwxr-xr-xYWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java166
1 files changed, 166 insertions, 0 deletions
diff --git a/YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java b/YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java
new file mode 100755
index 0000000..f38d488
--- /dev/null
+++ b/YWD/src/main/java/fyresmodjam/items/ItemMysteryMushroom.java
@@ -0,0 +1,166 @@
+package fyresmodjam.items;
+
+import java.util.List;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import fyresmodjam.ModjamMod;
+import fyresmodjam.handlers.NewPacketHandler;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class ItemMysteryMushroom extends Item {
+
+ public IIcon overlay, icon;
+
+ public ItemMysteryMushroom() {
+ super();
+ setHasSubtypes(true);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ icon = par1IconRegister
+ .registerIcon("fyresmodjam:mushroom");
+ overlay = par1IconRegister.registerIcon(
+ "fyresmodjam:mushroom_overlay");
+ itemIcon = icon;
+ }
+
+ @Override
+ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs,
+ List par3List) {
+ for (int i = 0; i < 13; i++) {
+ par3List.add(new ItemStack(par1, 1, i));
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getColorFromItemStack(ItemStack par1ItemStack,
+ int par2) {
+ return NewPacketHandler.mushroomColors[par1ItemStack
+ .getItemDamage() % 13][par2 % 2];
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean requiresMultipleRenderPasses() {
+ return true;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamageForRenderPass(int par1, int par2) {
+ return par2 > 0 ? overlay : icon;
+ }
+
+ @Override
+ public boolean onItemUse(ItemStack par1ItemStack,
+ EntityPlayer par2EntityPlayer, World par3World,
+ int par4, int par5, int par6, int par7, float par8,
+ float par9, float par10) {
+ Block i1 = par3World.getBlock(par4, par5, par6);
+
+ if (i1 == Blocks.snow && (par3World.getBlockMetadata(par4,
+ par5, par6) & 7) < 1) {
+ par7 = 1;
+ } else if (i1 != Blocks.vine && i1 != Blocks.tallgrass
+ && i1 != Blocks.deadbush
+ && (i1 == null || !i1.isReplaceable(
+ par3World, par4, par5,
+ par6))) {
+ if (par7 == 0) {
+ --par5;
+ }
+
+ if (par7 == 1) {
+ ++par5;
+ }
+
+ if (par7 == 2) {
+ --par6;
+ }
+
+ if (par7 == 3) {
+ ++par6;
+ }
+
+ if (par7 == 4) {
+ --par4;
+ }
+
+ if (par7 == 5) {
+ ++par4;
+ }
+ }
+
+ if (par1ItemStack.stackSize == 0) {
+ return false;
+ } else if (!par2EntityPlayer.canPlayerEdit(par4, par5,
+ par6, par7, par1ItemStack)) {
+ return false;
+ } else if (par5 == 255 && ModjamMod.mysteryMushroomBlock
+ .getMaterial().isSolid()) {
+ return false;
+ } else if (par3World.canPlaceEntityOnSide(
+ ModjamMod.mysteryMushroomBlock, par4, par5,
+ par6, false, par7, par2EntityPlayer,
+ par1ItemStack)) {
+
+ Block block = ModjamMod.mysteryMushroomBlock;
+ int j1 = par1ItemStack.getItemDamage();
+ int k1 = ModjamMod.mysteryMushroomBlock
+ .onBlockPlaced(par3World, par4,
+ par5, par6, par7,
+ par8, par9, par10,
+ j1);
+
+ if (onItemUseFirst(par1ItemStack, par2EntityPlayer,
+ par3World, par4, par5, par6, par7,
+ par8, par9, par10, k1)) {
+ par3World.playSoundEffect(par4 + 0.5F,
+ par5 + 0.5F, par6 + 0.5F,
+ block.stepSound.func_150496_b(),
+ (block.stepSound.getVolume()
+ + 1.0F)
+ / 2.0F,
+ block.stepSound.getPitch()
+ * 0.8F);
+ --par1ItemStack.stackSize;
+ }
+
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public boolean onItemUseFirst(ItemStack stack, EntityPlayer player,
+ World world, int x, int y, int z, int side,
+ float hitX, float hitY, float hitZ, int metadata) {
+ if (!world.setBlock(x, y, z,
+ ModjamMod.mysteryMushroomBlock, metadata,
+ 3)) {
+ return false;
+ }
+
+ if (world.getBlock(x, y,
+ z) == ModjamMod.mysteryMushroomBlock) {
+ ModjamMod.mysteryMushroomBlock.onBlockPlacedBy(
+ world, x, y, z, player, stack);
+ ModjamMod.mysteryMushroomBlock.onPostBlockPlaced(
+ world, x, y, z, metadata);
+ }
+
+ return true;
+ }
+}