Posts by LordFoobar

A new update is now available, introducing seasons and more!

    First, thank you for the quick fix on the marking selector "thing"! It was a quick fix that got a lot of server owners relieved :P


    Anyhow! It would be great to be able to set the initial coordinates of the marking selector. For example, when resizing an area in AreaProtection, the script could just invoke event.player:enableMarkingSelector(...) and the player could already have the current area's boundaries selected. Another example would be when selecting an area, invoking some commands and realizing the selection should've been just a little wider. I managed to go around this with the latest World Edit by adding -p flag, however I could also add a command to recall the last selection... just in case.


    The way this could be implemented is fairly simple; the callback function receives a markingEventStatus object or a false value (in fact, player:enableMarkingSelector seems to always get false); if the callback returns anything, it should be the markingEventStatus, or any compatible table that should modify the selection. Naturally, some values should be capped to avoid WTF situations, but this is trivial boundary checks.


    For example, this could be an implementation


    Code
    --- Start new selection. If there was some previous
    --- selection saved, use it as initial selection boundaries
    player:enableMarkingSelector(function ()
    if savedSelection then
    return savedSelection;
    end
    end);


    This is no rush, but would greatly enhance scripting.

    @DHLF, your concerns have been noted.


    Concerning player names, there is already an API to get a player from it's ID. Since players are not deleted, it's ID will always return it's name. There's really no need to duplicate this value locally, in the script's DB.


    As for the area name still showing on screen, even after removing it, yes, this will be addressed in the upcoming changes.


    Thank you for sharing your concerns. I am currently modifying the AreaProtection script, with the help of others, to add features and fix things like that. You can come on IRC (freenode.net, channel #risingworld) if you want to chat with us!


    Cheers!

    Script updated on github! Please take a look at the updated README for updating instructions. Also, check out CHANGELOG for more information about the recent updates. The most noticeable change is the -p option, which will preserve your current selection and not discard it after filling, placing, or clearing it.


    Example usage :


    Code
    /we select
    /we place block 121 -p
    /we place block 122 -p
    /we clear abs -p
    /we fill grass


    Note that only one /we select is issued.


    Cheers!

    I have been trying to use this Script but I cant seem to clear any blocks that are in a selected area... I have tried EVERYTHING! Its driving me absolutely bonkers.
    Is there a command like: "/we set air' or "/we place 0"


    I just want to clear a area completely with no placed blocks, no wood blocks metal blocks, or anything. can you please help me with this? And is there anyway I can keep the selected area after it runs a command? I would like to clear a area of blocks and then try another type. Also is there an "/we undo [1,2,3...Ect] to roll back edits?


    Thanks in advance.


    You can type /we help for in-game help. Other than that, I just tried and it works, you can do either


    Code
    /we select
    /we clear abs


    or


    Code
    /we select
    /we fill air -c


    NOTE: the -c (or -clean is the same) is the same as doing /we clear abs before /we fill.


    Type /we help clear or /we help fill for more information.


    Hope this helps!



    Edit


    Sometimes, the chunks will not update after executing a command. This has nothing to do with World Edit. If you don't see any error after executing a command, or any message, exit the world chunk (move away), than come back. You have to move away until the blocks disappear (seeing low details terrain is fine, as long as the blocks are no longer visible), then come back. If the command failed, nothing will have changed. Otherwise, you'll see that the command had succeeded indeed!


    Regarding your /we undo, I'm afraid it is not quite possible at the moment, but we'll keep that in mind. And as for keeping the previous selection in memory (i.e. re-using a previous selection instead of selecting again and again the same area), yes, this is something that we can implement. :)

    I have finally put some time to finally fix the linux startup script!


    If anybody noticed (or maybe not?), the line


    Code
    if ! [[ $SCREEN_NAME =~ ^[a-zA-Z0-9_.-]+$ ]]; then


    was always evaluating to true, thus exiting prematurely. The problem was that fetching the screen name from the configuration file also snatched the new line character \n (or carriage return caracter \r) and, thus, failed as it is an invalid screen character name! Piping with tr -d '\n\r' removed any trailing invalid characters and solved it. (Yay!)


    Same thing with the memory limit config option.


    Also, the nice colors weren't reset. This also was fixed.


    Enjoy!


    We've had an issue a few days ago where an admin screwed up (LOL you know who you are!) big time by not completing a selection before calling a World Edit command... which resulted in using a previous coordinate and filling up a few hundred meters of blocks, destroying most of the map; he basically started a selection, but never selected an end point, which used (probably) a previous end point a few hundred meters from there.


    While I agree that he screwed up on that, it made me wonder if I could receive feedback from


    Code
    event.player:enableMarkingSelector(function()
    -- receive feedback here about the selection???
    end);


    But the function is, actually, never being called! When reading the API, it is in fact required to pass a function... so... what's the function used for, then? :P


    My guess was that it was being called once an end point was selected, no? Could be nice if that was it's purpose. Then, we could validate the a full selection was being made before calling event.player:disableMarkingSelector, no?

    @LordFoobar: Thanks for sending us the world! There was indeed a problem with the conversion: When a particular table (e.g. chests) was empty, it hasn't been converted. You can fix the problem by deleting all tables that are empty, then they will be recreated when loading the world. If the worlds are not too important, you can simply create a new world ^^
    We also uploaded a new version, Steam should automatically download it. If you're using the Standalone you need to delete any file (since this update has no new version number), e.g. server.jar in the data subfolder.
    Thanks for helping us to find this issue :)


    No problem! Happy to help you guys! These world weren't important, so I'll just create new ones.


    Cheers!