Coder Social home page Coder Social logo

xenophilicy / navicompass Goto Github PK

View Code? Open in Web Editor NEW
25.0 5.0 21.0 612 KB

PocketMine plugin that lets you transfer between your server network and worlds with a UI!

Home Page: https://poggit.pmmp.io/p/NaviCompass

License: GNU General Public License v3.0

PHP 100.00%
pocketmine minecraft transfer worlds servers network compass navigation lobby teleport

navicompass's Introduction


NaviCompass allows your players to transfer between your server network and worlds with simplicity.

GitHubrelease Stars Discord

NaviCompass now supports the WaterDog MCBE proxy!


Credits

Config

Basic settings

# Choose your transfer type:
# "external" will use an IP address and port to move players between SERVERS
# "internal" will use your preset command string to move players between WORLDS
# "hybrid" will include both transfer types
Transfer-Type: "hybrid"

# This is the command string that will be used to transfer players between WORLDS
# Don't worry about this if you're only using the EXTERNAL transfer type
# Use '{player}' for the player's name
# Use '{world}' for the world name
World-CMD: "multiworld tp {world} {player}"

# This is where you choose if world command should be run by the player or the console
# Don't worry about this if you're only using the EXTERNAL transfer type
# Options are: "console" and "player"
World-CMD-Mode: "console"

Command settings

  # Choose whether the command method should be enabled
  Enabled: true

  # This is name of the command that players will use to opent the UI
  Name: "/servers"

  # This is the command's description shown in the command window
  Description: "Open the server list!"

  Permission:
    # Choose whether to require players to have permission to use the command
    Enabled: false

    # This is the command's usage permission
    Node: "navicompass.use"

Selector settings

  # Choose whether the selector item should be enabled
  Enabled: true

  # Choose what item the server selector should be
  # Default item is Compass (345)
  Item: 345

  # Set the cooldown for using the compass to open the UI
  Cooldown:
    # Choose whether the cooldown should be enabled
    Enabled: true

    # Set the duration of the cooldown
    Duration: 1

    # Message sent to the player when the item is on cooldown
    # Set to false to disable the message
    Message: "§cCompass is on cooldown!"

  # Choose what slot of the player's inventory the selector should appear in
  # The range for this input is 0-35 (0-8 are the player's hotbar)
  Slot: 1

  # Choose whether to prevent players from dropping or moving the selctor to different slots
  Force-Slot: true

  # This is the text that will show on the selector in the player's inventory
  Name: "§l§aServer Selector"

  # This is the selector item's description that is displayed under the name
  Lore: "§bClick for Servers"

UI settings

  # This is the title of the transfer UI
  Title: "§9Server List"

  # This is the message that will show under the title on the transfer UI
  Message: "§aChoose a server to transfer to!"

  Status-Format:

    # Edit the format for online servers
    Online: "§aOnline"

    # This is where you edit the format for offline servers
    Offline: "§cOffline"

  Subtext:
    # This is the message displayed under each SERVER button
    # Use '{current-players}' for the server's current player count
    # Use '{max-players}' for the server's max player count
    # Use '{status}' to show whether the server is online or offline (the colors can be customized under Status-Format)
    Server: "§r{status} §8(§a{current-players}§8/§b{max-players}§8)"

    # This is the message displayed under each WATERDOG button
    # Don't worry about this if you're only using the EXTERNAL transfer type
    WaterDog: "§r§o§8Tap to transfer"

    # This is the message displayed under each WORLD button
    # Use '{current-players}' for the world's current player count
    World: "§r§o§8Tap to teleport §8(§a{current-players} §eplayer(s)§8)"

Sound settings

  # Choose what sound (if any) to play when opening the UI
  UI: "random.pop"

  # Choose what sound (if any) to play while transferring SERVERS
  Transfer: "mob.blaze.shoot"

  # Choose what sound (if any) to play while teleporting between WORLDS
  Teleport: "random.anvil_use"

Titles settings

  # Set the delay to show the title before transferring/teleporting
  # This value is in seconds (default is 2 seconds)
  # Set this to false or 0 for no delay
  Delay: 2

  # Set the formatting for the title shown to players when transferring SERVERS
  Transfer: "§a§oTransferring..."

  # Set the formatting for the title shown to players when teleporting between WORLDS
  Teleport: "§a§oTeleporting..."

Entry Listing

This is where you list your servers/worlds to be displayed on the server UI

Server format: "ext:ServerTitle:ServerIP:ServerPort:ImageType:Path/URL"

