I've split the article up for better readability. To thank me, read it please ;)
ProperWeather 1.1.1
I've been recently working on ProperWeather 1.1.1 update and I'm trying my best to get rid of bad, old & unefficient code. I'm really happy, that I managed to get rid of file reading code in places like WeatherSystem, RegionManager and so on. I've created versionable data files, which will be easier to maintain, replace and convert. Next thing in 1.1.1 is weather elements & cycles. Elements will be mini plugins, which you'll be able to create in java and attach to specific weather types via YAML files. The only element present in 1.0.3 is Wind, which is active during Windy weather. Wind is really fun to play with, because you can't walk properly :) .
Weather cycles will be something like seasons. I previously wanted to use seasons, but seasons API was insufficient, so I've created my own API for weather cycles. Weather cycles can be created & managed via YAML files, which is friendly for most users. The command to start a cycle will be /pw start <cycle> [world] . This will be great for people who like to mess up with weather.
I've also finally noticed a 1-year-old change in bukkit code, which allows me to get rid of ugly packet handling code, which made ProperWeather incompatible across different server softwares. Version 1.1.1 will bring confirmed compatibility with Spigot, Lightstone, MCPC+ and more server softwares.
Plugin development tutorials?
As I've been watching my BukkitDev inbox, I've got some messages about people who want to learn bukkit plugin development from me. I was even offered money. I've decided to ask here: Aren't there enough plugin development tutorial series on YouTube, Bukkit wiki pages, whatever which all allow you to learn that easily? You can comment me your opinion about this and if someone will beg, I can make a tutorial aswell. However, I'd like to make a different kind of tutorial. It'd be an advanced tutorial for people who already know the basic skeleton of plugin and need to move on to saving binary files, database, advanced command handling with parameters, class separation stuff and other things. If you want this kind of tutorial, you can comment here and I'll try to get everyone satisfied ;)MCLauncher-API
Those of you who follow me on github can't have missed my new project called MCLauncher-API. I really regret not writing about it earlier, but I honestly didn't have much time. MCLauncher-API is going to be an API which simplifies creation of Minecraft Launchers a lot. I've created it just because I was interested in the launching system and wanted to create multiple launchers just for myself. Then, I realized these launchers should share some codebase and this is it! I've put together some code to run minecraft using really small amout lines of code. I'm really excited to see what launchers people will come up with. There's a wiki documenting all things I figured out while reverse-engineering the launching system, so you can read it if you want to understand it. The whole project is open-source as usually, so you can check it out on github and give it a star? perhaps? :)Go here: https://github.com/tomsik68/mclauncher-api
You can also port it to different language, so that more people can use it. It's already being worked on Delphi and C# port. There are also some python forms of this out there, so if you're interested in launching system, I definitely recommend you to check it out!