Giter Site home page Giter Site logo

nukkit's Introduction

nukkit

License: GPL v3 Discord

ATTENTION


This repository is no longer actively maintained. For our latest project, please check out 🌟Project Endstone, which allows you to write plugins for Bedrock Dedicated Server using C++ and Python 🐍. It comes with cross-platform capability and supports all the latest Minecraft features.

Introduction


Nukkit is nuclear-powered server software for Minecraft Bedrock Edition with several advantages over other server software. It's written in Java, which makes Nukkit faster and more stable. Moreover, its friendly structure makes it easy to contribute to Nukkit's development and rewrite plugins from other platforms into Nukkit plugins. Active maintenance of Nukkit takes place at CloudburstMC Nukkit.

Build JAR file


To build a JAR file, follow the steps below. Please ensure you have Java Development Kit (JDK) and Maven installed in your system before executing these steps:

  • git submodule update --init
  • mvn clean package

Running


To run the software, simply execute either start.sh or start.cmd, or run the command java -jar Nukkit.jar.

Plugin API


Below is an Example Plugin showing the API of Nukkit.

Contributing


If you wish to contribute to our project, please first read our CONTRIBUTING guide. Issues that come with insufficient information or not in the given format will be closed and will not be reviewed.

nukkit's People

Contributors

alistairwatts avatar angelic47 avatar boy0001 avatar boybook avatar caoli5288 avatar creeperface01 avatar davidboden avatar fengberd avatar fromgate avatar hmhmmhm avatar imjack avatar itslucas avatar kvetinac97 avatar mepeisen avatar milkice233 avatar mrpowergamerbr avatar niall7459 avatar nishuzumi avatar nuclearsteven avatar onebone avatar peratx avatar projectinfinity avatar pub4game avatar snake1999 avatar solo5star avatar supermarcus avatar wu-vincent avatar xpyctum avatar yescallop avatar yungtechboy1 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nukkit's Issues

Java lang level issue

You defined java lang level in build.gradle is 5, but you use a lot of java 8's syntax.

Strange bug with block

If you rapidly tap any object on the ground, it appears like this block
image

For example, the snow puts a Redstone torch
Lighter - earth
Scissors - Watermelon

Resource miss causing server crash

When I start the server to crash.

Log:

[INFO] Welcome! Please choose a language first!
[ALERT] java.lang.NullPointerException
    at java.io.Reader.<init>(Unknown Source)
    at java.io.InputStreamReader.<init>(Unknown Source)
    at cn.nukkit.utils.Utils.readFile(Utils.java:57)
    at cn.nukkit.Server.<init>(Server.java:195)
    at cn.nukkit.Nukkit.main(Nukkit.java:65)

Block Coblestone error

When you are looking to place blocks from this error
java.lang.NullPointerException
at cn.nukkit.math.Vector3.equals(Vector3.java:240)
at cn.nukkit.level.Level.getNearbyEntities(Level.java:1554)
at cn.nukkit.level.Level.getNearbyEntities(Level.java:1539)
at cn.nukkit.level.Level.setBlock(Level.java:1154)
at cn.nukkit.block.Block.place(Block.java:505)
at cn.nukkit.level.Level.useItemOn(Level.java:1468)
at cn.nukkit.Player.handleDataPacket(Player.java:1923)
at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:135)
at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:123)
at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:63)
at cn.nukkit.network.Network.processInterfaces(Network.java:73)
at cn.nukkit.Server.tick(Server.java:899)
at cn.nukkit.Server.tickProcessor(Server.java:722)
at cn.nukkit.Server.start(Server.java:703)
at cn.nukkit.Server.(Server.java:399)
at cn.nukkit.Nukkit.main(Nukkit.java:61)

Crash when firing a bow

[INFO] Pub4Game joined the game
[DEBUG] Packet cn.nukkit.network.protocol.PlayerActionPacket 0xAB00000000000000000000000500000000000000000000000000000000
[ALERT] java.lang.NullPointerException
    at cn.nukkit.Player.handleDataPacket(Player.java:2094)
    at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:135)
    at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:123)
    at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:61)
    at cn.nukkit.network.Network.processInterfaces(Network.java:73)
    at cn.nukkit.Server.tick(Server.java:925)
    at cn.nukkit.Server.tickProcessor(Server.java:747)
    at cn.nukkit.Server.start(Server.java:728)
    at cn.nukkit.Server.<init>(Server.java:424)
    at cn.nukkit.Nukkit.main(Nukkit.java:65)

