Coder Social home page Coder Social logo

bukkitlib's People

Contributors

glen3b avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

jwne arthurmaker

bukkitlib's Issues

Determine if a player disconnect event corresponds to a kick

There should be a way, using this library (until Bukkit comes out with a similiar feature) to determine if a player disconnect event is caused by a kick. I am proposing we use the Utilities class to do this.

Utilities.isKick(PlayerQuitEvent event) should determine if the specified quit event corresponds to a kick. To do this, we need to subscribe to uncancelled kick events. Perhaps Utilities can be an internally initialized and event registered singleton. If this is the case, the singleton will store a list of kicked players' UUIDs, and remove them a tick (please check this amount) later. These UUIDs would be obtained by internally subscribing to the PlayerKickEvent. Meanwhile, if isKick is called, it can determine the nature of the disconnect by using the list of UUIDs to determine if the event was a kick.

Utilities would still be a "static class" so to speak, but a private singleton would be initialized and registered as an event handler by the GBukkitLib plugin class.

Inventory menu allows duplication

In the inventory menu, by clicking on a stack of resources in your inventory (such as one dirt) and selecting it, then (with that in cursor) clicking on a inventory menu item, your item swaps with the icon, giving you a free icon.

Suggested Fix: Prevent all inventory clicks or drops when any menu is visible, not just in the menu.

Autosave API

An automatic saving API should be available for plugins to automatically save configuration and custom configuration files at regular intervals, as well as call additional custom client code upon autosave. This could be implemented via a service, which client plugins add autosave listeners to.

Custom config API

An API should be created for the easy creation of custom configuration and plaintext files.

Inventory menu API

There should be an API for creating, detecting events on, and closing inventory-based menus. For example, a menu that can be opened by right-clicking on a clock (this is client code), an InventoryMenu can be created and opened. An InventoryEvent subclass can be fired upon clicking on a menu item, and client code could handle the event.

Command API

Have a command API system for plugins with a base command and subcommands. This should include an abstract class or interface for extending to execute a subcommand, a way to register subcommand descriptions/names/aliases/arguments, and tab complete for the subcommands (and potentially subcommand arguments).

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.