/**
Copyright (C) <2015> <coolAlias>
This file is part of coolAlias' Zelda Sword Skills Minecraft Mod; as such,
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package zeldaswordskills.util;
import java.util.Timer;
import java.util.TimerTask;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
public class TimedAddItem {
Timer timer;
final EntityPlayer player;
final ItemStack stack;
final String sound;
/**
* Adds the ItemStack to the player's inventory after the given delay (in milliseconds)
*/
public TimedAddItem(EntityPlayer player, ItemStack stack, int delay) {
this(player, stack, delay, "random.pop");
}
/**
* Adds the ItemStack to the player's inventory after the given delay (in milliseconds)
* and plays the sound file specified
*/
public TimedAddItem(EntityPlayer player, ItemStack stack, int delay, String sound) {
this.player = player;
this.stack = stack;
this.sound = sound;
timer = new Timer();
timer.schedule(new AddItemTask(), delay);
}
class AddItemTask extends TimerTask {
@Override
public void run() {
if (sound != null) {
float pitch = 1.0F;
if (("random.pop").equals(sound)) {
pitch = ((player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F;
}
PlayerUtils.playSound(player, sound, 1.0F, pitch);
}
PlayerUtils.addItemToInventory(player, stack);
timer.cancel();
}
}
}