Hello, As some of you may know, I make plugins (like a lot of people), and because I am fairly new to making them, there's some things I'd like to know about major updates. When CB is updated to a new minecraft version, will it break plugins? Does it depend on what parts of the API they use? Thanks, JOPH
It will most likely not break your plugins, since they will not change the API that they are using. Though some things may break, and if something will break the Bukkit team neatly announces that.
Wut. I beg to differ, theyve changed the api pretty heavily a FEW times Unless we have confirmation from them (which, hey, we might, and i dont know about it), theres no guarentee they arent changing it. Plus, with the... yknow, new api coming out (slated for 1.4) You never know. They might just change the api
The extent of my knowledge is that yes, plugins generally are broken when a new Bukkit version is released for a new Minecraft version. In the case of subversions (eg. 1.2.5, 1.2.4, 1.2.3, etc.), very little may change, it depends. And yes, it sometimes might depend on specifically what the plugin uses. Some of the things it uses might be completely deprecated, some of it might be changed slightly, some of it might be changed dramatically, and some of it might not be changed at all. In the case of a new build of Bukkit for the same Minecraft version (eg. 1.2.5-R2.0, 1.2.5-R3.0, 1.2.5-R4.0, etc.) it may be as easy as just changing the external dependency from the former version (for example, 1.2.5-R1.0) to the new version (for example, 1.2.5-R4.0). I'm no expert (far from it) when it comes to this sort of stuff, so... don't quote me on it.
Give me an example of changing the API pretty heavily a few times? Lol How can you guys say it breaks? I never seen something being broke after an update? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
What we mean by "broke" is having to update the actual code of our plugins to reflect changes made to the API. That's what it means for a plugin to be "broken by a bukkit update." If you need an explanation beyond that, someone else will have to get it... I can't give a simpler explanation.
Lets see... How about the listener api change that happened back at the beginning of the year? People are STILL getting trolled by that change.
CorrieKay Ah the listener API that is right! Though they did leave the other listener in and added a Deprecation warning for a month. So time enough to change it.
But still they are changing the API way more then what i would consider to be good for the community. Now its true that i dont know the entire story behind all the changes and why they constantly take place but they still change the API a bit to often.
Its not so much as change as it is improvements, its not as often as you may think anyway. While yes when they change things in the API it can cause somethings to break, for legacy and transition reasons they leave the old systems in deprecated so as to give developers time to switch. From the users view 1.3 will not cause plugins to break (for the most part), from the developers view we shouldn't be expecting a major change unless they announce one.
changing the api, I remember when the constructor of the main class for the plugin (ie whatever extends JavaPlugin) had to have like 5 variables in order to be made. When that changed, hilarity ensued.