New IC: [R-AREA]
LadyCailinBot opened this issue ยท 10 comments
CRAFTBOOK-2421 - Reported by pmpmpm
Hi,
Here I propose a new IC: The R-AREA. This IC simply replace blocks by others in the given area.
Replace Area
[R-AREA]
AreaName
[!]BlockIDOn[:SubID];BlockIDOff[:SubID]
All lines are easy to understand (if not very readable for the last one). Putting the "!" will make the door only work as: Off => On, and not the contrary.
Here are some examples of use:
Replace Area
[R-Area]
MyArea
1;89
1: Input is Off.
2: Input goes On.
3: Every block of stone in the area is replaced by glowstone.
4: Input goes Off.
5: Every block of glowstone in the area is replaced by stone.
Another example:
Replace Area
[R-Area]
MyAreaToo
!1;89
1: Input is Off.
2: Input goes On.
3: Every block of stone in the area is replaced by glowstone.
4: Input goes Off.
5: Nothing happens because of the "!".
So here it is. Sorry if it has already been posted, or if it is already planned. Thanks for reading!
Comment by damadmax
I've build a first version of the IC.
Because i'm currently not able to build craftbook correctly for testing, i hope someone else can test and perhaps commit the IC to git.
http://pastebin.com/1ki5yFj2
Comment by pmpmpm
Oh, so it was an interesting idea! Happy to see =D
This door may be of great use in my dungeons... More ways to kill players (sadistic laugh)
Comment by pmpmpm
The point is to modify a big ammount of blocks at the same time, in a big room or space.
As a true example: I'm making a dungeon. We have to light up a room when the player has killed all mobs. Therefore, I'll make glowstone appear in place of stone, or something else... I have two options for that:
- Using set-block IC: I have something like a thousand glowstone blocks in the room... No need of a drawing here.
- Multiple-set-block IC: Useless, each block of glowstone is isolated.
- Using this R-Area IC: I just have to create the area, and to put the door. Quick, easy, painless.
- Something else: Don't know about it =(
Comment by me4502
So of uses the schematic as a mask, and sets the blocks to the on block?
Comment by me4502
@dirk, there are a few issues with your IC code. Firstly the symbol between the on and off ID should be a minus sign (-), and you should have both on and off data. Not just ID.
Comment by me4502
How about a MultipleBlockReplace IC, is that fine? Does the same as mult block set but replaces.
Comment by pmpmpm
Didn't understand "and sets the blocks to the on block"...
Comment by pmpmpm
Errr, maybe for the MultipleBlockReplace IC, too. I think it would do the trick. But it lacks the flexibility of the R-Area. With the R-Area, if I want to change my room, I just have to change the Area too.
Plus, how would the MBR IC work? With a radius? Not very good for big zones, because if I have to put a radius of 200, I may touch other parts of the dungeon... And if it works with coordinates, this would be like this:
[MC(MBR)]
x:y:z;x':y':z'
IDOn:IDOff
The third line being an offset, not pure coordinates. The problem with that system if for big zones: If I have to make a zone of 100100100, I won't have enough space on the sign to put it! =p
Or... Hey, I have an idea. I don't know if it's harder to code (probably), but what about both ideas? What about creating an "Advanced block replacer"? This IC would work not with one, but with three signs, like the Advanced entity spawner. It would allow us to make complex replacement, using offsets, radius, or area...
What do you think about all that?