Entity Control API creation team

Discussion in 'Spigot Plugin Development' started by plumppuffypig, Apr 16, 2017.


Would you use this resource

  1. Yes

  2. Maybe

  3. No

Results are only viewable after voting.
  1. Hello guys!

    My name is plumppuffypig and as you can see from the title, I just had an idea that we should create an api for a couple nms functions that are missing from the spigot api.

    I have been a plugin developer for about 1.5 years now, and one thing I have had constant issues with is using NMS in my plugins. I want my plugins to be multi-versional, but I also don't really want to deal with reflection for every plugin I make. That's why I propose the creation of an Entity Control API that will allow other plugins to easily access and overwrite nms funtions about entities to create custom mobs or other entities.

    I know this is a big project that will require many hours to create and update every version, but in the end I think it could be an extremely useful project. My goal is to start out with Entity Control, but if the plugin gets enough popularity, I think it would be extremely helpful to start adding other nms functions (obviously this is very theoretical).

    This project will require a couple dedicated developers that are familiar with nms code and the bukkit/spigot api. If you are interested in joining please respond down below. If you have any questions please feel free to ask me. Also, it would be very helpful if you responded down below telling me your thoughts on whether or not you would use this resource and if you think it is worth it.

    • Like Like x 1
  2. Here is an explanation of NMS:
    You need to use it to change things that the Spigot or Bukkit API doesn't support.
  3. I love this idea, I am a spigot Dev. and i would love to help out. i do have a couple of questions though, what type of things do you wish to be done exactly. like making an API that will make it easier for people to change the mobs about how they want by organizing the functions, or just make something that makes the whole NMS coding make more sense? (or both) or is there something that i did not mention?
  4. you can if you really tried hard enough.
  5. Well, I would say that at first we would focus on making it easier for people to change mobs. For instance, when you want to change a mob currently, you have to do something like this: https://bukkit.org/threads/how-to-override-default-minecraft-mobs.216788/

    This is bad for two reasons. First of all, it is version specific so every plugin has to be updated for every version of bukkit. If we made this plugin, we would only have to update this plugin to the new version, and every plugin that uses it would not need any modification. The second reason is that it can sometimes be very confusing to read the obfuscated code that changes every version. We would code this plugin so that every function has a name that actually explains what it does instead of being unobfuscated.

    If you don't believe me, see for yourself! Look at the link I posted above explaining how to override default mobs. Notice how most of the imports are version specific net.minecraft.server imports. If you know a way to do this without them, please tell me!

    I hope this answers some of your questions!
    • Like Like x 1
  6. Yes, I know it is a big project, but things like this have been done before and have been very successful such as ProtocolLib (https://www.spigotmc.org/resources/protocollib.1997/) which does a similar thing but with packets instead of mobs
  7. i am sure that it would go to plan scenes it will be like a wrapper for all of the garble for the beginners.
  8. Yes that is the plan. I think it could work if we work hard enough
  9. I am totally into this. I am ready whenever you are. PM me when you want to start this.
  10. Damn, all the negative attitude, this is a good idea, and i would like to help if it's needed.
  11. FrostedSnowman

    Resource Staff

    some entity control (AI manipulation, pathfinders) with ease of access would be awesome
  12. A maven user's best dream. No need for reflection!!!