Author Topic: Brick Manipulation  (Read 5334 times)

You've got me excited, nooo. D:
Heh, well don't expect this being ready any time soon. What's really keeping me from putting up what I have so far is the event saving/loading, that isn't completely working yet. I also need to remove a dozen or so echo statements, plus clean up code (this has been worked on for over 2 years on and off).

What about a sick GUI from birds eye view that can see blocks and players. kinda like a rador.
And its a GUI, hard but i have been waiting since the minute i got the idea. Which was a copple of seconds, but still i want it!
It'd go nice with my mod.
I'm the one who came up with the idea...
and if Martin thinks he can make a radar scheme and does. I will not be as shocked as Chrono :D

My Suggestion: A Fill Brick tool.
How it works/use: When people make pixel art with the plate they usually use 1 by 1 since its easiest and colors can easily be adjusted. When the finished pixel art is done sure it looks lovely but it is spammy. What this tool would do is when it is shot at a group of "spam" bricks that could be replaced with bigger bricks it replaces the smaller bricks with brigger less spammier bricks. it would only change the bricks of the same color so the pixel art is not screwed up. also newbies who spam 1x1x5 for walls of their house could shoot this at their building and quickly lower the brick count. now i know that this device could be glitchy but i see it as a great idea on a way to not only reduce brick count but to also help newbies use less bricks.

Ah bill, I've thought about how to efficiently fill a space with bricks for awhile, and I'm still thinking :P

You do give me a simpler idea though, which is just choosing one brick and replicating it several times. So I'll add simple brick macros to the tools (for the virtualbricklist).

A way to select bricks within a simple box would be nice.

What if this tool could "optimize" the selected group by sensing if two 1x1 bricks were next to each other and making them into one 1x2 at the point of duplication.  Of course the two bricks would have to be the same color and have not special properties like events or lights.
« Last Edit: April 15, 2010, 12:46:52 AM by Melting Plastic »

It wouldn't be too hard to only turn 1x1 bricks into 1x2s, I'll attempt to make something like that. Although, it would be much harder to do the same thing with the bricks if they're stored in the vbl. It would be more feasible if the bricks were sorted by position. Maybe I can make a different 'mode' for sorted virtualBrickLists, it would take longer to add the bricks (possibly much, much longer), but there would be more possible things to do with it. What I could do is give a callback for when the list finishes sorting.

Couple suggestions from me:

For server admins:
An option to Teleport to a players brick.  For those times when you see bl_id 1234567 has 800 bricks and you have NO clue where it is.

- also +1 for the selective load/save option (somebody on my server lost their build yesterday and I had to spend 20min retreiveing it from a previous save).

Non-Admins:
Draw a box on the screen to select bricks.
Normal control+click to select multiple bricks.
FULL undo support -- "oops I didnt mean to delete that tower"

Standard copy+paste functions.
  ex: select some bricks (via whatever method).  hit Control+C to copy, then Control+V to paste -- then have the paste function AUTO PLACE a temp brick, and from there it behaves like duplicator.
a "simple" ability to pickup and move a build.


De-spamming builds is a good idea.  here is an approach to consider:
pass 1, change 1x1 into 1x2.
pass 2, change 1x2 into 1x4, or 2x2 depending on whats around
pass 3, change 1x4 into 1x8, or 2x4, change 2x2 into 2x4.
and so on... (assuming you match bricks by color and dont touch anything with an event).

that works well for horizontal de-spamming.
then its just the same for vertical -- find stacks of 1x4s or 1x1s and change them to 1x1x5, or 1x4x5

slow - yes, but it can work well to cleanup spammy builds, and its not like you will be using it constantly.

And lastly - some client-side building aids:
macros or keybindings that will feed plantbrick() and shiftbrick() commands to let people build stuff.  ex:  makeline(5) - takes whatever your temp brick is and makes a line of 5 of them directly in front of you.  or:  makecircle(5) - makes a circle from your temp brick.
I have started on this already, and its a lot of fun to play with (until some noob does /makecircle 5000 )

It may have been said but:

When you load something a ghost appears of the thing you want then you can move an place it.

Make is so you can name large groups of bricks.

I wanna see bricks on a birds eye view.

I wanna see bricks on a birds eye view.
Goddamit stop with the radar suggestion.

I wanna see bricks on a birds eye view.
That has nothing to do with this, go away.



Two more ideas.

1. Something to facilitate placing random objects in a build (such as furniture in a house, scenery in a garden or street).
2. A script to detect openings in two dimensional walls. This could hopefully be expanded, efficiently, to 3d objects (I personally need this).

Also, with the possibility of having a larger number of bricks, does anyone have some ideas on what might take advantage of that?

(I forgot to mention, no one needs to respond to this, I have enough info to work with for now. I just had these ideas and decided to add them here, and maybe re-spark someone's interest.
« Last Edit: May 28, 2010, 01:09:23 PM by Nitramtj »

Two more ideas.

1. Something to facilitate placing random objects in a build (such as furniture in a house, scenery in a garden or street).
2. A script to detect openings in two dimensional walls. This could hopefully be expanded, efficiently, to 3d objects (I personally need this).
I have something that can kinda work for this -- PM me if you want more info