0.5.0
Start of dungeon work, custom item/mobs/gates not needed, gate and dungeons wil be made automatically.
This commit is contained in:
parent
ce3c1d547c
commit
10c66d6fa4
13 changed files with 231 additions and 70 deletions
14
bin/main/config.yml
Normal file
14
bin/main/config.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
version: "${version}"
|
||||
motd: "YAY, Super server!"
|
||||
motd-reload: "Server reloading!"
|
||||
|
||||
storage: "MONGODB" # switch between "MONGODB", "MYSQL"(not implemented), "YML"(currently making it)
|
||||
# if MYSQL or MongoDB
|
||||
username: "no_usr" # if mysql if you are on mongodb, add username in the url
|
||||
password: "no_pass" # if mysql if you are on mongodb, add password in the url
|
||||
url: "mongodb://localhost:27017"
|
||||
|
||||
useResourcePack: false
|
||||
resource_pack_url: "https://mc-packs.net/" # recommend to use https://mc-packs.net/ => free resource pack hoster (will eventually develop one myself but not atm)
|
||||
resource_pack_sha1: "sha1hallo" # sha1 hash
|
||||
debug: true
|
49
bin/main/plugin.yml
Normal file
49
bin/main/plugin.yml
Normal file
|
@ -0,0 +1,49 @@
|
|||
name: Raxen
|
||||
version: '${version}'
|
||||
main: gq.unurled.raxen.Raxen
|
||||
author: unurled
|
||||
api-version: 1.18
|
||||
depend: [ProtocolLib, PlaceholderAPI]
|
||||
softdepend: [AureliumSkills, LuckPerms]
|
||||
|
||||
commands:
|
||||
reloadplugin:
|
||||
aliases:
|
||||
- rlpl
|
||||
- reloadpl
|
||||
description: reload command that stops the server.
|
||||
skills:
|
||||
aliases:
|
||||
- skill
|
||||
description: skill command.
|
||||
testgui:
|
||||
description: test gui command
|
||||
storage:
|
||||
description: acces player storage
|
||||
nbt:
|
||||
description: nbt command
|
||||
raxen:
|
||||
description: raxen main command
|
||||
itemlist:
|
||||
aliases: itl
|
||||
description: Open ItemList menu
|
||||
entityspawn:
|
||||
description: Spawn an custom entity
|
||||
class:
|
||||
description: player command that make them choose their class and then their stats
|
||||
|
||||
permissions:
|
||||
raxen.reload.cmd:
|
||||
description: reload command permission
|
||||
raxen.test.gui.cmd:
|
||||
description: testgui command permission
|
||||
raxen.nbt.cmd:
|
||||
description: nbt command permission
|
||||
raxen.raxen.cmd:
|
||||
description: raxen command permssion
|
||||
raxen.itemlist.cmd:
|
||||
description: itemlist command permission
|
||||
raxen.entityspawn.cmd:
|
||||
description: entityspawn command permission
|
||||
raxen.class.cmd:
|
||||
description: class command premission
|
|
@ -0,0 +1,46 @@
|
|||
package gq.unurled.raxen.components.dungeons;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static gq.unurled.raxen.utils.DungeonUtils.getRadiusFromRank;
|
||||
|
||||
public class Dungeon {
|
||||
|
||||
private UUID uuid;
|
||||
|
||||
private Rank rank;
|
||||
|
||||
private Gate gate;
|
||||
|
||||
/**
|
||||
* The Type of the Dungeon
|
||||
*/
|
||||
private Type type;
|
||||
|
||||
private Location location;
|
||||
private Integer radius;
|
||||
|
||||
public Dungeon(UUID uuid, Rank rank, Type type) {
|
||||
this.uuid = uuid;
|
||||
this.rank = rank;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the Gate and make it available to players in the world.
|
||||
* TODO: Place the gate at a random place.
|
||||
*/
|
||||
public void generateGate() {
|
||||
// -281.50 36.00 187.50 0.90 10.80
|
||||
Location loc = new Location(Bukkit.getWorld("Liberty_City"), -284.0, 36.00, 187.50);
|
||||
Integer radius = getRadiusFromRank(this.rank);
|
||||
this.gate = new Gate(uuid, loc, radius);
|
||||
}
|
||||
|
||||
public void generate() {
|
||||
|
||||
}
|
||||
}
|
38
src/main/java/gq/unurled/raxen/components/dungeons/Gate.java
Normal file
38
src/main/java/gq/unurled/raxen/components/dungeons/Gate.java
Normal file
|
@ -0,0 +1,38 @@
|
|||
package gq.unurled.raxen.components.dungeons;
|
||||
|
||||
import org.bukkit.Location;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class Gate {
|
||||
|
||||
private UUID uuid;
|
||||
|
||||
|
||||
private Location loc;
|
||||
private Integer portalRadius;
|
||||
|
||||
|
||||
public Gate(UUID uuid, Location loc, Integer portalRadius) {
|
||||
this.loc = loc;
|
||||
this.portalRadius = portalRadius;
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public void teleport() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Location getLoc() {
|
||||
return loc;
|
||||
}
|
||||
|
||||
public Integer getPortalRadius() {
|
||||
return portalRadius;
|
||||
}
|
||||
|
||||
public UUID getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
}
|
16
src/main/java/gq/unurled/raxen/components/dungeons/Rank.java
Normal file
16
src/main/java/gq/unurled/raxen/components/dungeons/Rank.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
package gq.unurled.raxen.components.dungeons;
|
||||
|
||||
public enum Rank {
|
||||
F,
|
||||
E,
|
||||
D,
|
||||
C,
|
||||
B,
|
||||
A,
|
||||
S,
|
||||
SS,
|
||||
SSS,
|
||||
WORLD,
|
||||
UNBEATABLE,
|
||||
NOT_DEFINED
|
||||
}
|
20
src/main/java/gq/unurled/raxen/components/dungeons/Type.java
Normal file
20
src/main/java/gq/unurled/raxen/components/dungeons/Type.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package gq.unurled.raxen.components.dungeons;
|
||||
|
||||
public enum Type {
|
||||
JUNGLE,
|
||||
TROPICAL_JUNGLE,
|
||||
PLAINS,
|
||||
GRAVES,
|
||||
CASTLE,
|
||||
ABANDONED_CASTLE,
|
||||
FIELD,
|
||||
ICE_FOREST,
|
||||
FOREST,
|
||||
VOLCANO,
|
||||
MOUNTAINS,
|
||||
HIGH_MOUNTAINS,
|
||||
CAVES,
|
||||
LABYRINTH,
|
||||
UNDERGROUND_LABYRINTH,
|
||||
FOREST_LABYRINTH
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package gq.unurled.raxen.manager.server;
|
||||
|
||||
import gq.unurled.raxen.components.dungeons.Gate;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DungeonsManager {
|
||||
|
||||
private HashMap<UUID, Gate> gates = new HashMap<>();
|
||||
}
|
37
src/main/java/gq/unurled/raxen/utils/DungeonUtils.java
Normal file
37
src/main/java/gq/unurled/raxen/utils/DungeonUtils.java
Normal file
|
@ -0,0 +1,37 @@
|
|||
package gq.unurled.raxen.utils;
|
||||
|
||||
import gq.unurled.raxen.components.dungeons.Rank;
|
||||
|
||||
public class DungeonUtils {
|
||||
|
||||
public static Integer getRadiusFromRank(Rank rank) {
|
||||
Integer radius = 1;
|
||||
switch (rank) {
|
||||
case F:
|
||||
radius = 4;
|
||||
case E:
|
||||
radius = 5;
|
||||
case D:
|
||||
radius = 8;
|
||||
case C:
|
||||
radius = 10;
|
||||
case B:
|
||||
radius = 15;
|
||||
case A:
|
||||
radius = 20;
|
||||
case S:
|
||||
radius = 30;
|
||||
case SS:
|
||||
radius = 40;
|
||||
case SSS:
|
||||
radius = 50;
|
||||
case WORLD:
|
||||
radius = 100;
|
||||
case UNBEATABLE:
|
||||
radius = 200;
|
||||
case NOT_DEFINED:
|
||||
radius = 1000;
|
||||
}
|
||||
return radius;
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
id: "SWORDSMANN"
|
||||
name: "Swordsmann"
|
||||
color-name: "<red>Swordsmann"
|
||||
item_placeholder: "DIAMOND_SWORD"
|
||||
max_level: 10
|
|
@ -1,2 +0,0 @@
|
|||
name: "HALLO"
|
||||
uuid: "uuid"
|
|
@ -1,17 +0,0 @@
|
|||
id: "RED_WOOL"
|
||||
customId: "BEST_NEW_ITEM"
|
||||
name: "best Item name ever"
|
||||
health: 100
|
||||
defense: 50
|
||||
speed: 100
|
||||
strength: 100
|
||||
custom_ability: "fireball"
|
||||
isGlowing: true
|
||||
isUnbreakable: true
|
||||
Pack:
|
||||
parent: "item/generated"
|
||||
custom_model_data: 123
|
||||
model: "red_wool"
|
||||
drop_rate: 100.0
|
||||
lore:
|
||||
- '<red>Super lore'
|
|
@ -1,31 +0,0 @@
|
|||
world: world
|
||||
display_name: '<white>Lvl: {level} {name} <red>❤{hp}</red>/<red>❤{hp_max}'
|
||||
name: 'example mob'
|
||||
base_mob: ZOMBIE
|
||||
ID: EXAMPLE_MOB
|
||||
level:
|
||||
1-10:
|
||||
hp_max: 100*{level}
|
||||
speed: 100+({level}/10)
|
||||
strength: 10*{level}
|
||||
defense: 0
|
||||
11-20:
|
||||
hp_max: 200*{level}
|
||||
speed: 100+({level}/10)
|
||||
strength: 10*{level}
|
||||
defense: 0
|
||||
21-30:
|
||||
hp_max: 200*{level}
|
||||
speed: 100+({level}/10)
|
||||
strength: 10*{level}
|
||||
defense: 0
|
||||
31-40:
|
||||
hp_max: 200*{level}
|
||||
speed: 100+({level}/10)
|
||||
strength: 10*{level}
|
||||
defense: 0
|
||||
41-50:
|
||||
hp_max: 200*{level}
|
||||
speed: 100+({level}/10)
|
||||
strength: 10*{level}
|
||||
defense: 0
|
|
@ -1,15 +0,0 @@
|
|||
gates:
|
||||
1:
|
||||
id: 1
|
||||
world_source: "world"
|
||||
x1: 100
|
||||
y1: 100
|
||||
z1: 100
|
||||
x2: 103
|
||||
y2: 103
|
||||
z2: 103
|
||||
name: "hallo"
|
||||
world_dest: "world"
|
||||
dest_x: 110
|
||||
dest_y: 110
|
||||
dest_z: 110
|
Loading…
Reference in a new issue