mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-03-11 04:05:36 +00:00
ow
This commit is contained in:
parent
98b05b1c70
commit
5d8704e150
48
changelog
48
changelog
@ -1,46 +1,8 @@
|
||||
## Added
|
||||
* Pigeons
|
||||
* Spawn on plains in large flocks
|
||||
* Will alternate between walking on the ground and flying around aimlessly
|
||||
* When on the ground, they can eat dropped bread (the item has a 33% of being used up)
|
||||
* Fat pigeons will spawn droppings when flying, these droppings will fertilize the ground below them
|
||||
* When hit with damage equivalent to twice their health or higher, pigeons will explode, dropping 10 feathers
|
||||
* when killed otherwise, they only drop a few feathers and sometimes raw chicken
|
||||
* Wood burner
|
||||
* Replaces the old combustion generator
|
||||
* A larger machine, has higher efficiency when burning logs or planks
|
||||
* Collects ashes at the same rate as ashpits
|
||||
* Also has an option to burn flammable liquids at 50% efficiency
|
||||
* Will automatically shut off if the energy buffer is full
|
||||
* `/ntmrad`
|
||||
* `set` operator can change the radiation amount in the current chunk
|
||||
* `clear` operator will remove the radiation data from all loaded chunks
|
||||
* Dense wires
|
||||
* Can be made in a crucible
|
||||
* Alloy and gold ones can also be made using the arc welder
|
||||
* Material cost is equivalent to 1 ingot
|
||||
* For ease of mass-production, 9-fold molds are also available
|
||||
* Used to craft hadron magnets, reducing crafting complexity be removing annoying upgrade recipes which make automation more complicated and needlessly inflate the amount of materials required for a magnet tier that isn't even the one that's being made
|
||||
|
||||
## Changed
|
||||
* Changed many tool recipes that exclusively used polymer to now also accept bakelite
|
||||
* Reduced the value of hematite and malachite blocks in the crucible down to one ingot
|
||||
* Hematite veins are still giant, so a single vein will still yield many stacks of iron
|
||||
* Malachite's rebalance was done to be consistent with the bedrock ores which now exist. Malachite veins are now larger to compensate.
|
||||
* 1000mB of red mud now makes one ingot of iron in the coker
|
||||
* Doubled coal bedrock ore's coal output to 8 coal
|
||||
* A new config option now replaces the iron and copper bedrock ores in 528 mode with hematite and malachite
|
||||
* the industrial generator now has three additional ports on its underside, meaning it is now a lot easier to properly automate all necessary IO
|
||||
* Neodymium and DNT are now valid crucible materials
|
||||
* Particle accelerators will now evenly distribute items using IO if both inputs are equal, making the antischrabidium recipe a lot easier to automate
|
||||
* Due to multiple complaints regarding the plastic bag's ability to contain radiation, plastic bags now *double* the radiation of the item they contain
|
||||
* The post impact spawning restrictions have changed, meaning that spawning things with spawn eggs is no longer broken. Due to technical limitations, this means that post impact, no mobs will spawn as part of world gen, only via random spawns.
|
||||
* All energy storage blocks now have a fixed transfer limit of 5% of their capacity per tick, reducing the impact of ping-ponging considerably
|
||||
* Trenchmaster armor no longer takes damage from self-inflicted explosions, knockback is still applied though
|
||||
* The combination oven no longer needs blaze powder to be made, instead it uses welded copper plates. Welded copper needs 1kHE/t to make, twice as much as welded steel.
|
||||
* The steam engine now only needs 4 copper coils instead of 8
|
||||
* The wood-burning generator now burns 40mB/s instead of 1mB/s
|
||||
* Buffed the wood-burning generator's efficiency for fluids from 25% to 50%
|
||||
* The particle accelerator now has a new IO mode called single mode, which only allows one item per slot
|
||||
|
||||
## Fixed
|
||||
* Pipe and power networks now force the chunk to be saved on transfer, ensuring that rapid changes in the fluid/energy level aren't lost when the tile entity is unloaded
|
||||
* Fixed Fwatz access hatch not visually connecting to cables
|
||||
* Fixed most projectiles creating explosions with the projectile itself as the attacker instead of the player that fired that projectile
|
||||
* Fixed wood-burning generator being 100x more efficient than it's supposed to be
|
||||
* Fixed arc welders eating infinite energy
|
||||
@ -28,15 +28,17 @@ public interface IEnergyUser extends IEnergyConnector {
|
||||
@Override
|
||||
public default long transferPower(long power) {
|
||||
|
||||
this.setPower(this.getPower() + power);
|
||||
|
||||
if(this.getPower() > this.getMaxPower()) {
|
||||
if(this.getPower() + power > this.getMaxPower()) {
|
||||
|
||||
long overshoot = this.getPower() - this.getMaxPower();
|
||||
long overshoot = this.getPower() + power - this.getMaxPower();
|
||||
this.setPower(this.getMaxPower());
|
||||
return overshoot;
|
||||
}
|
||||
|
||||
if(this.getPower() + power < 0) return 0; //safeguard for negative energy or overflows
|
||||
|
||||
this.setPower(this.getPower() + power);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -40,8 +40,10 @@ public class GUIHadron extends GuiInfoContainer {
|
||||
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 108, 70, 16, hadron.power, hadron.maxPower);
|
||||
|
||||
if(hadron.hopperMode)
|
||||
if(hadron.ioMode == 1)
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper1"));
|
||||
else if(hadron.ioMode == 2)
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper2"));
|
||||
else
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper0"));
|
||||
|
||||
@ -105,9 +107,9 @@ public class GUIHadron extends GuiInfoContainer {
|
||||
|
||||
if(hadron.analysisOnly)
|
||||
drawTexturedModalRect(guiLeft + 142, guiTop + 107, 206, 18, 18, 18);
|
||||
|
||||
if(hadron.hopperMode)
|
||||
drawTexturedModalRect(guiLeft + 142, guiTop + 89, 206, 36, 18, 18);
|
||||
|
||||
if(hadron.ioMode == hadron.MODE_HOPPER) drawTexturedModalRect(guiLeft + 142, guiTop + 89, 206, 36, 18, 18);
|
||||
if(hadron.ioMode == hadron.MODE_SINGLE) drawTexturedModalRect(guiLeft + 142, guiTop + 89, 224, 36, 18, 18);
|
||||
|
||||
if(hadron.state == EnumHadronState.SUCCESS) {
|
||||
drawTexturedModalRect(guiLeft + 73, guiTop + 29, 176, 0, 30, 30);
|
||||
|
||||
@ -43,7 +43,10 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
|
||||
public boolean isOn = false;
|
||||
public boolean analysisOnly = false;
|
||||
public boolean hopperMode = false;
|
||||
public int ioMode = 0;
|
||||
public static final int MODE_DEFAULT = 0;
|
||||
public static final int MODE_HOPPER = 1;
|
||||
public static final int MODE_SINGLE = 2;
|
||||
|
||||
private int delay;
|
||||
public EnumHadronState state = EnumHadronState.IDLE;
|
||||
@ -71,8 +74,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int side) {
|
||||
return access;
|
||||
}
|
||||
return access;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
@ -83,6 +86,10 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
|
||||
if(i != 0 && i != 1) return false;
|
||||
|
||||
if(this.ioMode == MODE_SINGLE) {
|
||||
return slots[i] == null;
|
||||
}
|
||||
|
||||
//makes sure that equal items like the antimatter capsules are spread out evenly
|
||||
if(slots[0] != null && slots[1] != null && slots[0].getItem() == slots[1].getItem() && slots[0].getItemDamage() == slots[1].getItemDamage()) {
|
||||
if(i == 0) return slots[1].stackSize - slots[0].stackSize >= 0;
|
||||
@ -102,7 +109,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
|
||||
if(delay <= 0 && this.isOn && particles.size() < maxParticles && slots[0] != null && slots[1] != null && power >= maxPower * 0.75) {
|
||||
|
||||
if(!hopperMode || (slots[0].stackSize > 1 && slots[1].stackSize > 1)) {
|
||||
if(ioMode != MODE_HOPPER || (slots[0].stackSize > 1 && slots[1].stackSize > 1)) {
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
|
||||
particles.add(new Particle(slots[0], slots[1], dir, xCoord, yCoord, zCoord));
|
||||
this.decrStackSize(0, 1);
|
||||
@ -131,7 +138,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
data.setBoolean("isOn", isOn);
|
||||
data.setLong("power", power);
|
||||
data.setBoolean("analysis", analysisOnly);
|
||||
data.setBoolean("hopperMode", hopperMode);
|
||||
data.setInteger("ioMode", ioMode);
|
||||
data.setByte("state", (byte) state.ordinal());
|
||||
|
||||
data.setBoolean("stat_success", stat_success);
|
||||
@ -189,7 +196,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
this.isOn = data.getBoolean("isOn");
|
||||
this.power = data.getLong("power");
|
||||
this.analysisOnly = data.getBoolean("analysis");
|
||||
this.hopperMode = data.getBoolean("hopperMode");
|
||||
this.ioMode = data.getInteger("ioMode");
|
||||
this.state = EnumHadronState.values()[data.getByte("state")];
|
||||
|
||||
this.stat_success = data.getBoolean("stat_success");
|
||||
@ -207,8 +214,12 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
this.isOn = !this.isOn;
|
||||
if(meta == 1)
|
||||
this.analysisOnly = !this.analysisOnly;
|
||||
if(meta == 2)
|
||||
this.hopperMode = !this.hopperMode;
|
||||
if(meta == 2) {
|
||||
this.ioMode++;
|
||||
if(ioMode > 2) ioMode = 0;
|
||||
}
|
||||
|
||||
this.markChanged();
|
||||
}
|
||||
|
||||
private void drawPower() {
|
||||
@ -262,7 +273,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
this.power = nbt.getLong("power");
|
||||
this.analysisOnly = nbt.getBoolean("analysis");
|
||||
this.hopperMode = nbt.getBoolean("hopperMode");
|
||||
this.ioMode = nbt.getInteger("ioMode");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -272,7 +283,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs
|
||||
nbt.setBoolean("isOn", isOn);
|
||||
nbt.setLong("power", power);
|
||||
nbt.setBoolean("analysis", analysisOnly);
|
||||
nbt.setBoolean("hopperMode", hopperMode);
|
||||
nbt.setInteger("ioMode", ioMode);
|
||||
}
|
||||
|
||||
public int getPowerScaled(int i) {
|
||||
|
||||
@ -41,7 +41,6 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement
|
||||
public boolean isOn = false;
|
||||
|
||||
public FluidTank tank;
|
||||
public int millis = 0;
|
||||
|
||||
public static ModuleBurnTime burnModule = new ModuleBurnTime().setLogTimeMod(4).setWoodTimeMod(2);
|
||||
|
||||
@ -109,17 +108,12 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement
|
||||
|
||||
if(trait != null) {
|
||||
|
||||
if(millis <= 900) {
|
||||
this.tank.setFill(tank.getFill() - 1);
|
||||
this.millis += 100;
|
||||
}
|
||||
|
||||
int toBurn = Math.min(millis, 5);
|
||||
int toBurn = Math.min(tank.getFill(), 2);
|
||||
|
||||
if(toBurn > 0) {
|
||||
this.power += trait.getHeatEnergy() * toBurn / 4_000L;
|
||||
this.millis -= toBurn;
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND);
|
||||
this.power += trait.getHeatEnergy() * toBurn / 2_000L;
|
||||
this.tank.setFill(this.tank.getFill() - toBurn);
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * toBurn / 2F);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -173,7 +167,6 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
this.liquidBurn = nbt.getBoolean("liquidBurn");
|
||||
tank.readFromNBT(nbt, "t");
|
||||
this.millis = nbt.getInteger("millis");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -185,7 +178,6 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement
|
||||
nbt.setBoolean("isOn", isOn);
|
||||
nbt.setBoolean("liquidBurn", liquidBurn);
|
||||
tank.writeToNBT(nbt, "t");
|
||||
nbt.setInteger("millis", millis);
|
||||
}
|
||||
|
||||
protected boolean processAsh(int level, EnumAshType type, int threshold) {
|
||||
|
||||
@ -591,6 +591,7 @@ hadron.error_diode_collision=Fehler 0x08 [DC]
|
||||
hadron.error_branching_turn=Fehler 0x09 [BT]
|
||||
hadron.hopper0=§eNormalmodus:$Alle Items werden beschleunigt.
|
||||
hadron.hopper1=§eTrichtermodus:$Ein Item bleibt immer übrig.
|
||||
hadron.hopper1=§eEinzelmodus:$Erlaubt nur ein Item pro Slot.
|
||||
hadron.idle=Leerlauf
|
||||
hadron.modeCircular=§eRingbeschleuniger:$Magnete bilden eine Schleife.$Schaltet mehr Rezepte frei.
|
||||
hadron.modeLine=§eLinearbeschleuniger:$Beschleuniger ended mit Analysekammer.$Weniger Rezepte.
|
||||
@ -4169,7 +4170,7 @@ tile.machine_uf6_tank.name=Uranhexafluorid-Tank
|
||||
tile.machine_vacuum_distill.name=Vakuumraffinerie
|
||||
tile.machine_waste_drum.name=Abklingbecken-Trommel
|
||||
tile.machine_wood_burner.name=Brennholzgenerator
|
||||
tile.machine_wood_burner.desc=Erzeugt 100HE/t aus Items$Sammelt Asche$Kann 1mB/s Flüssigkeiten mit 25%% Effizienz verbrennen
|
||||
tile.machine_wood_burner.desc=Erzeugt 100HE/t aus Items$Sammelt Asche$Kann 40mB/s Flüssigkeiten mit 50%% Effizienz verbrennen
|
||||
tile.machine_well.name=Ölbohrturm
|
||||
tile.machine_zirnox.name=ZIRNOX Atomreaktor
|
||||
tile.marker_structure.name=Multiblock-Strukturvorlage
|
||||
|
||||
@ -1232,6 +1232,7 @@ hadron.error_diode_collision=Error 0x08 [DC]
|
||||
hadron.error_branching_turn=Error 0x09 [BT]
|
||||
hadron.hopper0=§eNormal Mode:$All items will be used.
|
||||
hadron.hopper1=§eHopper Mode:$One item will always remain.
|
||||
hadron.hopper2=§eSingle Mode:$Only allows one item per slot.
|
||||
hadron.idle=Idle
|
||||
hadron.modeCircular=§eCircular Accelerator Mode:$Magnets must loop back into core.$Unlocks more recipes.
|
||||
hadron.modeLine=§eLinear Accelerator Mode:$Accelerator ends with analysis chamber.$Fewer Recipes.
|
||||
@ -5148,7 +5149,7 @@ tile.machine_uf6_tank.name=Uranium Hexafluoride Tank
|
||||
tile.machine_vacuum_distill.name=Vacuum Refinery
|
||||
tile.machine_waste_drum.name=Spent Fuel Pool Drum
|
||||
tile.machine_wood_burner.name=Wood-Burning Generator
|
||||
tile.machine_wood_burner.desc=Generates 100HE/t when burning items$Collects ashes$Can burn fluids at 25%% efficiency at 1mB/s
|
||||
tile.machine_wood_burner.desc=Generates 100HE/t when burning items$Collects ashes$Can burn fluids at 50%% efficiency at 40mB/s
|
||||
tile.machine_well.name=Oil Derrick
|
||||
tile.machine_zirnox.name=ZIRNOX Nuclear Reactor
|
||||
tile.marker_structure.name=Multiblock Structure Marker
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 4.5 KiB |
Loading…
x
Reference in New Issue
Block a user