Giter Site home page Giter Site logo

uhc's Introduction

UHC

Popular Ultra-Hardcore gamemode brought to PocketMine!

Features

This UHC plugin currently has the following features:

  • Borders (experimental bedrock borders)
  • Scenarios (You can add your own!)
  • UHC Phases (Countdown, Grace, PvP, and Normal)
  • Commands (GlobalMute, Heal, Scenarios, Spectator, Tpall, and UHC) with more on the way!

FAQ

There's no scenarios?

When making this, I still wanted each UHC server to have their own unique scenarios, with the same basic UHC concept. However, I know not everyone knows how to make scenarios, so I released a scenario pack, however scenarios are still a work in progress, and may need updated from time to time. You can unpack these scenarios in plugin_data/UHC/scenarios. Zip file support on the way!
Note: the versioning for scenarios packs match up with the plugin version!

Okay... I got scenarios installed, now what?

After you install scenarios, you simply start your server, and enable your scenarios by doing /scenarios or /sc for short! When you're satisfied with the amount of players, just run /uhc and it'll start!

Is there multiworld support?

No, I do not plan on having multiworld support either. If you try and run the UHC on another world, you will run into issues with borders and scattering.

I want a feature, how can I request it?

Feel free to open up an issue about any features you want! I will try my best to add anything except for scenarios.

How do I make my own scenarios?

Making your own scenarios is simple! You'll want to create a .php file, with no namespace, as shown below.

<?php
declare(strict_types=1);

use uhc\Loader;
use uhc\game\Scenario;

class ExampleScenario extends Scenario{
    public function __construct(Loader $plugin){
        parent::__construct($plugin, "ExampleScenario");
    }

    public function handleEvent(ExampleEvent $ev){
        //code
    }
}

Note: Scenario API is presently not stable and is subject to change!

How can I add health under nametags?

As you may have noticed, as of the recent commit, health under nametags have gone missing.
It was not unintentional, if you'd like the health back (and more!), use PlayerTags.

Current Issues

  • Scattering can cause some lag for a few seconds.
  • Bedrock borders cause lag when built above size 100. Both of these problems are well-known, just been neglected, closure tasks can help reduce the issue, however I do not have much ability to test with large amounts of players.

uhc's People

Contributors

buchwasa avatar icecruelstuff avatar poggit-bot avatar sylvrs 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uhc's Issues

ScoreFactory Class not found

i don't know much about virions and libraries but using the latest code from the github page doesn't have it built in, i could be just dumb but still felt like making an issues cause u might not be aware of this bug if u can even call it that

Translate

Author How do I translate this plugin

I want to translate the plugin into Chinese.

Documentation

Presently, everything isn't documented too well. I'd like to document the API, however I'm also not satisfied with the API right now, so I will save this for 2.0.

Borders don't use spawn.

The borders do not respect the proper spawn, instead it uses 0 - 1000 in the x and z range. Scatter, for example, respects spawn and applies the range. Either borders need to respect spawn or we use 0, 0 as a meetup point.

Suggestion

I suggest that the game start automatically, for example I send people from one host to another with a bungercoord so they arrive in seconds and when the game arrives it starts alone and

ScoreFactory not found

Pmmp version: 3.14.1

Running from source(cuz i cant get the .phar)

I've already tried installing the virion of scorefactory, but i keep getting the same error. Any help?

Error:
11.07 03:01:25 [Server] Server thread/CRITICAL Error: "Class 'JackMD\ScoreFactory\ScoreFactory' not found" (EXCEPTION) in "plugins/UHC-master/src/uhc/game/GameHeartbeat" at line 247 11.07 03:01:25 [Server] Server thread/DEBUG #0 plugins/UHC-master/src/uhc/game/GameHeartbeat(86): uhc\game\GameHeartbeat->handleScoreboard(object pocketmine\Player) 11.07 03:01:25 [Server] Server thread/DEBUG #1 plugins/UHC-master/src/uhc/game/GameHeartbeat(61): uhc\game\GameHeartbeat->handlePlayers() 11.07 03:01:25 [Server] Server thread/DEBUG #2 src/pocketmine/scheduler/TaskHandler(134): uhc\game\GameHeartbeat->onRun(integer 281) 11.07 03:01:25 [Server] Server thread/DEBUG #3 src/pocketmine/scheduler/TaskScheduler(179): pocketmine\scheduler\TaskHandler->run(integer 281) 11.07 03:01:25 [Server] Server thread/DEBUG #4 src/pocketmine/plugin/PluginManager(654): pocketmine\scheduler\TaskScheduler->mainThreadHeartbeat(integer 281) 11.07 03:01:25 [Server] Server thread/DEBUG #5 src/pocketmine/Server(2391): pocketmine\plugin\PluginManager->tickSchedulers(integer 281) 11.07 03:01:25 [Server] Server thread/DEBUG #6 src/pocketmine/Server(2154): pocketmine\Server->tick() 11.07 03:01:25 [Server] Server thread/DEBUG #7 src/pocketmine/Server(1994): pocketmine\Server->tickProcessor() 11.07 03:01:25 [Server] Server thread/DEBUG #8 src/pocketmine/Server(1588): pocketmine\Server->start() 11.07 03:01:25 [Server] Server thread/DEBUG #9 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[48] /, string[56] /plugins/) 11.07 03:01:25 [Server] Server thread/DEBUG #10 src/pocketmine/PocketMine(304): pocketmine\server() 11.07 03:01:25 [Server] Server thread/DEBUG #11 (11): require(string[108] phar:///PMMP-Latest-Stable.phar/s) 11.07 03:01:25 [Server] Server thread/EMERGENCY An unrecoverable error has occurred and the server has crashed. Creating a crash dump 11.07 03:01:25 [Server] Server thread/EMERGENCY Please upload the "/crashdumps/Sat_Jul_11-03.01.25-UTC_2020.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.

