diff options
author | Leonard Kugis <Leonard Kugis> | 2016-12-24 05:09:24 +0100 |
---|---|---|
committer | Leonard Kugis <Leonard Kugis> | 2016-12-24 05:09:24 +0100 |
commit | aaf6bd00b1682ce22bab036ccd1d1c280d312a4a (patch) | |
tree | 1e3733c223fd18c9d1bdcc56e7ee402893a7d0c3 /src/main/java/com/encrox/instanceddungeons/Dungeon.java |
initial commit
Diffstat (limited to 'src/main/java/com/encrox/instanceddungeons/Dungeon.java')
-rw-r--r-- | src/main/java/com/encrox/instanceddungeons/Dungeon.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/com/encrox/instanceddungeons/Dungeon.java b/src/main/java/com/encrox/instanceddungeons/Dungeon.java new file mode 100644 index 0000000..69cd847 --- /dev/null +++ b/src/main/java/com/encrox/instanceddungeons/Dungeon.java @@ -0,0 +1,48 @@ +package com.encrox.instanceddungeons; + +import java.util.ArrayList; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; +import org.json.JSONObject; + +import com.sk89q.worldedit.BlockVector; + +public class Dungeon { + + private Section section; + private String id; + private int depth; + private ArrayList<Player> players; + + public Dungeon(Player player, String id, int depth) { + this.id = id; + this.depth = depth; + section = new Section(InstancedDungeons.startDescriptors.getJSONObject((int)Math.round(Math.random()*(InstancedDungeons.startDescriptors.length()-1))), 0, depth); + try { + section.load(); + section.instantiate(); + BlockVector[] destinations = section.getAbsoluteExits(); + BlockVector destination = destinations[(int)Math.round(Math.random()*(destinations.length-1))]; + addPlayer(player); + player.teleport(new Location(InstancedDungeons.dungeonWorld.getWorld(), destination.getBlockX(), destination.getBlockY(), destination.getBlockZ())); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void addPlayer(Player player) { + section.addPlayer(player); + } + + public void removePlayer(Player player) { + section.removePlayer(player); + } + + public String getId() { + return id; + } + +} |