All Projects → mrgeneralq → sleep-most

mrgeneralq / sleep-most

Licence: other
Control the amount of percentage of sleeping players required to make it day. 100K+ downloads on spigot!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to sleep-most

Mockbukkit
MockBukkit is a mocking framework for bukkit to allow the easy unit testing of Bukkit plugins.
Stars: ✭ 186 (+708.7%)
Mutual labels:  spigot
SkyChanger
Change the color of your personal sky in Minecraft ⛅️⚡️🌄
Stars: ✭ 31 (+34.78%)
Mutual labels:  spigot
Minefana
Bungee/Spigot plugin to send stats to a InfluxDB to be displayed by a Grafana instance.
Stars: ✭ 23 (+0%)
Mutual labels:  spigot
Helper
A collection of utilities and extended APIs to support the rapid and easy development of Bukkit plugins.
Stars: ✭ 188 (+717.39%)
Mutual labels:  spigot
Cardboard
The Bukkit/Spigot/Paper API implementation for Fabric
Stars: ✭ 220 (+856.52%)
Mutual labels:  spigot
Skript-1.8
The Skript plugin made for Minecraft 1.8.x only. Releases will follow the original repository, except for some bug fixes. Please read the README before updating to Skript-1.8 !
Stars: ✭ 38 (+65.22%)
Mutual labels:  spigot
Holographicdisplays
Create modern looking holograms in Minecraft.
Stars: ✭ 175 (+660.87%)
Mutual labels:  spigot
grakkit
A modern JavaScript development environment for Minecraft.
Stars: ✭ 184 (+700%)
Mutual labels:  spigot
Craftbook
🔧 Machines, ICs, PLCs, and more!
Stars: ✭ 226 (+882.61%)
Mutual labels:  spigot
AdvancedCore
Core API for my plugins on SpigotMC
Stars: ✭ 54 (+134.78%)
Mutual labels:  spigot
Bentobox
Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
Stars: ✭ 192 (+734.78%)
Mutual labels:  spigot
Terraincontrol
Minecraft Terrain Generator for SpigotMC and Forge
Stars: ✭ 216 (+839.13%)
Mutual labels:  spigot
TileCulling
Hides tiles that players are not able to see due to blocks in the way, preventing cheaters from seeing chests behind walls.
Stars: ✭ 31 (+34.78%)
Mutual labels:  spigot
Fastasyncworldedit
Blazingly fast world manipulation for artists, builders and everyone else: https://www.spigotmc.org/resources/13932/
Stars: ✭ 188 (+717.39%)
Mutual labels:  spigot
simple-commands
An (even more) simplified and intuitive command framework for Spigot.
Stars: ✭ 14 (-39.13%)
Mutual labels:  spigot
Geyser
A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
Stars: ✭ 2,851 (+12295.65%)
Mutual labels:  spigot
mc-server-wrapper
Lightweight Minecraft server wrapper binary for Discord chat bridge + enhanced management tools
Stars: ✭ 17 (-26.09%)
Mutual labels:  spigot
HeadsPlus
A heads plugin that has grown for over two years into something more ambitious than other plugins.
Stars: ✭ 35 (+52.17%)
Mutual labels:  spigot
Assemble
⚡ Highly performant Scoreboard library for Spigot 1.7.x to 1.17.x
Stars: ✭ 99 (+330.43%)
Mutual labels:  spigot
HamsterAPI
Simple and easy to use API to read and write Packets.
Stars: ✭ 25 (+8.7%)
Mutual labels:  spigot

sleep most banner

Before you start ...

  1. Clone the repo to your local computer.
  2. Check on the Project Board if there is already an issue. If not, create an issue first.
  3. Don't start working on Issues that are already in progress

Good to know

Although all contributions to sleep-most are much appreciated, we will only merge features if they are of benefit to the community. If you ask to implement something that is only of added value to your server, the Pull request will be rejected.

Contributing

Creating a feature-branch

We make use of the Git flow approach. Therefore, always create a branch based on develop branch. Whenever you are done, you may submit a PR to merge it with the open release branch. After that, we will merge your changes back into the develop branch. Do NOT submit a PR to merge with master. We will not accept that.

Hotfixes

Hotfixes are issues that could or will have an impact on the existing plugin. We consider hotfixes Major issues that need instant resolution. Whenever you have a major issue, you create a feature-branch based on the hotfix branch. Submit a Pull request to merge into hotfix to collect all hotfixes. Once all of it is done, we will merge the hotfix branch with a priority into the master branch.

⚠️Only major issues are accepted for hotfixes. If there are small bugs, please use the develop branch instead.

Architecture Guidelines

Below you can find a list of some specific architecture related guidelines you have to respect.

Messages

Sending messages

Every message being sent to a player MUST use the IMessageService.sendMessage() This is done so that we can control when a message should and should not be sent. If the message in the config is empty, it will not be sent. This can only be done if the message service is used.

Example

import me.mrgeneralq.sleepmost.interfaces.IMessageService;
import org.bukkit.command.CommandSender;

public class A() {

    private final IMessageService messageService;

    A(IMessageService messageService) {
        this.messageService = messageService;
    }

    public void onA(CommandSender sender) {
        String myMessage = "Hello World";
        this.messageService.sendMessage(sender, myMessage);
    }
}

Fetching messages from config

Every message that should be fetched and be part of messages.yml should be part of the MessageMapper.class The MessageMapper is used to map the Enum ConfigMessage to a message object Message.class.

  1. Create a new message in the ConfigMessage.class
  2. Register the message in the message mappe

MessageMapper

public class MessageMapper {
    public void loadMessages() {
        //add your message key HERE
        this.messages.put(ConfigMessage.YOUR_MESSAGE_KEY, new Message("your.message.path", "default value of message"));
    }
}

To fetch the message, you can use the IMessageService.getMessage(ConfigMessage message).

import me.mrgeneralq.sleepmost.builders.MessageBuilder;
import me.mrgeneralq.sleepmost.enums.MessageKey;
import me.mrgeneralq.sleepmost.interfaces.IMessageService;

public class A {

    private final IMessageService messageService;

    A(IMessageService messageService) {
        this.messageService = messageService;
    }

    public void helloWorld(Player player) {
        //fetching the message builder object (this can be used to modify placeholders)
        MessageBuilder helloWorldMsg = this.messageService.getMessage(MessageKey.HELLO_WORLD);
        this.messageService.sendMessage(player, helloWorldMsg.build());
    }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].