Flow86 / Additional-Buildcraft-Objects-Mod

This mod adds additional Pipes and Items to Buildcraft
http://www.minecraftforum.net/index.php?app=forums&module=forums&section=findpost&pid=8920844
44 stars 21 forks source link

Initial Update to 1.7.2 and Buildcraft 6.0.x #74

Closed da3dsoul closed 9 years ago

da3dsoul commented 10 years ago

With the introduction of bc 6 or "Next-Gen" the included objects and pipes will likely change. ---The folder structure was changed and adapted. ---The kinesis system was (attempted at being) updated for the new MJ... systems and powerhandler. ---Deleted some pipes that Buildcraft made native (Stripes Pipe, Bounce Pipe, Pump Pipe, etc) ---Updated for new forge item systems ---Completely re-wrote the Gate Settings Duplicator (see below for usage) --Added windmills --Added Ender Storage ----Added Ender Extraction Pipe ----Made Insertion Pipes insert into ender chests

Changed the following recipes to adapt for the removal of the Autarchic Gate: Valve Pipe- replaced Autarchic Gate with Basic Gate Directed Kinesis Pipe- replace Autarchic Gate with Basic Gate Gate Settings Duplicator- replace Autarchic Gate with pulse chipset

This is beta. As far as I'm aware everything works as flawlessly as possible with the provided tools, and the testing is rather thorough but only by three people from three computers. All of the computers were running Windows 7 Ultimate 64-bit with Java 7 update 50, and have at least quad core CPUs and high-mid-range GPUs with 8-16GB of RAM in LAN on a managed gigabit switch. If your specs match, good for you. If not, sorry, we don't have what you do, so it's not tested yet.

Any and all problems are encouraged to be reported, but they might already be known, and I might already be working on them.

With that, enjoy your pipes.

Division Pipe: Splits stacks into a specified size 1-8, incremented with a wrench. If the stack has a remainder, the moving item will be reversed.

This has been tested with a 64-stack of arrows and a stripes pipe. I recommend trying it.

Gate Settings Duplicator: Will replicate ONLY the settings of a gate. The gate must be (by design) of the same material, logic type, and have the same expansion(s). Usage- Right-click the PIPE with the configured gate attached, then right-click another PIPE with a gate of the same type (defined above). The settings are not lost or overriden regardless of usage. Right-click a Redstone Block to wipe the settings

