Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Bukkit port #31

Open
8 tasks
nahkd123 opened this issue Aug 20, 2023 · 2 comments
Open
8 tasks

Feature: Bukkit port #31

nahkd123 opened this issue Aug 20, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@nahkd123
Copy link
Owner

nahkd123 commented Aug 20, 2023

Stonks is a global market for players, which means it only useful if you put this mod in your multiplayer servers.

Now it is worth nothing that the majority of servers are using Bukkit/Spigot forks (Paper is the most popular), which does not allow loading mods. Yes you can try to use cursed hybrid fork/mods (Cardboard or Mohist or whatever that is), but it is likely going to break your plugins or mods (especially with plugins that uses NMS).

The main goal of this proposal is to make Stonks for Bukkit port, which allows more servers to use Stonks instead of whatever paid plugins out there, as well as discouraging people from using cursed hybrid Spigot forks.

Some tasks should be finished before porting to Bukkit:

Some tasks for Bukkit port:

  • Stonks for Minecraft platforms: Bukkit implementation
  • Integration with Slimefun (items only)
  • Integration with existing items plugin (please leave a comment on which plugin you want an integration!)
@nahkd123 nahkd123 added the enhancement New feature or request label Aug 20, 2023
@nahkd123 nahkd123 added this to the Major Release 3.0.0 milestone Aug 20, 2023
@nahkd123 nahkd123 pinned this issue Aug 20, 2023
@nahkd123 nahkd123 changed the title Feature: Bukkit port (need discussion) Feature: Bukkit port Dec 22, 2023
@nahkd123
Copy link
Owner Author

With the introduction of #46, the Bukkit port should be less painful than I initially thought. I also want to roll out the Bukkit port because I need it.

One thing to note is that the Bukkit port will be NMS-free. Or in other words, it will be fully API driven, using the latest API (Bukkit API 1.20 to be exact).

@nahkd123
Copy link
Owner Author

Also, if you want to request official integration with 3rd party items plugins, here are the requirements:

  • The plugin must be decently popular. I'm not willing to add integration for plugins with like what, 5 servers using it?
  • The plugin must have an API and the Maven artifact must be accessible within GitHub Actions containers. This is really important!
    • In most cases, I'll try obtaining the artifact using JitPack if the API part of the plugin is not published on any Maven reposiories. Requires the plugin to be open sourced though.
  • The plugin must works on modern Minecraft version. I'm talking about 1.20+ (API-driven plugins would be even better!), not 1.12.2 plugins with NMS.
    • I'm planning to keep the official integration as long as possible, but if the plugin is fully API-driven, I can try to make an exception for it. This is because Bukkit have a really good backward compatibility for old API-driven plugins.
  • The plugin ToS must allows anyone without license to use the API (just API only!). Which means plugins like MMOItems won't get official integration anytime soon.

Here are things that you should keep in mind when requesting for integration (more like priority list):

  • The 3rd party plugin should be open sourced or the API is well documented.
  • TODO

But what if I want my X plugin to works with Stonks? - In this case, you can always make your own plugin to bridge the gap! Simple implements CommoditiesService and add the service to running MinecraftServer (Stonks' variant). You can also commission someone to do it for you if you can't do it yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant