GithubHelp home page GithubHelp logo

inxomnyaa / spleef Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 2.0 16 KB

Spleef using https://github.com/thebigsmileXD/gameapi

Home Page: https://poggit.pmmp.io/ci/thebigsmileXD/Spleef/~

License: MIT License

PHP 100.00%
pmmp-plugin minigame minigame-plugin spleef virion api gameapi template pmmp-game pmmp

spleef's Introduction

Spleef

Spleef using https://github.com/thebigsmileXD/gameapi

Clarification

This plugin is just a proof of concept of making things easier for developers using OOP

Though just being a concept, you could actually play this game. Go test it on wolvesfortress.de:19133 (click to add to Minecraft) if you like to.

Setup is really easy. The world is automatically generated, called 'spleef'. To replace the map with another map, go to /plugins/Spleef/worlds and replace your 'spleef' data with your worlds data (you should keep the level.dat though)

Joining is done by using signs, but you can add any event for joining that you'd like - in JoinEventListener.php

Sign setup:

L1: [Spleef]
L2: mapname
L3: 
L4: 

Then, click on it, and you are set.

Breakable blocks are snow blocks (not top layers), and they will drop snow balls, so you can shoot off opponents.

You need to set up DEVirion and install the gameapi virion properly if you are running from source! (you could also turn this repository into a poggit project instead and use a compiled phar) Please search up how this is done yourself!

Disclaimer

This is a proof of concept repository. Please do not open issues about gameplay, setup issues, or similar. This repository is here to help people to understand how gameapi works with OOP, and how using a library can make programming alot easier. This repository is just for learning-by-reading and learning-by-doing purposes. You can modify the code by your needs and wills (see LICENSE).

spleef's People

Contributors

inxomnyaa avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

spleef's Issues

Command

How do we start a game? Is there a command?

Sings

Well wth do we do with signs? is there a formet

Internal Server Error when click on JoinSign

CONSOLE MESSAGE:

