1. I have been using the bukkit API (spigot) for creating plugins, I watched some videos on youtube but still I don't quite understand what is the hypixel API and what could it be used for, I mean in the videos I watched they also used bukkit with the hypixel API to make a plugin and it is much more complicated with the hypixel API, so why not just use bukkit..

    Also I always thought that forge modes are client side, therefore can not be run on a server, am I wrong about that? An explaination about forge modes could be helpful.

    Thanks,

    Robert.
     
    #1
  2. minifreddusch

    minifreddusch Well-Known Member

    minifreddusch
    MVP+
    Messages:
    3,435
    The Hypixel API can be used to gather information about Hypixel player stats, leaderboards, guilds, boosters and more.
    If you use Java you can find everything you need here: https://github.com/HypixelDev/PublicAPI

    Yes Forge mods usually run on your Minecraft Forge client, so that's a client side modification. You can also run a Forge server though. If you run a Forge server you can add mods to your server that the players also need on their Forge client to play.

    With Bukkit/Spigot you can make modifications to your server using plugins, and the players won't need to download a modified client to play.
     
    #2
  3. @minifreddusch Thanks for the explaination. Just a few more questions. So are the minigames and gamemodes on Hypixel developed with bukkit/spigot and the friends, stats, guild systems developed in Hypixel API?
    Why would someone other than Hypixel need player info?
    Is it possible to develop systems like friends, guilds etc for own servers using Hypixel API or is it simply just to gather info about players in the Hypixel network?
     
    #3
    Last edited: Sep 29, 2019
  4. Dance

    Dance Well-Known Member

    Dance_Dog
    MVP+
    LimboFish
    Guild Master
    Messages:
    4,950
    Yep, most minigames on Hypixel are just plugins layered on top of Hypixel’s Private API (lets them change stats, whereas PublicAPI is view only). More advanced gamemodes like Sky Block and Housing, however, have more layers under them. Housing runs on an entirely custom server if I recall correctly and Sky Block likely has a whole other system behind it for managing islands and all of the different Hub servers.

    Yes, just not the PublicAPI. Their private API allows them to read and write to all fields, while the public API has many fields hidden for safety purposes (such as a player’s Hypixel wallet info, punishment data, etc).

    Websites like https://plancke.io use it to neatly display stats to players, since Hypixel’s own stat viewer is pretty clunky and unreliable. It can also be used by Discord bots to verify that a Discord account is owned by a certain Minecraft account. Guild bots can access this data as well in order to kick inactive members or those who don’t meet stat requirements.

    The Hypixel API, both public and private, is really just for storing data. You could use the PublicAPI to mirror Hypixel (as in your rank and friends on Server X are the same as your rank and friends on Hypixel), but since you can’t access the Private API, you wouldn’t be able to make changes to that data on Hypixel’s end. Hypixel’s systems themselves also include listeners for sending messages to other guild members, timers and tasks to expire friend/guild requests after 5 minutes, etc.
     
    #4
  5. @Dance Thanks. In the fisrt question I didn't mean how do they change stats, I meant developing the game itself (teleporting players, GUIs, rendering maps etc). Does the PrivateAPI contain tools to develop minigames (lke bukkit does) or do they just use bukkit?
     
    #5
  6. Dance

    Dance Well-Known Member

    Dance_Dog
    MVP+
    LimboFish
    Guild Master
    Messages:
    4,950
    For actual game development, it’s all Spigot/CraftBukkit as far as I know. For things that they need to use across different games, to avoid copy/pasting code, they may create a separate library for that specific aspect (such as scoreboards, their custom spectator mode, hologram text, title/action bar, etc). Like I said before, the Private API is most likely just used for hooking into statistics (ie +1 to a player’s deaths_by_void when they fall into the void, etc). The game plugin itself and other libraries would then handle the actual game and its different states.
     
    #6
  7. An API is a tool used to allow two applications to communicate with each other. They don't exactly contain "tools" but they allow Hypixel to store information in their database and such. Many of the things you mentioned simply do not exist in an API, as that's not what an API is for.
    Frameworks/libraries on the other hand, Hypixel uses tons of them (Spigot/Bukkit is an example). Many of them custom written (the entirety of PTL is based off of a custom library/framework iirc). Libraries and frameworks are tools that simplify development and include some of the things you mentioned. Pretend you're a Hypixel developer for a second. Want a launch pad? Great, the code has been written before, so just call new LaunchPad(...); and you're done.
     
    #7
    • Like Like x 2

Share This Page