[NOTICE] Blocked 192.168.1.172 for 5 seconds
[INFO] Pub4Game left the game
[INFO] Pub4Game[/192.168.1.172:19132] logged out due to timeout

Contributing

Hi i think your project is good because it is almost rewrited pocketmine to JAVA and java is better than php and pocketmine is good too (just laggy) so in java it would be great! so how can i contribute, because i don't know what should i do. I think, i know pocketmine API well.

Crash

2015-11-27 17:32:08 [CRITICAL] Ошибка прорисовки мира "world": java.lang.IllegalArgumentException: Value -11.0 exceeds the range!
2015-11-27 17:32:16 [ALERT] java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(Unknown Source)
at java.util.HashMap$ValueIterator.next(Unknown Source)
at cn.nukkit.level.format.generic.BaseFullChunk.unload(BaseFullChunk.java:392)
at cn.nukkit.level.format.mcregion.McRegion.unloadChunk(McRegion.java:264)
at cn.nukkit.level.format.mcregion.McRegion.setChunk(McRegion.java:316)
at cn.nukkit.level.Level.setChunk(Level.java:1822)
at cn.nukkit.level.Level.generateChunkCallback(Level.java:1789)
at cn.nukkit.level.generator.PopulationTask.onCompletion(PopulationTask.java:160)
at cn.nukkit.scheduler.AsyncPool.collectTasks(AsyncPool.java:125)
at cn.nukkit.scheduler.ServerScheduler.mainThreadHeartbeat(ServerScheduler.java:180)
at cn.nukkit.Server.tick(Server.java:927)
at cn.nukkit.Server.tickProcessor(Server.java:747)
at cn.nukkit.Server.start(Server.java:728)
at cn.nukkit.Server.(Server.java:424)
at cn.nukkit.Nukkit.main(Nukkit.java:65)

2015-11-27 17:32:16 [INFO] Stopping other threads

Question

Can do detailed instructions for obtaining nukkit.jar? Catch the buy going up I think it would be useful) Thanks!

Asked this question here because no one answers gitter(

no main manifest attribute

(Sorry, I'm using the Google Translation.)
Hello! I cannot run the Nukkit.

  1. "gradle compileJava"
  2. "java -jar Nukkit.jar"
  3. Error: no main manifest attribute

Drop Item

1)Throws any object
2)disconnect from server
3)Join to server
image

Weather

Add a command to the weather change, as is done on the PC (Bukkit)

ITALIAN LANGUAGE FOR NUKKIT SERVER

Language translated by Robozeri & Alex11

Language file compatible with Minecraft: Pocket Edition identifiers

A message doesn't need to be there to be shown correctly on the client.

Only messages shown in Nukkit itself need to be here

Using the language property from PocketMine-MP

language.name=Italiano
language.selected=Seleziona {%0} ({%1}) come la lingua di base

multiplayer.player.joined={%0} è entrato in gioco
multiplayer.player.left={%0} ha lasciato il gioco

chat.type.text=<{%0}> {%1}
chat.type.emote=* {%0} {%1}
chat.type.announcement=[{%0}] {%1}
chat.type.admin=[{%0}: {%1}]
chat.type.achievement={%0} ha conquistato l'obbiettivo {%1}

disconnectionScreen.outdatedClient=Client Obsoleto!
disconnectionScreen.outdatedServer=Server Obsoleto!
disconnectionScreen.serverFull= Il Server è pieno!
disconnectionScreen.noReason=Disconesso dal server
disconnectionScreen.invalidSkin=Skin non valida!
disconnectionScreen.invalidName=Nome non valido!

death.fell.accident.generic={%0} si è schiantato al suolo
death.attack.inFire={%0} è andato in fiamme
death.attack.onFire={%0} è bruciato a morte
death.attack.lava={%0} ha provato a nuotare nella lava
death.attack.inWall={%0} è soffocato in un muro
death.attack.drown={%0} è annegato
death.attack.cactus={%0} è stato bucato a morte
death.attack.generic={%0} è morto
death.attack.explosion={%0} è esploso
death.attack.explosion.player={%0} è stato fatto esplodere da {%1}
death.attack.magic={%0} è stato ucciso dalla magia
death.attack.wither={%0} è stato witherato
death.attack.mob={%0} è stato ucciso da {%1}
death.attack.player={%0} è stato ucciso da {%1}
death.attack.player.item={%0} è stato ucciso da {%1} usando {%2}
death.attack.arrow={%0} è stato trafitto da {%1}
death.attack.arrow.item={%0} è stato trafitto da {%1} usando {%2}
death.attack.fall={%0} si è spiaccicato al suolo
death.attack.outOfWorld={%0} è caduto fuori dal mondo