[03:52:21] [Server thread/CRITICAL]: TypeError: "Argument 1 passed to pocketmine\network\mcpe\NetworkBinaryStream::putString() must be of the type string, int given, called in phar:///home/container/PocketMine-MP.phar/src/pocketmine/network/mcpe/protocol/AddActorPacket.php on line 211" (EXCEPTION) in "src/pocketmine/network/mcpe/NetworkBinaryStream" at line 62
[03:52:21] [Server thread/DEBUG]: #0 src/pocketmine/network/mcpe/protocol/AddActorPacket(211): pocketmine\network\mcpe\NetworkBinaryStream->putString(integer 37)
[03:52:21] [Server thread/DEBUG]: #1 src/pocketmine/network/mcpe/protocol/DataPacket(127): pocketmine\network\mcpe\protocol\AddActorPacket->encodePayload()
[03:52:21] [Server thread/DEBUG]: #2 src/pocketmine/network/mcpe/RakLibInterface(244): pocketmine\network\mcpe\protocol\DataPacket->encode()
[03:52:21] [Server thread/DEBUG]: #3 src/pocketmine/Player(3283): pocketmine\network\mcpe\RakLibInterface->putPacket(object pocketmine\Player, object pocketmine\network\mcpe\protocol\AddActorPacket, boolean , boolean )
[03:52:21] [Server thread/DEBUG]: #4 src/pocketmine/Player(3300): pocketmine\Player->sendDataPacket(object pocketmine\network\mcpe\protocol\AddActorPacket, boolean , boolean )
[03:52:21] [Server thread/DEBUG]: #5 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/libs/xenialdan/gameapi/libs/xenialdan/apibossbar/DiverseBossBar(187): pocketmine\Player->dataPacket(object pocketmine\network\mcpe\protocol\AddActorPacket)
[03:52:21] [Server thread/DEBUG]: #6 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/libs/xenialdan/gameapi/libs/xenialdan/apibossbar/BossBar(92): xenialdan\Spleef\libs\xenialdan\gameapi\libs\xenialdan\apibossbar\DiverseBossBar->sendSpawnPacket(array[1])
[03:52:21] [Server thread/DEBUG]: #7 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/libs/xenialdan/gameapi/libs/xenialdan/apibossbar/DiverseBossBar(46): xenialdan\Spleef\libs\xenialdan\gameapi\libs\xenialdan\apibossbar\BossBar->addPlayer(object pocketmine\Player)
[03:52:21] [Server thread/DEBUG]: #8 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/libs/xenialdan/gameapi/Arena(221): xenialdan\Spleef\libs\xenialdan\gameapi\libs\xenialdan\apibossbar\DiverseBossBar->addPlayer(object pocketmine\Player)
[03:52:21] [Server thread/DEBUG]: #9 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/JoinGameListener(40): xenialdan\Spleef\libs\xenialdan\gameapi\Arena->joinTeam(object pocketmine\Player)
[03:52:21] [Server thread/DEBUG]: #10 plugins/Spleef_dev-2.phar/src/xenialdan/Spleef/JoinGameListener(26): xenialdan\Spleef\JoinGameListener->onClickSign(object pocketmine\event\player\PlayerInteractEvent, array[4])
[03:52:21] [Server thread/DEBUG]: #11 src/pocketmine/plugin/MethodEventExecutor(42): xenialdan\Spleef\JoinGameListener->onInteract(object pocketmine\event\player\PlayerInteractEvent)
[03:52:21] [Server thread/DEBUG]: #12 src/pocketmine/plugin/RegisteredListener(80): pocketmine\plugin\MethodEventExecutor->execute(object xenialdan\Spleef\JoinGameListener, object pocketmine\event\player\PlayerInteractEvent)
[03:52:21] [Server thread/DEBUG]: #13 src/pocketmine/event/Event(88): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\player\PlayerInteractEvent)
[03:52:21] [Server thread/DEBUG]: #14 src/pocketmine/level/Level(1870): pocketmine\event\Event->call()
[03:52:21] [Server thread/DEBUG]: #15 src/pocketmine/Player(2491): pocketmine\level\Level->useItemOn(object pocketmine\math\Vector3, object pocketmine\item\ItemBlock, integer 5, object pocketmine\math\Vector3, object pocketmine\Player, boolean 1)
[03:52:21] [Server thread/DEBUG]: #16 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(150): pocketmine\Player->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
[03:52:21] [Server thread/DEBUG]: #17 src/pocketmine/network/mcpe/protocol/InventoryTransactionPacket(171): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
[03:52:21] [Server thread/DEBUG]: #18 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[03:52:21] [Server thread/DEBUG]: #19 src/pocketmine/network/mcpe/protocol/BatchPacket(127): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
[03:52:21] [Server thread/DEBUG]: #20 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[03:52:21] [Server thread/DEBUG]: #21 src/pocketmine/Player(3235): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[03:52:21] [Server thread/DEBUG]: #22 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[03:52:21] [Server thread/DEBUG]: #23 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[21] 112.198.233.110 44628, object raklib\protocol\EncapsulatedPacket, integer 0)
[03:52:21] [Server thread/DEBUG]: #24 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
[03:52:21] [Server thread/DEBUG]: #25 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
[03:52:21] [Server thread/DEBUG]: #26 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
[03:52:21] [Server thread/DEBUG]: #27 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications()
[03:52:21] [Server thread/DEBUG]: #28 src/pocketmine/Server(2157): pocketmine\snooze\SleeperHandler->sleepUntil(double 1593834741.3186)
[03:52:21] [Server thread/DEBUG]: #29 src/pocketmine/Server(1994): pocketmine\Server->tickProcessor()
[03:52:21] [Server thread/DEBUG]: #30 src/pocketmine/Server(1588): pocketmine\Server->start()
[03:52:21] [Server thread/DEBUG]: #31 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/)
[03:52:21] [Server thread/DEBUG]: #32 src/pocketmine/PocketMine(304): pocketmine\server()
[03:52:21] [Server thread/DEBUG]: #33 (11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)
object(xenialdan\Spleef\libs\xenialdan\gameapi\Team)#14102 (7) {
["players":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
array(1) {
["jamescool5757"]=>
object(pocketmine\Player)#13504 (0) {
["initialplayers":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
array(0) {
["max":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
int(16)
["min":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
int(2)
["name":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
string(7) "Players"
["color":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
string(3) "§r"
["spawn":"xenialdan\Spleef\libs\xenialdan\gameapi\Team":private]=>
NULL

I just clicked on the joinsign with the format:

L1: [Spleef]
L2: Spleef-1
L3: 
L4: 

If theres a fix please tell me, TY!

Error

[07:49:02] [Server thread/CRITICAL]: ErrorException: "Constant DS already defined" (EXCEPTION) in "plugins/Spleef_v1.0.2/src/xenialdan/Spleef/libs/xenialdan/gameapi/Arena" at line 21
[07:49:02] [Server thread/DEBUG]: #0 (): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[27] Constant DS already defined, string[91] /home/container/plugins/Spleef_v1.0.2/src/xenialdan/Spleef/libs/xenialdan/gameap, integer 21, array[2])
[07:49:02] [Server thread/DEBUG]: #1 plugins/Spleef_v1.0.2/src/xenialdan/Spleef/libs/xenialdan/gameapi/Arena(21): define(string[2] DS, string[1] /)
[07:49:02] [Server thread/DEBUG]: #2 vendor/pocketmine/spl/BaseClassLoader(136): include(string[91] /home/container/plugins/Spleef_v1.0.2/src/xenialdan/Spleef/libs/xenialdan/gameap)
[07:49:02] [Server thread/DEBUG]: #3 (): BaseClassLoader->loadClass(string[45] xenialdan\Spleef\libs\xenialdan\gameapi\Arena)
[07:49:02] [Server thread/DEBUG]: #4 plugins/Spleef_v1.0.2/src/xenialdan/Spleef/Loader(72): spl_autoload_call(string[45] xenialdan\Spleef\libs\xenialdan\gameapi\Arena)
[07:49:02] [Server thread/DEBUG]: #5 plugins/Spleef_v1.0.2/src/xenialdan/Spleef/Loader(172): xenialdan\Spleef\Loader->getNewArena(string[46] /home/container/plugin_data/Spleef/spleef.json)
[07:49:02] [Server thread/DEBUG]: #6 plugins/Spleef_v1.0.2/src/xenialdan/Spleef/libs/xenialdan/customui/windows/CustomForm(103): xenialdan\Spleef\Loader->xenialdan\Spleef\{closure}(object pocketmine\Player, array[1])
[07:49:02] [Server thread/DEBUG]: #7 src/pocketmine/Player(3639): xenialdan\Spleef\libs\xenialdan\customui\windows\CustomForm->handleResponse(object pocketmine\Player, array[1])
[07:49:02] [Server thread/DEBUG]: #8 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(265): pocketmine\Player->onFormSubmit(integer 4, array[1])
[07:49:02] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/protocol/ModalFormResponsePacket(49): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket)
[07:49:02] [Server thread/DEBUG]: #10 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[07:49:02] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket)
[07:49:02] [Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[07:49:02] [Server thread/DEBUG]: #13 src/pocketmine/Player(3276): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[07:49:02] [Server thread/DEBUG]: #14 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[07:49:02] [Server thread/DEBUG]: #15 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[20] 222.166.36.124 37940, object raklib\protocol\EncapsulatedPacket, integer 0)
[07:49:02] [Server thread/DEBUG]: #16 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
[07:49:02] [Server thread/DEBUG]: #17 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
[07:49:02] [Server thread/DEBUG]: #18 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
[07:49:02] [Server thread/DEBUG]: #19 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications()
[07:49:02] [Server thread/DEBUG]: #20 src/pocketmine/Server(2406): pocketmine\snooze\SleeperHandler->sleepUntil(double 1580543342.4653)
[07:49:02] [Server thread/DEBUG]: #21 src/pocketmine/Server(2250): pocketmine\Server->tickProcessor()
[07:49:02] [Server thread/DEBUG]: #22 src/pocketmine/Server(1811): pocketmine\Server->start()
[07:49:02] [Server thread/DEBUG]: #23 src/pocketmine/PocketMine(274): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/)
[07:49:02] [Server thread/DEBUG]: #24 src/pocketmine/PocketMine(297): pocketmine\server()
[07:49:02] [Server thread/DEBUG]: #25 (1): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

non-op can´t break snow!

So, I have the default settigns after the arena create,
aaand.... the non-op players, cant break any blocks...
yeah. I thaught it was bcause spawn protect, but its not this problem.
I have in the world config set the "can break block id" 80, but it dont works :(

Crash no name world

Steps to reproduce the error:

1.- /spleef

2.- [New arena]

3.- [New world]

4.- (Do not write anything in the world)

5.- [Send]

Crash:

[14:38:27] [Server thread/CRITICAL]: pocketmine\level\LevelException: "Invalid empty world name" (EXCEPTION) in "src/pocketmine/Server" at line 937
[14:38:27] [Server thread/DEBUG]: #0 plugins/Spleef_dev-3.phar/src/xenialdan/Spleef/Loader(163): pocketmine\Server->loadLevel(string[0] )
[14:38:27] [Server thread/DEBUG]: #1 plugins/Spleef_dev-3.phar/src/xenialdan/Spleef/libs/xenialdan/customui/windows/CustomForm(103): xenialdan\Spleef\Loader->xenialdan\Spleef{closure}(object pocketmine\Player, array[2])
[14:38:27] [Server thread/DEBUG]: #2 src/pocketmine/Player(3588): xenialdan\Spleef\libs\xenialdan\customui\windows\CustomForm->handleResponse(object pocketmine\Player, array[2])
[14:38:27] [Server thread/DEBUG]: #3 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(264): pocketmine\Player->onFormSubmit(integer 3, array[2])
[14:38:27] [Server thread/DEBUG]: #4 src/pocketmine/network/mcpe/protocol/ModalFormResponsePacket(49): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket)
[14:38:27] [Server thread/DEBUG]: #5 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[14:38:27] [Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/protocol/BatchPacket(127): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket)
[14:38:27] [Server thread/DEBUG]: #7 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[14:38:27] [Server thread/DEBUG]: #8 src/pocketmine/Player(3235): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[14:38:27] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[14:38:27] [Server thread/DEBUG]: #10 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[17] 81.0.33.209 33252, object raklib\protocol\EncapsulatedPacket, integer 0)
[14:38:27] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
[14:38:27] [Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
[14:38:27] [Server thread/DEBUG]: #13 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}()
[14:38:27] [Server thread/DEBUG]: #14 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications()
[14:38:27] [Server thread/DEBUG]: #15 src/pocketmine/Server(2157): pocketmine\snooze\SleeperHandler->sleepUntil(double 1593866307.3244)
[14:38:27] [Server thread/DEBUG]: #16 src/pocketmine/Server(1994): pocketmine\Server->tickProcessor()
[14:38:27] [Server thread/DEBUG]: #17 src/pocketmine/Server(1588): pocketmine\Server->start()
[14:38:27] [Server thread/DEBUG]: #18 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/)
[14:38:27] [Server thread/DEBUG]: #19 src/pocketmine/PocketMine(304): pocketmine\server()
[14:38:27] [Server thread/DEBUG]: #20 (11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

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.