tomdodd4598 / NuclearCraft

NuclearCraft is a Forge mod for Minecraft 1.12.2.
https://www.curseforge.com/minecraft/mc-mods/nuclearcraft-overhauled
MIT License
196 stars 128 forks source link

Error with achivments #71

Closed chaos234 closed 7 years ago

chaos234 commented 7 years ago

Hey,

one achivment tells me that I have to craft an Isotope Seperator which I have then crafted over the Assembler but I did not get the achivment for it.

This means that it seems only to be aquire able ofer the Heavy Duty Workbench which is bad I think, because you should get the achivment on build and not on build on a special machine/tool.

Can you pls change this? Tahnks :)

tomdodd4598 commented 7 years ago

Hey there, I might change it if it is a problem, but how did you craft the Separator without first getting the Workspace?

chaos234 commented 7 years ago

I have the Workspace, so don't worry about it ;).

But instead of crafting the IS over the WS I crafted the Assembler before it since it isn't part of the achivments yet and so I was able to craft the IS without using the WS :).

chaos234 commented 7 years ago

@turbodiesel4598

Like you have written in the README.md I have forked your repro.

I'll add some things which are missing but before I do so, I do a code cleanup which you then can look at the upcoming PR but this will definitly change your current gitrepro, so look carefully on it pls :).

Workingtests will be done after code cleanup :).

tomdodd4598 commented 7 years ago

I'm sorry, you still have me confused - do you mean you crafted the Assembler before the Workspace?

chaos234 commented 7 years ago

No, first the Workspace, then the Assembler :).

Am 18.01.2017 12:37:37 schrieb turbodiesel4598 notifications@github.com: I'm sorry, you still have me confused - do you mean you crafted the Assembler before the Workspace? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub [https://github.com/turbodiesel4598/NuclearCraft/issues/71#issuecomment-273453218], or mute the thread [https://github.com/notifications/unsubscribe-auth/AAUwilHRFc9Aka--no163Wh21RlBUpvpks5rTfj_gaJpZM4LmUhO].

tomdodd4598 commented 7 years ago

Right, so I still don't understand how you got the Separator without the Workspace.

chaos234 commented 7 years ago

You need 1x Machine Base, 12x Lead Plating, 8x Tough Alloy Ingot, 4x Redston which you put in the Assembler.

The Machine Base can also be crafted over the Assembler (4x Computer Plate, 2x Mechanical Part).

So you need only the Workspace, craft the Assembler and craft ovcer this other Components, Machines and so far.

Short: Workspace ---> Assembler ---> Separator

tomdodd4598 commented 7 years ago

Aaaahhh... I get you now! Sorry, I made a mistake. So the achievement doesn't register if you take the Separator out of the Assembler... is that right?

chaos234 commented 7 years ago

Yes that is right.

If you can write a methode for it, I'll implement it right now in my rewrite. Don't missunderstand me but your main class file is a bit messed uped ^^ so I hope that the clean up will suits you :).

Also I am working on an implementation for OpenComputers, eventually ComputerCraft too :).

chaos234 commented 7 years ago

I found out that the thing with the comparator check is not well.

The comperatorsignal should be divided by 15 (what is done) but why comparing it against a fixed heat? It should be possible, if I looking trough the part where this happends, also to do a bit of math to get the maxHeat for each builded up reactor.

My idea is to get the generated heat/t which is displayed on the GUI and if it's a positive value then use this final heat and multiplay it with (15D*fuelBaseTime/100000) to get the maxium reactor heat, e. g.:

Reactor Heat shown: 560 H/t Formular: 560 H/t *(15D/1000s/10000)/2,5 Sum: 16800 heat as max possible for this reactor.

Or another one:

Heat: 7760 H/t Formular: 7760 H/t (15D/100010000)/2,5 Sum: 465600 Heat befor the reactor blows up

Is this possible? Eventually a better formular must be used and/or the reactor size should be included as divisior at the end (means not /2,5 - mean /currentReactorSize), e. g:

Size: 3x4x3 = 36 Heat: 7760 H/t Base Fuel Time: 1000s Formular: 7760(36/1000s10000)*2,5 Sum: 69840

I know that this is not the best formular and eventually we should use the effective Fueal Time but this should the user give a good amount and time before the reactor blows up and also this value is then the 100% where the currentHeat 0% is. This must now be compared with each other and divided by 15 for the correct redstone signal strengh.

I hope that this is possible because the current way is mostly to short to control the FissionReactor well.

tomdodd4598 commented 7 years ago

The comparator system was a quick 'proof of concept' addition for reactors with positive heat generation rates - if the heat got too high, it would turn off the reactor and wait for it to cool down before restarting. However, this system is somewhat abusable, and won't feature in the 1.11 version or above.