gameMode.survival=Survival Mode
gameMode.creative=Creative Mode
gameMode.adventure=Adventure Mode
gameMode.spectator=Spectator Mode
gameMode.changed=La tua modalità è stata aggiornata

potion.moveSpeed=Speed
potion.moveSlowdown=Slowness
potion.digSpeed=Haste
potion.digSlowDown=Mining Fatigue
potion.damageBoost=Strength
potion.heal=Instant Health
potion.harm=Instant Damage
potion.jump=Jump Boost
potion.confusion=Nausea
potion.regeneration=Regeneration
potion.resistance=Resistance
potion.fireResistance=Fire Resistance
potion.waterBreathing=Water Breathing
potion.invisibility=Invisibility
potion.blindness=Blindness
potion.nightVision=Night Vision
potion.hunger=Hunger
potion.weakness=Weakness
potion.poison=Poison
potion.wither=Wither
potion.healthBoost=Health Boost
potion.absorption=Absorption
potion.saturation=Saturation

commands.generic.exception=C'è stato un errore dovuto a questo comando
commands.generic.permission=Non hai i permessi per usare questo comando
commands.generic.notFound=Comando sconosciuto. Prova /help per la lista dei comandi
commands.generic.player.notFound=Questo giocatore non è stato trovato
commands.generic.usage=Usage: {%0}

commands.time.added=Aggiunto {%0} al tempo
commands.time.set=Il tempo è stato settato a {%0}
commands.time.query=Il tempo è {%0}

commands.me.usage=/me <action ...>

commands.give.item.notFound=Non esiste un item con questo nome{%0}
commands.give.success=Dato {%0} * {%1} a {%2}
commands.give.tagError=Tag di dati di analisi non è riuscita: {%0}

commands.effect.usage=/effect [seconds] [amplifier] [hideParticles] OR /effect clear
commands.effect.notFound=Non c'è nessun effetto con questo ID {%0}
commands.effect.success=Dato {%0} (ID {%1}) * {%2} a {%3} per {%4} secondi
commands.effect.success.removed=Rimosso l'effetto {%0} da {%1}
commands.effect.success.removed.all=Rimossi tutti gli effetti da {%0}
commands.effect.failure.notActive=Non posso dare l'effetto {%0} da {%1} in quanto essi non hanno un effetto
commands.effect.failure.notActive.all=Non posso dare alcun effetto da {%0} in quanto loro non ne hanno.

commands.enchant.noItem=The target doesn't hold an item
commands.enchant.notFound=There is no such enchantment with ID {%0}
commands.enchant.success=Enchanting succeeded
commands.enchant.usage=/enchant [level]
commands.particle.success=Playing effect {%0} for {%1} times
commands.particle.notFound=Unknown effect name {%0}
commands.players.usage=/list
commands.players.list=Ci sono {%0}/{%1} giocatori online:
commands.kill.successful=Ha killato {%0}
commands.banlist.ips=Ci sono {%0} indirizzi ip bannati:
commands.banlist.players=Ci sono {%0} player bannati totali:
commands.banlist.usage=/banlist [ips|players]
commands.defaultgamemode.usage=/defaultgamemode
commands.defaultgamemode.success=La gamemode del mondo in questo momento è {%0}

commands.op.success={%0} è ora un operatore
commands.op.usage=/op

commands.deop.success={%0} non è più un operatore
commands.deop.usage=/deop

commands.say.usage=/say <message ...>

commands.seed.usage=/seed
commands.seed.success=Seed: {%0}

commands.ban.success= {%0} è stato bannato
commands.ban.usage=/ban [motivazioni ...]

commands.unban.success= {%0} è stato sbannato
commands.unban.usage=/pardon

commands.banip.invalid=Hai immesso un indirizzo IP errato oppure di un giocatore offline
commands.banip.offline.invalid=Non vi è alcun indirizzo IP nei dati del giocatore o l'indirizzo IP non è valido
commands.banip.success=L'indirizzo ip {%0} è stato bannato
commands.banip.success.players=L'indirizzo IP bannato {%0} appartiene a {%1}
commands.banip.usage=/ban-ip <address|name> [motivazioni ...]

