mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-03-14 05:35:35 +00:00
i'm commitmaxxing af
This commit is contained in:
parent
10613f22de
commit
83a0f84b11
@ -42,6 +42,10 @@
|
||||
* In a 5x5 square around the cooler, all components are cooled down by 200°C per tick, down to a minimum of 20°C
|
||||
* This renders that section of the reactor unsuitable for boiling water, however it means very high heat fuels can be used
|
||||
* Cold PFM is used up at a steady rate, even if the reactor is already cold
|
||||
* The RBMK structural column recipe now uses only half as many metal plates, and rubber instead of insulator
|
||||
* Changed the way reasim RBMK fuel channels work
|
||||
* Instead of six randomized neutron streams, reasim rods now use eight half strength streams in an even star pattern
|
||||
* The pattern is rotated in a random multiple of 9° (i.e. four possible angle variations)
|
||||
|
||||
## Fixed
|
||||
* Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config)
|
||||
@ -53,3 +57,4 @@
|
||||
* Fixed RBMK control rods incorrectly showing up in the red group when no group is set
|
||||
* Fixed fluid output direction being incorrect on boilers, causing them to break with pipe anchors
|
||||
* Fixed an issue where the industrial turbine's tendency to round up the possible operation counter would cause it to use up steam it doesn't actually have
|
||||
* Fixed yet another issue with the settings tool when copying automatic control rod settings
|
||||
|
||||
@ -510,7 +510,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
.inputItems(new OreDictStack(STEEL.shell(), 4), new OreDictStack(STEEL.pipe(), 8), new OreDictStack(B.ingot(), 8), new OreDictStack(GRAPHITE.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(ANY_CONCRETE.any(), 16), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.LEAD_PLATING), new OreDictStack(GRAPHITE.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(ANY_CONCRETE.any(), 16), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.CIRCUIT)));
|
||||
this.register(new GenericRecipe("ass.rbmk").setup(100, 100).outputItems(new ItemStack(ModBlocks.rbmk_blank, 1))
|
||||
.inputItems(new ComparableStack(ModBlocks.concrete_asbestos, 4), new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4))
|
||||
.inputItems(new ComparableStack(ModBlocks.concrete_asbestos, 4), new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plate(), 4), new OreDictStack(RUBBER.ingot(), 2))
|
||||
.inputItemsEx(new ComparableStack(ModBlocks.concrete_asbestos, 4), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.FERRO_PLATING), new OreDictStack(CU.plate(), 16))
|
||||
.setPools528(GenericRecipes.POOL_PREFIX_528 + "ferrouranium"));
|
||||
this.register(new GenericRecipe("ass.rbmkautoloader").setup(100, 100).outputItems(new ItemStack(ModBlocks.rbmk_autoloader, 1))
|
||||
|
||||
@ -30,8 +30,6 @@ public class RBMKDials {
|
||||
KEY_SURGE_MOD("dialControlSurgeMod", 1.0),
|
||||
KEY_FLUX_RANGE("dialFluxRange", 5),
|
||||
KEY_REASIM_RANGE("dialReasimRange", 10),
|
||||
KEY_REASIM_COUNT("dialReasimCount", 6),
|
||||
KEY_REASIM_MOD("dialReasimOutputMod", 1.0),
|
||||
KEY_REASIM_BOILERS("dialReasimBoilers", false),
|
||||
KEY_REASIM_BOILER_SPEED("dialReasimBoilerSpeed", 0.05),
|
||||
KEY_DISABLE_MELTDOWNS("dialDisableMeltdowns", false),
|
||||
@ -104,8 +102,6 @@ public class RBMKDials {
|
||||
gameRules.get(RBMKKeys.KEY_SURGE_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_SURGE_MOD, 0.0D)));
|
||||
gameRules.get(RBMKKeys.KEY_FLUX_RANGE).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_FLUX_RANGE, 1, 100)));
|
||||
gameRules.get(RBMKKeys.KEY_REASIM_RANGE).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_REASIM_RANGE, 1, 100)));
|
||||
gameRules.get(RBMKKeys.KEY_REASIM_COUNT).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_REASIM_COUNT, 1, 24)));
|
||||
gameRules.get(RBMKKeys.KEY_REASIM_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_REASIM_MOD, 0.0D)));
|
||||
gameRules.get(RBMKKeys.KEY_REASIM_BOILERS).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_REASIM_BOILERS.keyString) || GeneralConfig.enable528ReasimBoilers));
|
||||
gameRules.get(RBMKKeys.KEY_REASIM_BOILER_SPEED).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_REASIM_BOILER_SPEED, 0.0D, 1.0D)));
|
||||
gameRules.get(RBMKKeys.KEY_DISABLE_MELTDOWNS).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_DISABLE_MELTDOWNS.keyString)));
|
||||
@ -287,24 +283,6 @@ public class RBMKDials {
|
||||
return (int) getGameRule(world, RBMKKeys.KEY_REASIM_RANGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple integer that decides how many neutrons are created from ReaSim fuel rods.
|
||||
* @param world
|
||||
* @return [1;24]
|
||||
*/
|
||||
public static int getReaSimCount(World world) {
|
||||
return (int) getGameRule(world, RBMKKeys.KEY_REASIM_COUNT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a modifier for the outgoing flux of individual streams from the ReaSim fuel rod to compensate for the potentially increased stream count.
|
||||
* @param world
|
||||
* @return >0
|
||||
*/
|
||||
public static double getReaSimOutputMod(World world) {
|
||||
return (double) getGameRule(world, RBMKKeys.KEY_REASIM_MOD);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not all components should act like boilers with dedicated in/outlet blocks
|
||||
* @param world
|
||||
|
||||
@ -181,7 +181,7 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements
|
||||
@Override
|
||||
public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) {
|
||||
if(nbt.hasKey("levelLower")) levelLower = nbt.getDouble("levelLower");
|
||||
if(nbt.hasKey("levelUpper")) levelLower = nbt.getDouble("levelUpper");
|
||||
if(nbt.hasKey("levelUpper")) levelUpper = nbt.getDouble("levelUpper");
|
||||
if(nbt.hasKey("heatLower")) heatLower = nbt.getDouble("heatLower");
|
||||
if(nbt.hasKey("heatUpper")) heatUpper = nbt.getDouble("heatUpper");
|
||||
if(nbt.hasKey("function")) function = EnumUtil.grabEnumSafely(RBMKFunction.class, nbt.getInteger("function"));
|
||||
|
||||
@ -4,9 +4,8 @@ import com.hbm.handler.neutron.NeutronNodeWorld;
|
||||
import com.hbm.handler.neutron.RBMKNeutronHandler;
|
||||
import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
||||
|
||||
import com.hbm.util.Vec3NT;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
import static com.hbm.handler.neutron.RBMKNeutronHandler.*;
|
||||
|
||||
@ -26,8 +25,7 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
|
||||
@Override
|
||||
public void spreadFlux(double flux, double ratio) {
|
||||
|
||||
if(pos == null)
|
||||
pos = new BlockPos(this);
|
||||
if(pos == null) pos = new BlockPos(this);
|
||||
|
||||
if(flux == 0) {
|
||||
// simple way to remove the node from the cache when no flux is going into it!
|
||||
@ -43,15 +41,11 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
|
||||
streamWorld.addNode(node);
|
||||
}
|
||||
|
||||
int count = RBMKDials.getReaSimCount(worldObj);
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
Vec3 neutronVector = Vec3.createVectorHelper(1, 0, 0);
|
||||
|
||||
neutronVector.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble()));
|
||||
|
||||
new RBMKNeutronHandler.RBMKNeutronStream(makeNode(streamWorld, this), neutronVector, flux, ratio);
|
||||
// Create new neutron streams
|
||||
Vec3NT vec = new Vec3NT(1, 0, 0);
|
||||
vec.rotateAroundYDeg(worldObj.rand.nextInt(4) * 9D);
|
||||
for(int i = 0; i < 8; i++) {
|
||||
new RBMKNeutronHandler.RBMKNeutronStream(node, vec, flux * 0.5, ratio);
|
||||
vec.rotateAroundYDeg(45D);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user