2016-04-14 16:24:03 +00:00
|
|
|
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem;
|
|
|
|
|
|
|
|
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
|
|
|
|
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
|
|
|
import me.mrCookieSlime.Slimefun.Lists.Categories;
|
|
|
|
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
|
|
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.handlers.BlockTicker;
|
|
|
|
|
|
|
|
import org.bukkit.block.Block;
|
|
|
|
import org.bukkit.block.Furnace;
|
|
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
|
|
|
|
public class EnhancedFurnace extends SlimefunItem {
|
|
|
|
|
|
|
|
int speed, efficiency, fortune;
|
|
|
|
|
2017-10-13 18:59:52 +00:00
|
|
|
public EnhancedFurnace(int speed, int efficiency, int fortune, ItemStack item, String id, ItemStack[] recipe) {
|
|
|
|
super(Categories.MACHINES_1, item, id, RecipeType.ENHANCED_CRAFTING_TABLE, recipe);
|
2016-04-14 16:24:03 +00:00
|
|
|
|
|
|
|
this.speed = speed - 1;
|
|
|
|
this.efficiency = efficiency - 1;
|
|
|
|
this.fortune = fortune - 1;
|
|
|
|
|
|
|
|
addItemHandler(new BlockTicker() {
|
|
|
|
@Override
|
|
|
|
public void tick(Block b, SlimefunItem item, Config data) {
|
2018-01-06 10:07:54 +00:00
|
|
|
if (b.getState() instanceof Furnace)
|
2016-04-14 16:24:03 +00:00
|
|
|
if (((Furnace) b.getState()).getCookTime() > 0) {
|
2018-01-05 17:09:10 +00:00
|
|
|
Furnace furnace = (Furnace) b.getState();
|
|
|
|
furnace.setCookTime((short) (furnace.getCookTime() + getSpeed() * 10));
|
|
|
|
furnace.update(true, false);
|
2016-04-14 16:24:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void uniqueTick() {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isSynchronized() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getSpeed() {
|
|
|
|
return speed;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getFuelEfficiency() {
|
|
|
|
return speed;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getOutput() {
|
|
|
|
int fortune = this.fortune;
|
|
|
|
fortune = SlimefunStartup.randomize(fortune + 2) - 1;
|
|
|
|
if (fortune <= 0) fortune = 0;
|
|
|
|
fortune++;
|
|
|
|
return fortune;
|
|
|
|
}
|
|
|
|
}
|