mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
the sloplands
This commit is contained in:
parent
f73fa37659
commit
ce8099d4aa
15
changelog
15
changelog
@ -1,10 +1,11 @@
|
||||
## Changed
|
||||
* All compound plates can now also be made in the assembler
|
||||
* Opening crates when held is now disabled by default
|
||||
* Updated chinese localiation
|
||||
* Duds now have a radioactive AoE effect around them based on type
|
||||
* HPS is no longer tagged as radioactive and no longer requires hazardous materials tanks to store
|
||||
* Somehow, these meaningless tags triggered people exceptionally hard. Go annoy someone else.
|
||||
* Solderers and arc welders can now use overdrive upgrades
|
||||
* Do note that processing speed rises linearly, but power draw rises exponentially
|
||||
|
||||
## Fixed
|
||||
* Fixed all dud variants having the balefire explosion effect
|
||||
* Fixed demolition charges being able to explode multiple times when hitting entities
|
||||
* Condensers are no longer affected by post-impact effects, fixing an issue where HP condenser tanks would go into the negatives
|
||||
* Probably fixed particle accelerator recipe config not working
|
||||
* Fixed potential dupe bug involving many held inventories
|
||||
* Crates? Maybe?
|
||||
* Fixed conveyor placer not being usable on the conveyor sorter
|
||||
@ -17,7 +17,7 @@ public class ServerConfig extends RunningConfig {
|
||||
public static ConfigWrapper<Float> MINE_NUKE_DAMAGE = new ConfigWrapper(100F);
|
||||
public static ConfigWrapper<Float> MINE_NAVAL_DAMAGE = new ConfigWrapper(60F);
|
||||
public static ConfigWrapper<Boolean> TAINT_TRAILS = new ConfigWrapper(false);
|
||||
public static ConfigWrapper<Boolean> CRATE_ALLOW_OPEN_HELD = new ConfigWrapper(true);
|
||||
public static ConfigWrapper<Boolean> CRATE_OPEN_HELD = new ConfigWrapper(true);
|
||||
public static ConfigWrapper<Boolean> CRATE_KEEP_CONTENTS = new ConfigWrapper(true);
|
||||
public static ConfigWrapper<Integer> ITEM_HAZARD_DROP_TICKRATE = new ConfigWrapper(2);
|
||||
|
||||
@ -29,7 +29,7 @@ public class ServerConfig extends RunningConfig {
|
||||
configMap.put("MINE_NUKE_DAMAGE", MINE_NUKE_DAMAGE);
|
||||
configMap.put("MINE_NAVAL_DAMAGE", MINE_NAVAL_DAMAGE);
|
||||
configMap.put("TAINT_TRAILS", TAINT_TRAILS);
|
||||
configMap.put("CRATE_ALLOW_OPEN_HELD", CRATE_ALLOW_OPEN_HELD);
|
||||
configMap.put("CRATE_OPEN_HELD", CRATE_OPEN_HELD);
|
||||
configMap.put("CRATE_KEEP_CONTENTS", CRATE_KEEP_CONTENTS);
|
||||
configMap.put("ITEM_HAZARD_DROP_TICKRATE", ITEM_HAZARD_DROP_TICKRATE);
|
||||
}
|
||||
|
||||
@ -336,7 +336,7 @@ public class Fluids {
|
||||
BLOOD_HOT = new FluidType("BLOOD_HOT", 0xF22419, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).setTemp(666); //it's funny because it's the satan number
|
||||
SYNGAS = new FluidType("SYNGAS", 0x131313, 1, 4, 2, EnumSymbol.NONE).addContainers(new CD_Gastank(0xFFFFFF, 0x131313)).addTraits(GASEOUS);
|
||||
OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS);
|
||||
RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F));
|
||||
RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(50));
|
||||
CHLORINE = new FluidType("CHLORINE", 0xBAB572, 3, 0, 0, EnumSymbol.OXIDIZER).addContainers(new CD_Gastank(0xBAB572, 0x887B34)).addTraits(GASEOUS, new FT_Corrosive(25));
|
||||
HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL).addContainers(new CD_Canister(0x513F39));
|
||||
REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_FUEL).addContainers(new CD_Canister(0xD180D6));
|
||||
|
||||
@ -36,7 +36,7 @@ public class ItemBlockStorageCrate extends ItemBlockBase implements IGUIProvider
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||
if(!ServerConfig.CRATE_ALLOW_OPEN_HELD.get()) return stack;
|
||||
if(!ServerConfig.CRATE_OPEN_HELD.get()) return stack;
|
||||
|
||||
Block block = Block.getBlockFromItem(player.getHeldItem().getItem());
|
||||
if(block == ModBlocks.mass_storage) return stack; // Genuinely can't figure out how to make this part work, so I'm just not gonna mess with it.
|
||||
|
||||
@ -10,7 +10,6 @@ import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.util.ItemStackUtil;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
@ -1,16 +1,47 @@
|
||||
package com.hbm.tileentity.bomb;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import com.hbm.blocks.bomb.BlockCrashedBomb.EnumDudType;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.EnumUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
public class TileEntityCrashedBomb extends TileEntity {
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; }
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 2 == 0) {
|
||||
EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, this.getBlockMetadata());
|
||||
|
||||
if(type == type.BALEFIRE) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 1F * intensity); }, 15D);
|
||||
if(type == type.NUKE) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 0.25F * intensity); }, 10D);
|
||||
if(type == type.SALTED) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 0.5F * intensity); }, 10D);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() { return 65536.0D; }
|
||||
public void affectEntities(BiConsumer<EntityLivingBase, Float> effect, double range) {
|
||||
List<EntityLivingBase> list = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(range, range, range));
|
||||
for(EntityLivingBase entity : list) {
|
||||
double dist = Math.sqrt(getDistanceFrom(entity.posX, entity.posY + entity.height / 2, entity.posZ));
|
||||
if(dist > range) continue;
|
||||
float intensity = (float) (1D - dist / range);
|
||||
effect.accept(entity, intensity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; }
|
||||
@Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; }
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@ import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.*;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
@ -92,14 +93,16 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements
|
||||
upgradeManager.checkSlots(this, slots, 6, 7);
|
||||
int redLevel = upgradeManager.getLevel(UpgradeType.SPEED);
|
||||
int blueLevel = upgradeManager.getLevel(UpgradeType.POWER);
|
||||
int blackLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE);
|
||||
|
||||
if(recipe != null) {
|
||||
this.processTime = recipe.duration - (recipe.duration * redLevel / 6) + (recipe.duration * blueLevel / 3);
|
||||
this.consumption = recipe.consumption + (recipe.consumption * redLevel) - (recipe.consumption * blueLevel / 6);
|
||||
this.consumption *= Math.pow(2, blackLevel);
|
||||
intendedMaxPower = recipe.consumption * 20;
|
||||
|
||||
if(canProcess(recipe)) {
|
||||
this.progress++;
|
||||
this.progress += (1 + blackLevel);
|
||||
this.power -= this.consumption;
|
||||
|
||||
if(progress >= processTime) {
|
||||
@ -369,7 +372,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements
|
||||
|
||||
@Override
|
||||
public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) {
|
||||
return type == UpgradeType.SPEED || type == UpgradeType.POWER;
|
||||
return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -383,6 +386,9 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements
|
||||
info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 100 / 6) + "%"));
|
||||
info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (level * 100 / 3) + "%"));
|
||||
}
|
||||
if(type == UpgradeType.OVERDRIVE) {
|
||||
info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -390,6 +396,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements
|
||||
HashMap<UpgradeType, Integer> upgrades = new HashMap<>();
|
||||
upgrades.put(UpgradeType.SPEED, 3);
|
||||
upgrades.put(UpgradeType.POWER, 3);
|
||||
upgrades.put(UpgradeType.OVERDRIVE, 3);
|
||||
return upgrades;
|
||||
}
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.IUpgradeInfoProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
@ -98,14 +99,16 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
upgradeManager.checkSlots(this, slots, 9, 10);
|
||||
int redLevel = upgradeManager.getLevel(UpgradeType.SPEED);
|
||||
int blueLevel = upgradeManager.getLevel(UpgradeType.POWER);
|
||||
int blackLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE);
|
||||
|
||||
if(recipe != null) {
|
||||
this.processTime = recipe.duration - (recipe.duration * redLevel / 6) + (recipe.duration * blueLevel / 3);
|
||||
this.consumption = recipe.consumption + (recipe.consumption * redLevel) - (recipe.consumption * blueLevel / 6);
|
||||
this.consumption *= Math.pow(2, blackLevel);
|
||||
intendedMaxPower = recipe.consumption * 20;
|
||||
|
||||
if(canProcess(recipe)) {
|
||||
this.progress++;
|
||||
this.progress += (1 + blackLevel);
|
||||
this.power -= this.consumption;
|
||||
|
||||
if(progress >= processTime) {
|
||||
@ -360,7 +363,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
|
||||
@Override
|
||||
public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) {
|
||||
return type == UpgradeType.SPEED || type == UpgradeType.POWER;
|
||||
return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -374,6 +377,9 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 100 / 6) + "%"));
|
||||
info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (level * 100 / 3) + "%"));
|
||||
}
|
||||
if(type == UpgradeType.OVERDRIVE) {
|
||||
info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -381,6 +387,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
HashMap<UpgradeType, Integer> upgrades = new HashMap<>();
|
||||
upgrades.put(UpgradeType.SPEED, 3);
|
||||
upgrades.put(UpgradeType.POWER, 3);
|
||||
upgrades.put(UpgradeType.OVERDRIVE, 3);
|
||||
return upgrades;
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
Loading…
x
Reference in New Issue
Block a user