GithubHelp home page GithubHelp logo

minigameworlds / minigameworld Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 3.0 19.33 MB

Customizable Minecraft Minigame Framework

License: GNU General Public License v3.0

Java 100.00%
minecraft-plugin minigame-framework

minigameworld's Introduction

MiniGameWorld GitHub release (latest by date)

Minecraft minigame framework

โ€ป This plugin is under development
This is not stable and there must be many bugs and errors.

Features

  • Foolish and simple API
  • Applicability and scalability regardless of the server genre
  • Multi-game instances
  • Multi-world instances (recommend Paper)
  • Config control
  • Language support
  • Party
  • View

How to fast start

0.9.0 is not stable so below is how to setup minigame server fast with 0.8.2 and demo world and minigames.

  1. Download your favorite bukkit (paper recommended) and config your server directory.
    (server run.bat script for Windows)
@echo off
title Minecraft Paper Server

:loop
java -Xms1G -Xmx1G -Dfile.encoding=UTF-8 -jar paper-1.20.6.jar nogui

echo server stopped
echo press enter to restart the server
pause >nul

goto loop
  1. Download the following plugins.
  1. Insert downloaded plugins into the plugins folder in your bukkit and start your bukkit. Then new worlds and MiniGameWorld(in plugins) folders will be created. And stop the server.
  2. Download MiniGameWorld-Test-Server zip file and unzip.
  3. Remove and replace the world folder with "resources/world". (demo play world)
  4. Remove and replace the plugins/MiniGameWorld folder with "resources/MiniGameWorld" (pre-setup configs)
  5. Launch minecraft(tested in 1.20.6) and join your server. Then you should spawn in a concrete structure. Enjoy.

[Tips]

  • Type "/mw" to get menu opener (can join and leave games) or type "/mw menu" to open directly.
  • Right-click signs to join a minigame.
  • You can create your own minigame structure. Then, you have to change the location of the minigame config file (in plugins/MiniGameWorld/minigames/{minigame}.yml. You can tune up other game settings also. After edit any configs, type "/mw reload" to apply changes (OPs only)
  • Deop players for normal play.
  • When this plugin was developed, sign block right-click for editing didn't work. But now, it allows editing by it. So you can tell players to not change the sign content.
  • See youtube videos how to play games.
  • For more details, please refer to the user wiki or discord(id: 4hhhh4)

Wiki

If you want to add minigames to your server, see User Wiki

If you want to develop a minigame, see Dev Wiki

minigameworld's People

Contributors

rkfsociety avatar worldbiomusic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

minigameworld's Issues

warn

[20:24:39 WARN]: org.bukkit.plugin.IllegalPluginAccessException: java.lang.ClassCastException: class org.bukkit.event.HandlerList cannot be cast to class org.bukkit.event.HandlerList (org.bukkit.event.HandlerList is in unnamed module of loader java.net.URLClassLoader @4c8151e8; org.bukkit.event.HandlerList is in unnamed module of loader java.net.URLClassLoader @484b61fc)
[20:24:39 WARN]: at org.bukkit.plugin.SimplePluginManager.getEventListeners(SimplePluginManager.java:709)
[20:24:39 WARN]: at org.bukkit.plugin.SimplePluginManager.registerEvent(SimplePluginManager.java:698)
[20:24:39 WARN]: at org.bukkit.plugin.SimplePluginManager.registerEvent(SimplePluginManager.java:668)
[20:24:39 WARN]: at MiniGameWorld-0.3.0.jar//com.worldbiomusic.minigameworld.listeners.CommonEventListener.registerAllEventListener(CommonEventListener.java:115)
[20:24:39 WARN]: at MiniGameWorld-0.3.0.jar//com.worldbiomusic.minigameworld.listeners.CommonEventListener.<init>(CommonEventListener.java:47)
[20:24:39 WARN]: at MiniGameWorld-0.3.0.jar//com.worldbiomusic.minigameworld.MiniGameWorldMain.registerEventListeners(MiniGameWorldMain.java:68)
[20:24:39 WARN]: at MiniGameWorld-0.3.0.jar//com.worldbiomusic.minigameworld.MiniGameWorldMain.onEnable(MiniGameWorldMain.java:45)
[20:24:39 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[20:24:39 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370)
[20:24:39 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500)
[20:24:39 WARN]: at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:563)
[20:24:39 WARN]: at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:477)
[20:24:39 WARN]: at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:727)
[20:24:39 WARN]: at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:503)
[20:24:39 WARN]: at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:313)
[20:24:39 WARN]: at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1202)
[20:24:39 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
[20:24:39 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)

Bungeecord / SubServers2 support.

I've look thru the docs and it looks like Multiverse is used. Multiverse is good for small servers which use one server instance with more players this could get laggy and resource intensive. That is why the big networks like Hypixel use Bungeecord (or similar).

Bungeecord is a proxy which redirects the player between each server. Each server will be it's own "paper.jar" that is running as an individual program. This is more reliable because if one minigame were to crash, the others would be available. Using something like SubServers2 would allow servers (minigames) to be dynamically created and destroyed, like Multiverse worlds can be.

It would take a lot of work to introduce Bungeecord / SubServers2 support, but I haven't seen an update to date alternative. The closest I've seen is MinigamesLib which supports up to 1.12.

Doing this could mean you have a greater market share in the mini games market. Many new server networks (and me) will appreciate this change.

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.