[Plugin] WIP Rising Skills [0.0.3]

  • Hello,


    Rising Skills 0.0.3 is still a very early version of my attempt to create skill/job progression using the current Plugin API.

    In this version thefollowing skills are implemented:

    - Logging,

    - Mining,

    - Carpentry,

    - Smelting


    You should have a look at the README file on gitlab if you're interested what they do exactly for now.


    Source:

    GitLab Link


    Readme:

    Gitlab README


    Almost forgot, any feedback is welcome positive as well as negative, at least if its constructive ;-)

  • sapier

    Changed the title of the thread from “[Plugin] WIP Rising Skills” to “[Plugin] WIP Rising Skills [0.0.1]”.
  • Update 0.0.1 now supporting mining is uploaded.

    Sadly for mining there's a lot of limitations due to the lack of functionality in API.

    I've written them to the Issues part of the README.md file if you're interested but I don't wanna address them yet I intend to collect more and make a usefull suggestion on how to fix those at a later time.

  • sapier

    Changed the title of the thread from “[Plugin] WIP Rising Skills [0.0.1]” to “[Plugin] WIP Rising Skills [0.0.3]”.
  • While furnaces aren't really implemented in the API they do put quite some information to the logfile. Interestingly this information seems to be enough to do a rudimentary smelting skill.

    Yeah I know this is a extremely ugly hack ... but it does what it should do ;-)


    In the long run it would be nice if the furnace meta object did get some internal storage which holds the information about the items linked to the slots as well as the information which player did place it.

    I'd suggest to attach an inventory to the furnace but this wouldn't be able to hold the information about who placed it (at least for what I know by now)


    Additionally events helpfull for furnaces might something like:

    FurnaceOutOfFuel

    FurnaceOreSmeltingComplete

  • While furnaces aren't really implemented in the API they do put quite some information to the logfile. Interestingly this information seems to be enough to do a rudimentary smelting skill.

    That's a very creative solution :thumbup: There is only one small pitfall: the "Player.log" file is only used in singleplayer. The log file for the dedicated server looks a bit different instead, using the current date and time as file name (called "2024-05-13-12-15-51.log", for example)...

    However, we could add a new API method Server.getLogFilePath() with the next update which always provides the full path to the current log file^^


    FurnaceOutOfFuel

    I'd probably prefer to keep this a bit more generic, and since furnaces are treated as MetaObjects by the game, a MetaObjectStatusChangeEvent would be more suitable maybe? :thinking:


    FurnaceOreSmeltingComplete

    Basically the Java version had an ItemTransformEvent for this (called per item which "transforms" to another item, e.g. ores getting smelted etc). Actually this event is also in the new version, but it's not exposed to the API yet... we're not sure about the naming convention, since the name isn't intuitive and could be misleading. Maybe it's better if we call it "ItemProcessEvent" instead (called everytime a world item changes, e.g. ores getting smelted, items getting crushed in the grinder etc)? On the other hand, we already have an NpcTransformEvent, so maybe it's better if we stick to that naming convention? IDK...

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!