mirror of
https://github.com/BentoBoxWorld/Greenhouses.git
synced 2024-11-21 18:16:03 +01:00
Remove unused imports
This commit is contained in:
parent
95474d6c53
commit
308dc225cd
@ -38,6 +38,7 @@ import com.google.common.base.Enums;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.util.Util;
|
||||
import world.bentobox.greenhouses.Greenhouses;
|
||||
import world.bentobox.greenhouses.data.Greenhouse;
|
||||
@ -376,27 +377,37 @@ public class BiomeRecipe implements Comparable<BiomeRecipe> {
|
||||
}
|
||||
// Center spawned mob
|
||||
Location spawnLoc = b.getLocation().clone().add(new Vector(0.5, 0, 0.5));
|
||||
return getRandomMob()
|
||||
BentoBox.getInstance().logDebug("Spawning at " + spawnLoc.getBlock().getType() + " " + spawnLoc);
|
||||
getRandomMob().ifPresent(m -> {
|
||||
BentoBox.getInstance().logDebug("Mob is " + m.mobType());
|
||||
BentoBox.getInstance().logDebug("mobSpawnOn = " + m.mobSpawnOn());
|
||||
BentoBox.getInstance().logDebug("Block below is " + b.getRelative(BlockFace.DOWN).getType());
|
||||
});
|
||||
boolean result = getRandomMob()
|
||||
// Check if the spawn on block matches, if it exists
|
||||
.filter(m -> Optional.of(m.mobSpawnOn())
|
||||
.map(b.getRelative(BlockFace.DOWN).getType()::equals)
|
||||
.orElse(true))
|
||||
// If spawn occurs, check if it can fit inside greenhouse
|
||||
.map(m -> {
|
||||
BentoBox.getInstance().logDebug("Mob is " + m);
|
||||
Entity entity = b.getWorld().spawnEntity(spawnLoc, m.mobType());
|
||||
preventZombie(entity);
|
||||
return addon
|
||||
.getManager()
|
||||
.getMap()
|
||||
.getGreenhouse(b.getLocation()).map(gh -> {
|
||||
BentoBox.getInstance().logDebug("Checking boundary");
|
||||
if (!gh.getInternalBoundingBox().contains(entity.getBoundingBox())) {
|
||||
entity.remove();
|
||||
BentoBox.getInstance().logDebug("Removed");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}).orElse(false);
|
||||
}).orElse(false);
|
||||
|
||||
BentoBox.getInstance().logDebug("Result = " + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,6 +19,7 @@ import org.bukkit.scheduler.BukkitTask;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
import org.bukkit.util.NumberConversions;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.greenhouses.Greenhouses;
|
||||
import world.bentobox.greenhouses.data.Greenhouse;
|
||||
import world.bentobox.greenhouses.greenhouse.BiomeRecipe;
|
||||
@ -138,14 +139,17 @@ public class EcoSystemManager {
|
||||
* @return true if mobs were spawned, false if not
|
||||
*/
|
||||
boolean addMobs(Greenhouse gh) {
|
||||
BentoBox.getInstance().logDebug("Adding mobs");
|
||||
final BoundingBox bb = gh.getBoundingBox();
|
||||
if(gh.getLocation() == null || gh.getLocation().getWorld() == null || gh.getWorld() == null
|
||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMaxX()) >> 4, ((int) bb.getMaxZ()) >> 4)
|
||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMinX()) >> 4, ((int) bb.getMinZ()) >> 4)){
|
||||
// Skipping addmobs for unloaded greenhouse
|
||||
BentoBox.getInstance().logDebug("unloaded gh");
|
||||
return false;
|
||||
}
|
||||
if (gh.getBiomeRecipe().noMobs()) {
|
||||
BentoBox.getInstance().logDebug("No mobs in recipe");
|
||||
return false;
|
||||
}
|
||||
// Check greenhouse chunks are loaded
|
||||
@ -154,6 +158,7 @@ public class EcoSystemManager {
|
||||
int chunkX = (int)(blockX / 16);
|
||||
int chunkZ = (int)(blockZ / 16);
|
||||
if (!gh.getWorld().isChunkLoaded(chunkX, chunkZ)) {
|
||||
BentoBox.getInstance().logDebug("Chunks not loaded");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -164,19 +169,26 @@ public class EcoSystemManager {
|
||||
.filter(e -> gh.contains(e.getLocation())).count();
|
||||
// Get the blocks in the greenhouse where spawning could occur
|
||||
List<GrowthBlock> list = new ArrayList<>(getAvailableBlocks(gh, false));
|
||||
BentoBox.getInstance().logDebug("Entities = " + sum + " available blocks are " + list.size());
|
||||
list.forEach(gb -> BentoBox.getInstance().logDebug(gb.block.getType()));
|
||||
Collections.shuffle(list, new Random(System.currentTimeMillis()));
|
||||
Iterator<GrowthBlock> it = list.iterator();
|
||||
// Check if the greenhouse is full
|
||||
if (sum >= gh.getBiomeRecipe().getMaxMob()) {
|
||||
BentoBox.getInstance().logDebug("GH is full");
|
||||
return false;
|
||||
}
|
||||
while (it.hasNext() && (sum == 0 || gh.getArea() / sum >= gh.getBiomeRecipe().getMobLimit())) {
|
||||
// Spawn something if chance says so
|
||||
if (gh.getBiomeRecipe().spawnMob(it.next().block())) {
|
||||
// Add a mob to the sum in the greenhouse
|
||||
BentoBox.getInstance().logDebug("Spawned a mob");
|
||||
sum++;
|
||||
}
|
||||
}
|
||||
if (sum == 0 ) {
|
||||
BentoBox.getInstance().logDebug("Nothing spawned");
|
||||
}
|
||||
return sum > 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user