Mod Feedback [By Request] RotaryCraft Suggestions

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

1M Industries

New Member
Jul 29, 2019
537
0
0
There should be no new ID conflicts, but I cannot emphasize enough that staying in v24 is a big mistake, especially for a server.
I am not running a server. I also personally like to wait for a bunch of people to update and then do a huge update-athon.
 

abculatter_2

New Member
Jul 29, 2019
599
0
0
Has it already been suggested for there to be a way to renewably create dirt with Rotarycraft? Because it would be great to be able to make dirt. Some way to combine sand and compost, perhaps in a fermenter, would be a nice simple way to add it.
 

pizzawolf14

New Member
Jul 29, 2019
566
0
0
Has it already been suggested for there to be a way to renewably create dirt with Rotarycraft? Because it would be great to be able to make dirt. Some way to combine sand and compost, perhaps in a fermenter, would be a nice simple way to add it.
Definitely this. Magical crops are currently the only way, and I find them rather annoying.
 
  • Like
Reactions: Padfoote

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
Just lovely.
Code:
 @Override
public boolean equals(Object obj) {
return false;
}
According to that, one of those objects is not even equal to itself.

Worse, every test of list.contains() or map.get() is going to return null with that crap as the key.
 

1M Industries

New Member
Jul 29, 2019
537
0
0
Just lovely.
Code:
 @Override
public boolean equals(Object obj) {
return false;
}
According to that, one of those objects is not even equal to itself.

Worse, every test of list.contains() or map.get() is going to return null with that crap as the key.
Holy cow. I do some coding (Mainly in C) and that is......terrifying. What is that supposed to be for?
 
  • Like
Reactions: YX33A

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Just lovely.
Code:
 @Override
public boolean equals(Object obj) {
return false;
}
According to that, one of those objects is not even equal to itself.

Worse, every test of list.contains() or map.get() is going to return null with that crap as the key.
What sadistic bastard would do such a thing? That is literally the most evil code I've ever seen in my life.
 
  • Like
Reactions: YX33A

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
I wouldn't say its the worst I've seen by a large margin, but it does seem like an indication of a thoughtless or hacky programmer.
No no no, you misunderstand me. I'm not saying its bad...its certainly bad, but that's not it. There's something sinister about it, something that makes me want to throw up the sign of the cross and drive a wooden stake through its heart.

[ETA]
Also, is there any way to make it so a performance engine doesn't explode? I lost half my base (it was around 31x31), and the only combustible thing in the entire place was a performance engine. It was being fed ethanol and blaze powder, water from two Ender IO reservoirs being fed thru a single piece of pressurized fluid conduit and being cooled by a pair of cooling fins with a block of water next to 'em. Yet, it still managed to wreck the whole damned place.
 
Last edited:

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
No no no, you misunderstand me. I'm not saying its bad...its certainly bad, but that's not it. There's something sinister about it, something that makes me want to throw up the sign of the cross and drive a wooden stake through its heart.

[ETA]
Also, is there any way to make it so a performance engine doesn't explode? I lost half my base (it was around 31x31), and the only combustible thing in the entire place was a performance engine. It was being fed ethanol and blaze powder, water from two Ender IO reservoirs being fed thru a single piece of pressurized fluid conduit and being cooled by a pair of cooling fins with a block of water next to 'em. Yet, it still managed to wreck the whole damned place.
I found another in GameSettings:
public float getOptionFloatValue(GameSettings.Options p_74296_1_)
{
return p_74296_1_ == GameSettings.Options.FOV ? this.fovSetting : (p_74296_1_ == GameSettings.Options.GAMMA ? this.gammaSetting : (p_74296_1_ == GameSettings.Options.SATURATION ? this.saturation : (p_74296_1_ == GameSettings.Options.SENSITIVITY ? this.mouseSensitivity : (p_74296_1_ == GameSettings.Options.CHAT_OPACITY ? this.chatOpacity : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_FOCUSED ? this.chatHeightFocused : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_UNFOCUSED ? this.chatHeightUnfocused : (p_74296_1_ == GameSettings.Options.CHAT_SCALE ? this.chatScale : (p_74296_1_ == GameSettings.Options.CHAT_WIDTH ? this.chatWidth : (p_74296_1_ == GameSettings.Options.FRAMERATE_LIMIT ? (float)this.limitFramerate : (p_74296_1_ == GameSettings.Options.ANISOTROPIC_FILTERING ? (float)this.anisotropicFiltering : (p_74296_1_ == GameSettings.Options.MIPMAP_LEVELS ? (float)this.mipmapLevels : (p_74296_1_ == GameSettings.Options.RENDER_DISTANCE ? (float)this.renderDistanceChunks : (p_74296_1_ == GameSettings.Options.STREAM_BYTES_PER_PIXEL ? this.field_152400_J : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_MIC ? this.field_152401_K : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_SYSTEM ? this.field_152402_L : (p_74296_1_ == GameSettings.Options.STREAM_KBPS ? this.field_152403_M : (p_74296_1_ == GameSettings.Options.STREAM_FPS ? this.field_152404_N : 0.0F)))))))))))))))));
}