commands.unbanip.invalid=Hai immesso un indirizzo IP errato
commands.unbanip.success=L'indirizzo IP {%0} è stato sbannato
commands.unbanip.usage=/pardon-ip

commands.save.usage=/save-all
commands.save-on.usage=/save-on
commands.save-off.usage=/save-off
commands.save.enabled= È stato attivato l'auto-salvataggio del mondo
commands.save.disabled=È stato disattivato l'auto-salvataggio del mondo
commands.save.start=Salvataggio...
commands.save.success=Il mondo è stato salvato

commands.stop.usage=/stop
commands.stop.start=Sto stoppando il server

commands.kick.success={%0} è stato cacciato dal gioco
commands.kick.success.reason= {%0}è stato cacciato dal gioco, motivazione : '{%1}'
commands.kick.usage=/kick [motivazione ...]

commands.tp.success={%0} è stato teletrasportato da {%1}
commands.tp.success.coordinates= {%0} è stato teletrasportato a {%1}, {%2}, {%3}
commands.tp.usage=/tp [inserisci giocatore] oppure /tp [inserisci giocatore] [ ]

commands.whitelist.list=Ci sono {%0} (fuori dalla lista {%1} ) nella lista bianca:
commands.whitelist.enabled=è stata attivata la lista bianca
commands.whitelist.disabled=è stata disattivata la lista bianca
commands.whitelist.reloaded=è stata ricaricata la lista bianca
commands.whitelist.add.success={%0} è stato aggiunto alla lista bianca
commands.whitelist.add.usage=/whitelist add
commands.whitelist.remove.success={%0} è stato rimosso dalla lista bianca
commands.whitelist.remove.usage=/whitelist remove
commands.whitelist.usage=/whitelist <on|off|list|add|remove|reload>

commands.gamemode.success.self=è stata settata la modalita a {%0}
commands.gamemode.success.other=la modalita di gioco di {%0} è stata settata a {%1}
commands.gamemode.usage=/gamemode [player]
commands.help.header=--- mostra la help page {%0} di {%1} (/help ) ---
commands.help.usage=/help [page|command name]
commands.message.usage=/tell <messaggio privato ...>
commands.message.sameTarget=Non puoi mandare un messaggio privato a te stesso!

commands.difficulty.usage=/difficulty
commands.difficulty.success=è stata settata la difficolta a {%0}

commands.spawnpoint.usage=/spawnpoint [player] [ ]
commands.spawnpoint.success=è stato settato lo spawn point di {%0} a ({%1}, {%2}, {%3})
commands.setworldspawn.usage=/setworldspawn [ ]
commands.setworldspawn.success=è stato settato lo spawn point del mondo a ({%0}, {%1}, {%2})

-------------------- Nukkit language files, only for console --------------------

nukkit.data.playerNotFound=Player data not found for "{%0}", creating new profile
nukkit.data.playerCorrupted=Corrupted data found for "{%0}", creating new profile
nukkit.data.playerOld=Old Player data found for "{%0}", upgrading profile
nukkit.data.saveError=Could not save player "{%0}": {%1}
nukkit.level.notFound=Level "{%0}" not found
nukkit.level.loadError=Could not load level "{%0}": {%1}
nukkit.level.generationError=Could not generate level "{%0}": {%1}
nukkit.level.tickError=Could not tick level "{%0}": {%1}
nukkit.level.chunkUnloadError=Error while unloading a chunk: {%0}
nukkit.level.backgroundGeneration=Questo terreno "{%0}" è stato generato in background
nukkit.level.defaultError=Il livello non default è stato caricato
nukkit.level.preparing=Preparing level "{%0}"
nukkit.level.unloading=Unloading level "{%0}"
nukkit.server.start=Starting Minecraft: PE server version {%0}
nukkit.server.networkError=[Network] Stopped interface {%0} due to {%1}
nukkit.server.networkStart=Opening server on {%0}:{%1}
nukkit.server.info=This server is running {%0} version {%1} "{%2}" (API {%3})
nukkit.server.info.extended=This server is running {%0} {%1} 「{%2}」 implementing API version {%3} for Minecraft: PE {%4} (protocol version {%5})
nukkit.server.license={%0} è stato distibuito sotto la licenza LGPL
nukkit.server.tickOverload=Il server è in sovraccarico?
nukkit.server.startFinished=Done ({%0}s)! For help, type "help" or "?"
nukkit.server.defaultGameMode=Default game type: {%0}
nukkit.server.query.start=Starting GS4 status listener
nukkit.server.query.info=è stata settata la porta query {%0}
nukkit.server.query.running=Query è settato alla porta {%0}:{%1}