WaterDog server format: "wd:ServerTitle:ServerName:ImageType:Path/URL"

World format: "int:WorldTitle:WorldAlias:ImageType:Path/URL"

List:
 - "ext:§l§6Lobby §eServer:play.xenoservers.net:19132:url:file.xenoservers.net/Resources/GitHub-Resources/navicompass/lobby.png"
 - "ext:§l§2Prison §eServer:play.xenoservers.net:19133"
 - "wd:§l§3Sky§cBlock §eServer:skyblock:url:file.xenoservers.net/Resources/GitHub-Resources/navicompass/skyblock.png"
 - "wd:§l§bFactions §eServer:factions"
 - "int:§l§5Creative §eServer:creative:url:file.xenoservers.net/Resources/GitHub-Resources/navicompass/creative.png"
 - "int:§l§cKitPvP §eServer:kitpvp"

navicompass's People

Contributors

cosmicnebula200 avatar gianluxx avatar hyperflaremc avatar javierleon9966 avatar poggit-bot avatar superomarking avatar vecnavium avatar xenophilicy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

navicompass's Issues

Bug

when I use the navigater I get an "Internal Server Error" in the console:

[14:53:12] [Server thread/CRITICAL]: ErrorException: "Undefined offset: 4" (EXCEPTION) in "plugins/NaviCompass.phar/src/Xenophilicy/NaviCompass/NaviCompass" at line 165

Compass

Hello,
I have a problem with the item where i can open the UI.
It doesent works.
If i have Op ist has worked, 2 min later i have tested the plugin without op and it still worked.
Then I have teleported me to another Server and rejoined.
And then the Item doesent works.
What is the problem?
(Sorry for my bad english)

Suggestion

selector settings
optimize lore because when you put blank in lore it will pop like this
image

  # This is the selector item's description that is displayed under the name
  Lore-Enable: true
  Lore: "§bClick for Servers"

perms

No one has perms to transfer server....

Feature Request

Hey, feature request here.

I like how you added the online player count for the UI.

Do you mind creating an addon for scorehud to show the player counts, basically a lobby server showing how many players are on the server via score hud.

Heres an example of how it would look:

SERVER NAME HERE
{server1} - {playercount}
{server2} - {playercount}
{server3} - {playercount}

and in action it would look like this:

RandomMC
KitPvP - 32 Online
Factions - 23 Online
Skyblock - 47 Online

This isnt a issue but please do this :)

As you know theres NaviCompass, you can access server etc. But what if, NaviCompass that you can access your seperated world? ive been finding for that and all i could find is this perfect plugin though, it only works on servers.

Pls..help

The transfer will not be canceled and is fast have or not.

Add transfer broadcasts

Add configurable messages for the following

  • MOTD

  • Join Server

  • Leave Server

  • First Join

  • Transfer server (allow show which server also)

  • Also with true/false feature to enable / disable the messages

Server ist gecrasht

Hallo,
ich hab eine Frage.. Ich hab gerade meinen Lobbyserver neu aufgesetzt, und beim joinen und Transferst des zweiten Spielers crashte der Server mit folgender Fehlermeldung:
Error: Player is not connected
File: pmsrc/src/player/Player
Line: 501
Type: LogicException

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: NaviCompass

Wissen Sie vielleicht woran das liegen könnte? Danke schon mal!

Suggestion

Could a command option be added please? Like once a button is clicked, either a player or console will run a command based on what is in the config

Support for PerWorldPlayer

#2 i have some trouble with the plugin because I have a PerWorldPlayer plugin. And i was thinking that can you add a support for that plugin because when i configured the plugin, the compass wont appear. But when i removed the perworldplayer plugin. It appeared. Please make a support or an addon for that plugin because i really need it. Thank you :)

WaterDog Proxy (No Longer Working)

"wd:§l§bFactions §eServer:factions" - It shows here this is what you have to do. "factions" being the name of the server you want to transfer in your proxy. E.g. /server factions

It no longer works and transfers you it just crashes your game. I'm not sure why but I did everything the right way.

Error waterdog

when using waterdog it does not transfer, it only plays the sound, and when using the official waterdog plugin that is a command if it transfers

Update Suggestion

Can you please add category system and server player count?. Here the Examples:

IMG_20200920_151622
IMG_20200920_151535
IMG_20200920_151522

Add grouped world player counts

Achieve that the counter of players per world can allow counting multiple worlds, for example I put a survival game mode, but survival has three worlds, the overworld, nether and end, if I added the counter of the three worlds in a single square it would be better

I leave you a link to a plugin that occupies something similar to what I say so you see a little how it would be possible to do it