Code:
 public float getOptionFloatValue(GameSettings.Options p_74296_1_)
{
return p_74296_1_ == GameSettings.Options.FOV ? this.fovSetting : (p_74296_1_ == GameSettings.Options.GAMMA ? this.gammaSetting : (p_74296_1_ == GameSettings.Options.SATURATION ? this.saturation : (p_74296_1_ == GameSettings.Options.SENSITIVITY ? this.mouseSensitivity : (p_74296_1_ == GameSettings.Options.CHAT_OPACITY ? this.chatOpacity : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_FOCUSED ? this.chatHeightFocused : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_UNFOCUSED ? this.chatHeightUnfocused : (p_74296_1_ == GameSettings.Options.CHAT_SCALE ? this.chatScale : (p_74296_1_ == GameSettings.Options.CHAT_WIDTH ? this.chatWidth : (p_74296_1_ == GameSettings.Options.FRAMERATE_LIMIT ? (float)this.limitFramerate : (p_74296_1_ == GameSettings.Options.ANISOTROPIC_FILTERING ? (float)this.anisotropicFiltering : (p_74296_1_ == GameSettings.Options.MIPMAP_LEVELS ? (float)this.mipmapLevels : (p_74296_1_ == GameSettings.Options.RENDER_DISTANCE ? (float)this.renderDistanceChunks : (p_74296_1_ == GameSettings.Options.STREAM_BYTES_PER_PIXEL ? this.field_152400_J : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_MIC ? this.field_152401_K : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_SYSTEM ? this.field_152402_L : (p_74296_1_ == GameSettings.Options.STREAM_KBPS ? this.field_152403_M : (p_74296_1_ == GameSettings.Options.STREAM_FPS ? this.field_152404_N : 0.0F)))))))))))))))));
}
That is one line.

I have not seen a mess of ternaries this big since the 1.2.5 copy of RenderBlocks.

Come to think of it, I have never seen Mojang use a switch statement, which does the same thing as that, only readably. I wonder if they know it exists...?
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
o_O That is horrifying. I'm all for using a ternary or two for small things, but that?! That's like looking Cthulhu right square in the eyes. I think I lost part of my sanity reading that abomination.
 

Diggsey

New Member
Jul 29, 2019
3
0
0
I found another in GameSettings:


Code:
 public float getOptionFloatValue(GameSettings.Options p_74296_1_)
{
return p_74296_1_ == GameSettings.Options.FOV ? this.fovSetting : (p_74296_1_ == GameSettings.Options.GAMMA ? this.gammaSetting : (p_74296_1_ == GameSettings.Options.SATURATION ? this.saturation : (p_74296_1_ == GameSettings.Options.SENSITIVITY ? this.mouseSensitivity : (p_74296_1_ == GameSettings.Options.CHAT_OPACITY ? this.chatOpacity : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_FOCUSED ? this.chatHeightFocused : (p_74296_1_ == GameSettings.Options.CHAT_HEIGHT_UNFOCUSED ? this.chatHeightUnfocused : (p_74296_1_ == GameSettings.Options.CHAT_SCALE ? this.chatScale : (p_74296_1_ == GameSettings.Options.CHAT_WIDTH ? this.chatWidth : (p_74296_1_ == GameSettings.Options.FRAMERATE_LIMIT ? (float)this.limitFramerate : (p_74296_1_ == GameSettings.Options.ANISOTROPIC_FILTERING ? (float)this.anisotropicFiltering : (p_74296_1_ == GameSettings.Options.MIPMAP_LEVELS ? (float)this.mipmapLevels : (p_74296_1_ == GameSettings.Options.RENDER_DISTANCE ? (float)this.renderDistanceChunks : (p_74296_1_ == GameSettings.Options.STREAM_BYTES_PER_PIXEL ? this.field_152400_J : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_MIC ? this.field_152401_K : (p_74296_1_ == GameSettings.Options.STREAM_VOLUME_SYSTEM ? this.field_152402_L : (p_74296_1_ == GameSettings.Options.STREAM_KBPS ? this.field_152403_M : (p_74296_1_ == GameSettings.Options.STREAM_FPS ? this.field_152404_N : 0.0F)))))))))))))))));
}
That is one line.

I have not seen a mess of ternaries this big since the 1.2.5 copy of RenderBlocks.

Come to think of it, I have never seen Mojang use a switch statement, which does the same thing as that, only readably. I wonder if they know it exists...?

To be fair, that's the decompiled code - it may not have been one line in the original source, and may not have used ternary operators at all (although it probably did)...
 
  • Like
Reactions: YX33A and Pyure

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
To be fair, that's the decompiled code - it may not have been one line in the original source, and may not have used ternary operators at all (although it probably did)...
While the decompiler cannot regenerate names, it is nearly perfect when generating actual source; I have compared the jd-gui results of various mods to their code, and find a near 100% match rate. Even variable names usually survive.
 
  • Like
Reactions: YX33A

DriftinFool

New Member
Jul 29, 2019
642
0
0
A survival version of the World edit wand would be nice. Or just add a recipe and make it consume blocks from your inventory. The Remote IO block replacer is the only thing other than the TC wand of equal trade that allows anything like this. I am not a fan of magic mods, so TC is out and adding an entire mod for one tool seems like a waste anyways. Since I play SP, it's not a huge deal and I use the World edit wand anyways, but I would like if it used my inventory.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
While the decompiler cannot regenerate names, it is nearly perfect when generating actual source; I have compared the jd-gui results of various mods to their code, and find a near 100% match rate. Even variable names usually survive.
I think he just means it might have been tabbed/carriage-returned out for legibility. I can think of at least one time I've done that with a ternary off the top of my head (although I don't recall why I thought it was a good idea)
 
  • Like
Reactions: YX33A