nukkit.command.alias.illegal=Could not register alias {%0} because it contains illegal characters
nukkit.command.alias.notFound=Could not register alias {%0} because it contains commands that do not exist: {%1}
nukkit.command.exception=Unhandled exception executing command '{%0}' in {%1}: {%2}

nukkit.command.plugins.description=Gets a list of plugins running on the server
nukkit.command.plugins.success=Plugins ({%0}): {%1}
nukkit.command.plugins.usage=/plugins

nukkit.command.reload.description=Reloads the server configuration and plugins
nukkit.command.reload.usage=/reload
nukkit.command.reload.reloading=Reloading server...
nukkit.command.reload.reloaded=Reload complete.

nukkit.command.status.description=Reads back the server's performance.
nukkit.command.status.usage=/status
nukkit.command.gc.description=Fires garbage collection tasks
nukkit.command.gc.usage=/gc
nukkit.command.timings.description=Records timings to see performance of the server.
nukkit.command.timings.usage=/timings <reset|report|on|off|paste>
nukkit.command.timings.enable=Enabled Timings & Reset
nukkit.command.timings.disable=Disabled Timings
nukkit.command.timings.timingsDisabled=Please enable timings by typing /timings on
nukkit.command.timings.reset=Timings reset
nukkit.command.timings.pasteError=An error happened while pasting the report
nukkit.command.timings.timingsUpload=Timings uploaded to {%0}
nukkit.command.timings.timingsRead=You can read the results at {%0}
nukkit.command.timings.timingsWrite=Timings written to {%0}
nukkit.command.version.description=Gets the version of this server including any plugins in use
nukkit.command.version.usage=/version [plugin name]
nukkit.command.version.noSuchPlugin=This server is not running any plugin by that name. Use /plugins to get a list of plugins.
nukkit.command.give.description=Gives the specified player a certain amount of items
nukkit.command.give.usage=/give <item[:damage]> [amount] [tags...]
nukkit.command.kill.description=Commit suicide or kill other players
nukkit.command.kill.usage=/kill [player]
nukkit.command.particle.description=Adds particles to a world
nukkit.command.particle.usage=/particle [count] [data]
nukkit.command.time.description=Changes the time on each world
nukkit.command.time.usage=/time <set|add> OR /time <start|stop|query>
nukkit.command.ban.player.description=Prevents the specified player from using this server
nukkit.command.ban.ip.description=Prevents the specified IP address from using this server
nukkit.command.banlist.description=View all players banned from this server
nukkit.command.defaultgamemode.description=Set the default gamemode
nukkit.command.deop.description=Takes the specified player's operator status
nukkit.command.difficulty.description=Sets the game difficulty
nukkit.command.enchant.description=Adds enchantments on items
nukkit.command.effect.description=Adds/Removes effects on players
nukkit.command.gamemode.description=Changes the player to a specific game mode
nukkit.command.help.description=Shows the help menu
nukkit.command.kick.description=Removes the specified player from the server
nukkit.command.list.description=Lists all online players
nukkit.command.me.description=Performs the specified action in chat
nukkit.command.op.description=Gives the specified player operator status
nukkit.command.unban.player.description=Allows the specified player to use this server
nukkit.command.unban.ip.description=Allows the specified IP address to use this server
nukkit.command.save.description=Saves the server to disk
nukkit.command.saveoff.description=Disables server autosaving
nukkit.command.saveon.description=Enables server autosaving
nukkit.command.say.description=Broadcasts the given message as the sender
nukkit.command.seed.description=Shows the world seed
nukkit.command.setworldspawn.description=Sets a worlds's spawn point. If no coordinates are specified, the player's coordinates will be used.
nukkit.command.spawnpoint.description=Sets a player's spawn point
nukkit.command.stop.description=Stops the server
nukkit.command.tp.description=Teleports the given player (or yourself) to another player or coordinates
nukkit.command.tell.description=Sends a private message to the given player
nukkit.command.whitelist.description=Manages the list of players allowed to use this server
nukkit.crash.create=An unrecoverable error has occurred and the server has crashed. Creating a crash dump
nukkit.crash.error=Could not create crash dump: {%0}
nukkit.crash.submit=Please upload the "{%0}" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
nukkit.crash.archive=The crash dump has been automatically submitted to the Crash Archive. You can view it on {%0} or use the ID #{%1}.
nukkit.debug.enable=LevelDB support enabled
nukkit.player.invalidMove={%0} moved wrongly!
nukkit.player.logIn={%0}[/{%1}:{%2}] logged in with entity id {%3} at ({%4}, {%5}, {%6}, {%7})
nukkit.player.logOut={%0}[/{%1}:{%2}] logged out due to {%3}
nukkit.player.invalidEntity={%0} tried to attack an invalid entity
nukkit.plugin.load=Loading {%0}
nukkit.plugin.enable=Enabling {%0}
nukkit.plugin.disable=Disabling {%0}
nukkit.plugin.restrictedName=Restricted name
nukkit.plugin.incompatibleAPI=Incompatible API version
nukkit.plugin.unknownDependency=Unknown dependency
nukkit.plugin.circularDependency=Circular dependency detected
nukkit.plugin.genericLoadError=Could not load plugin '{%0}'
nukkit.plugin.spacesDiscouraged=Plugin '{%0}' uses spaces in its name, this is discouraged
nukkit.plugin.loadError=Could not load plugin '{%0}': {%1}
nukkit.plugin.duplicateError=Could not load plugin '{%0}': plugin exists
nukkit.plugin.fileError=Could not load '{%0}' in folder '{%1}': {%2}
nukkit.plugin.commandError=Could not load command {%0} for plugin {%1}
nukkit.plugin.aliasError=Could not load alias {%0} for plugin {%1}
nukkit.plugin.deprecatedEvent=Plugin '{%0}' has registered a listener for '{%1}' on method '{%2}', but the event is Deprecated.
nukkit.plugin.eventError="Could not pass event '{%0}' to '{%1}': {%2} on {%3}