Windmill: Recipe: a plus with iron ingots, and diamond gears in each four corners Based on placement it can produce very little or a large amount of energy. Placement rules: Must be placed on 2 fence posts (or nether fence) must not have any opaque blocks within 2 blocks at its height or 1 below Can NOT push energy to the east (over the blades, they don't rotate)

Windmill energy rules are grouped into two sections: Plains and Hills.

Windmills gain two types of boosts: Biome and Height.

Plains Rules: If a windmill is placed in a biome with low height variation (flat), it will follow the Plains rule set. Bonuses: Biome: Windmills gain a bonus for simply being placed in the plains section, the amount of bonus depends on the biome. Flatter is better.

Height: Windmills placed as close as possible to sea level will provide the maximum height boost. Sea level assumed 64 -> + 2 for fence posts -> the windmill block should be at 66.

Hills Rules: Biome: Windmills gain no bonus from biome placement in hills, but can make up for it and still achieve maximum output with Height.

Height: The higher a windmill is placed in hills, the greater the bonus, capping at a height of 124 meters.

All windmills gain an extra a boost in the rain.

The maximum output for windmills is 1.375 MJ/t without rain and 1.5 MJ/t with rain.

Ender Storage: Simply an Ender Chest for Buildcraft. Adding an insertion pipe to an ender chest allows putting items in. Right-clicking on the insertion pipe when connected opens the bc Ender Chest for easy of use and debugging purposes, for that "where'd all my items go?" moment.

Insertion: The insertion pipe will treat Ender Chests like any other and insert into the bc ender chest.

Ender Extraction Pipe: Recipe: Extraction Pipe and an ender pearl. Usage: Stole/borrowed the gui from the emerald pipe in buildcraft, along with all the logic and everything but the item extraction, which only pulls from the ender storage. I doubt BC will sue me, and they can have it. I just wanted a way to transport items 6000 blocks without making all that pipe and then keeping it loaded. Yes, this works across dimensions. If you're smart, you'll find a way to bucket lava from the nether to use in the overworld. That was your hint.

Power it with an engine, it'll extract just like an emerald but only from ender chests.

Tested: -All Item Pipes -All Fluid Pipes -All Kinesis Pipes -Gate Settings Duplicator -Windmills!! -Ender Storage (all aspects)

Everything above has been tested in both singleplayer and multiplayer.

Flow86 commented 10 years ago

Hi, most of the parts seem to be okay, but as long as not all of the things do work, I can't merge it (yet).

da3dsoul commented 10 years ago

So far, everything that is there works. I have tested, but I will append my commit because I have added a new pipe and cleaned up some quirks (took me awhile to realize the problem, but the name of everything had ".name" on the end). I plan to add some actions/triggers for the Division pipes and Round-Robin pipes. Next thing I will do is reimplement the gate copier. I'm thinking of changing valve pipes to only drain to the height of the tank they are attached to (ex place on top tank -> only drain top tank | place on bottom -> drain everything above). This would help with the realism of the valve pipe's purpose and allow for some interesting fluid management applications. Also, this would prevent the deprecation of it due to the existence of Autarchic extensions.

da3dsoul commented 10 years ago

....I hit the wrong button.

da3dsoul commented 10 years ago

I just realized the minecraft forums op has no information on the existence or use of the gate settings copier. Could you explain what it can/can't do? (ex. does it duplicate the settings or move the settings? I assume as now that bc has made all gates a single object, we don't want the setting duplicator/mover to copy the expansions and only the settings for them.) EDIT: I also forgot the Diamond Fluid pipe existed and put off the network handling as it changed in Forge. I remembered, have updated it, and will test in a few minutes. PS. Why would you want to use a diamond fluid pipe? It is bad practice, both in the real world and in minecraft, to put two different liquids in the same pipe: they get stuck or mix, and in minecraft, the former is the only option as liquids don't mix.

EDIT2: I implemented a nice, clean, working net handler and tested it. Now the Distribution Fluid Pipes are "working," but there is some weirdness that happens sometimes due to the bad idea of putting multiple liquids in a single pipe. It is a buildcraft bug, and there is nothing I can do about it.

EDIT3: Fixed and upgraded the valve pipe connection system. works exactly as described on the forum. Also tested and confirmed working all the kinesis pipes.

da3dsoul commented 10 years ago

Okay, the Gate Settings Duplicator "works" now. "Works" because there is a dilemma with the way buildcraft handles raytracing and right-clicking, so if you right-click the gate, a plug, a facade, or any part of the pipe but the pipe, it won't even call the item onUsed code. Other than the quirk of needing to click directly on the pipe rather than the gate as would be preferable, it works completely. Updated the OP for commit.

Flow86 commented 10 years ago

one thing: I (/we) should change to the gradle build system

da3dsoul commented 10 years ago

I already did. I'll upload my project file stuff. On May 29, 2014 12:19 PM, "Flow86" notifications@github.com wrote:

one thing: I (/we) should change to the gradle build system

— Reply to this email directly or view it on GitHubhttps://github.com/Flow86/Additional-Buildcraft-Objects-Mod/pull/74#issuecomment-44550979 .

da3dsoul commented 10 years ago

To setup gradle: open cmd at the project root

gradlew setupdevworkspace --refresh-dependencies eclipse gradlew setupdecomp --refresh-dependencies eclipse if you use idea or whatever it's called just replace eclipse with idea in all those

gradlew assemble make a nice distributible jar

EDIT: It apparently wiped the git stats because the commit replaced all but one folder and file (readme and recipes)

Flow86 commented 10 years ago

I reviewed your changes now completly and have some problems with it:

da3dsoul commented 10 years ago

I'm aware the deprecation is not handled well, and plan on updating when all is fixed with it, but for now it works without issue. In the OP of this commit, I did make note of all the other things.

Bounce pipe - just an iron pipe and a gate will completely replicate it's effect/ Stripe Pipe - completely buildcraft native (and works better) Pump pipe - aside from being rather cheap for its effect, buildcraft has the pump and floodgate machines that not only do the same thing, but do them more reliably with better control.

