first commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.bitnix</groupId>
|
||||||
|
<artifactId>MyWorlds</artifactId>
|
||||||
|
<version>1.0</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<name>MyWorlds</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>21</java.version>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>papermc</id>
|
||||||
|
<url>https://repo.papermc.io/repository/maven-public/</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.papermc.paper</groupId>
|
||||||
|
<artifactId>paper-api</artifactId>
|
||||||
|
<version>1.21.8-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>MyWorlds</finalName>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.13.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>21</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
|||||||
|
package com.bitnix.myworlds;
|
||||||
|
|
||||||
|
import org.bukkit.NamespacedKey;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
public final class NamespacedKeys {
|
||||||
|
|
||||||
|
public static NamespacedKey ACTION_KEY;
|
||||||
|
|
||||||
|
private NamespacedKeys() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void init(JavaPlugin plugin) {
|
||||||
|
ACTION_KEY = new NamespacedKey(plugin, "action");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
settings:
|
||||||
|
quick-teleport-single-world: false
|
||||||
|
world-name-format: "mw_%player%_%number%"
|
||||||
|
world-border-size: 10000
|
||||||
|
default-gamemode: SURVIVAL
|
||||||
|
no-limit-permission-default: 0
|
||||||
|
|
||||||
|
multiverse:
|
||||||
|
normal-command: "mv create %world% normal"
|
||||||
|
flat-command: "mv create %world% normal -t flat"
|
||||||
|
amplified-command: "mv create %world% normal -a true"
|
||||||
|
delete-command: "mv delete %world%"
|
||||||
|
|
||||||
|
limits:
|
||||||
|
- permission: "myworlds.limit.1"
|
||||||
|
amount: 1
|
||||||
|
- permission: "myworlds.limit.2"
|
||||||
|
amount: 2
|
||||||
|
- permission: "myworlds.limit.3"
|
||||||
|
amount: 3
|
||||||
|
- permission: "myworlds.limit.5"
|
||||||
|
amount: 5
|
||||||
|
|
||||||
|
world-types:
|
||||||
|
normal: true
|
||||||
|
flat: true
|
||||||
|
amplified: true
|
||||||
|
|
||||||
|
messages:
|
||||||
|
no-permission: "&cYou do not have permission."
|
||||||
|
player-only: "&cOnly players can use this command."
|
||||||
|
reloaded: "&aMyWorlds config reloaded."
|
||||||
|
no-worlds: "&cYou do not own any worlds yet."
|
||||||
|
world-limit-reached: "&cYou have reached your world limit of &e%limit%&c."
|
||||||
|
no-world-limit: "&cYou are not allowed to create any worlds."
|
||||||
|
invalid-world-type: "&cInvalid world type."
|
||||||
|
world-creating: "&eCreating your world: &f%world%&e..."
|
||||||
|
world-created: "&aWorld created: &e%world%&a."
|
||||||
|
world-failed: "&cFailed to create world."
|
||||||
|
world-not-found: "&cThat world could not be found."
|
||||||
|
teleported: "&aTeleported to &e%world%&a."
|
||||||
|
only-own-worlds: "&cYou can only manage your own worlds."
|
||||||
|
no-access-world: "&cYou do not have access to that world."
|
||||||
|
multiverse-missing: "&cMultiverse-Core was not found or is not enabled."
|
||||||
|
player-not-found: "&cThat player is not online."
|
||||||
|
invited-player: "&aInvited &e%player% &ato world &e%world%&a."
|
||||||
|
uninvited-player: "&e%player% &chas been removed from world &e%world%&c."
|
||||||
|
you-were-invited: "&aYou were invited to world &e%world% &aby &e%owner%&a."
|
||||||
|
already-invited: "&e%player% &cis already invited to &e%world%&c."
|
||||||
|
not-invited: "&e%player% &cis not invited to &e%world%&c."
|
||||||
|
pvp-enabled: "&aPvP enabled for &e%world%&a."
|
||||||
|
pvp-disabled: "&cPvP disabled for &e%world%&c."
|
||||||
|
invalid-pvp-state: "&cUse on/off."
|
||||||
|
world-deleted: "&cWorld deleted: &e%world%&c."
|
||||||
|
delete-failed: "&cFailed to delete world &e%world%&c."
|
||||||
|
confirm-delete: "&cClick again to confirm deletion of &e%world%&c."
|
||||||
|
world-info-owner: "&7Owner: &e%owner%"
|
||||||
|
world-info-type: "&7Type: &e%type%"
|
||||||
|
world-info-pvp: "&7PvP: &e%pvp%"
|
||||||
|
world-info-invites: "&7Invited: &e%invites%"
|
||||||
|
|
||||||
|
gui:
|
||||||
|
main:
|
||||||
|
title: "&8My Worlds"
|
||||||
|
size: 27
|
||||||
|
items:
|
||||||
|
generate-normal:
|
||||||
|
material: GRASS_BLOCK
|
||||||
|
slot: 10
|
||||||
|
name: "&aGenerate Normal World"
|
||||||
|
lore:
|
||||||
|
- "&7Create a standard world."
|
||||||
|
|
||||||
|
generate-flat:
|
||||||
|
material: DIRT
|
||||||
|
slot: 12
|
||||||
|
name: "&eGenerate Flat World"
|
||||||
|
lore:
|
||||||
|
- "&7Create a flat world."
|
||||||
|
|
||||||
|
generate-amplified:
|
||||||
|
material: STONE
|
||||||
|
slot: 14
|
||||||
|
name: "&bGenerate Amplified World"
|
||||||
|
lore:
|
||||||
|
- "&7Create an amplified world."
|
||||||
|
|
||||||
|
list-worlds:
|
||||||
|
material: CHEST
|
||||||
|
slot: 16
|
||||||
|
name: "&fYour Worlds"
|
||||||
|
lore:
|
||||||
|
- "&7Click to view your worlds."
|
||||||
|
|
||||||
|
info:
|
||||||
|
material: BOOK
|
||||||
|
slot: 22
|
||||||
|
name: "&6World Info"
|
||||||
|
lore:
|
||||||
|
- "&7Owned: &e%owned%"
|
||||||
|
- "&7Limit: &e%limit%"
|
||||||
|
|
||||||
|
list:
|
||||||
|
title: "&8Your Worlds"
|
||||||
|
size: 54
|
||||||
|
back-button:
|
||||||
|
material: ARROW
|
||||||
|
slot: 53
|
||||||
|
name: "&cBack"
|
||||||
|
lore:
|
||||||
|
- "&7Return to main menu."
|
||||||
|
|
||||||
|
manage:
|
||||||
|
title: "&8Manage World"
|
||||||
|
size: 27
|
||||||
|
items:
|
||||||
|
teleport:
|
||||||
|
material: ENDER_PEARL
|
||||||
|
slot: 11
|
||||||
|
name: "&aTeleport"
|
||||||
|
lore:
|
||||||
|
- "&7Teleport to this world."
|
||||||
|
|
||||||
|
toggle-pvp:
|
||||||
|
material: DIAMOND_SWORD
|
||||||
|
slot: 13
|
||||||
|
name: "&cToggle PvP"
|
||||||
|
lore:
|
||||||
|
- "&7Toggle PvP for this world."
|
||||||
|
|
||||||
|
invited-info:
|
||||||
|
material: PLAYER_HEAD
|
||||||
|
slot: 15
|
||||||
|
name: "&eInvites"
|
||||||
|
lore:
|
||||||
|
- "&7Invited players:"
|
||||||
|
- "&f%invites%"
|
||||||
|
|
||||||
|
delete-world:
|
||||||
|
material: BARRIER
|
||||||
|
slot: 22
|
||||||
|
name: "&4Delete World"
|
||||||
|
lore:
|
||||||
|
- "&7Delete this world."
|
||||||
|
- "&cThis cannot be undone."
|
||||||
|
|
||||||
|
back:
|
||||||
|
material: ARROW
|
||||||
|
slot: 26
|
||||||
|
name: "&cBack"
|
||||||
|
lore:
|
||||||
|
- "&7Return to world list."
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: MyWorlds
|
||||||
|
version: 1.1
|
||||||
|
main: com.bitnix.myworlds.MyWorldsPlugin
|
||||||
|
api-version: '1.21'
|
||||||
|
author: bitnix
|
||||||
|
description: GUI-based personal world manager using Multiverse-Core.
|
||||||
|
commands:
|
||||||
|
myworlds:
|
||||||
|
description: Open your worlds GUI or manage your worlds
|
||||||
|
usage: /myworlds [help|list|generate|invite|uninvite|pvp|reload]
|
||||||
|
aliases: [myworld, mw]
|
||||||
|
permissions:
|
||||||
|
myworlds.use:
|
||||||
|
default: false
|
||||||
|
myworlds.admin:
|
||||||
|
default: op
|
||||||
|
myworlds.invite:
|
||||||
|
default: false
|
||||||
|
myworlds.pvp:
|
||||||
|
default: false
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,152 @@
|
|||||||
|
settings:
|
||||||
|
quick-teleport-single-world: false
|
||||||
|
world-name-format: "mw_%player%_%number%"
|
||||||
|
world-border-size: 10000
|
||||||
|
default-gamemode: SURVIVAL
|
||||||
|
no-limit-permission-default: 0
|
||||||
|
|
||||||
|
multiverse:
|
||||||
|
normal-command: "mv create %world% normal"
|
||||||
|
flat-command: "mv create %world% normal -t flat"
|
||||||
|
amplified-command: "mv create %world% normal -a true"
|
||||||
|
delete-command: "mv delete %world%"
|
||||||
|
|
||||||
|
limits:
|
||||||
|
- permission: "myworlds.limit.1"
|
||||||
|
amount: 1
|
||||||
|
- permission: "myworlds.limit.2"
|
||||||
|
amount: 2
|
||||||
|
- permission: "myworlds.limit.3"
|
||||||
|
amount: 3
|
||||||
|
- permission: "myworlds.limit.5"
|
||||||
|
amount: 5
|
||||||
|
|
||||||
|
world-types:
|
||||||
|
normal: true
|
||||||
|
flat: true
|
||||||
|
amplified: true
|
||||||
|
|
||||||
|
messages:
|
||||||
|
no-permission: "&cYou do not have permission."
|
||||||
|
player-only: "&cOnly players can use this command."
|
||||||
|
reloaded: "&aMyWorlds config reloaded."
|
||||||
|
no-worlds: "&cYou do not own any worlds yet."
|
||||||
|
world-limit-reached: "&cYou have reached your world limit of &e%limit%&c."
|
||||||
|
no-world-limit: "&cYou are not allowed to create any worlds."
|
||||||
|
invalid-world-type: "&cInvalid world type."
|
||||||
|
world-creating: "&eCreating your world: &f%world%&e..."
|
||||||
|
world-created: "&aWorld created: &e%world%&a."
|
||||||
|
world-failed: "&cFailed to create world."
|
||||||
|
world-not-found: "&cThat world could not be found."
|
||||||
|
teleported: "&aTeleported to &e%world%&a."
|
||||||
|
only-own-worlds: "&cYou can only manage your own worlds."
|
||||||
|
no-access-world: "&cYou do not have access to that world."
|
||||||
|
multiverse-missing: "&cMultiverse-Core was not found or is not enabled."
|
||||||
|
player-not-found: "&cThat player is not online."
|
||||||
|
invited-player: "&aInvited &e%player% &ato world &e%world%&a."
|
||||||
|
uninvited-player: "&e%player% &chas been removed from world &e%world%&c."
|
||||||
|
you-were-invited: "&aYou were invited to world &e%world% &aby &e%owner%&a."
|
||||||
|
already-invited: "&e%player% &cis already invited to &e%world%&c."
|
||||||
|
not-invited: "&e%player% &cis not invited to &e%world%&c."
|
||||||
|
pvp-enabled: "&aPvP enabled for &e%world%&a."
|
||||||
|
pvp-disabled: "&cPvP disabled for &e%world%&c."
|
||||||
|
invalid-pvp-state: "&cUse on/off."
|
||||||
|
world-deleted: "&cWorld deleted: &e%world%&c."
|
||||||
|
delete-failed: "&cFailed to delete world &e%world%&c."
|
||||||
|
confirm-delete: "&cClick again to confirm deletion of &e%world%&c."
|
||||||
|
world-info-owner: "&7Owner: &e%owner%"
|
||||||
|
world-info-type: "&7Type: &e%type%"
|
||||||
|
world-info-pvp: "&7PvP: &e%pvp%"
|
||||||
|
world-info-invites: "&7Invited: &e%invites%"
|
||||||
|
|
||||||
|
gui:
|
||||||
|
main:
|
||||||
|
title: "&8My Worlds"
|
||||||
|
size: 27
|
||||||
|
items:
|
||||||
|
generate-normal:
|
||||||
|
material: GRASS_BLOCK
|
||||||
|
slot: 10
|
||||||
|
name: "&aGenerate Normal World"
|
||||||
|
lore:
|
||||||
|
- "&7Create a standard world."
|
||||||
|
|
||||||
|
generate-flat:
|
||||||
|
material: DIRT
|
||||||
|
slot: 12
|
||||||
|
name: "&eGenerate Flat World"
|
||||||
|
lore:
|
||||||
|
- "&7Create a flat world."
|
||||||
|
|
||||||
|
generate-amplified:
|
||||||
|
material: STONE
|
||||||
|
slot: 14
|
||||||
|
name: "&bGenerate Amplified World"
|
||||||
|
lore:
|
||||||
|
- "&7Create an amplified world."
|
||||||
|
|
||||||
|
list-worlds:
|
||||||
|
material: CHEST
|
||||||
|
slot: 16
|
||||||
|
name: "&fYour Worlds"
|
||||||
|
lore:
|
||||||
|
- "&7Click to view your worlds."
|
||||||
|
|
||||||
|
info:
|
||||||
|
material: BOOK
|
||||||
|
slot: 22
|
||||||
|
name: "&6World Info"
|
||||||
|
lore:
|
||||||
|
- "&7Owned: &e%owned%"
|
||||||
|
- "&7Limit: &e%limit%"
|
||||||
|
|
||||||
|
list:
|
||||||
|
title: "&8Your Worlds"
|
||||||
|
size: 54
|
||||||
|
back-button:
|
||||||
|
material: ARROW
|
||||||
|
slot: 53
|
||||||
|
name: "&cBack"
|
||||||
|
lore:
|
||||||
|
- "&7Return to main menu."
|
||||||
|
|
||||||
|
manage:
|
||||||
|
title: "&8Manage World"
|
||||||
|
size: 27
|
||||||
|
items:
|
||||||
|
teleport:
|
||||||
|
material: ENDER_PEARL
|
||||||
|
slot: 11
|
||||||
|
name: "&aTeleport"
|
||||||
|
lore:
|
||||||
|
- "&7Teleport to this world."
|
||||||
|
|
||||||
|
toggle-pvp:
|
||||||
|
material: DIAMOND_SWORD
|
||||||
|
slot: 13
|
||||||
|
name: "&cToggle PvP"
|
||||||
|
lore:
|
||||||
|
- "&7Toggle PvP for this world."
|
||||||
|
|
||||||
|
invited-info:
|
||||||
|
material: PLAYER_HEAD
|
||||||
|
slot: 15
|
||||||
|
name: "&eInvites"
|
||||||
|
lore:
|
||||||
|
- "&7Invited players:"
|
||||||
|
- "&f%invites%"
|
||||||
|
|
||||||
|
delete-world:
|
||||||
|
material: BARRIER
|
||||||
|
slot: 22
|
||||||
|
name: "&4Delete World"
|
||||||
|
lore:
|
||||||
|
- "&7Delete this world."
|
||||||
|
- "&cThis cannot be undone."
|
||||||
|
|
||||||
|
back:
|
||||||
|
material: ARROW
|
||||||
|
slot: 26
|
||||||
|
name: "&cBack"
|
||||||
|
lore:
|
||||||
|
- "&7Return to world list."
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: MyWorlds
|
||||||
|
version: 1.1
|
||||||
|
main: com.bitnix.myworlds.MyWorldsPlugin
|
||||||
|
api-version: '1.21'
|
||||||
|
author: bitnix
|
||||||
|
description: GUI-based personal world manager using Multiverse-Core.
|
||||||
|
commands:
|
||||||
|
myworlds:
|
||||||
|
description: Open your worlds GUI or manage your worlds
|
||||||
|
usage: /myworlds [help|list|generate|invite|uninvite|pvp|reload]
|
||||||
|
aliases: [myworld, mw]
|
||||||
|
permissions:
|
||||||
|
myworlds.use:
|
||||||
|
default: false
|
||||||
|
myworlds.admin:
|
||||||
|
default: op
|
||||||
|
myworlds.invite:
|
||||||
|
default: false
|
||||||
|
myworlds.pvp:
|
||||||
|
default: false
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#Generated by Maven
|
||||||
|
#Sun Jun 07 23:20:08 EDT 2026
|
||||||
|
artifactId=MyWorlds
|
||||||
|
groupId=com.bitnix
|
||||||
|
version=1.0
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
com/bitnix/myworlds/MyWorldsPlugin$GuiContext.class
|
||||||
|
com/bitnix/myworlds/MyWorldsPlugin$LimitEntry.class
|
||||||
|
com/bitnix/myworlds/MyWorldsPlugin.class
|
||||||
|
com/bitnix/myworlds/NamespacedKeys.class
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
/home/bitnix/Desktop/MyWorlds/src/main/java/com/bitnix/myworlds/MyWorldsPlugin.java
|
||||||
|
/home/bitnix/Desktop/MyWorlds/src/main/java/com/bitnix/myworlds/NamespacedKeys.java
|
||||||
Reference in New Issue
Block a user