Crash java.lang.IllegalArgumentException: Empty string not allowed

[ERROR] Ошибка при выгрузке чанка: java.lang.IllegalArgumentException: Empty string not allowed
[ALERT] java.lang.RuntimeException: java.lang.IllegalArgumentException: Empty string not allowed
    at cn.nukkit.level.format.mcregion.McRegion.saveChunk(McRegion.java:277)
    at cn.nukkit.level.Level.unloadChunk(Level.java:2105)
    at cn.nukkit.level.Level.unloadChunk(Level.java:2069)
    at cn.nukkit.level.Level.unloadChunks(Level.java:2338)
    at cn.nukkit.level.Level.unloadChunks(Level.java:2315)
    at cn.nukkit.level.Level.doTick(Level.java:532)
    at cn.nukkit.Server.checkTickUpdates(Server.java:867)
    at cn.nukkit.Server.tick(Server.java:929)
    at cn.nukkit.Server.tickProcessor(Server.java:747)
    at cn.nukkit.Server.start(Server.java:728)
    at cn.nukkit.Server.<init>(Server.java:424)
    at cn.nukkit.Nukkit.main(Nukkit.java:65)
Caused by: java.lang.IllegalArgumentException: Empty string not allowed
    at cn.nukkit.nbt.tag.StringTag.<init>(StringTag.java:18)
    at cn.nukkit.nbt.tag.CompoundTag.putString(CompoundTag.java:85)
    at cn.nukkit.entity.Entity.saveNBT(Entity.java:491)
    at cn.nukkit.level.format.mcregion.Chunk.toBinary(Chunk.java:436)
    at cn.nukkit.level.format.mcregion.RegionLoader.writeChunk(RegionLoader.java:156)
    at cn.nukkit.level.format.mcregion.McRegion.saveChunk(McRegion.java:275)
    ... 11 more

Canť run on Ubuntu

I tried to run Nukkit with java -jar minetox/Nukkit.jar (or cd minetox and java -jar Nukkit.jar) on Ubuntu 15.10 and I got this error:

Exception in thread "main" java.lang.UnsupportedClassVersionError: cn/nukkit/Nukkit : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

different types

in Vector3 is xyz double but in packets it is float. is it right? o.O

Nukkit To-Do

