diff --git a/changelog b/changelog index ee9739388..ac4dd0a0c 100644 --- a/changelog +++ b/changelog @@ -28,6 +28,11 @@ * Cable connections (connectors, pylons, substations) now render about 10x faster and no longer have weird inaccuracies where the segments meet * Cables can be made even faster by setting `RENDER_CABLE_HANG` in the config to `false` * This causes cable connections to render taut, eliminating the need for multiple segments per pylon side +* Heat exchanging heaters are now set to 24,000mB/t by default +* The ICF GUI now lists the laser input as "per tick" +* Glpyhid hives caught in a fallout zone now turn radioactive + * Glyphids spawned by radioactive hives are immune to fire, twice as fast and five times as strong + * Radioactive glpyhids however are NOT immune to radiation, and typically die quickly ## Fixed * The conveyor grabber should no longer skip over items when used in long lines diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java index e94c67f14..d43e266d4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java @@ -22,6 +22,7 @@ public class BlockGlyphid extends Block implements IBlockMulti { public IIcon[] iconsStandard = new IIcon[2]; public IIcon[] iconsInfested = new IIcon[2]; + public IIcon[] iconsRad = new IIcon[2]; public BlockGlyphid(Material mat) { super(mat); @@ -57,16 +58,19 @@ public class BlockGlyphid extends Block implements IBlockMulti { iconsStandard[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_alt"); iconsInfested[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested"); iconsInfested[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested_alt"); + iconsRad[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_rad"); + iconsRad[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_rad_alt"); } protected IIcon[] getIconArray(int meta) { if(meta == 1) return this.iconsInfested; + if(meta == 2) return this.iconsRad; return this.iconsStandard; } @Override public int getSubCount() { - return 2; + return 3; } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index 1bd37155a..1442b444d 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -38,7 +38,7 @@ import net.minecraft.world.World; public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { - public IIcon[] icons = new IIcon[2]; + public IIcon[] icons = new IIcon[3]; public BlockGlyphidSpawner(Material mat) { super(mat); @@ -61,11 +61,12 @@ public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { public void registerBlockIcons(IIconRegister reg) { icons[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_alt"); icons[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_infested"); + icons[2] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_rad"); } @Override public int getSubCount() { - return 2; + return 3; } @Override @@ -168,6 +169,7 @@ public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { if(soot >= chance[2] && rand.nextInt(100) <= adjustedChance) { EntityGlyphid entity = glyphid.getKey().apply(worldObj); if(meta == 1) entity.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_INFECTED); + if(meta == 2) entity.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_RADIOACTIVE); currentSpawns.add(entity); } } diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index ac69f36bb..039cf060e 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -72,6 +72,9 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); + + entries.add(new FalloutEntry() .mB(ModBlocks.glyphid_base) .prim(new Triplet(ModBlocks.glyphid_base, 2, 1))); + entries.add(new FalloutEntry() .mB(ModBlocks.glyphid_spawner) .prim(new Triplet(ModBlocks.glyphid_spawner, 2, 1))); entries.add(new FalloutEntry().mB(Blocks.mossy_cobblestone).prim(new Triplet(Blocks.coal_ore, 0, 1))); entries.add(new FalloutEntry().mB(ModBlocks.ore_nether_uranium).prim(new Triplet(ModBlocks.ore_nether_schrabidium, 0, 1), new Triplet(ModBlocks.ore_nether_uranium_scorched, 0, 99))); diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java index 423f68429..bec1e5c4e 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java @@ -86,6 +86,7 @@ public class EntityGlyphid extends EntityMob { //subtypes public static final int TYPE_NORMAL = 0; public static final int TYPE_INFECTED = 1; + public static final int TYPE_RADIOACTIVE = 2; //data watcher keys public static final int DW_WALL = 16; @@ -116,9 +117,10 @@ public class EntityGlyphid extends EntityMob { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); + int variant = this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getGrunt().health); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getGrunt().speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getGrunt().damage); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getGrunt().speed * (variant == TYPE_RADIOACTIVE ? 2D : 1D)); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getGrunt().damage * (variant == TYPE_RADIOACTIVE ? 5D : 1D)); } public float getDivisorPerArmorPoint() { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java index fa9594ec7..b8dd780bb 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java @@ -137,6 +137,7 @@ public abstract class GlyphidStats { // If damage is fire damage, reduce damage above 5 then ignore armor if(source.isFireDamage()) { + if(glyphid.getDataWatcher().getWatchableObjectByte(glyphid.DW_SUBTYPE) == glyphid.TYPE_RADIOACTIVE) return false; float dmg = Math.min(amount, 5F); if(amount > 5) dmg += (amount - 5F) * 0.1F; return glyphid.attackSuperclass(source, dmg); diff --git a/src/main/java/com/hbm/inventory/gui/GUIICF.java b/src/main/java/com/hbm/inventory/gui/GUIICF.java index 4569fed1d..0effa9b4d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIICF.java +++ b/src/main/java/com/hbm/inventory/gui/GUIICF.java @@ -32,7 +32,7 @@ public class GUIICF extends GuiInfoContainer { icf.tanks[1].renderTankInfo(this, x, y, guiLeft + 188, guiTop + 18, 16, 70); icf.tanks[2].renderTankInfo(this, x, y, guiLeft + 224, guiTop + 18, 16, 70); - this.drawCustomInfoStat(x, y, guiLeft + 8, guiTop + 18, 16, 70, x, y, icf.maxLaser <= 0 ? "OFFLINE" : (BobMathUtil.getShortNumber(icf.laser) + "TU - " + (icf.laser * 1000 / icf.maxLaser) / 10D + "%")); + this.drawCustomInfoStat(x, y, guiLeft + 8, guiTop + 18, 16, 70, x, y, icf.maxLaser <= 0 ? "OFFLINE" : (BobMathUtil.getShortNumber(icf.laser) + "TU/t - " + (icf.laser * 1000 / icf.maxLaser) / 10D + "%")); this.drawCustomInfoStat(x, y, guiLeft + 187, guiTop + 89, 18, 18, x, y, BobMathUtil.getShortNumber(icf.heat) + " / " + BobMathUtil.getShortNumber(icf.maxHeat) + "TU"); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java index 854f31fd8..2dd2bc66b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java @@ -30,7 +30,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHeatSource, INBTPacketReceiver, IFluidStandardTransceiver, IGUIProvider, IControlReceiver, IFluidCopiable { public FluidTank[] tanks; - public int amountToCool = 1; + public int amountToCool = 24_000; public int tickDelay = 1; public int heatEnergy; diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid.png b/src/main/resources/assets/hbm/textures/blocks/glyphid.png new file mode 100644 index 000000000..57f80e334 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png new file mode 100644 index 000000000..a7050e29e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png new file mode 100644 index 000000000..71bbc91ce Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png new file mode 100644 index 000000000..b55a9c7da Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png new file mode 100644 index 000000000..11f9bdc1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png differ