mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-21 13:32:28 +00:00
PWR RoR integration
This commit is contained in:
parent
21cd47d063
commit
c0b6089f70
51
changelog
51
changelog
@ -1,49 +1,4 @@
|
|||||||
## Changed
|
## Changed
|
||||||
* Updated russian localization
|
* The PWR can now be controlled via RoR
|
||||||
* Rad absorbers now use metadata, existing blocks will be converted automatically
|
* The RoR value reader can read core and hull heat as well as fuel depletion in percent
|
||||||
* Fissure bombs that go off in crater biomes now create fissures with metadata 1 which creates radioactive volcanic lava
|
* The RoR controller can set the control rod level in percent as well as jetison all loaded fuel
|
||||||
* If a crater biome is created on top of an existing fissure, it will keep producing normal volcanic lava
|
|
||||||
* Simplified the battery socket's client packets, reducing CPU load
|
|
||||||
* Muzzle flashes on guns now work in third person mode, including on other players and on NPCs, making it more apparent when you're being fired at
|
|
||||||
* This includes non-standard special effects like the .44 gap flash and the .35-800 ejector plume
|
|
||||||
* Removed the old unused satellite deco blocks, freeing up 6 block IDs
|
|
||||||
* Crucibles that smelt metal with no template set will no place the metal in the recipe stack instead of the waste stack, this should make it easier to get a recipe to work in the many, many cases where people add the template after smelting the material
|
|
||||||
* Battery sockets and the FENSU now support the copy tool
|
|
||||||
* Removed unused displaylist support from the model loader
|
|
||||||
* DLs have been long phased out in favor of VBOs anyway
|
|
||||||
* Rebranded canned horse slime
|
|
||||||
* Now with extra bone marrow
|
|
||||||
* Updated the deuterium tower's model
|
|
||||||
* Updated most blast door visuals
|
|
||||||
* RBMKs now have QMAW pages
|
|
||||||
* Updated the model on the heavy magnetic storage container
|
|
||||||
* Increased the power draw on the osmiridium welding recipe
|
|
||||||
* Bullet casings now make sounds when falling to the ground
|
|
||||||
* Most ammo types now have QMAW pages, including information on whether or not they are a war crime
|
|
||||||
* Both assembly and chemical factories now have four special ports that only allow items inserted to go into one recipe group
|
|
||||||
* All models using the HFR wavefront loader can now be hot-swapped via resource reload (F3 + T)
|
|
||||||
* Updated most door models
|
|
||||||
* Door skins are no longer a dedicated item, the skin can be changed using a screwdriver
|
|
||||||
* Available skins are cycled through in the item preview
|
|
||||||
* Fire doors and secure access doors no longer use clipping planes (i.e. making the doors not render outside of their frames)
|
|
||||||
* Vault doors have been ported to the current door system, the blocks should convert automatically
|
|
||||||
|
|
||||||
# Fixed
|
|
||||||
* Potentially fixed yet another issue regarding crates
|
|
||||||
* Fixed battery socket `fillpercent` RoR function always assuming a max power of 1
|
|
||||||
* Fixed issue where multiblock ports would generate many OpenComputers component entries
|
|
||||||
* Fixed RBMK automatic control rods having incorrect settings when using the copy tool
|
|
||||||
* Fixed battery sockets producing junk debug data in the logs
|
|
||||||
* Fixed an issue where the charging station would crash when trying to charge certain items
|
|
||||||
* Fixed the DFC's core component not dropping its contents when mined
|
|
||||||
* Fixed audio problems with guns
|
|
||||||
* Fixed third person muzzleflash on the miniguns clipping the barrel
|
|
||||||
* Fixed arc furnace IO slots stacking items with incompatible NBT
|
|
||||||
* Fixed a bounding box issue with casing particles, causing them to slide sideways on the first tick, making trajectories weird
|
|
||||||
* Fixed some turrets not using the more modern casing spawner system which allows casings to have a smoke trail
|
|
||||||
* Fixed incorrect tooltip on the upgrade stat screen for assembly factories
|
|
||||||
* Fixed crash caused by RBMK overpressure meltdown mechanic
|
|
||||||
* Fixed a crash causing by the charging station in combination with the new battery packs
|
|
||||||
* Fixed a broken and originally unintended feature where the flamethrower turret would be loadable using regular item tanks
|
|
||||||
* Most ammo slots now work for loading, the empty canisters are returned via the fluid ID slot
|
|
||||||
* Fixed a dupe regarding conveyors
|
|
||||||
@ -26,7 +26,7 @@ import com.hbm.tileentity.TileEntityMachineBase;
|
|||||||
import com.hbm.util.EnumUtil;
|
import com.hbm.util.EnumUtil;
|
||||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||||
|
|
||||||
import api.hbm.fluid.IFluidStandardTransceiver;
|
import api.hbm.fluidmk2.IFluidStandardTransceiverMK2;
|
||||||
import api.hbm.redstoneoverradio.IRORInteractive;
|
import api.hbm.redstoneoverradio.IRORInteractive;
|
||||||
import api.hbm.redstoneoverradio.IRORValueProvider;
|
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
@ -47,7 +47,7 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
||||||
public class TileEntityPWRController extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, SimpleComponent, IFluidStandardTransceiver, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive {
|
public class TileEntityPWRController extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, SimpleComponent, IFluidStandardTransceiverMK2, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive {
|
||||||
|
|
||||||
public FluidTank[] tanks;
|
public FluidTank[] tanks;
|
||||||
public long coreHeat;
|
public long coreHeat;
|
||||||
@ -190,7 +190,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
|||||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||||
BlockPos portPos = pos.offset(dir);
|
BlockPos portPos = pos.offset(dir);
|
||||||
|
|
||||||
if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir);
|
if(tanks[1].getFill() > 0) this.tryProvide(tanks[1], worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir);
|
||||||
if(worldObj.getTotalWorldTime() % 20 == 0) this.trySubscribe(tanks[0].getTankType(), worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir);
|
if(worldObj.getTotalWorldTime() % 20 == 0) this.trySubscribe(tanks[0].getTankType(), worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -634,33 +634,49 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
|||||||
return new GUIPWR(player.inventory, this);
|
return new GUIPWR(player.inventory, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public FluidTank[] getAllTanks() { return tanks; }
|
||||||
public FluidTank[] getAllTanks() {
|
@Override public FluidTank[] getSendingTanks() { return new FluidTank[] { tanks[1] }; }
|
||||||
return tanks;
|
@Override public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0] }; }
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FluidTank[] getSendingTanks() {
|
|
||||||
return new FluidTank[] { tanks[1] };
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FluidTank[] getReceivingTanks() {
|
|
||||||
return new FluidTank[] { tanks[0] };
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getFunctionInfo() {
|
public String[] getFunctionInfo() {
|
||||||
return new String[0]; //TODO
|
return new String[] {
|
||||||
}
|
PREFIX_VALUE + "coreheat",
|
||||||
|
PREFIX_VALUE + "hullheat",
|
||||||
@Override
|
PREFIX_VALUE + "flux",
|
||||||
public String runRORFunction(String name, String[] params) {
|
PREFIX_VALUE + "depletion",
|
||||||
return "";
|
PREFIX_FUNCTION + "setrods" + NAME_SEPARATOR + "percent",
|
||||||
|
PREFIX_FUNCTION + "jettison",
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String provideRORValue(String name) {
|
public String provideRORValue(String name) {
|
||||||
return "";
|
if((PREFIX_VALUE + "coreheat").equals(name)) return "" + this.coreHeat;
|
||||||
|
if((PREFIX_VALUE + "hullheat").equals(name)) return "" + this.hullHeat;
|
||||||
|
if((PREFIX_VALUE + "flux").equals(name)) return "" + (int) this.flux;
|
||||||
|
if((PREFIX_VALUE + "depletion").equals(name)) return "" + (int) (this.progress * 100 / this.processTime);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String runRORFunction(String name, String[] params) {
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "setrods").equals(name) && params.length > 0) {
|
||||||
|
int percent = IRORInteractive.parseInt(params[0], 0, 100);
|
||||||
|
this.rodTarget = percent;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "jettison").equals(name)) {
|
||||||
|
this.typeLoaded = -1;
|
||||||
|
this.amountLoaded = 0;
|
||||||
|
this.progress = 0;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user