diff options
Diffstat (limited to 'TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java')
| -rwxr-xr-x | TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java b/TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java new file mode 100755 index 0000000..807e9ab --- /dev/null +++ b/TF2 Crates/src/main/java/tf2crates/item/ItemNoiseMaker.java @@ -0,0 +1,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;
+ }
+}
\ No newline at end of file |