Could you make a list of what you have done, and what was left of it)) It would be very convenient to follow the development of Nukkit. Thank you

It's time to prepare for 0.13.0

You know, the 0.13.0 version come out already. Nukkit should have prepare for it.

NOTE:
0.13.0 has a higher protocol 38, and have a different data packet type on skins(?).

banlist error

[CRITICAL] Необработанное исключение при выполнении команды 'banlist' в banlist: java.lang.ArrayIndexOutOfBoundsException: 0
    at cn.nukkit.command.defaults.BanListCommand.execute(BanListCommand.java:40)
    at cn.nukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:147)
    at cn.nukkit.Server.dispatchCommand(Server.java:599)
    at cn.nukkit.command.CommandReader.run(CommandReader.java:62)
[CRITICAL] Необработанное исключение при выполнении команды 'banlist ips' в banlist: java.lang.StringIndexOutOfBoundsException: String index out of range: -2
    at java.lang.String.substring(Unknown Source)
    at cn.nukkit.command.defaults.BanListCommand.execute(BanListCommand.java:56)
    at cn.nukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:147)
    at cn.nukkit.Server.dispatchCommand(Server.java:599)
    at cn.nukkit.command.CommandReader.run(CommandReader.java:62)
[INFO] Всего заблокирован(о) 0 игрок(ов):
[INFO] Произошла ошибка при выполнении этой команды
[CRITICAL] Необработанное исключение при выполнении команды 'banlist players' в banlist: java.lang.StringIndexOutOfBoundsException: String index out of range: -2
    at java.lang.String.substring(Unknown Source)
    at cn.nukkit.command.defaults.BanListCommand.execute(BanListCommand.java:56)
    at cn.nukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:147)
    at cn.nukkit.Server.dispatchCommand(Server.java:599)
    at cn.nukkit.command.CommandReader.run(CommandReader.java:62)

Bug with drop item

I threw the ground, but it is not visible on earth, although if you go forward, I'll be able to pick it up

If you rejoin to server, then the drop will be seen

image
image
image

Encoding problem cause build failed

I tried to clone this git and build with maven, but failed for encoding problems. Mostly like this:
/data/sourcecode/Nukkit/src/main/java/cn/nukkit/scheduler/PluginTask.java:[7,17] error: unmappable character for encoding ASCII

Please use UTF-8 for all files.

Question GM and AllowFlight

Hmm... Very strange! Why if I have a Gamemode = 1, then AllowFlight - true? There is no such thing in PocketMine

no create file

i built nukkit in maven,and run it.
but server.properties,worlds,players and ban.txt .....have not been created.
why?

crash on startup

21:43:01 [ERROR] Could not load level "world": Caused by java.lang.reflect.Invoc
ationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou

rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at cn.nukkit.level.Level.(Level.java:179)
at cn.nukkit.Server.loadLevel(Server.java:1488)
at cn.nukkit.Server.(Server.java:398)
at cn.nukkit.Nukkit.main(Nukkit.java:65)
Caused by: java.io.EOFException
at java.util.zip.GZIPInputStream.readUByte(Unknown Source)
at java.util.zip.GZIPInputStream.readUShort(Unknown Source)
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.(Unknown Source)
at java.util.zip.GZIPInputStream.(Unknown Source)
at cn.nukkit.nbt.NBTIO.readCompressed(NBTIO.java:94)
at cn.nukkit.level.format.generic.BaseLevelProvider.(BaseLevelProv
ider.java:36)
at cn.nukkit.level.format.anvil.Anvil.(Anvil.java:36)
... 8 more

21:43:01 [ALERT] cn.nukkit.utils.LevelException: Caused by java.lang.reflect.Inv
ocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou

rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at cn.nukkit.level.Level.(Level.java:179)
at cn.nukkit.Server.loadLevel(Server.java:1488)
at cn.nukkit.Server.(Server.java:398)
at cn.nukkit.Nukkit.main(Nukkit.java:65)
Caused by: java.io.EOFException
at java.util.zip.GZIPInputStream.readUByte(Unknown Source)
at java.util.zip.GZIPInputStream.readUShort(Unknown Source)
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.(Unknown Source)
at java.util.zip.GZIPInputStream.(Unknown Source)
at cn.nukkit.nbt.NBTIO.readCompressed(NBTIO.java:94)
at cn.nukkit.level.format.generic.BaseLevelProvider.(BaseLevelProv
ider.java:36)
at cn.nukkit.level.format.anvil.Anvil.(Anvil.java:36)
... 8 more

    at cn.nukkit.level.Level.<init>(Level.java:181)
    at cn.nukkit.Server.loadLevel(Server.java:1488)
    at cn.nukkit.Server.<init>(Server.java:398)
    at cn.nukkit.Nukkit.main(Nukkit.java:65)

