/PowerNukkitX

Make Nukkit Great Again!

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

PowerNukkitX

🌐Need to switch languages? / 多语言文档

Discord English 简体中文 繁體中文 License: GPL v3 ChangeLog FAQ PNX-DOC Maven Central

🤔What is PowerNukkitX ?

PowerNukkitX is a branch version based on PowerNukkit, developed and maintained by PowerNukkitX, any problems can be submitted to Issue feedback.

Join US:

What's new in PowerNukkitX? Let's See:

  1. Support for 1.19.30 protocol.
  2. Native support for 384 height limits (Currently only the main world, the rest are limited to 256 blocks).
  3. Native support for The Nether world, no need to install additional plug-in patches, etc.
  4. Support 3D biomes (improving) .
  5. Native support for vanilla commands and command block, etc.
  6. Built-in Terra generator (if you have questions click here to view) .
  7. Support for writing plug-ins using the JavaSrcipt language (preliminary completion, development documentation can be found here).
  8. Support custom blocks / items / entity (refinement in progress, documentation to be added).
  9. Built-in Bio AI, no need to install MobPlugin (under development, not perfect).
  10. Todo...

🎮 How to use

PowerNukkitX requires a minimum Java version of 17, please install it yourself and configure the environment variables.

We suggest that you use PNX-CLI to run PowerNukkitX, Why?

  1. PNX-CLI is compiled using GraalVM Native Image,which can be used without java runtime environment,with small memory consumption and high running efficiency.
  2. Simplify GraalJit and JDK installation.With GraalJit,your JS plugin will run 100 times more efficiently
  3. Provides efficient and adaptive startup commands without the need to write them manually
  4. Pure command line operation, concise and effective, Linux command style
  5. Github version synchronization,update version does not need to repeat the download of dependent libraries,just a key command
you can click here to get more information.
If your platform is not suitable for using PNX-CLI,then please read the following steps.

Steps:

  1. Download libs.tar.gz and powernukkitx.jar from release
  2. Extract the libs folder in libs.tar.gz to the same path as powernukkitx.jar
  3. Run the following command
Windows Version
java -Dfile.encoding=UTF-8 ^
-Djansi.passthrough=true ^
-Dterminal.ansi=true ^
-XX:+UnlockExperimentalVMOptions ^
-XX:+UseG1GC ^
-XX:+UseStringDeduplication ^
-XX:+EnableJVMCI ^
--module-path=.\libs\graal-sdk-22.2.0.jar;.\libs\truffle-api-22.2.0.jar; ^
--add-opens java.base/java.lang=ALL-UNNAMED ^
--add-opens java.base/java.io=ALL-UNNAMED ^
-cp .\powernukkitx.jar;.\libs\* ^
cn.nukkit.Nukkit
Linux Version
java -Dfile.encoding=UTF-8 \
-Djansi.passthrough=true \
-Dterminal.ansi=true \
-XX:+UnlockExperimentalVMOptions \
-XX:+UseG1GC \
-XX:+UseStringDeduplication \
-XX:+EnableJVMCI \
--module-path=./libs/truffle-api-22.2.0.jar:./libs/graal-sdk-22.2.0.jar: \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.io=ALL-UNNAMED \
-cp ./powernukkitx.jar:./libs/* \
cn.nukkit.Nukkit

📌 Statement

PowerNukkitX is a modified and optimized version based on PowerNukkit and Nukkit, fixing its bugs, adding more feature support, etc., such as LiteLoader (under improvement) plugin compatibility, etc.

  • Please note that PowerNukkitX is not maintained by Cloudburst developers, it relies on the open source community to generate electricity with love. If you encounter any problems when using PowerNukkitX, you should first create an issue in this repository (please also note to read the rules in the Contribution Help Guide).

  • We also recommend that you perform regular backups and other operations, and use the plug-ins made for PowerNukkitX and use stable version for deployment.

  • Most Cloudburst Nukkit plugins are supported but they may not understand the new blocks and items and the new stuff that you can do with PowerNukkitX.

🧾 About Nukkit

Nukkit is nuclear-powered server software for Minecraft: Pocket Edition. It has a few key advantages over other server software:

  • Written in Java, Nukkit is faster and more stable.
  • Having a friendly structure, it's easy to contribute to Nukkit's development and rewrite plugins from other platforms into Nukkit plugins.
  • Nukkit is under improvement yet, we welcome contributions.

🛠 Creating Plugins

  • Add PowerNukkit to your dependencies (it is hosted by Maven Central, so you don't need to specify a custom repository) .

Click here to see full Gradle Example

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'cn.powernukkitx', name: 'powernukkitx', version: '1.19.30-r2'
}

Click here to see full Maven Example

<dependencies>
    <dependency>
        <groupId>cn.powernukkitx</groupId>
        <artifactId>powernukkitx</artifactId>
        <version>1.19.30-r2</version>
    </dependency>
</dependencies>

🛠 Build JAR file

  • git clone https://github.com/PowerNukkitX/PowerNukkitX
  • cd PowerNukkitX
  • git submodule update --init
  • ./mvnw clean package
  • The compiled JAR can be found in the target/ directory.
  • Please check how to use the compiled JAR file when you run it.
  • To run the jar please see How to use.

🧐 Contributing

Please read the CONTRIBUTING guide before submitting any issue. Issues with insufficient information or in the wrong format will be closed and will not be reviewed.


🌐 Links

🎨 Statistics

Issues Issues-Closed Pull-pr Pull-pr-closed

2019 - 2022 © BlocklyNukkit | PowerNukkitX