Posts by Minotorious

A new update is now available, introducing a lot of new content!
Latest hotfix: 0.7.5.2 (2024-09-10)

    have no idea if it is intended behaviour, but I would not rate this as a bug:

    I had no idea either that is why I labeled it as a possible bug :D

    do you have a specific reason not to construct the GuiTextField as a sibling of its label rather than its child?

    Can I do that with the API? I don't see a .addSibling() method :/ My experience with Guis is null so I am learning as I go with them :D

    Not sure if it is a bug or intended behaviour but while making a Gui I noticed that if you put a GuiTextField as a child on another GuiElement (tried it with a GuiLabel) and you set its position so that the GuiTextField is outside the other Element (i.e. something like new GuiTextField(1.0f, 1.0f, true, 200f, 30f, false); with setPivot(PivotPosition.TopLeft); thus placing the GuiTextField effectively next to the GuiLabel) then the GuiTextField cannot be clicked and is not editable even if I manually set .setClickable(true); or .setEditable(true);

    if you want me to take a crack at just let me know. I really like it. Since my server is sort of a work in progress people are off and on . but we still communicate with the mail system on issues. so I find it convenient.

    The code will be available on my Github account by the end of the day, I wanted to only post it after updating it but if you want to have a look for yourself I will upload it now, but note it has red errors in it so it won't compile for now: https://github.com/Minotorious?tab=repositories

    Yeah, I considered the lack of a free pointer in my OP. IMO hitting F5 or something to toggle a free pointer for manipulating GUI elements would be suitable.

    That would indeed be useful but F4-F8 (or F9 can't remember right now) are already occupied by the creative mode tools. Then F2 is fly mode and F3 is debug output (white text on screen) F1, F10-F12 are usually used by overlays for screenshots and video capture so not a lot of keys left :/


    maybe holding Alt or something would work not sure if Alt does anything atm

    When I interact with any crafting table, open a door, etc. I get an Object ID reported in chat. That was the debug function I was thinking of. Is that a server config?

    Ah no this is because you have the objectProtection plugin on the server.

    As a semi-admin, it's my role to welcome people to the server and give them a basic induction which involves a lot of repetitive text that existing players have heard many, many times.

    I would recommend looking into my ServerTools plugin and specifically the /sayn function, this can send automated messages (i.e. prewritten so you don't have to type them every time ;) ). It also supports private messages if you add a player name at the end of the command so not every player has to see the same info over and over :) (Though you have to be a full admin to use it right now but this will be extended in the next version I am preparing to selected perm groups i.e. Admin, Vice_Admin, or whatever else you call it :) )

    your EconomySystem plugin

    You playing on Rosalia right? my ES plugin shouldn't return anything in a broadcast manner, it should only send private messages to the people using it. If that is not so please let me know to look into it (also what the message said will be helpful in finding where the problem is) :D Btw the ES plugin will be reworked fully soon to have a nice GUI and more functions so please bear with it for now :/

    My vision for a tabbed chat would allow us to have an unfiltered tab, a tab for ES plugin responses, ABM responses, private discussion tabs, etc. That way players can tweak the chat to which information is relevant to them, flip across to other tabs to get needed info, etc.

    The main problem is that in RW you don't have a cursor permanently visible (unlike WoW where they indeed do have a tabbed chat system) so switching tabs is not as easy, maybe Shift+1, Shift+2, etc. could be used to switch tabs since 1, 2, etc. are used for quicklots :)

    The current chat handles output from debug functions (like Object IDs)

    What debug functions? The are no debug functions in the game atm :O All debug output should go to the log file if you have the debug console enabled which is indeed a separate window. Unless you mean the red text that comes up when a plugin throws an exception? (this is only visible to admins btw)

    messages from plugins

    plugins have a number of ways to send a message in the chat:
    1) Broadcast it so everyone sees it
    2) Send it to a specific player only
    3) You can add checks (if loops) to only send to admins/specific permission groups/etc.

    Well ok maybe the command event was a bit of a bad example but if I have 50 clickable GuiElements and want to handle all of them with if else loops in the same event handler it quickly gets to 100s of lines of code and it is just not clean enough to read for me :D


    Thus my main question was not if there is gain but if there is any loss by splitting it up. If there is loss then I will put everything in a single long handler else I will split it up into many of them in different classes to keep it cleaner :)

    Well thanks for that but what I am doing is not that simple. The detection of the timer being active or paused by of the actions of another player someplace else on the map is important. With a bunch of other imbedded decisions in between. Anyway I have it working <knock on wood>. It is probably that the timer starts once or is not initialized because of a second event. Probably a start and restart of the routine caused the timers to stop in a branch not totally sure. The toggle solved the issue just had to do some extra statements and placement of the actions to make it reliable both in a fast or delayed response. You guys are indicating that it should follow through so seems a branch out a logical the culprit but I get bleary eyed looking at it.

    well as I said if you don't provide code for me to see and fix I cannot help you any more than by providing simplified examples :/


    Glad it works for now at least :)

    If I have one method marked as @EventMethod and listening for the PlayerCommandEvent and a second separate method again marked @EventMethod and listening for the same PlayerCommandEvent in the same plugin, executing a command in game will trigger both of them right?


    So to the real question now, will this kind of coding slow my plugin down? i.e. instead of one EventMethod for each event having multiple smaller ones to separate things out i.e. 1 for each different command type, 1 for each different Gui Tab, etc.?

    Well, apparently, this is not a concern: even while creating a new area, once you enter the chat with [T], you can press [Return] at the end of a chat line and it will not affect the area creation process; another [Return], 'outside' of the chat, is needed for the area creation process to go on.


    So, I will not change this. Comments?

    oh ok this is unexpected :/ So opening the chat ignores all listeners for key input? @red51 can you confirm if this is true?

    You mean change the rotation upon placement right? You cannot change the rotation of the item in your hand i.e. see the item from a different angle while holding it.


    Short answer you cannot do it. The PlayerVegetationEvent (which is extended by the PlayerPlaceVegetationEvent) does not include a .setRotation() or a .setPosition() method. It only includes .getRotation() and .getPosition() methods.


    maybe @red51 could add the .set[Rotation/Position]() methods? :/

    ok I am confused ?( Why don't you do something as simple as this:


    Just make sure the Init method is definitely called before the check method else you might get an exception (probably null Exception) ;)