PS. I'm working on a windmill engine (balancing is not an issue, I've a rather elaborate system as to how to place them and the amount of energy they give based on it), and I was wondering if you'd like it in this. I could just start my own pack, but this is already known and well put together, and I'm not great at the whole publicizing thing. I'm also working on solar panels, same for them.

EDIT: I'm noticing implementing new block rendering appears to be much more involved than it used to be, or I just am more acquainted with the old way.

Flow86 commented 10 years ago

okay with the bounce pipe I see now. the stripes pipe is okay definitly. pump hmm I only added it to have a cheap replacement ;)

Im additionally found some problems on testing the code:

i.e: the valve pipe behaves differently then before:

da3dsoul commented 10 years ago

Hmmm. I believe it works perfectly. Did you check the latest commit or an old one? There were some weird issues with it early on. It has 3x the pipe capacity/flow of a gold (it has 120, gold has 40, both measured in buckets/blocks of fluid).

[quote]But it has one limitation (by design!) it only allows straight connections, no bending![/quote]

...I thought that was supposed to be that way.... I put in a lot of work testing to get it like that. As for the redstone, it is possible but buildcraft changed their block implementation (so did minecraft and forge), and a new extension of the Pipe block would be needed for that one pipe. I could do it, but I prefer to just use gates as they are very convenient and powerful now.

Flow86 commented 10 years ago

okay perhaps I have to use a newer commit, I'll test again,

and yes, it seems I forgot to remove the limitation from the documentation ;-)

since the gates on a iron pipe can handle the direction bounce its okay that the pipe was removed.

what do you mean with pipe block extension?

da3dsoul commented 10 years ago

All the pipes have a single block and many tile entities. I decided I'll just do that for future blocks and the few already there that would benefit from redstone attachment. EDIT: Nevermind, there was a nice interface for handling that.

Flow86 commented 10 years ago

well I think you have "overkilled" the merge request, since your commit also contains the buildcraft sources and not only the abo ones

da3dsoul commented 10 years ago

Oh my bad, I put my eclipse workspace in there, which I have linked to buildcraft src. I also have fiber, so my internet doesn't notice when I upload a 20 meg file.

PS. In the latest commit redstone on valve and relay pipes works.

Also, I just update the OP with any changes, so that's the best place to look for a full overview.

da3dsoul commented 10 years ago

The guis stopped working (when I checked them, I found the problem and wondered how they ever worked), so I fixed them.

da3dsoul commented 10 years ago

I realized when I made a commit to buildcraft (floodgates were messed up with changed fluid api), but I need to merge into a new branch. I can't however make one in ABO, only merge in an existing one. If you want to merge this, you'll need to make a new branch that clones master. Then I can merge into that without replacing everything.

EDIT: I'm doing more git trimming and changing the folder/package structure back. It bugs me and prolly you too. The git should have only what's needed now.

EDIT2: I gave up on solar panels. The windmills are awesome though, and a farm of them can replace stirling engines if placed right.

da3dsoul commented 10 years ago

There were several errors in the math for windmills, causing them to be at full output regardless of placement. Fixed.

da3dsoul commented 10 years ago

All this time the config existed with nothing in it (new item system auto-resolves ids). After building a 7x51 farm of windmills and discovering 357 spinning objects is not preferable for a high fps standard, I am adding a boolean option for windmill animations. I am thinking of making an adjustable distance for it as well (like the inside of bc pipes), but we'll see if I figure it out before I stop caring.

da3dsoul commented 10 years ago

This is now well tested (by my friends and I at least), and no problems have been found. Now for 1.7.10....

da3dsoul commented 10 years ago

I haven't posted it, but I have updated to 1.7.10. "I need to merge into a new branch. I can't however make one in ABO, only merge in an existing one. If you want to merge this, you'll need to make a new branch that clones master. Then I can merge into that without replacing everything." You seem to have taken a vacation from minecraft, though....

asiekierka commented 9 years ago

Is ABO dead?

da3dsoul commented 9 years ago

No.

da3dsoul commented 9 years ago

You seem to have already found it, though.