21:43:01 [EMERGENCY] No default level has been loaded
21:43:01 [INFO] Stopping other threads

[NOTICE] Blocked 192.168.1.x for 5 seconds

when i put or tap block,nukkit says" Blocked 192.168.1.x for 5 seconds".
is it a bug?

19:41:34 [INFO] Loading nukkit.yml...
19:41:35 [INFO] Loading server properties...
19:41:35 [INFO] Selected English (eng) as the base language
19:41:35 [INFO] Starting Minecraft: PE server version v0.12.3 alpha
19:41:35 [INFO] Opening server on 0.0.0.0:19132
19:41:35 [INFO] This server is running Nukkit version 1.0dev "蘋果(Apple)派(Pie)" (API 1.0.0)
19:41:35 [INFO] Nukkit is distributed under the LGPL License
19:41:35 [NOTICE] Level "world" not found
19:41:35 [INFO] Preparing level "world"
19:41:35 [NOTICE] Spawn terrain for level "world" is being generated in the background
19:41:35 [INFO] Starting GS4 status listener
19:41:35 [INFO] Setting query port to 19132
19:41:35 [INFO] Query running on 0.0.0.0:19132
19:41:35 [INFO] Default game type: Survival Mode
19:41:35 [INFO] Done (0.863s)! For help, type "help" or "?"
19:42:13 [INFO] haniokasai[/192.168.1.9:19132] logged in with entity id 1 at (world, 125.0016, 72.0, 132.5499)
19:42:15 [INFO] haniokasai joined the game

java.lang.NullPointerException
at cn.nukkit.math.Vector3.equals(Vector3.java:240)
at cn.nukkit.level.Level.getNearbyEntities(Level.java:1554)
at cn.nukkit.level.Level.getNearbyEntities(Level.java:1539)
at cn.nukkit.level.Level.setBlock(Level.java:1154)
at cn.nukkit.block.Block.place(Block.java:505)
at cn.nukkit.level.Level.useItemOn(Level.java:1468)
at cn.nukkit.Player.handleDataPacket(Player.java:1923)
at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:135)
at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:123)
at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:63)
at cn.nukkit.network.Network.processInterfaces(Network.java:73)
at cn.nukkit.Server.tick(Server.java:899)
at cn.nukkit.Server.tickProcessor(Server.java:722)
at cn.nukkit.Server.start(Server.java:703)
at cn.nukkit.Server.(Server.java:399)
at cn.nukkit.Nukkit.main(Nukkit.java:61)
19:42:17 [NOTICE] Blocked 192.168.1.9 for 5 seconds
19:42:27 [INFO] haniokasai left the game
19:42:27 [INFO] haniokasai[/192.168.1.9:19132] logged out due to timeout

Commands

If you use the command before booting server, this error occurs

[ALERT] java.lang.NullPointerException
    at cn.nukkit.command.CommandReader.run(CommandReader.java:60)

Build

Edit: removed

Now to the main topic: could somebody compile this for me (My IDE can't compile gradle projects as I haven't installed gradle and do not intend to. I will.go straight ahead and fix these errors once I obtain them.

Error NetBeans

Hello I tried to compile Bukkit from NetBeans but gives me errors have a council to fill Nukkit?

Some kind of usernames can't join

Well, i was just making some stress tests with Nukkit, and after a little time I discovered a issue with usernames, a really weird issue :p

I don't know if it's a uuid issue or something like that but that's what is happening (example):

If i put "vertx" as my username, the chunk loading screen didn't appear to me, My client freeze on locating server screen, but the server console report a sucessfull join...

If I put "VertxVertx" i was able to reach the loading screen, but i freeze in there...

With "Vertx1" my client crashes

Finally, with "VertxVertx1" i was able to join sucessfully... Idk exactly what the hell is the logic behind the usernames, but whatever the pattern, some can join, some can't, simply changing some characters and capital letters + numbers...

Anyway thank you guys for this amazing pm-mp alternative :) keep up your good work!

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.