Code Monkey home page Code Monkey logo

glowkit-legacy's Introduction

Glowkit

Glowkit is a continuation on the legendary Bukkit API intended for use with Glowstone. It is not a true successor, but instead includes some updates and additions to the Bukkit API which are useful to Glowstone. For a spiritual successor to the Bukkit API, see Sponge.

Plugins designed for the original Bukkit API will continue to run on Glowstone, and and are likely to build against Glowkit with zero or minimal changes.

Bukkit

A Minecraft Server API.

Website: http://bukkit.org
Bugs/Suggestions: http://leaky.bukkit.org
Contributing Guidelines: CONTRIBUTING.md

Compilation

We use maven to handle our dependencies.

  • Install Maven 3
  • Check out this repo and: mvn clean install

glowkit-legacy's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glowkit-legacy's Issues

Enhance & expose shutdown tracking

Here is a simple idea.

Various events may be thrown when the server shuts down but in other cases too, like PlayerQuitEvent. onDisable() can also be called when shutting down or when simply disabled for other reason.

That's why I suggest that there is a way to see is the server is currently shutting down.

It would for example allow to execute code synchronously instead of launching asynchronous tasks.

Examples:

  • Saving player-related data in PlayerQuitEvent usually done by an async task, but the server may shutdown at that point and kill this task.
  • Saving config/files synchronously in onDisable(). Usually you don't need to do anything async here because the server shuts down, but it just slow downs the server if the plugin has actually been disabled dynamically. I'm not sure about that one, maybe the plugin is no longer able to do anything after it has been disabled.

Add new API additions from Glowkit to Spigot's Bukkit?

Since forking from the common ancestor https://github.com/Bukkit/Bukkit circa Minecraft 1.7, GlowstoneMC's updated Bukkit (Glowkit) and SpigotMC's updated Bukkit have diverged for new API added to support 1.8.x. There is some overlap, but SpigotMC has API that GlowstoneMC does not, and GlowstoneMC has also has API that SpigotMC does not have either. So I think it would be worth considering whether some of GlowstoneMC's API enhancements could be submitted to the SpigotMC team for inclusion in their updated version of Bukkit, towards the goal of a unified common API.

This would be advantageous for Glowstone since the new APIs would gain more widespread usage, and also for plugin developers since they would be able to target both Glowstone and Spigot with the same API methods, instead of having to code separately for Glowstone and Spigot, when using >1.7 features. A win-win scenario.

SpigotMC could also have feedback before merging which could be used to improve the specific APIs in both places, providing a unified interface to both implementations. Details on their submission process at: https://hub.spigotmc.org - the readme for their specific "Bukkit API" project https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse says "The development team is very open to both bug and feature requests / suggestions". Worth a shot?

Here's a short list of non-conflicting (to my knowledge) APIs developed by GlowstoneMC, I believe would make sense to approach for submission to SpigotMC:

Tagging the original authors since it is probably best if they submit their code to SpigotMC if they choose to do so.

This is only an initial list, might have more to add as I progress through the changes.

Note this task issue is only concerning GlowstoneMC โ†’ SpigotMC, the reverse direction SpigotMC โ†’ GlowstoneMC has a separate issue: GlowstoneMC/Glowkit#18

No way to tell which plant grew a pumpkin/melon

Since the actual Bukkit API isn't being worked on, thought I might as well see if we can get this into Glowkit at some point.

There is an event to tell when a plant block grows - EG, a pumpkin or a melon - But that event doesn't have a way to tell what plant the block grew from.

Even worse, if I'm looking for the plant that grew a pumpkin, I can't even iterate the blocks around it to find the attached plant.

Add Merchant API

I know Glowstone is incomplete, but, it can be useful to at least add the notion of trading with Merchants into Glowkit.

I used to have a related PR for this: Bukkit#1077

As you can see when reading the PR, it went through many iterations and changes, and finally was very close to being accepted before the Bukkit shutdown.

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.