package com.laytonsmith.abstraction; import com.laytonsmith.abstraction.blocks.MCBlock; import com.laytonsmith.abstraction.entities.MCFallingBlock; import com.laytonsmith.abstraction.entities.MCFirework; import com.laytonsmith.abstraction.enums.MCBiomeType; import com.laytonsmith.abstraction.enums.MCDifficulty; import com.laytonsmith.abstraction.enums.MCEffect; import com.laytonsmith.abstraction.enums.MCEntityType; import com.laytonsmith.abstraction.enums.MCGameRule; import com.laytonsmith.abstraction.enums.MCMobs; import com.laytonsmith.abstraction.enums.MCSound; import com.laytonsmith.abstraction.enums.MCSoundCategory; import com.laytonsmith.abstraction.enums.MCTreeType; import com.laytonsmith.abstraction.enums.MCWorldEnvironment; import com.laytonsmith.abstraction.enums.MCWorldType; import com.laytonsmith.core.constructs.CArray; import com.laytonsmith.core.constructs.Target; import java.util.List; /** * * */ public interface MCWorld extends MCMetadatable { public List<MCPlayer> getPlayers(); public List<MCEntity> getEntities(); public List<MCLivingEntity> getLivingEntities(); public String getName(); public long getSeed(); public MCWorldEnvironment getEnvironment(); public String getGenerator(); public MCWorldType getWorldType(); int getSeaLevel(); int getMaxHeight(); public MCDifficulty getDifficulty(); public void setDifficulty(MCDifficulty difficulty); public boolean getPVP(); public void setPVP(boolean pvp); public String[] getGameRules(); public String getGameRuleValue(String gameRule); public boolean setGameRuleValue(MCGameRule gameRule, String value); public MCWorldBorder getWorldBorder(); public MCBlock getBlockAt(int x, int y, int z); public MCChunk getChunkAt(int x, int z); public MCChunk getChunkAt(MCBlock b); public MCChunk getChunkAt(MCLocation l); public MCChunk[] getLoadedChunks(); public boolean regenerateChunk(int x, int y); public MCEntity spawn(MCLocation l, Class mobType); public MCEntity spawn(MCLocation l, MCEntityType entType); public MCEntity spawn(MCLocation l, MCEntityType.MCVanillaEntityType entityType); public boolean generateTree(MCLocation l, MCTreeType treeType); public void playEffect(MCLocation l, MCEffect mCEffect, int data, int radius); public void playSound(MCLocation l, MCSound sound, float volume, float pitch); public void playSound(MCLocation l, String sound, float volume, float pitch); public void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch); public void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch); public MCItem dropItemNaturally(MCLocation l, MCItemStack is); public MCItem dropItem(MCLocation l, MCItemStack is); public MCLightningStrike strikeLightning(MCLocation GetLocation); public MCLightningStrike strikeLightningEffect(MCLocation GetLocation); public void setStorm(boolean b); public void setThundering(boolean b); public void setWeatherDuration(int time); public void setThunderDuration(int time); public boolean isStorming(); public boolean isThundering(); public MCLocation getSpawnLocation(); public void setSpawnLocation(int x, int y, int z); public void refreshChunk(int x, int z); public void loadChunk(int x, int z); public void unloadChunk(int x, int z); public void setTime(long time); public long getTime(); public CArray spawnMob(MCMobs name, String subClass, int qty, MCLocation location, Target t); public MCFallingBlock spawnFallingBlock(MCLocation loc, int type, byte data); public MCFirework launchFirework(MCLocation l, int strength, List<MCFireworkEffect> effects); public MCBiomeType getBiome(int x, int z); public void setBiome(int x, int z, MCBiomeType type); public MCBlock getHighestBlockAt(int x, int z); public void explosion(double x, double y, double z, float size, boolean safe); /** * This method performs some check on the world to ensure it exists. * @return */ public boolean exists(); public void save(); }