Link: https://github.com/xXKHaLeD098Xx/WorldPlayerCount/tree/1afa6b59b3f7853edbb8b55900c50686321fa9e4/

Suggestion

PLEASE NOTE: This is for a whole different plugin

Make a plugin that makes a report system that has a anvil in your inventory to report (and /report). Some plugins are like this but their isn't a item in your inventory.

commands

Please add function to execute any command when clicked button in compass menu

Server crash

Error: yaml_parse(): scanning error encountered during parsing: found unexpected end of stream (line 171, column 1), context while scanning a quoted scalar (line 170, column 3)
File: pmsrc/src/utils/Config
Line: 180
Type: ErrorException

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: NaviCompass

Code:
[171] switch($this->type){
[172] case Config::PROPERTIES:
[173] $config = self::parseProperties($content);
[174] break;
[175] case Config::JSON:
[176] $config = json_decode($content, true);
[177] break;
[178] case Config::YAML:
[179] $content = self::fixYAMLIndexes($content);
[180] $config = yaml_parse($content);
[181] break;
[182] case Config::SERIALIZED:
[183] $config = unserialize($content);
[184] break;
[185] case Config::ENUM:
[186] $config = array_fill_keys(self::parseList($content), true);
[187] break;
[188] default:
[189] throw new \InvalidArgumentException("Invalid config type specified");
[190] }

Backtrace:
#0 (): pocketmine\errorhandler\ErrorToExceptionHandler::handle(integer 2, string[169] yaml_parse(): scanning error encountered during parsing: found unexpected end of, string[62] phar:///home/container/PocketMine-MP.phar/src/utils/Config.php, integer 180)
#1 pmsrc/src/utils/Config(180): yaml_parse(string[7313] # MADE BY:.# __ __ __ __ __)
#2 pmsrc/src/utils/Config(119): pocketmine\utils\Config->load(string[50] /home/container/plugin_data/NaviCompass/config.yml, integer -1, array[0])
#3 pmsrc/src/plugin/PluginBase(300): pocketmine\utils\Config->__construct(string[50] /home/container/plugin_data/NaviCompass/config.yml)
#4 pmsrc/src/plugin/PluginBase(281): pocketmine\plugin\PluginBase->reloadConfig()
#5 plugins/NaviCompass (1).phar/src/Xenophilicy/NaviCompass/NaviCompass(73): pocketmine\plugin\PluginBase->getConfig()
#6 pmsrc/src/plugin/PluginBase(137): Xenophilicy\NaviCompass\NaviCompass->onEnable()
#7 pmsrc/src/plugin/PluginManager(438): pocketmine\plugin\PluginBase->onEnableStateChange(true)
#8 pmsrc/src/Server(1383): pocketmine\plugin\PluginManager->enablePlugin(object Xenophilicy\NaviCompass\NaviCompass#23837)
#9 pmsrc/src/Server(1009): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#23437)

Disables itself

The plugin keeps disabling itself with this error:
[Server thread/CRITICAL]: TypeError: "Argument 2 passed to Xenophilicy\NaviCompass\NaviCompass::startQueryTask() must be of the type int, string given, called in phar:///aternos/server/plugins/NaviCompass.phar/src/Xenophilicy/NaviCompass/NaviCompass.php on line 135" (EXCEPTION) in "plugins/NaviCompass.phar/src/Xenophilicy/NaviCompass/NaviCompass" at line 186

Default world?

the new version causes this error and I don't know how to fix it or with what the help message says

[22:47:55] [Server thread/CRITICAL]: [NaviCompass] You are using a default server/world configuration! Please change this to YOUR servers/worlds for the plugin to function properly! Plugin will remain disabled until default config is changed...

Question

Where do I list the servers (MultiWorld)? I want to tp to a world with it.

World Not found

Everytime i want to teleport in a world, it says the world doesnt exist or not created.

I have tested it with world folder Name Nether.
This world exist but the compass says no xd.
What i have doing wrong.

Navicompass Dev 43
Pocketmine 3.14.2

suggestion

make compatible with waterdog proxy, so transfer players in seconds for those who use the proxy

Selector dropped on death

I like all the functions of the plugin but I wish there was an option to allow or disallow the selector to drop on death.

As someone who is going to use this almost exclusively for simple and easy world teleportation, dropping the selector upon death makes this very difficult to stay simple. There should be an option in the config file to set drop selector on death to true or false. That way users of the plugins can allow server players to keep simple world teleportation even after dying (without keeping their whole inventory).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.