42 lines
1.6 KiB
Java
42 lines
1.6 KiB
Java
package com.songoda.epicbuckets.genbucket.types;
|
|
|
|
import com.songoda.epicbuckets.EpicBuckets;
|
|
import com.songoda.epicbuckets.genbucket.Genbucket;
|
|
import com.songoda.epicbuckets.genbucket.GenbucketType;
|
|
import com.songoda.epicbuckets.shop.SubShop;
|
|
import org.bukkit.block.Block;
|
|
import org.bukkit.block.BlockFace;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
public class Vertical extends Genbucket {
|
|
|
|
private int blocksPlaced = 0;
|
|
|
|
public Vertical(Player owner, Block clickedBlock, BlockFace blockFace, SubShop s) {
|
|
super(GenbucketType.VERTICAL, clickedBlock, blockFace, s, owner);
|
|
}
|
|
|
|
@Override
|
|
public void generate() {
|
|
BukkitRunnable runnable = new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
if (isGravityGen()) {
|
|
if (!gravityGen(blocksPlaced)) {
|
|
epicBuckets.getGenbucketManager().unregisterGenbucketForPlayer(getOwner(), getGenUUID());
|
|
cancel();
|
|
return;
|
|
}
|
|
} else if (isBelowVoid(blocksPlaced + 1) || blocksPlaced >= epicBuckets.getConfigManager().getMaxVerticalHeight() || !placeGen(getNextBlock())) {
|
|
epicBuckets.getGenbucketManager().unregisterGenbucketForPlayer(getOwner(), getGenUUID());
|
|
cancel();
|
|
return;
|
|
}
|
|
blocksPlaced++;
|
|
}
|
|
};
|
|
setGeneration(runnable.runTaskTimer(EpicBuckets.getInstance(), 0, epicBuckets.getConfigManager().getDelay()));
|
|
}
|
|
}
|