polluting fluid trait, more oil work
@ -29,6 +29,10 @@
|
||||
* Covneyor ejectors can now eject sulfur out of the side ports of refineries
|
||||
* Refineries and vacuum refineries now have fluid ID slots for changing the recipe
|
||||
* Removed the remaining old oil separation recipes from the chemical plant
|
||||
* More large models have been converted into display lists which should improve performance somewhat
|
||||
* Corroded barrels now crumble after a while
|
||||
* PWRs on the edge of unloaded chunks now additionally reset their internal heat value to further reduce the time until they can potentially melt down
|
||||
* Removed the assembly recipe for the radial engine since it will be retired soon
|
||||
|
||||
## Fixed
|
||||
* Fixed dupe caused by shift-clicking ashes out of the bricked furnace
|
||||
@ -40,4 +44,5 @@
|
||||
* Fixed molds not saving when cooling off, allowing to dupe metal when leaving and rejoining
|
||||
* Fixed normal drones loading chunks
|
||||
* Fixed chunk-loading drones not loading chunks
|
||||
* Fixed several chemistry templates missing names
|
||||
* Fixed several chemistry templates missing names
|
||||
* Fixed rampant mode random scout spawns being able to appear inside blocks
|
||||
@ -5,7 +5,6 @@ import java.util.function.Function;
|
||||
|
||||
import com.hbm.blocks.IBlockMulti;
|
||||
import com.hbm.config.MobConfig;
|
||||
import com.hbm.entity.mob.*;
|
||||
import com.hbm.entity.mob.glyphid.EntityGlyphid;
|
||||
import com.hbm.entity.mob.glyphid.EntityGlyphidBehemoth;
|
||||
import com.hbm.entity.mob.glyphid.EntityGlyphidBlaster;
|
||||
|
||||
@ -342,7 +342,7 @@ public class PollutionHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
///RAMPANT MODE STUFFS///
|
||||
///RAMPANT MODE STUFFS///
|
||||
|
||||
@SubscribeEvent
|
||||
public void rampantTargetSetter(PlayerSleepInBedEvent event){
|
||||
@ -351,13 +351,9 @@ public class PollutionHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
public void rampantScoutPopulator(WorldEvent.PotentialSpawns event){
|
||||
//yell at me if this vertical formatting hurts your brain
|
||||
if(MobConfig.rampantNaturalScoutSpawn
|
||||
&& !event.world.isRemote
|
||||
&& event.world.provider.dimensionId == 0
|
||||
&& event.type == EnumCreatureType.monster
|
||||
&& event.world.canBlockSeeTheSky(event.x, event.y, event.z)
|
||||
&& !event.isCanceled()) {
|
||||
|
||||
if(MobConfig.rampantNaturalScoutSpawn && !event.world.isRemote && event.world.provider.dimensionId == 0 && event.type == EnumCreatureType.monster
|
||||
&& event.world.canBlockSeeTheSky(event.x, event.y, event.z) && !event.isCanceled()) {
|
||||
|
||||
if (event.world.rand.nextInt(MobConfig.rampantScoutSpawnChance) == 0) {
|
||||
|
||||
@ -370,8 +366,8 @@ public class PollutionHandler {
|
||||
EntityGlyphidDigger digger = new EntityGlyphidDigger(event.world);
|
||||
scout.setLocationAndAngles(event.x, event.y, event.z, event.world.rand.nextFloat() * 360.0F, 0.0F);
|
||||
digger.setLocationAndAngles(event.x, event.y, event.z, event.world.rand.nextFloat() * 360.0F, 0.0F);
|
||||
event.world.spawnEntityInWorld(scout);
|
||||
event.world.spawnEntityInWorld(digger);
|
||||
if(scout.getCanSpawnHere()) event.world.spawnEntityInWorld(scout);
|
||||
if(digger.getCanSpawnHere()) event.world.spawnEntityInWorld(digger);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ public class Fluids {
|
||||
DEUTERIUM = new FluidType("DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS);
|
||||
TRITIUM = new FluidType("TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS, new FT_VentRadiation(0.001F));
|
||||
OIL = new FluidType("OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS);
|
||||
HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS);
|
||||
HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
HEAVYOIL = new FluidType("HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x513F39)).addTraits(new FT_Flammable(50_000), new FT_Combustible(FuelGrade.LOW, 25_000), LIQUID, VISCOUS);
|
||||
BITUMEN = new FluidType("BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5A5877)).addTraits(LIQUID, VISCOUS);
|
||||
SMEAR = new FluidType("SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x624F3B)).addTraits(new FT_Flammable(50_000), LIQUID, VISCOUS);
|
||||
@ -270,7 +270,7 @@ public class Fluids {
|
||||
HEAVYWATER = new FluidType("HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID);
|
||||
CRACKOIL = new FluidType("CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS);
|
||||
COALOIL = new FluidType("COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS);
|
||||
HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS);
|
||||
HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
NAPHTHA_CRACK = new FluidType("NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS);
|
||||
LIGHTOIL_CRACK = new FluidType("LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID);
|
||||
DIESEL_CRACK = new FluidType("DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 450_000), LIQUID);
|
||||
@ -339,13 +339,13 @@ public class Fluids {
|
||||
THORIUM_SALT_DEPLETED = new FluidType("THORIUM_SALT_DEPLETED", 0x302D1C, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65));
|
||||
FULLERENE = new FluidType("FULLERENE", 0xFF7FED, 3, 3, 3, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(65));
|
||||
PHEROMONE = new FluidType("PHEROMONE", 0x5FA6E8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(1));
|
||||
PHEROMONE_M = new FluidType(132, "PHEROMONE_M", 0x48C9B0 , 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(2));
|
||||
OIL_DS = new FluidType("OIL_DS", 0x020202, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS);
|
||||
HOTOIL_DS = new FluidType("HOTOIL_DS", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
CRACKOIL_DS = new FluidType("CRACKOIL_DS", 0x020202, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS);
|
||||
HOTCRACKOIL_DS = new FluidType("HOTCRACKOIL_DS", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
NAPHTHA_DS = new FluidType("NAPHTHA_DS", 0x595744, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS);
|
||||
LIGHTOIL_DS = new FluidType("LIGHTOIL_DS", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
|
||||
PHEROMONE_M = new FluidType("PHEROMONE_M", 0x48C9B0 , 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(2));
|
||||
OIL_DS = new FluidType("OIL_DS", 0x121212, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(LIQUID, VISCOUS);
|
||||
HOTOIL_DS = new FluidType("HOTOIL_DS", 0x3F180F, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
CRACKOIL_DS = new FluidType("CRACKOIL_DS", 0x2A1C11, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(LIQUID, VISCOUS);
|
||||
HOTCRACKOIL_DS = new FluidType("HOTCRACKOIL_DS", 0x3A1A28, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS);
|
||||
NAPHTHA_DS = new FluidType("NAPHTHA_DS", 0x63614E, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(LIQUID, VISCOUS);
|
||||
LIGHTOIL_DS = new FluidType(138, "LIGHTOIL_DS", 0x63543E, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(LIQUID);
|
||||
|
||||
// ^ ^ ^ ^ ^ ^ ^ ^
|
||||
//ADD NEW FLUIDS HERE
|
||||
@ -509,10 +509,10 @@ public class Fluids {
|
||||
metaOrder.add(SMOKE);
|
||||
metaOrder.add(SMOKE_LEADED);
|
||||
metaOrder.add(SMOKE_POISON);
|
||||
|
||||
//bug meth
|
||||
metaOrder.add(PHEROMONE);
|
||||
metaOrder.add(PHEROMONE_M);
|
||||
|
||||
for(FluidType custom : customFluids) metaOrder.add(custom);
|
||||
|
||||
CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false)));
|
||||
@ -541,12 +541,16 @@ public class Fluids {
|
||||
HOTSTEAM.addTraits(new FT_Coolable(STEAM, 1, 10, 2).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool));
|
||||
SUPERHOTSTEAM.addTraits(new FT_Coolable(HOTSTEAM, 1, 10, 18).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool));
|
||||
ULTRAHOTSTEAM.addTraits(new FT_Coolable(SUPERHOTSTEAM, 1, 10, 120).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool));
|
||||
|
||||
|
||||
OIL.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTOIL, 1));
|
||||
OIL_DS.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTOIL_DS, 1));
|
||||
CRACKOIL.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTCRACKOIL, 1));
|
||||
CRACKOIL_DS.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTCRACKOIL_DS, 1));
|
||||
|
||||
HOTOIL.addTraits(new FT_Coolable(OIL, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
HOTOIL_DS.addTraits(new FT_Coolable(OIL_DS, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
HOTCRACKOIL.addTraits(new FT_Coolable(CRACKOIL, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
HOTCRACKOIL_DS.addTraits(new FT_Coolable(CRACKOIL_DS, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
|
||||
COOLANT.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).addStep(300, 1, COOLANT_HOT, 1));
|
||||
COOLANT_HOT.addTraits(new FT_Coolable(COOLANT, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D));
|
||||
@ -571,13 +575,13 @@ public class Fluids {
|
||||
}
|
||||
|
||||
|
||||
/// EXPERIMENTAL ///
|
||||
/// FINAL ///
|
||||
|
||||
long baseline = 100_000L; //we do not know
|
||||
double demandVeryLow = 0.5D;
|
||||
double demandLow = 1.0D;
|
||||
double demandMedium = 1.5D;
|
||||
double demandHigh = 2.0D;
|
||||
double demandVeryLow = 0.5D; //for waste gasses
|
||||
double demandLow = 1.0D; //for fuel oils
|
||||
double demandMedium = 1.5D; //for processing oils like petroleum and BTX
|
||||
double demandHigh = 2.0D; //kerosene and jet fuels
|
||||
double complexityRefinery = 1.1D;
|
||||
double complexityFraction = 1.05D;
|
||||
double complexityCracking = 1.25D;
|
||||
@ -587,13 +591,16 @@ public class Fluids {
|
||||
double complexityLeaded = 1.5D;
|
||||
double complexityVacuum = 3.0D;
|
||||
double complexityReform = 2.5D;
|
||||
double flammabilityLow = 0.25D;
|
||||
double flammabilityNormal = 1.0D;
|
||||
double flammabilityHigh = 2.0D;
|
||||
double complexityHydro = 2.0D;
|
||||
double flammabilityLow = 0.25D; //unrefined or low refined oils
|
||||
double flammabilityNormal = 1.0D; //refined oils
|
||||
double flammabilityHigh = 2.0D; //satan's asshole
|
||||
|
||||
/// the allmighty excel spreadsheet has spoken! ///
|
||||
/// the almighty excel spreadsheet has spoken! ///
|
||||
registerCalculatedFuel(OIL, (baseline / 1D * flammabilityLow * demandLow), 0, null);
|
||||
registerCalculatedFuel(OIL_DS, (baseline / 1D * flammabilityLow * demandLow * complexityHydro), 0, null);
|
||||
registerCalculatedFuel(CRACKOIL, (baseline / 1D * flammabilityLow * demandLow * complexityCracking), 0, null);
|
||||
registerCalculatedFuel(CRACKOIL_DS, (baseline / 1D * flammabilityLow * demandLow * complexityCracking * complexityHydro), 0, null);
|
||||
registerCalculatedFuel(OIL_COKER, (baseline / 1D * flammabilityLow * demandLow * complexityCoker), 0, null);
|
||||
registerCalculatedFuel(GAS, (baseline / 1D * flammabilityNormal * demandVeryLow), 1.25, FuelGrade.GAS);
|
||||
registerCalculatedFuel(GAS_COKER, (baseline / 1D * flammabilityNormal * demandVeryLow * complexityCoker), 1.25, FuelGrade.GAS);
|
||||
@ -604,6 +611,7 @@ public class Fluids {
|
||||
registerCalculatedFuel(PETROIL_LEADED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed * complexityLeaded), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.25D, FuelGrade.LOW);
|
||||
registerCalculatedFuel(NAPHTHA, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(NAPHTHA_DS, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery * complexityHydro), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(NAPHTHA_CRACK, (baseline / 0.40 * flammabilityLow * demandLow * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(NAPHTHA_COKER, (baseline / 0.25 * flammabilityLow * demandLow * complexityCoker), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(GASOLINE, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant), 2.5D, FuelGrade.HIGH);
|
||||
@ -611,6 +619,7 @@ public class Fluids {
|
||||
registerCalculatedFuel(DIESEL, (baseline / 0.21 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction), 2.5D, FuelGrade.HIGH);
|
||||
registerCalculatedFuel(DIESEL_CRACK, (baseline / 0.28 * flammabilityNormal * demandLow * complexityRefinery * complexityCracking * complexityFraction), 2.5D, FuelGrade.HIGH);
|
||||
registerCalculatedFuel(LIGHTOIL, (baseline / 0.15 * flammabilityNormal * demandHigh * complexityRefinery), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(LIGHTOIL_DS, (baseline / 0.15 * flammabilityNormal * demandHigh * complexityRefinery * complexityHydro), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(LIGHTOIL_CRACK, (baseline / 0.30 * flammabilityNormal * demandHigh * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM);
|
||||
registerCalculatedFuel(KEROSENE, (baseline / 0.09 * flammabilityNormal * demandHigh * complexityRefinery * complexityFraction), 1.5D, FuelGrade.AERO);
|
||||
registerCalculatedFuel(PETROLEUM, (baseline / 0.10 * flammabilityNormal * demandMedium * complexityRefinery), 1.25, FuelGrade.GAS);
|
||||
|
||||
@ -0,0 +1,91 @@
|
||||
package com.hbm.inventory.fluid.trait;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.handler.pollution.PollutionHandler;
|
||||
import com.hbm.handler.pollution.PollutionHandler.PollutionType;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class FT_Polluting extends FluidTrait {
|
||||
|
||||
//original draft had both of them inside a hashmap for the release type but honestly handling hash maps in hash maps adds more complexity than it removes
|
||||
public HashMap<PollutionType, Float> releaseMap = new HashMap();
|
||||
public HashMap<PollutionType, Float> burnMap = new HashMap();
|
||||
|
||||
public FT_Polluting release(PollutionType type, float amount) {
|
||||
releaseMap.put(type, amount);
|
||||
return this;
|
||||
}
|
||||
|
||||
public FT_Polluting burn(PollutionType type, float amount) {
|
||||
burnMap.put(type, amount);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInfo(List<String> info) {
|
||||
info.add(EnumChatFormatting.GOLD + "[Polluting]");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInfoHidden(List<String> info) {
|
||||
|
||||
if(!this.releaseMap.isEmpty()) {
|
||||
info.add(EnumChatFormatting.GREEN + "When spilled:");
|
||||
for(Entry<PollutionType, Float> entry : releaseMap.entrySet()) info.add(EnumChatFormatting.GREEN + " - " + entry.getValue() + " " + entry.getKey() + " per mB");
|
||||
}
|
||||
|
||||
if(!this.burnMap.isEmpty()) {
|
||||
info.add(EnumChatFormatting.RED + "When burned:");
|
||||
for(Entry<PollutionType, Float> entry : burnMap.entrySet()) info.add(EnumChatFormatting.RED + " - " + entry.getValue() + " " + entry.getKey() + " per mB");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) {
|
||||
if(type == FluidReleaseType.SPILL) for(Entry<PollutionType, Float> entry : releaseMap.entrySet()) PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue());
|
||||
if(type == FluidReleaseType.BURN) for(Entry<PollutionType, Float> entry : burnMap.entrySet()) PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serializeJSON(JsonWriter writer) throws IOException {
|
||||
writer.name("release").beginObject();
|
||||
for(Entry<PollutionType, Float> entry : releaseMap.entrySet()) {
|
||||
writer.name(entry.toString()).value(entry.getValue());
|
||||
}
|
||||
writer.endObject();
|
||||
writer.name("burn").beginObject();
|
||||
for(Entry<PollutionType, Float> entry : burnMap.entrySet()) {
|
||||
writer.name(entry.toString()).value(entry.getValue());
|
||||
}
|
||||
writer.endObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserializeJSON(JsonObject obj) {
|
||||
if(obj.has("release")) {
|
||||
JsonObject release = obj.get("release").getAsJsonObject();
|
||||
for(PollutionType type : PollutionType.values()) {
|
||||
if(release.has(type.name())) {
|
||||
releaseMap.put(type, release.get(type.name()).getAsFloat());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(obj.has("burn")) {
|
||||
JsonObject release = obj.get("burn").getAsJsonObject();
|
||||
for(PollutionType type : PollutionType.values()) {
|
||||
if(release.has(type.name())) {
|
||||
burnMap.put(type, release.get(type.name()).getAsFloat());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -26,7 +26,7 @@ public class FT_VentRadiation extends FluidTrait {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount) {
|
||||
public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) {
|
||||
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, overflowAmount * radPerMB);
|
||||
}
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ public abstract class FluidTrait {
|
||||
traitNameMap.put("toxin", FT_Toxin.class); // x
|
||||
traitNameMap.put("ventradiation", FT_VentRadiation.class); // x
|
||||
traitNameMap.put("pwrmoderator", FT_PWRModerator.class); // x
|
||||
traitNameMap.put("polluting", FT_Polluting.class); // x
|
||||
|
||||
traitNameMap.put("gaseous", FT_Gaseous.class);
|
||||
traitNameMap.put("gaseous_art", FT_Gaseous_ART.class);
|
||||
@ -46,8 +47,14 @@ public abstract class FluidTrait {
|
||||
/* General names of simple traits which are displayed when holding shift */
|
||||
public void addInfoHidden(List<String> info) { }
|
||||
|
||||
public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount) { }
|
||||
public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) { }
|
||||
|
||||
public void serializeJSON(JsonWriter writer) throws IOException { }
|
||||
public void deserializeJSON(JsonObject obj) { }
|
||||
|
||||
public static enum FluidReleaseType {
|
||||
VOID, //if fluid is deleted entirely, shouldn't be used
|
||||
BURN, //if fluid is burned or combusted
|
||||
SPILL //if fluid is spilled via leakage or the container breaking
|
||||
}
|
||||
}
|
||||
|
||||
@ -270,7 +270,6 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.coil_tungsten, 4), new ComparableStack(ModItems.circuit_red_copper, 1) }, 300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(PB.plate528(), 6), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(CU.plate(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.piston_selenium, 1), new OreDictStack(STEEL.plateCast(), 1), new ComparableStack(ModItems.coil_copper, 4), }, 60);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 6), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(STEEL.plate528(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 3), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 1), new OreDictStack(S.dust(), 12), new OreDictStack(PB.dust(), 12), new OreDictStack(MINGRADE.ingot(), 2), new ComparableStack(ModItems.wire_red_copper, 4), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(CO.dust(), 12), new OreDictStack(LI.dust(), 12), new OreDictStack(ALLOY.ingot(), 2), new ComparableStack(ModItems.wire_red_copper, 4), },400);
|
||||
|
||||
@ -62,6 +62,7 @@ public class CokerRecipes extends SerializableRecipe {
|
||||
registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600));
|
||||
registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200));
|
||||
registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100));
|
||||
//only cokable gas to extract sulfur content
|
||||
registerRecipe(SOURGAS, 250, new ItemStack(ModItems.sulfur), new FluidStack(GAS_COKER, 150));
|
||||
}
|
||||
|
||||
|
||||
@ -1338,7 +1338,9 @@ public class ModEventHandlerClient {
|
||||
case 12: main.splashText = "Imagine being scared by splash texts!"; break;
|
||||
}
|
||||
|
||||
if(Math.random() < 0.1) main.splashText = "Redditors aren't people!";
|
||||
double d = Math.random();
|
||||
if(d < 0.1) main.splashText = "Redditors aren't people!";
|
||||
else if(d < 0.2) main.splashText = "Can someone tell me what corrosive fumes the people on Reddit are huffing so I can avoid those more effectively?";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,35 +25,35 @@ public class ResourceManager {
|
||||
////Obj TEs
|
||||
|
||||
//Turrets
|
||||
public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj"));
|
||||
public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj"));
|
||||
public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj"));
|
||||
public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj"));
|
||||
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj"));
|
||||
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj"));
|
||||
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj"));
|
||||
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj"));
|
||||
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asDisplayList(); // test!
|
||||
public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asDisplayList();
|
||||
public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj"));
|
||||
public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asDisplayList();
|
||||
|
||||
public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj"));
|
||||
public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")).asDisplayList();
|
||||
|
||||
//Heaters
|
||||
public static final IModelCustom heater_firebox = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"));
|
||||
public static final IModelCustom heater_oven = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"));
|
||||
public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj"));
|
||||
public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false);
|
||||
public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj"));
|
||||
public static final IModelCustom heater_firebox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"), false).asDisplayList();
|
||||
public static final IModelCustom heater_oven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"), false).asDisplayList();
|
||||
public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")).asDisplayList();
|
||||
public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false).asDisplayList();
|
||||
public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")).asDisplayList();
|
||||
|
||||
//Heat Engines
|
||||
public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj"));
|
||||
public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj"));
|
||||
public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj"));
|
||||
public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj"));
|
||||
public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj"));
|
||||
public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj"));
|
||||
public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj"));
|
||||
public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")).asDisplayList();
|
||||
public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")).asDisplayList();
|
||||
public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")).asDisplayList();
|
||||
public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")).asDisplayList();
|
||||
|
||||
//Caster o' Strands
|
||||
public static final IModelCustom strand_caster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/strand_caster.obj"));
|
||||
@ -70,40 +70,40 @@ public class ResourceManager {
|
||||
public static final IModelCustom mine_fat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_fat.obj"));
|
||||
|
||||
//Oil Pumps
|
||||
public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj"));
|
||||
public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj"));
|
||||
public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj"));
|
||||
public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")).asDisplayList();
|
||||
public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")).asDisplayList();
|
||||
public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")).asDisplayList();
|
||||
|
||||
//Refinery
|
||||
public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj"));
|
||||
public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj"));
|
||||
public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj"));
|
||||
public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")).asDisplayList();
|
||||
public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")).asDisplayList();
|
||||
public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")).asDisplayList();
|
||||
public static final IModelCustom fraction_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_tower.obj"));
|
||||
public static final IModelCustom fraction_spacer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_spacer.obj"));
|
||||
public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")).asDisplayList();
|
||||
public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")).asDisplayList();
|
||||
public static final IModelCustom hydrotreater = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hydrotreater.obj")).asDisplayList();
|
||||
public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj"));
|
||||
public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj"));
|
||||
public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj"));
|
||||
public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")).asDisplayList();
|
||||
public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")).asDisplayList();
|
||||
public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")).asDisplayList();
|
||||
public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")).asDisplayList();
|
||||
|
||||
//Flare Stack
|
||||
public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj"));
|
||||
public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj"));
|
||||
public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj"));
|
||||
public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")).asDisplayList();
|
||||
public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")).asDisplayList();
|
||||
public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj")).asDisplayList();
|
||||
|
||||
//Tank
|
||||
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj"));
|
||||
public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj"));
|
||||
public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj"));
|
||||
public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj"));
|
||||
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")).asDisplayList();
|
||||
public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")).asDisplayList();
|
||||
public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")).asDisplayList();
|
||||
public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")).asDisplayList();
|
||||
|
||||
//Turbofan
|
||||
public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj"));
|
||||
public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")).asDisplayList();
|
||||
|
||||
//Gas Turbine
|
||||
public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj"));
|
||||
public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")).asDisplayList();
|
||||
|
||||
//Pumps
|
||||
public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asDisplayList();
|
||||
@ -114,9 +114,9 @@ public class ResourceManager {
|
||||
public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asDisplayList();
|
||||
|
||||
//Cooling Tower
|
||||
public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj"));
|
||||
public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj"));
|
||||
public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj"));
|
||||
public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")).asDisplayList();
|
||||
public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")).asDisplayList();
|
||||
public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")).asDisplayList();
|
||||
|
||||
//Wood burner
|
||||
public static final IModelCustom wood_burner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/wood_burner.obj"));
|
||||
@ -273,11 +273,6 @@ public class ResourceManager {
|
||||
public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj"));
|
||||
public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj"));
|
||||
public static final IModelCustom bomb_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj"));
|
||||
public static final IModelCustom n45_globe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_globe.obj"));
|
||||
public static final IModelCustom n45_knob = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_knob.obj"));
|
||||
public static final IModelCustom n45_rod = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_rod.obj"));
|
||||
public static final IModelCustom n45_stand = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_stand.obj"));
|
||||
public static final IModelCustom n45_chain = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_chain.obj"));
|
||||
public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj"));
|
||||
public static final IModelCustom dud = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/BalefireCrashed.obj"));
|
||||
|
||||
|
||||
@ -144,14 +144,6 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
||||
|
||||
connections = connectionsDouble / 2;
|
||||
connectionsControlled = connectionsControlledDouble / 2;
|
||||
|
||||
/*System.out.println("Finalized nuclear reactor!");
|
||||
System.out.println("Rods: " + rodCount);
|
||||
System.out.println("Connections: " + connections);
|
||||
System.out.println("Controlled connections: " + connectionsControlled);
|
||||
System.out.println("Heatex: " + heatexCount);
|
||||
System.out.println("Channels: " + channelCount);
|
||||
System.out.println("Sources: " + sourceCount);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -172,13 +164,13 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
||||
int chunkX = xCoord >> 4;
|
||||
int chunkZ = zCoord >> 4;
|
||||
|
||||
//since fluid sources are often not within 1 chunk, we just do 2 chunks distance and call it a day
|
||||
//since fluid sources are often not within 1 chunk, we just do 3 chunks distance and call it a day
|
||||
if(!worldObj.getChunkProvider().chunkExists(chunkX, chunkZ) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX + 2, chunkZ + 2) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX + 2, chunkZ - 2) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX - 2, chunkZ + 2) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX - 2, chunkZ - 2)) {
|
||||
this.unloadDelay = 40;
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX + 3, chunkZ + 3) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX + 3, chunkZ - 3) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX - 3, chunkZ + 3) ||
|
||||
!worldObj.getChunkProvider().chunkExists(chunkX - 3, chunkZ - 3)) {
|
||||
this.unloadDelay = 60;
|
||||
}
|
||||
|
||||
if(this.assembled) {
|
||||
@ -265,6 +257,9 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
||||
if(this.coreHeat > this.coreHeatCapacity) {
|
||||
meltDown();
|
||||
}
|
||||
} else {
|
||||
this.hullHeat = 0;
|
||||
this.coreHeat = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -90,7 +90,7 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements
|
||||
|
||||
//unused
|
||||
public int trackingRange() {
|
||||
return 25;
|
||||
return 15;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -135,14 +135,14 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements
|
||||
this.heat -= processedWater * heatConsumption;
|
||||
}
|
||||
|
||||
public static final ForgeDirection[] heatDirs = new ForgeDirection[] {
|
||||
public static final ForgeDirection[] neighborDirs = new ForgeDirection[] {
|
||||
ForgeDirection.NORTH,
|
||||
ForgeDirection.EAST,
|
||||
ForgeDirection.SOUTH,
|
||||
ForgeDirection.WEST
|
||||
};
|
||||
|
||||
protected TileEntityRBMKBase[] heatCache = new TileEntityRBMKBase[4];
|
||||
protected TileEntityRBMKBase[] neighborCache = new TileEntityRBMKBase[4];
|
||||
|
||||
/**
|
||||
* Moves heat to neighboring parts, if possible, in a relatively fair manner
|
||||
@ -156,24 +156,24 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements
|
||||
int steamTot = this.steam;
|
||||
|
||||
int index = 0;
|
||||
for(ForgeDirection dir : heatDirs) {
|
||||
for(ForgeDirection dir : neighborDirs) {
|
||||
|
||||
if(heatCache[index] != null && heatCache[index].isInvalid())
|
||||
heatCache[index] = null;
|
||||
if(neighborCache[index] != null && neighborCache[index].isInvalid())
|
||||
neighborCache[index] = null;
|
||||
|
||||
if(heatCache[index] == null) {
|
||||
if(neighborCache[index] == null) {
|
||||
TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ);
|
||||
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
TileEntityRBMKBase base = (TileEntityRBMKBase) te;
|
||||
heatCache[index] = base;
|
||||
neighborCache[index] = base;
|
||||
}
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
for(TileEntityRBMKBase base : heatCache) {
|
||||
for(TileEntityRBMKBase base : neighborCache) {
|
||||
|
||||
if(base != null) {
|
||||
rec.add(base);
|
||||
|
||||
@ -68,7 +68,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im
|
||||
|
||||
@Override
|
||||
public int trackingRange() {
|
||||
return 150;
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -51,6 +51,11 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
|
||||
public boolean isModerated() {
|
||||
return ((RBMKRod)this.getBlockType()).moderated;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int trackingRange() {
|
||||
return 25;
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") //shut the fuck up
|
||||
@Override
|
||||
|
||||
@ -246,8 +246,9 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
|
||||
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(b == ModBlocks.barrel_corroded && worldObj.rand.nextInt(3) == 0) {
|
||||
tank.setFill(tank.getFill() - 1);
|
||||
if(b == ModBlocks.barrel_corroded ) {
|
||||
if(worldObj.rand.nextInt(3) == 0) tank.setFill(tank.getFill() - 1);
|
||||
if(worldObj.rand.nextInt(3 * 60 * 20) == 0) worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
|
||||
}
|
||||
|
||||
//For when Tom's firestorm hits a barrel full of water
|
||||
|
||||
@ -671,6 +671,7 @@ hbmfluid.coaloil=Kohleöl
|
||||
hbmfluid.coolant=Kühlflüssigkeit
|
||||
hbmfluid.coolant_hot=Heiße Kühlflüssigkeit
|
||||
hbmfluid.crackoil=Crack-Öl
|
||||
hbmfluid.crackoil_ds=Entschwefeltes Crack-Öl
|
||||
hbmfluid.cryogel=Kryogel
|
||||
hbmfluid.death=Osmiridiumlösung
|
||||
hbmfluid.deuterium=Deuterium
|
||||
@ -698,7 +699,9 @@ hbmfluid.heavywater_hot=Heißes Schweres Wasser
|
||||
hbmfluid.helium3=Helium-3
|
||||
hbmfluid.helium4=Helium-4
|
||||
hbmfluid.hotcrackoil=Heißes Crack-Öl
|
||||
hbmfluid.hotcrackoil_ds=Entschwefeltes Heißes Crack-Öl
|
||||
hbmfluid.hotoil=Heißes Rohöl
|
||||
hbmfluid.hotoil_ds=Entschwefeltes Heißes Rohöl
|
||||
hbmfluid.hotsteam=Dichter Dampf
|
||||
hbmfluid.hydrogen=Flüssiger Wasserstoff
|
||||
hbmfluid.iongel=Ionengel
|
||||
@ -707,6 +710,7 @@ hbmfluid.kerosene_reform=Düsentreibstoff
|
||||
hbmfluid.lava=Lava
|
||||
hbmfluid.lightoil=Leichtöl
|
||||
hbmfluid.lightoil_crack=Crack-Leichtöl
|
||||
hbmfluid.lightoil_ds=Entschwefeltes Leichtöl
|
||||
hbmfluid.lightoil_vacuum=Vakuum-Leichtöl
|
||||
hbmfluid.lpg=LPG
|
||||
hbmfluid.lubricant=Schmiermittel
|
||||
@ -717,6 +721,7 @@ hbmfluid.mustardgas=Senfgas
|
||||
hbmfluid.naphtha=Mitteldestillat
|
||||
hbmfluid.naphtha_coker=Koker-Naphtha
|
||||
hbmfluid.naphtha_crack=Crack-Mitteldestillat
|
||||
hbmfluid.naphtha_ds=Entschwefeltes Mitteldestillat
|
||||
hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff
|
||||
hbmfluid.nitric_acid=Salpetersäure
|
||||
hbmfluid.nitroglycerin=Nitroglycerin
|
||||
|
||||
@ -1314,6 +1314,7 @@ hbmfluid.colloid=Colloid
|
||||
hbmfluid.coolant=Coolant
|
||||
hbmfluid.coolant_hot=Hot Coolant
|
||||
hbmfluid.crackoil=Cracked Oil
|
||||
hbmfluid.crackoil_ds=Desulfurized Cracked Oil
|
||||
hbmfluid.cryogel=Cryogel
|
||||
hbmfluid.death=Osmiridic Solution
|
||||
hbmfluid.deuterium=Deuterium
|
||||
@ -1341,7 +1342,9 @@ hbmfluid.heavywater_hot=Hot Heavy Water
|
||||
hbmfluid.helium3=Helium-3
|
||||
hbmfluid.helium4=Helium-4
|
||||
hbmfluid.hotcrackoil=Hot Cracked Oil
|
||||
hbmfluid.hotcrackoil_ds=Desulfurized Hot Cracked Oil
|
||||
hbmfluid.hotoil=Hot Crude Oil
|
||||
hbmfluid.hotoil_ds=Desulfurized Hot Crude Oil
|
||||
hbmfluid.hotsteam=Dense Steam
|
||||
hbmfluid.hydrogen=Liquid Hydrogen
|
||||
hbmfluid.iongel=Ionic Gel
|
||||
@ -1350,6 +1353,7 @@ hbmfluid.kerosene_reform=Jet Fuel
|
||||
hbmfluid.lava=Lava
|
||||
hbmfluid.lightoil=Light Oil
|
||||
hbmfluid.lightoil_crack=Cracked Light Oil
|
||||
hbmfluid.lightoil_ds=Desulfurized Light Oil
|
||||
hbmfluid.lightoil_vacuum=Vacuum Light Oil
|
||||
hbmfluid.lpg=LPG
|
||||
hbmfluid.lubricant=Engine Lubricant
|
||||
@ -1360,12 +1364,14 @@ hbmfluid.mustardgas=Mustard Gas
|
||||
hbmfluid.naphtha=Naphtha
|
||||
hbmfluid.naphtha_coker=Coker Naphtha
|
||||
hbmfluid.naphtha_crack=Cracked Naphtha
|
||||
hbmfluid.naphtha_ds=Desulfurized Naphtha
|
||||
hbmfluid.nitan=NITAN© 100 Octane Super Fuel
|
||||
hbmfluid.nitric_acid=Nitric Acid
|
||||
hbmfluid.nitroglycerin=Nitroglycerin
|
||||
hbmfluid.none=None
|
||||
hbmfluid.oil=Crude Oil
|
||||
hbmfluid.oil_coker=Coker Oil
|
||||
hbmfluid.oil_ds=Desulfurized Crude Oil
|
||||
hbmfluid.oxygen=Liquid Oxygen
|
||||
hbmfluid.oxyhydrogen=Oxyhydrogen
|
||||
hbmfluid.pain=Pandemonium(III)tantalite Solution
|
||||
|
||||
@ -1,75 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'n45_knob.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.000000 0.475000 -0.062500
|
||||
v 0.000000 0.525000 -0.062500
|
||||
v 0.044194 0.475000 -0.044194
|
||||
v 0.044194 0.525000 -0.044194
|
||||
v 0.062500 0.475000 0.000000
|
||||
v 0.062500 0.525000 0.000000
|
||||
v 0.044194 0.475000 0.044194
|
||||
v 0.044194 0.525000 0.044194
|
||||
v -0.000000 0.475000 0.062500
|
||||
v -0.000000 0.525000 0.062500
|
||||
v -0.044194 0.475000 0.044194
|
||||
v -0.044194 0.525000 0.044194
|
||||
v -0.062500 0.475000 -0.000000
|
||||
v -0.062500 0.525000 -0.000000
|
||||
v -0.044194 0.475000 -0.044194
|
||||
v -0.044194 0.525000 -0.044194
|
||||
vt 0.610389 0.766502
|
||||
vt 0.766501 0.610389
|
||||
vt 0.929679 0.773566
|
||||
vt 0.766501 0.389611
|
||||
vt 0.997269 0.389611
|
||||
vt 0.610388 0.233498
|
||||
vt 0.773565 0.070321
|
||||
vt 0.389611 0.233499
|
||||
vt 0.389611 0.002731
|
||||
vt 0.233498 0.389612
|
||||
vt 0.070321 0.226435
|
||||
vt 0.233498 0.610389
|
||||
vt 0.002731 0.610389
|
||||
vt 0.389611 0.766502
|
||||
vt 0.610388 0.997269
|
||||
vt 0.226434 0.929679
|
||||
vt 0.773566 0.929679
|
||||
vt 0.997269 0.610388
|
||||
vt 0.929678 0.226434
|
||||
vt 0.610388 0.002731
|
||||
vt 0.226434 0.070322
|
||||
vt 0.002731 0.389612
|
||||
vt 0.389611 0.997269
|
||||
vt 0.070321 0.773566
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 4/2/2 6/4/2 5/5/2
|
||||
f 6/4/3 8/6/3 7/7/3
|
||||
f 8/6/4 10/8/4 9/9/4
|
||||
f 10/8/5 12/10/5 11/11/5
|
||||
f 12/10/6 14/12/6 13/13/6
|
||||
f 14/12/7 10/8/7 2/1/7
|
||||
f 16/14/8 2/1/8 1/15/8
|
||||
f 14/12/9 16/14/9 15/16/9
|
||||
f 1/17/1 2/1/1 3/3/1
|
||||
f 3/18/2 4/2/2 5/5/2
|
||||
f 5/19/3 6/4/3 7/7/3
|
||||
f 7/20/4 8/6/4 9/9/4
|
||||
f 9/21/5 10/8/5 11/11/5
|
||||
f 11/22/6 12/10/6 13/13/6
|
||||
f 6/4/7 4/2/7 2/1/7
|
||||
f 2/1/7 16/14/7 14/12/7
|
||||
f 14/12/7 12/10/7 10/8/7
|
||||
f 10/8/7 8/6/7 6/4/7
|
||||
f 6/4/7 2/1/7 10/8/7
|
||||
f 15/23/8 16/14/8 1/15/8
|
||||
f 13/24/9 14/12/9 15/16/9
|
||||
@ -1,75 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'n45_rod.blend'
|
||||
# www.blender.org
|
||||
o Cylinder.001
|
||||
v 0.000000 0.512500 -0.031000
|
||||
v 0.000000 0.887500 -0.031000
|
||||
v 0.021920 0.512500 -0.021920
|
||||
v 0.021920 0.887500 -0.021920
|
||||
v 0.031000 0.512500 0.000000
|
||||
v 0.031000 0.887500 0.000000
|
||||
v 0.021920 0.512500 0.021920
|
||||
v 0.021920 0.887500 0.021920
|
||||
v -0.000000 0.512500 0.031000
|
||||
v -0.000000 0.887500 0.031000
|
||||
v -0.021920 0.512500 0.021920
|
||||
v -0.021920 0.887500 0.021920
|
||||
v -0.031000 0.512500 0.000000
|
||||
v -0.031000 0.887500 0.000000
|
||||
v -0.021920 0.512500 -0.021920
|
||||
v -0.021920 0.887500 -0.021920
|
||||
vt 0.423308 0.866102
|
||||
vt 0.368629 0.866102
|
||||
vt 0.368629 0.001892
|
||||
vt 0.313950 0.866102
|
||||
vt 0.313950 0.001892
|
||||
vt 0.259271 0.866102
|
||||
vt 0.259272 0.001892
|
||||
vt 0.204592 0.866102
|
||||
vt 0.204593 0.001892
|
||||
vt 0.149913 0.866102
|
||||
vt 0.149914 0.001891
|
||||
vt 0.095234 0.866102
|
||||
vt 0.095236 0.001891
|
||||
vt 0.095234 0.998109
|
||||
vt 0.040555 0.998108
|
||||
vt 0.477987 0.866102
|
||||
vt 0.423308 0.001892
|
||||
vt 0.040555 0.866102
|
||||
vt 0.040557 0.001891
|
||||
vt 0.001891 0.959445
|
||||
vt 0.001891 0.904766
|
||||
vt 0.133898 0.904766
|
||||
vt 0.133898 0.959445
|
||||
vt 0.477986 0.001892
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 4/2/2 6/4/2 5/5/2
|
||||
f 6/4/3 8/6/3 7/7/3
|
||||
f 8/6/4 10/8/4 9/9/4
|
||||
f 10/8/5 12/10/5 11/11/5
|
||||
f 12/10/6 14/12/6 13/13/6
|
||||
f 14/12/7 8/14/7 6/15/7
|
||||
f 16/16/8 2/1/8 1/17/8
|
||||
f 14/12/9 16/18/9 15/19/9
|
||||
f 1/17/1 2/1/1 3/3/1
|
||||
f 3/3/2 4/2/2 5/5/2
|
||||
f 5/5/3 6/4/3 7/7/3
|
||||
f 7/7/4 8/6/4 9/9/4
|
||||
f 9/9/5 10/8/5 11/11/5
|
||||
f 11/11/6 12/10/6 13/13/6
|
||||
f 6/15/7 4/20/7 14/12/7
|
||||
f 2/21/7 16/18/7 14/12/7
|
||||
f 14/12/7 12/22/7 10/23/7
|
||||
f 10/23/7 8/14/7 14/12/7
|
||||
f 4/20/7 2/21/7 14/12/7
|
||||
f 15/24/8 16/16/8 1/17/8
|
||||
f 13/13/9 14/12/9 15/19/9
|
||||
@ -1,166 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'n45_stand.blend'
|
||||
# www.blender.org
|
||||
o Icosphere.001
|
||||
v 0.000000 0.100000 -0.125000
|
||||
v 0.000000 0.525000 -0.125000
|
||||
v 0.088388 0.100000 -0.088388
|
||||
v 0.088388 0.525000 -0.088388
|
||||
v 0.125000 0.100000 0.000000
|
||||
v 0.125000 0.525000 0.000000
|
||||
v 0.088388 0.100000 0.088388
|
||||
v 0.088388 0.525000 0.088388
|
||||
v -0.000000 0.100000 0.125000
|
||||
v -0.000000 0.525000 0.125000
|
||||
v -0.088388 0.100000 0.088388
|
||||
v -0.088388 0.525000 0.088388
|
||||
v -0.125000 0.100000 -0.000000
|
||||
v -0.125000 0.525000 -0.000000
|
||||
v -0.088388 0.100000 -0.088388
|
||||
v -0.088388 0.525000 -0.088388
|
||||
v 0.000000 0.100000 -0.250000
|
||||
v 0.176777 0.100000 -0.176777
|
||||
v 0.250000 0.100000 0.000000
|
||||
v 0.176777 0.100000 0.176777
|
||||
v -0.000000 0.100000 0.250000
|
||||
v -0.176777 0.100000 0.176777
|
||||
v -0.250000 0.100000 -0.000000
|
||||
v -0.176777 0.100000 -0.176777
|
||||
v -0.000000 0.000000 -0.375000
|
||||
v 0.265165 0.000000 -0.265165
|
||||
v 0.375000 0.000000 0.000000
|
||||
v 0.265165 0.000000 0.265165
|
||||
v -0.000000 0.000000 0.375000
|
||||
v -0.265165 0.000000 0.265165
|
||||
v -0.375000 0.000000 -0.000000
|
||||
v -0.265165 0.000000 -0.265165
|
||||
vt 0.590034 0.983303
|
||||
vt 0.536822 0.983303
|
||||
vt 0.536822 0.746920
|
||||
vt 0.483611 0.983303
|
||||
vt 0.483611 0.746920
|
||||
vt 0.430399 0.983303
|
||||
vt 0.430399 0.746920
|
||||
vt 0.377187 0.983303
|
||||
vt 0.377187 0.746920
|
||||
vt 0.323976 0.983303
|
||||
vt 0.323976 0.746920
|
||||
vt 0.270764 0.983303
|
||||
vt 0.270764 0.746920
|
||||
vt 0.643246 0.983303
|
||||
vt 0.590034 0.746920
|
||||
vt 0.696457 0.983303
|
||||
vt 0.643246 0.746920
|
||||
vt 0.807223 0.505400
|
||||
vt 0.737698 0.505400
|
||||
vt 0.778425 0.407078
|
||||
vt 0.346117 0.113818
|
||||
vt 0.444439 0.073092
|
||||
vt 0.501535 0.141409
|
||||
vt 0.175484 0.456239
|
||||
vt 0.224645 0.407078
|
||||
vt 0.265371 0.505400
|
||||
vt 0.607792 0.676034
|
||||
vt 0.558631 0.626872
|
||||
vt 0.656953 0.586146
|
||||
vt 0.195847 0.194564
|
||||
vt 0.265371 0.194564
|
||||
vt 0.224645 0.292886
|
||||
vt 0.827586 0.243725
|
||||
vt 0.778425 0.292886
|
||||
vt 0.737698 0.194564
|
||||
vt 0.346117 0.655670
|
||||
vt 0.346117 0.586146
|
||||
vt 0.444439 0.626872
|
||||
vt 0.395278 0.023931
|
||||
vt 0.656953 0.044294
|
||||
vt 0.656953 0.113818
|
||||
vt 0.558631 0.073092
|
||||
vt 0.649018 0.497465
|
||||
vt 0.354051 0.497465
|
||||
vt 0.354052 0.202499
|
||||
vt 0.292962 0.349982
|
||||
vt 0.501535 0.558555
|
||||
vt 0.710108 0.349982
|
||||
vt 0.649018 0.202499
|
||||
vt 0.696457 0.746920
|
||||
vt 0.827586 0.456239
|
||||
vt 0.195847 0.505400
|
||||
vt 0.656953 0.655670
|
||||
vt 0.175484 0.243725
|
||||
vt 0.807223 0.194564
|
||||
vt 0.395278 0.676034
|
||||
vt 0.346117 0.044294
|
||||
vt 0.607792 0.023931
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn -0.000000 1.000000 -0.000000
|
||||
vn -0.250500 0.756000 -0.604800
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -0.604800 0.756000 0.250500
|
||||
vn 0.250500 0.756000 0.604800
|
||||
vn 0.604800 0.756000 -0.250500
|
||||
vn -0.604800 0.756000 -0.250500
|
||||
vn -0.250500 0.756000 0.604800
|
||||
vn 0.604800 0.756000 0.250500
|
||||
vn 0.250500 0.756000 -0.604800
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 4/2/2 6/4/2 5/5/2
|
||||
f 6/4/3 8/6/3 7/7/3
|
||||
f 8/6/4 10/8/4 9/9/4
|
||||
f 10/8/5 12/10/5 11/11/5
|
||||
f 12/10/6 14/12/6 13/13/6
|
||||
f 16/14/7 2/1/7 1/15/7
|
||||
f 14/16/8 16/14/8 15/17/8
|
||||
f 7/18/9 20/19/9 19/20/9
|
||||
f 24/21/10 17/22/10 25/23/10
|
||||
f 13/24/9 23/25/9 22/26/9
|
||||
f 9/27/9 21/28/9 20/29/9
|
||||
f 15/30/9 24/31/9 23/32/9
|
||||
f 5/33/9 19/34/9 18/35/9
|
||||
f 11/36/9 22/37/9 21/38/9
|
||||
f 1/39/9 17/22/9 24/21/9
|
||||
f 3/40/9 18/41/9 17/42/9
|
||||
f 28/43/11 30/44/11 32/45/11
|
||||
f 23/25/12 31/46/12 30/44/12
|
||||
f 21/28/13 29/47/13 28/43/13
|
||||
f 19/34/14 27/48/14 26/49/14
|
||||
f 24/31/15 32/45/15 31/46/15
|
||||
f 22/37/16 30/44/16 29/47/16
|
||||
f 19/20/17 20/19/17 28/43/17
|
||||
f 17/42/18 18/41/18 26/49/18
|
||||
f 1/15/1 2/1/1 3/3/1
|
||||
f 3/3/2 4/2/2 5/5/2
|
||||
f 5/5/3 6/4/3 7/7/3
|
||||
f 7/7/4 8/6/4 9/9/4
|
||||
f 9/9/5 10/8/5 11/11/5
|
||||
f 11/11/6 12/10/6 13/13/6
|
||||
f 15/17/7 16/14/7 1/15/7
|
||||
f 13/50/8 14/16/8 15/17/8
|
||||
f 5/51/9 7/18/9 19/20/9
|
||||
f 32/45/10 24/21/10 25/23/10
|
||||
f 11/52/9 13/24/9 22/26/9
|
||||
f 7/53/9 9/27/9 20/29/9
|
||||
f 13/54/9 15/30/9 23/32/9
|
||||
f 3/55/9 5/33/9 18/35/9
|
||||
f 9/56/9 11/36/9 21/38/9
|
||||
f 15/57/9 1/39/9 24/21/9
|
||||
f 1/58/9 3/40/9 17/42/9
|
||||
f 32/45/11 25/23/11 26/49/11
|
||||
f 26/49/11 27/48/11 28/43/11
|
||||
f 28/43/11 29/47/11 30/44/11
|
||||
f 30/44/11 31/46/11 32/45/11
|
||||
f 32/45/11 26/49/11 28/43/11
|
||||
f 22/26/12 23/25/12 30/44/12
|
||||
f 20/29/13 21/28/13 28/43/13
|
||||
f 18/35/14 19/34/14 26/49/14
|
||||
f 23/32/15 24/31/15 31/46/15
|
||||
f 21/38/16 22/37/16 29/47/16
|
||||
f 27/48/17 19/20/17 28/43/17
|
||||
f 25/23/18 17/42/18 26/49/18
|
||||
|
After Width: | Height: | Size: 446 B |
|
After Width: | Height: | Size: 576 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/hotoil_ds.png
Normal file
|
After Width: | Height: | Size: 568 B |
|
After Width: | Height: | Size: 497 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/naphtha_ds.png
Normal file
|
After Width: | Height: | Size: 553 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/oil_ds.png
Normal file
|
After Width: | Height: | Size: 390 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |