summaryrefslogtreecommitdiff
path: root/TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java
blob: 807e9abe56587e5eccbed79503ea7a3c402b326c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package tf2crates.item;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import tf2crates.ReferenceTC;
import tlhpoeCore.util.MathUtil;

public class ItemNoiseMaker extends Item {
	public String[] noises;

	public ItemNoiseMaker(String name, String... noises) {
		super();

		this.setUnlocalizedName(name);
		this.setTextureName(ReferenceTC.ID + ":" + name);
		this.setMaxStackSize(1);

		this.noises = noises;
	}

	@Override
	public void onPlayerStoppedUsing(ItemStack itemStack, World world,
			EntityPlayer player, int time) {
		if (this.getMaxItemUseDuration(itemStack) - time > 10) {
			player.playSound(noises[MathUtil.nextInt(noises.length)],
					0.25F + ((float) (MathUtil.nextDouble() / 8)), 1F);
		}
	}

	@Override
	public ItemStack onItemRightClick(ItemStack itemStack, World world,
			EntityPlayer player) {
		player.setItemInUse(itemStack,
				this.getMaxItemUseDuration(itemStack));
		return itemStack;
	}

	@Override
	public int getMaxItemUseDuration(ItemStack itemStack) {
		return Integer.MAX_VALUE;
	}

	@Override
	public EnumAction getItemUseAction(ItemStack itemStack) {
		return EnumAction.block;
	}
}