mirror of
https://github.com/BentoBoxWorld/AcidIsland.git
synced 2025-02-02 13:31:24 +01:00
AcidIsland addon for BSB.
This commit is contained in:
parent
6ef7b448d1
commit
6ac6fe44c0
176
src/main/java/bskyblock/addon/acidisland/AISettings.java
Normal file
176
src/main/java/bskyblock/addon/acidisland/AISettings.java
Normal file
@ -0,0 +1,176 @@
|
||||
package bskyblock.addon.acidisland;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import us.tastybento.bskyblock.api.configuration.WorldSettings;
|
||||
|
||||
/**
|
||||
* A lot of placeholders right now in here...
|
||||
* @author tastybento
|
||||
*
|
||||
*/
|
||||
public class AISettings implements WorldSettings {
|
||||
|
||||
public int getAcidDamage() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public List<PotionEffectType> getAcidDamageType() {
|
||||
List<PotionEffectType> result = new ArrayList<>();
|
||||
result.add(PotionEffectType.CONFUSION);
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<ItemStack> getChestItems() {
|
||||
// TODO Auto-generated method stub
|
||||
List<ItemStack> result = new ArrayList<>();
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean getDamageOps() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<EntityType, Integer> getEntityLimits() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean getFullArmorProtection() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getHelmetProtection() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandDistance() {
|
||||
// TODO Auto-generated method stub
|
||||
return 60;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandHeight() {
|
||||
// TODO Auto-generated method stub
|
||||
return 50;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandProtectionRange() {
|
||||
// TODO Auto-generated method stub
|
||||
return 50;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandStartX() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandStartZ() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandXOffset() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIslandZOffset() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxIslands() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNetherSpawnRadius() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getRainDamage() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int getSeaHeight() {
|
||||
return 55;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Integer> getTileEntityLimits() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getWorldName() {
|
||||
return "AcidIsland-world";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEndGenerate() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEndIslands() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNetherGenerate() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNetherIslands() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isNetherRoof() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNetherTrees() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFriendlyName() {
|
||||
return "AcidIsland";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDragonSpawn() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -14,13 +14,13 @@ import us.tastybento.bskyblock.api.addons.Addon;
|
||||
*/
|
||||
public class AcidIsland extends Addon {
|
||||
|
||||
private Settings settings;
|
||||
private AISettings settings;
|
||||
private AcidIslandWorld aiw;
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Load settings
|
||||
settings = new Settings();
|
||||
settings = new AISettings();
|
||||
// Create worlds
|
||||
aiw = new AcidIslandWorld(this);
|
||||
// TODO Register settings
|
||||
@ -43,7 +43,7 @@ public class AcidIsland extends Addon {
|
||||
public void onDisable(){
|
||||
}
|
||||
|
||||
public Settings getSettings() {
|
||||
public AISettings getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ public class AcidIslandWorld {
|
||||
// Create the world if it does not exist
|
||||
islandWorld = WorldCreator.name(worldName).type(WorldType.FLAT).environment(World.Environment.NORMAL).generator(new ChunkGeneratorWorld(addon))
|
||||
.createWorld();
|
||||
addon.getBSkyBlock().registerWorld("acidisland", islandWorld);
|
||||
addon.getBSkyBlock().registerWorld(islandWorld, addon.getSettings());
|
||||
// Make the nether if it does not exist
|
||||
if (addon.getSettings().isNetherGenerate()) {
|
||||
if (addon.getServer().getWorld(worldName + NETHER) == null) {
|
||||
@ -47,7 +47,6 @@ public class AcidIslandWorld {
|
||||
netherWorld = WorldCreator.name(worldName + NETHER).type(WorldType.FLAT).generator(new ChunkGeneratorWorld(addon))
|
||||
.environment(World.Environment.NETHER).createWorld();
|
||||
}
|
||||
addon.getBSkyBlock().registerWorld("acid_nether", netherWorld);
|
||||
}
|
||||
// Make the end if it does not exist
|
||||
if (addon.getSettings().isEndGenerate()) {
|
||||
@ -60,7 +59,6 @@ public class AcidIslandWorld {
|
||||
endWorld = WorldCreator.name(worldName + THE_END).type(WorldType.FLAT).generator(new ChunkGeneratorWorld(addon))
|
||||
.environment(World.Environment.THE_END).createWorld();
|
||||
}
|
||||
addon.getBSkyBlock().registerWorld("acid_end", endWorld);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,82 +0,0 @@
|
||||
package bskyblock.addon.acidisland;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
/**
|
||||
* A lot of placeholders right now in here...
|
||||
* @author tastybento
|
||||
*
|
||||
*/
|
||||
public class Settings {
|
||||
|
||||
public boolean isNetherGenerate() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isNetherIslands() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isEndGenerate() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isEndIslands() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getSeaHeight() {
|
||||
return 125;
|
||||
}
|
||||
|
||||
public boolean isNetherRoof() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getWorldName() {
|
||||
return "AcidIsland";
|
||||
}
|
||||
|
||||
public int getRainDamage() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int getAcidDamage() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public boolean getDamageOps() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<PotionEffectType> getAcidDamageType() {
|
||||
List<PotionEffectType> result = new ArrayList<>();
|
||||
result.add(PotionEffectType.CONFUSION);
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean getHelmetProtection() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getFullArmorProtection() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<ItemStack> getChestItems() {
|
||||
// TODO Auto-generated method stub
|
||||
List<ItemStack> result = new ArrayList<>();
|
||||
return result;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package bskyblock.addon.acidisland.listeners;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.TreeType;
|
||||
@ -35,30 +36,37 @@ public class IslandBuilder implements Listener {
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
public void onIslandCreate(final IslandCreateEvent event) {
|
||||
if (addon.isEnabled()) {
|
||||
public void onIslandCreate(IslandCreateEvent event) {
|
||||
// Only create islands in the AcidIsland worlds
|
||||
if (addon.isEnabled() && addon.getAiw().inWorld(event.getLocation())) {
|
||||
event.setCancelled(true);
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getOverWorld());
|
||||
if (addon.getSettings().isNetherGenerate() && addon.getSettings().isNetherIslands()) {
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getNetherWorld());
|
||||
}
|
||||
if (addon.getSettings().isEndGenerate() && addon.getSettings().isEndIslands()) {
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getEndWorld());
|
||||
}
|
||||
createIsland(User.getInstance(event.getPlayerUUID()), event.getIsland());
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
public void onIslandReset(final IslandResetEvent event) {
|
||||
if (addon.isEnabled()) {
|
||||
public void onIslandReset(IslandResetEvent event) {
|
||||
// Only create islands in the AcidIsland worlds
|
||||
if (addon.isEnabled() && addon.getAiw().inWorld(event.getLocation())) {
|
||||
event.setCancelled(true);
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getOverWorld());
|
||||
if (addon.getSettings().isNetherGenerate() && addon.getSettings().isNetherIslands()) {
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getNetherWorld());
|
||||
}
|
||||
if (addon.getSettings().isEndGenerate() && addon.getSettings().isEndIslands()) {
|
||||
generateAcidIslandBlocks(event.getIsland(), addon.getAiw().getEndWorld());
|
||||
}
|
||||
createIsland(User.getInstance(event.getPlayerUUID()), event.getIsland());
|
||||
}
|
||||
}
|
||||
|
||||
private void createIsland(User user, Island island) {
|
||||
if (user != null) {
|
||||
user.setGameMode(GameMode.SPECTATOR);
|
||||
}
|
||||
generateAcidIslandBlocks(island, addon.getAiw().getOverWorld());
|
||||
if (addon.getSettings().isNetherGenerate() && addon.getSettings().isNetherIslands()) {
|
||||
generateAcidIslandBlocks(island, addon.getAiw().getNetherWorld());
|
||||
}
|
||||
if (addon.getSettings().isEndGenerate() && addon.getSettings().isEndIslands()) {
|
||||
generateAcidIslandBlocks(island, addon.getAiw().getEndWorld());
|
||||
}
|
||||
// Teleport player to their island
|
||||
if (user != null) {
|
||||
addon.getIslands().homeTeleport(island.getWorld(), user.getPlayer());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user