fixes, rail stuff

This commit is contained in:
Bob 2023-06-11 17:01:33 +02:00
parent 792a75e324
commit 41648d4f68
9 changed files with 24 additions and 20 deletions

View File

@ -1,5 +1,6 @@
## Added
* Machines now emit soot. Soot collects in units of 4x4 chunks, and spreads into neighboring regions. High levels of soot cause visible smog.
* The system has yet to be balanced, it's possible that only a few machines cause way too much soot or barely any
* Gas artillery shells
* Chlorine
* Phosgene
@ -26,4 +27,7 @@
* Fixed some armor recipes only accepting polymer and not bakelite
* Fixed turbofans not sucking in players
* Fixed NTM skybox not applying to superflat worlds
* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation
* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation
* Fixed potential issue where tanks would send fluids to invalidated tile entities, voiding themselves almost instantly
* Fixed cadmium and technetium steel blocks not having ore dict names
* Fixed potential crash regarding certain potion code running clientside

View File

@ -119,6 +119,7 @@ public class ToolRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dosimeter, 1), new Object[] { "WGW", "WCW", "WBW", 'W', KEY_PLANKS, 'G', KEY_ANYPANE, 'C', ModItems.circuit_aluminium, 'B', BE.ingot() });
CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.pollution_detector, 1), new Object[] { "SFS", "SCS", " S ", 'S', STEEL.plate(), 'F', ModItems.filter_coal, 'C', ModItems.circuit_copper });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', ModItems.bolt_tungsten, 'I', W.ingot(), 'P', ModItems.plate_polymer });

View File

@ -224,6 +224,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay {
DummyConfig def = definitions[i];
BoundingBoxDummyEntity dummy = dummies[i];
Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord);
rot.rotateAroundX((float) (this.rotationPitch * Math.PI / 180D));
rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180));
double x = renderX + rot.xCoord;
double y = renderY + rot.yCoord;

View File

@ -82,6 +82,8 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II
if(stack != null && stack.stackSize > this.getInventoryStackLimit()) {
stack.stackSize = this.getInventoryStackLimit();
}
if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots());
}
@Override

View File

@ -24,9 +24,9 @@ public class ItemPollutionDetector extends Item {
PollutionData data = PollutionHandler.getPollutionData(world, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY), (int) Math.floor(entity.posZ));
if(data == null) data = new PollutionData();
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.RED).flush(), 100), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.RED).flush(), 101), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.RED).flush(), 102), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.RED).flush(), 103), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity);
}
}

View File

@ -99,6 +99,8 @@ public class HbmPotion extends Potion {
}
public void performEffect(EntityLivingBase entity, int level) {
if(entity.worldObj.isRemote) return;
if(this == taint) {
@ -123,7 +125,6 @@ public class HbmPotion extends Potion {
ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, (float)(level + 1F) * 0.05F);
}
if(this == radaway) {
HbmLivingProps.incrementRadiation(entity, -(level + 1));
}
@ -145,22 +146,9 @@ public class HbmPotion extends Potion {
}
}
if(this == lead) {
entity.attackEntityFrom(ModDamageSource.lead, (level + 1));
}
/*if(this == telekinesis) {
int remaining = entity.getActivePotionEffect(this).getDuration();
if(remaining > 1) {
entity.motionY = 0.5;
} else {
entity.motionY = -2;
entity.fallDistance = 50;
}
}*/
if(this == phosphorus && !entity.worldObj.isRemote) {
if(this == phosphorus) {
entity.setFire(1);
}
}

View File

@ -136,6 +136,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
if(fill > 0 && send) {
List<IFluidConnector> con = new ArrayList();
con.addAll(consumers);
con.removeIf(x -> x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid());
if(PipeNet.trackingInstances == null) {
PipeNet.trackingInstances = new ArrayList();

View File

@ -609,6 +609,7 @@ hbmfluid.bitumen=Bitumen
hbmfluid.blood=Blut
hbmfluid.blood_hot=Heißes Blut
hbmfluid.calcium_chloride=Kalziumchlorid-Lösung
hbmfluid.calcium_solution=Kalzium-Lösung
hbmfluid.carbondioxide=Kohlenstoffdioxid
hbmfluid.chlorine=Chlorgas
hbmfluid.chlorocalcite_cleaned=Gereinigten Chlorokalzit-Lösung
@ -2633,6 +2634,7 @@ item.plate_schrabidium.name=Schrabidiumplatte
item.plate_steel.name=Stahlplatte
item.plate_titanium.name=Titanplatte
item.polaroid.name=Das Polaroid
item.pollution_detector.name=Verschmutzungsdetektor
item.powder_actinium.name=Actiniumstaub
item.powder_actinium_tiny.name=Kleiner Haufen Actiniumstaub
item.powder_advanced_alloy.name=Fortgeschrittener Legierungsstaub
@ -3599,6 +3601,7 @@ tile.capacitor_bus.desc=Output für Kondensatoren$Kann in einer geraden Linie an
tile.capacitor_copper.name=Kupferkondensator
tile.capacitor_gold.name=Goldkondensator
tile.capacitor_niobium.name=Niobkondensator
tile.capacitor_tantalium.name=Tantalkondensator
tile.capacitor.desc=Input: Oben$Output: Unten, über Kondensator-Bus
tile.charge_c4.name=Abrissladung
tile.charge_dynamite.name=Zeitbombe

View File

@ -1181,6 +1181,7 @@ hbmfluid.bitumen=Bitumen
hbmfluid.blood=Blood
hbmfluid.blood_hot=Hot Blood
hbmfluid.calcium_chloride=Calciumchloride Solution
hbmfluid.calcium_solution=Calcium Solution
hbmfluid.carbondioxide=Carbon Dioxide
hbmfluid.chlorine=Chlorine Gas
hbmfluid.chlorocalcite_cleaned=Cleaned Chlorocalcite Solution
@ -3359,6 +3360,7 @@ item.plate_schrabidium.name=Schrabidium Plate
item.plate_steel.name=Steel Plate
item.plate_titanium.name=Titanium Plate
item.polaroid.name=The Polaroid
item.pollution_detector.name=Pollution Detector
item.powder_actinium.name=Actinium Powder
item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder
item.powder_advanced_alloy.name=Advanced Alloy Powder
@ -4417,6 +4419,7 @@ tile.capacitor_bus.desc=Output block for capacitors$Can be chained up in a strai
tile.capacitor_copper.name=Copper Capacitor
tile.capacitor_gold.name=Golden Capacitor
tile.capacitor_niobium.name=Niobium Capacitor
tile.capacitor_tantalium.name=Tantalium Capacitor
tile.capacitor.desc=Input: Top$Output: Bottom, via Capacitor Bus
tile.charge_c4.name=Demolition Charge
tile.charge_dynamite.name=Time Bomb