Jump to content

[1.6.x/1.5.x] Redstone In Motion (Redpower Frames) 2.3.0.0 (October 8)


jakj

Recommended Posts

Well I was trying to get the dynamism table working so I could use silk touch and fortune on the force drill. Maybe I will have to just add a big delay between movements. I will test that out in the morning and see if that helps. The other thought I had was that maybe the carriage grabbing items for movement was clashing somehow with the pipe grabbing them.

on a side note do you have / sit in an IRC?

Link to comment
Share on other sites

Well I was trying to get the dynamism table working so I could use silk touch and fortune on the force drill. Maybe I will have to just add a big delay between movements. I will test that out in the morning and see if that helps. The other thought I had was that maybe the carriage grabbing items for movement was clashing somehow with the pipe grabbing them.

Well, you can turn off the grabbing of item entities in the config file, if that helps.

on a side note do you have / sit in an IRC?

Not really: I'm pretty antisocial. Right now I'm trying to get a little coding in while I eat and do the crap I need to before bed, so I can do my absolute best to get this release out before I have to leave again tomorrow.

Link to comment
Share on other sites

Well, you can turn off the grabbing of item entities in the config file, if that helps.

Will try that too.

Not really: I'm pretty antisocial. Right now I'm trying to get a little coding in while I eat and do the crap I need to before bed, so I can do my absolute best to get this release out before I have to leave again tomorrow.

Ah shame. Enjoy your food. I look forward to the newest release. Can't wait to get my hands on the teleport carriages btw, glad to see my idea (sort of) came to fruition.

Link to comment
Share on other sites

just recreated the crash. here's a screenshot of what's happening 6Uz03kn.png

the solution is simple use the AE blockbreakers, they dont just break blocks they also suckup anything that touches them! i made a quick mock up in my test world so you could see the layout, some of the blocks i did not know what they were so i just used sponges =D04f2f

Link to comment
Share on other sites

I love you a little bit! I'm not sure how well it will pick up the items as they fly pretty far but this is certainly a better solution than a lot of the other I've seen. I think if it's moving underground then the items (for the most part) should stay in the 3x3.

The unknown blocks are from power converters. There's a BC consumer, an energy bridge and a universal charger. Basically it charges the force drill inside the dynamism table. The force drill is great as it can be enchanted with silk touch and fortune.

further investigation seems to show that the game only crashes when the carriage is stopped. I copied the MC window code as it seemed to show a little more info http://pastebin.com/Gbzy9MMY

Link to comment
Share on other sites

the solution is simple use the AE blockbreakers, they dont just break blocks they also suckup anything that touches them! i made a quick mock up in my test world so you could see the layout, some of the blocks i did not know what they were so i just used sponges =D04f2f

Didn't work as the plans don't pick things up when in transit :/

Link to comment
Share on other sites

Didn't work as the plans don't pick things up when in transit :/

Because the planes don't exist while in transit. If you want blocks to do things along the way, you'll have to introduce some sort of delay, like with a redstone timer.

Link to comment
Share on other sites

yeah the planes only actually work when an item touches their surface so any item that is not directly on a border between two block will not get picked up. ie any of them. the obsidian pipe isn't crashing me now that I have put a 3 second delay in between movements which seems to be long enough for everything to clear out the pipe.

Link to comment
Share on other sites

But what happens if the tardis teleports into itself? Will it be like crossing the streams?

In "reality" it gives The Doctor a chance to be clever and completely confuse his companions.

In game you'd have a pair of doors that link inside the same pocket dimension, same as two linked doors in the overworld. Completely possible currently, it just cuts access to the pocket dimension from the original location until the tardis teleports back. Remember dimdoor pocket dimensions can have multiple links to it and can go deeper/shallower through the dimensions as doors are placed.

Link to comment
Share on other sites

yeah the planes only actually work when an item touches their surface so any item that is not directly on a border between two block will not get picked up. ie any of them. the obsidian pipe isn't crashing me now that I have put a 3 second delay in between movements which seems to be long enough for everything to clear out the pipe.

I'm not sure about quarry/breakers that move horizontally, but vertically using a computercraft carriage controller the AE block breakers shouldn't have any problem picking up and putting into the system anything that touches them while moving as long as the delay is at least 0.25.

https://dl.dropboxusercontent.com/u/45914214/insidequarry.jpg is a picture of one of my mobile quarry's (my apologies for the darkness and lack of quality, its at bedrock level at night and taken on my laptop I use when away from home which is not a good computer).

It is made using template frames and is fully enclosed, but the gist is there is a 9x9 array of AE block breakers on the bottom, with a ME cable connected to one of them (so they are then all connected) which then connects to a powered controller, and outputs to a ender chest or ME drive.

I can type a command such as 'move d 50' and my code will have the frames move down 50 on a 0.25 delay, and all items underneath are fed right into the chest without an issue so far.

Link to comment
Share on other sites

Do any MC mods use OpenCL for any kind of high speed code? I was thinking that some of the code in this mod could benefit from that kind of speedup. I wrote a fractal algorithm in Python using Numpy that I sped up hundreds of times using an OpenCL version of the same algorithm. It benefited partly because the algorithm can be parallelized significantly. Even though the Java bytecode is JIT compiled I still think graphics hardware could do better. I see the block search checks on your code to be similar in that they do not necessarily rely on the results from one check for another block. I would imagine there are OpenCL libraries for Java. The one I used was PyOpenCL for Python which is a nice wrapper around the library. Obviously if the users hardware does not support an OpenCL device it could be ignored on those machines.

Link to comment
Share on other sites

In addition to the trans locator can you make it so structures inside frames are bigger on the inside?

Edit:

But only for the blue frames.

Do what with the who now?

Do any MC mods use OpenCL for any kind of high speed code? I was thinking that some of the code in this mod could benefit from that kind of speedup. I wrote a fractal algorithm in Python using Numpy that I sped up hundreds of times using an OpenCL version of the same algorithm. It benefited partly because the algorithm can be parallelized significantly. Even though the Java bytecode is JIT compiled I still think graphics hardware could do better. I see the block search checks on your code to be similar in that they do not necessarily rely on the results from one check for another block. I would imagine there are OpenCL libraries for Java. The one I used was PyOpenCL for Python which is a nice wrapper around the library. Obviously if the users hardware does not support an OpenCL device it could be ignored on those machines.

Even if possible/feasible, the speedup would be almost unnoticeable. My code can reach the default 5000-block limit and fail out an improperly-placed platform carriage in less than a tenth of a second on my computer, but (also on my computer) the same code lags for almost ten seconds when moving an entire mountain peak that is not even close to 5000 blocks in volume. As wasteful as some of my code is, even a shitty computer isn't going to have even the slightest problem with it.

To increase performance of my code, the one thing I can really do is delve deeper into Minecraft's internals to better understand the lighting functions and rewrite that part to be more efficient. (Right now it's super redundant and wasteful.) The worst part of all of it, though, is changing all those blocks around, and unless you rewrite Minecraft itself, that's always going to be slow.

If I had a gun to my head, I'd say I might be able to cut somewhere between 10%-40% of the current time off of gigantic motions by improving the lighting code, but I'm fairly certain almost nothing can be done to improve the rest of it in Minecraft's current state.

Link to comment
Share on other sites

Yeah, I was not even thinking about where the game is actually spending the most time. Premature optimization on my part. There is a lot more going on than just finding cubes in a set. Yeah, it was not designed for everything to be converted to entities and back on that large of a scale.

Edit:

The bigger on the inside is a ref to doctor who.

Edit2:

Doh, just reread your comment on that. Nice!

Link to comment
Share on other sites

Yeah, I was not even thinking about where the game is actually spending the most time. Premature optimization on my part. There is a lot more going on than just finding cubes in a set. Yeah, it was not designed for everything to be converted to entities and back on that large of a scale.

Edit:

The bigger on the inside is a ref to doctor who.

Premature optimization is really fun, though. One nice thing about doing programming as a hobby instead of a job is we can take diversions like that as we desire, just for the hell of it. And another nice thing is being able to do the opposite, being inefficient because it's more fun that way.

And besides, all of my inefficiencies put together are still nothing compared to the shit that is the Minecraft codebase. And I'm not even a university graduate! :P But I saw one of the Minecraft devs tweet that they refactored the code and made several hundred changes, so while I cringe at the work that will be involved in tracking down and understanding those changes from a modding standpoint, I also cheer that Minecraft is finally well on its way to becoming a well-written piece of software.

The day where I compare my code to Minecraft's and actually feel embarassed instead of smug, will be a very good day indeed.

Link to comment
Share on other sites

@Shade25,

That sounds awesome. Do you happen to have a video of it in action?

Erm, not personally, I've never done anything with videos before so I wouldn't know where to start making one. That said, I'll do some googling and see what I can do.

My software on the quarries is setup in such a way that I can 'pilot' them manually inside the enclosed quarry, or that I can control them remotely as long as I am somewhere within computercraft's wireless modem range (or within modem range of one of my message relay centers), if you wish I can try to see about getting a video of inside the quarry and it working remotely.

Link to comment
Share on other sites

Erm, not personally, I've never done anything with videos before so I wouldn't know where to start making one. That said, I'll do some googling and see what I can do.

If you want something free that works pretty well, I'd start with CamStudio. (If you use windows, that is.)

I think I'll make my version, (IE: huge, brutal, and crude, yet still cool.), of a mining machine once the new update comes out and I learn AE. If it turns out well enough, I'll share it too.

Link to comment
Share on other sites

Lest any of you think I'm full of shit, here's a thing.

Update is coming Soon. I had to give Minecraft a hot-oil massage and I'm still trying to clean off the table, so there's a little more to do, but the main part is it doesn't crash now and does its thing!

(In before "lol op".)

Link to comment
Share on other sites

So what happens when blocks are in the way on the receiving end? Swap or stop?

It requires open air (won't teleport into anything, not even grass/liquids; will probably let it later on like the regular drives do). It searches through all active translocators of the matching label (and player name, if private), and takes the first one it sees in its internal list. There is no way to predetermine which one it will go to if there are more than two of any particular label/player, so it's recommended to not do that.

There will be 65,536 possible labels per player, and another 65,536 for the open channel, so any particular singleplayer game will have 131,072 possible channels.

Currently doesn't render the label on the block itself, so you have to break it and look at the tooltip to see what it is.

Link to comment
Share on other sites

Nice. Do players get teleported with it?

Hope so. I'm itching to make an explorer airship with the ability to teleport home as needed.

Not as of now, but I'm working on it. I don't see any reason why it wouldn't eventually do it. I guess I'd have the entities teleport at the end of the animation.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...