Qestion

I was wondering if u want to help make a uhc server if ur plugin if u are interested plzs tell on discord
MakerbakerYT#3139

Bad name "Game Players"

Presently the API around game players is a bit confusing, game players aren't necessarily people that are going to stick around during the full game, which isn't really clear in the current API.

I came across my issue when I was checking if the player was in the game when they'd log in, but didn't remember that they are temporary, this is where the permanent session comes into play.

Game players should have all the events handled to them, but should not be expected to be permanent.

Events

Presently the current event in the plugin is misleading by both the name and the type of event. However, while looking at this, I think it'd make sense to add more events.

Present ideas for events (feel free to comment your input of additions or deletions)

  • PhaseChangeEvent (Triggered on each UHC status change)

Switch to ChestUI instead of Forms.

I do plan on porting the UHC plugin to Spigot here soon enough and would like to keep the two plugins as similar as possible to make maintaining them both as simple as possible. Changing over to chest ui will remove the need for MC Bedrock's forms (they aren't that good looking anyway).

However, as with most things I do, I'd like a vote on whether or not you'd like chest ui instead.

Discord and bug

WHats your discord, the uhc world is flat, no way to leave uhc, and the game starts for everyone

A little bug alongside a suggestion

on a lot of servers /sc = /sctaffchat ....

maybe make your /sc for this plugin /sce instead ??

However this plugin doesnt overwrite my /sc for staffchat but it pay for other people

Add a configuration for messages

The idea for this is to have a configuration for every message. This does not have to be multi language, just a configuration with every message. Prefer the config to be YAML since it is user friendly enough.

Example:

uhc.command.started: "The UHC has started successfully!"

Poggit

Can you please add this plugin to Poggit?

suggestions

add configurable options . add command permissions to plugin.yml (makes it easier to locate).

like how much players are needed for a game to auto start

configurable timer changes for start, end, pvp enable etc

spawn area / safe zone

default-global-mute: true or false

How do I begin

Where do I start ?
I need a full guide book
Appreciate if you read this and help me

PM4 Support

Here soon, PM3 support is to be dropped, so this plugin will have to be updated for PM4, which I will only support from here on out, even if PM3 is not dropped yet.

Error

[23:36:40] [Server thread/INFO]: Enabling UHC v1.0.0
[23:36:40] [Server thread/CRITICAL]: InvalidArgumentException: "Unknown NBT tag type 12" (EXCEPTION) in "vendor/pocketmine/nbt/src/NBT" at line 87
[23:36:40] [Server thread/DEBUG]: #0 vendor/pocketmine/nbt/src/NBTStream(184): pocketmine\nbt\NBT::createTag(integer 12)
[23:36:40] [Server thread/DEBUG]: #1 vendor/pocketmine/nbt/src/tag/CompoundTag(449): pocketmine\nbt\NBTStream->readTag(object pocketmine\nbt\ReaderTracker)
[23:36:40] [Server thread/DEBUG]: #2 vendor/pocketmine/nbt/src/ReaderTracker(47): pocketmine\nbt\tag\CompoundTag->pocketmine\nbt\tag{closure}()
[23:36:40] [Server thread/DEBUG]: #3 vendor/pocketmine/nbt/src/tag/CompoundTag(457): pocketmine\nbt\ReaderTracker->protectDepth(object Closure)
[23:36:40] [Server thread/DEBUG]: #4 vendor/pocketmine/nbt/src/NBTStream(186): pocketmine\nbt\tag\CompoundTag->read(object pocketmine\nbt\BigEndianNBTStream, object pocketmine\nbt\ReaderTracker)
[23:36:40] [Server thread/DEBUG]: #5 vendor/pocketmine/nbt/src/tag/CompoundTag(449): pocketmine\nbt\NBTStream->readTag(object pocketmine\nbt\ReaderTracker)
[23:36:40] [Server thread/DEBUG]: #6 vendor/pocketmine/nbt/src/ReaderTracker(47): pocketmine\nbt\tag\CompoundTag->pocketmine\nbt\tag{closure}()
[23:36:40] [Server thread/DEBUG]: #7 vendor/pocketmine/nbt/src/tag/CompoundTag(457): pocketmine\nbt\ReaderTracker->protectDepth(object Closure)
[23:36:40] [Server thread/DEBUG]: #8 vendor/pocketmine/nbt/src/NBTStream(186): pocketmine\nbt\tag\CompoundTag->read(object pocketmine\nbt\BigEndianNBTStream, object pocketmine\nbt\ReaderTracker)

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.