From a22faa046571074f7636e4651f6e9e6e7c9396a1 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 27 Jul 2026 14:58:54 +0200 Subject: [PATCH] no sin evades his gaze --- .../java/com/hbm/blocks/bomb/Landmine.java | 6 +- .../entity/logic/EntityNukeExplosionMK3.java | 3 + .../entity/logic/EntityNukeExplosionMK5.java | 4 + .../com/hbm/items/special/ItemSatellite.java | 3 +- .../weapon/grenade/ItemGrenadeFilling.java | 3 + .../sedna/factory/XFactoryCatapult.java | 5 + .../java/com/hbm/main/ModEventHandler.java | 3 + .../saveddata/satellites/SatelliteBase.java | 5 + .../satellites/SatelliteDetector.java | 114 ++++++++++++++++++ .../satellites/SatelliteLunarMiner.java | 2 + .../satellites/XSatelliteRegistry.java | 42 ++++--- .../machine/TileEntityMachineRadarNT.java | 5 + .../machine/albion/TileEntityPADetector.java | 3 + .../machine/pile/TileEntityPileLoader.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 10 ++ src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../hbm/textures/items/satellite.detector.png | Bin 0 -> 467 bytes 17 files changed, 192 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/hbm/saveddata/satellites/SatelliteDetector.java create mode 100644 src/main/resources/assets/hbm/textures/items/satellite.detector.png diff --git a/src/main/java/com/hbm/blocks/bomb/Landmine.java b/src/main/java/com/hbm/blocks/bomb/Landmine.java index 9a9b1fe6b..ec376dd4d 100644 --- a/src/main/java/com/hbm/blocks/bomb/Landmine.java +++ b/src/main/java/com/hbm/blocks/bomb/Landmine.java @@ -11,8 +11,11 @@ import com.hbm.interfaces.IBomb; import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.factory.XFactoryCatapult; import com.hbm.main.MainRegistry; +import com.hbm.main.NTMSounds; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import com.hbm.tileentity.bomb.TileEntityLandmine; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -205,7 +208,8 @@ public class Landmine extends BlockContainer implements IBomb { data.setBoolean("balefire", MainRegistry.polaroidID == 11 || world.rand.nextInt(100) == 0); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.5, y + 0.5, z + 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 250)); - world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.mukeExplosion", 25.0F, 0.9F); // this has to be the single worst solution ever + SatelliteDetector.reportEvent(world, SatelliteDetector.DURATION_LOW, BurstIntensity.LOW, x + 0.5, z + 0.5); + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, NTMSounds.GUN_MINI_NUKE_EXPLOSION, 25.0F, 0.9F); // this has to be the single worst solution ever } } diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java index 2ace2d868..2a0ee18fd 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java @@ -18,6 +18,8 @@ import com.hbm.explosion.ExplosionSolinium; import com.hbm.interfaces.Spaghetti; import com.hbm.main.MainRegistry; import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; @@ -141,6 +143,7 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { sol = new ExplosionSolinium((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); } + SatelliteDetector.reportEvent(worldObj, SatelliteDetector.DURATION_HIGH, BurstIntensity.HIGH, posX, posZ); this.did = true; } diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java index cabe50118..cf6269973 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java @@ -11,6 +11,8 @@ import com.hbm.entity.effect.EntityFalloutRain; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeRayBatched; import com.hbm.main.MainRegistry; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -74,6 +76,8 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { //} else { explosion = new ExplosionNukeRayBatched(worldObj, (int) posX, (int) posY, (int) posZ, strength, speed, length); //} + + SatelliteDetector.reportEvent(worldObj, SatelliteDetector.DURATION_HIGH, BurstIntensity.HIGH, posX, posZ); } if(!explosion.isComplete()) { diff --git a/src/main/java/com/hbm/items/special/ItemSatellite.java b/src/main/java/com/hbm/items/special/ItemSatellite.java index b7bdce2f0..6dcc6cb7a 100644 --- a/src/main/java/com/hbm/items/special/ItemSatellite.java +++ b/src/main/java/com/hbm/items/special/ItemSatellite.java @@ -24,7 +24,8 @@ public class ItemSatellite extends ItemEnumMulti implements ISatChip { PRECISION_LASER, DEATH_RAY, XENIUM_RESONATOR, - RELAY + RELAY, + DETECTOR, } @Override diff --git a/src/main/java/com/hbm/items/weapon/grenade/ItemGrenadeFilling.java b/src/main/java/com/hbm/items/weapon/grenade/ItemGrenadeFilling.java index 5a19dd860..6c21931ae 100644 --- a/src/main/java/com/hbm/items/weapon/grenade/ItemGrenadeFilling.java +++ b/src/main/java/com/hbm/items/weapon/grenade/ItemGrenadeFilling.java @@ -33,6 +33,8 @@ import com.hbm.items.weapon.sedna.factory.XFactoryCatapult; import com.hbm.main.MainRegistry; import com.hbm.main.NTMSounds; import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import com.hbm.util.DamageResistanceHandler.DamageClass; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -245,6 +247,7 @@ public class ItemGrenadeFilling extends ItemEnumMulti { } public static void spawnMush(EntityGrenadeUniversal grenade) { + SatelliteDetector.reportEvent(grenade.worldObj, SatelliteDetector.DURATION_LOW, BurstIntensity.LOW, grenade.posX, grenade.posZ); grenade.worldObj.playSoundEffect(grenade.posX, grenade.posY, grenade.posZ, NTMSounds.GUN_MINI_NUKE_EXPLOSION, 15.0F, 1.0F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java index 01d1bb036..d42fc2117 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java @@ -33,6 +33,8 @@ import com.hbm.render.anim.AnimationEnums.GunAnimation; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.item.ItemStack; @@ -103,6 +105,7 @@ public class XFactoryCatapult { incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 1.5F); + SatelliteDetector.reportEvent(bullet.worldObj, SatelliteDetector.DURATION_LOW, BurstIntensity.LOW, bullet.posX, bullet.posZ); bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, NTMSounds.GUN_MINI_NUKE_EXPLOSION, 15.0F, 1.0F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); @@ -120,6 +123,7 @@ public class XFactoryCatapult { } public static void spawnMush(EntityBulletBaseMK4 bullet, MovingObjectPosition mop) { + SatelliteDetector.reportEvent(bullet.worldObj, SatelliteDetector.DURATION_LOW, BurstIntensity.LOW, bullet.posX, bullet.posZ); bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, NTMSounds.GUN_MINI_NUKE_EXPLOSION, 15.0F, 1.0F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); @@ -138,6 +142,7 @@ public class XFactoryCatapult { vnt.explode(); incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 0.25F); + SatelliteDetector.reportEvent(bullet.worldObj, SatelliteDetector.DURATION_LOW, BurstIntensity.LOW, bullet.posX, bullet.posZ); bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, NTMSounds.GUN_MINI_NUKE_EXPLOSION, 15.0F, 1.0F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tinytot"); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index a6f3cb7fe..8e93dd773 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -48,6 +48,7 @@ import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.packet.toclient.SerializableRecipePacket; import com.hbm.particle.helper.BlackPowderCreator; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.satellites.SatelliteDetector; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.tileentity.network.RTTYSystem; @@ -633,6 +634,8 @@ public class ModEventHandler { if(event.phase == Phase.START) { BossSpawnHandler.rollTheDice(world); TimedGenerator.automaton(world, 100); + + SatelliteDetector.updateSystem(world); } } diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteBase.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteBase.java index ab17d4a7f..aa23a163d 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteBase.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteBase.java @@ -4,6 +4,7 @@ import com.hbm.tileentity.network.RTTYSystem; import api.hbm.redstoneoverradio.IRORInteractive; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -40,12 +41,16 @@ public abstract class SatelliteBase { this.tx = nbt.getString("tx"); } + /** When a satellite is created, i.e. this frequency is occupied for the first time */ public void onOrbit(World world, double x, double y, double z) { setTarget((int) Math.floor(x), (int) Math.floor(z)); RTTYSystem.broadcast(world, CHAN_SATLINK, "Established connection to " + getType() + " at " + targetX + " / " + targetZ); } + /** For subsequent items sent under the same frequency as an existing satellite */ + public void onPartDelivered(World world, ItemStack part) { } + public void onCommand(World world, String... cmd) { onCommandTarget(world, cmd); onCommandImpl(world, cmd); diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteDetector.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteDetector.java new file mode 100644 index 000000000..28d4ac742 --- /dev/null +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteDetector.java @@ -0,0 +1,114 @@ +package com.hbm.saveddata.satellites; + +import java.util.ArrayList; +import java.util.List; + +import api.hbm.redstoneoverradio.IRORInteractive; +import net.minecraft.world.World; + +public class SatelliteDetector extends SatelliteBase { + + public List cachedResults = new ArrayList(); + + public static final String CMD_SURVEY = "survey"; + public static final String CMD_COUNT = "count"; + public static final String CMD_GETTYPE = "gettype"; + public static final String CMD_GETPOSITION = "getposition"; + + public SatelliteDetector() { } + + @Override + public String getType() { + return "RAY_DETECTOR"; + } + + @Override + public void onCommandImpl(World world, String... cmd) { + if(cmd.length <= 0) return; + + if(cmd[0].equals(CMD_SURVEY)) { + cachedResults.clear(); + + for(RadiationBurst burst : bursts) { + if(world.provider.dimensionId == burst.dimension) cachedResults.add(burst); + } + } + + if(cmd[0].equals(CMD_COUNT)) { + this.tx = "" + cachedResults.size(); + return; + } + + if(cmd[0].equals(CMD_GETTYPE) && cmd.length == 2) { + RadiationBurst burst = getBurstFromIndex(cmd[1]); + if(burst == null) { this.tx = ""; return; } + this.tx = "" + burst.intensity.name(); + return; + } + + if(cmd[0].equals(CMD_GETPOSITION) && cmd.length == 2) { + RadiationBurst burst = getBurstFromIndex(cmd[1]); + if(burst == null) { this.tx = ""; return; } + this.tx = burst.x + ";" + burst.z; + return; + } + } + + public RadiationBurst getBurstFromIndex(String cmd) { + if(cachedResults.size() <= 0) return null; + int index = IRORInteractive.parseInt(cmd, 0, cachedResults.size()) - 1; + return cachedResults.get(index); + } + + public static List bursts = new ArrayList(); + + public static final int DURATION_LOW = 15 * 20; + public static final int DURATION_MEDIUM = 20 / 2; + public static final int DURATION_HIGH = 60 * 20; + + public static final double INACCURACY_LOW = 10_000; + public static final double INACCURACY_MEDIUM = 2_500; + public static final double INARRCURACY_HIGH = 500; + + public static void reportEvent(World world, int lifetime, BurstIntensity intensity, double x, double z) { + bursts.add(new RadiationBurst(world, lifetime, intensity, (int) Math.floor(x), (int) Math.floor(z))); + } + + public static void updateSystem(World world) { + + bursts.removeIf(b -> { + return world.provider.dimensionId == b.dimension && world.getTotalWorldTime() > b.expiresOn; + }); + } + + public static class RadiationBurst { + + public int dimension; + public long expiresOn; + public BurstIntensity intensity; + public int x; + public int z; + + public RadiationBurst(World world, int lifetime, BurstIntensity intensity, int x, int z) { + this.dimension = world.provider.dimensionId; + this.expiresOn = world.getTotalWorldTime() + lifetime; + this.intensity = intensity; + this.x = x; + this.z = z; + + double inaccuracy = + intensity == BurstIntensity.LOW ? INACCURACY_LOW : + intensity == BurstIntensity.MEDIUM ? INACCURACY_MEDIUM : + INARRCURACY_HIGH; + + this.x += world.rand.nextGaussian() * inaccuracy; + this.z += world.rand.nextGaussian() * inaccuracy; + } + } + + public static enum BurstIntensity { + LOW, // mini nukes, detectable for 15 seconds + MEDIUM, // particle accelerators and radar, detectable only briefly for half a second + HIGH; // full sized nukes, show up for a full minute + } +} diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java index 5956f0f3c..b16b7a760 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java @@ -3,6 +3,8 @@ package com.hbm.saveddata.satellites; import com.hbm.itempool.ItemPoolsSatellite; public class SatelliteLunarMiner extends SatelliteMiner { + + @Override public String getType() { return "LUNAR_MINER"; } static { SatelliteMiner.registerCargo(SatelliteLunarMiner.class, ItemPoolsSatellite.POOL_SAT_LUNAR); diff --git a/src/main/java/com/hbm/saveddata/satellites/XSatelliteRegistry.java b/src/main/java/com/hbm/saveddata/satellites/XSatelliteRegistry.java index 06e1d511f..37bcc57a9 100644 --- a/src/main/java/com/hbm/saveddata/satellites/XSatelliteRegistry.java +++ b/src/main/java/com/hbm/saveddata/satellites/XSatelliteRegistry.java @@ -19,16 +19,17 @@ public class XSatelliteRegistry { public static void register() { - registerSatellite(SatelliteMapper.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.SPY)); - registerSatellite(SatelliteScanner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.SCANNER)); - registerSatellite(SatelliteRadar.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.RADAR)); - registerSatellite(SatelliteDeathRay.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.DEATH_RAY)); - registerSatellite(SatelliteResonator.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.XENIUM_RESONATOR)); - registerSatellite(SatelliteRelay.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.XENIUM_RESONATOR)); - registerSatellite(SatelliteMiner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.MINER_ASTRO)); - registerSatellite(SatelliteLunarMiner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.MINER_LUNAR)); - registerSatellite(SatelliteHorizons.class, ModItems.sat_gerald); - registerSatellite(SatellitePrecisionLaser.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.PRECISION_LASER)); + registerSatellite(SatelliteMapper.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.SPY)); + registerSatellite(SatelliteScanner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.SCANNER)); + registerSatellite(SatelliteRadar.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.RADAR)); + registerSatellite(SatelliteDeathRay.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.DEATH_RAY)); + registerSatellite(SatelliteResonator.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.XENIUM_RESONATOR)); + registerSatellite(SatelliteRelay.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.XENIUM_RESONATOR)); + registerSatellite(SatelliteMiner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.MINER_ASTRO)); + registerSatellite(SatelliteLunarMiner.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.MINER_LUNAR)); + registerSatellite(SatelliteHorizons.class, ModItems.sat_gerald); + registerSatellite(SatellitePrecisionLaser.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.PRECISION_LASER)); + registerSatellite(SatelliteDetector.class, new ComparableStack(ModItems.satellite, 1, EnumSatType.DETECTOR)); registerSatellite(SatelliteMapper.class, ModItems.sat_mapper); @@ -64,13 +65,22 @@ public class XSatelliteRegistry { public static void orbit(World world, ItemStack stack, int freq, double x, double y, double z) { if(world.isRemote) return; - SatelliteBase sat = createFromItem(stack); + SatelliteSavedData data = SatelliteSavedData.getData(world); - if(sat != null) { - SatelliteSavedData data = SatelliteSavedData.getData(world); - data.sats.put(freq, sat); - sat.onOrbit(world, x, y, z); - data.markDirty(); + SatelliteBase existing = data.sats.get(freq); + + if(existing != null) { + existing.onPartDelivered(world, stack); + + } else { + + SatelliteBase sat = createFromItem(stack); + + if(sat != null) { + data.sats.put(freq, sat); + sat.onOrbit(world, x, y, z); + data.markDirty(); + } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 1a6a2b354..436d00461 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -20,6 +20,8 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.SatelliteBase; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; @@ -359,6 +361,9 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } } + + if(worldObj.getTotalWorldTime() % 20 == 0) + SatelliteDetector.reportEvent(worldObj, SatelliteDetector.DURATION_MEDIUM, BurstIntensity.MEDIUM, xCoord, zCoord); } public int getRedPower() { diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java index dfd0cdb86..bfd492140 100644 --- a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java @@ -10,6 +10,8 @@ import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorR import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.saveddata.satellites.SatelliteDetector; +import com.hbm.saveddata.satellites.SatelliteDetector.BurstIntensity; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState; import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; @@ -160,6 +162,7 @@ public class TileEntityPADetector extends TileEntityCooledBase implements IGUIPr for(EntityPlayer player : players) player.triggerAchievement(MainRegistry.achOmega12); } + SatelliteDetector.reportEvent(worldObj, SatelliteDetector.DURATION_MEDIUM, BurstIntensity.MEDIUM, xCoord, zCoord); particle.crash(PAState.SUCCESS); return; } diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileLoader.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileLoader.java index 29520c70f..88465339d 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileLoader.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileLoader.java @@ -262,7 +262,7 @@ public class TileEntityPileLoader extends TileEntityPileDeviceBase implements IS EnumPileRod rod = EnumUtil.grabEnumSafely(EnumPileRod.class, this.channelStack.getItemDamage()); return "" + (int) Math.round(rod.life); } - if(name.equals(PREFIX_VALUE + "meta")) { + if(name.equals(PREFIX_VALUE + "temp")) { return "" + (int) Math.round(this.channelTemp); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index b3534ed0f..4cdd2f904 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3297,6 +3297,16 @@ item.sat_miner.name=Asteroiden-Förderschiff (LEGACY) item.sat_radar.name=Radar-Überwachungssatellit (LEGACY) item.sat_resonator.name=Xenium-Resonator-Satellit (LEGACY) item.sat_scanner.name=Satellit mit Tiefenscanning-Modul (LEGACY) +item.satellite.death_ray.name=Orbitaler Todesstrahl +item.satellite.detector.name=Weitband-Emissionsdetektor-Satellit +item.satellite.miner_astro.name=Asteroiden-Förderschiff +item.satellite.miner_lunar.name=Mond-Förderschiff +item.satellite.precision_laser.name=Orbitaler Präzisionslaser +item.satellite.radar.name=Radar-Überwachungssatellit +item.satellite.relay.name=Relais-Satellit +item.satellite.scanner.name=Tiefenscan-Satellit +item.satellite.spy.name=Spionagesatellit +item.satellite.xenium_resonator.name=Xenium-Resonator-Satellit item.sawblade.name=Sägeblatt item.schnitzel_vegan.name=Veganes Schnitzel item.schrabidium_axe.name=Schrabidiumaxt diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index ad9ecf572..8f962793f 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4410,6 +4410,7 @@ item.sat_radar.name=Radar Survey Satellite (LEGACY) item.sat_resonator.name=Xenium Resonator Satellite (LEGACY) item.sat_scanner.name=Satellite with Depth-Resource Scanning Module (LEGACY) item.satellite.death_ray.name=Orbital Death Ray +item.satellite.detector.name=Wideband Radio Emission Detector Satellite item.satellite.miner_astro.name=Asteroid Mining Ship item.satellite.miner_lunar.name=Lunar Mining Ship item.satellite.precision_laser.name=Orbital Precision Laser diff --git a/src/main/resources/assets/hbm/textures/items/satellite.detector.png b/src/main/resources/assets/hbm/textures/items/satellite.detector.png new file mode 100644 index 0000000000000000000000000000000000000000..79c7ecd6d6d210f3a754a50343863c4ba99d5501 GIT binary patch literal 467 zcmV;^0WAKBP)4_*8(^B$Vj{D!;_ucV7_>&(O7X|+j z>*b{1?-z^3!UB*|8bIIot=Bb6+dtpmTN)ySAh>(P?=*?yxZEs+Fd*eb+ohDnWVXaP zIm7QXX}8o(cbLvsTnlj=prg(CVTWC7RL03{$yJ&H(ChU~K=|d{Fuxo} zo{RkX8?{}R9jXA1neAGGtIH4E#7{WxDfwZC-)Rztp;c*P5Cp~TL-tQ*eYn!bFbu7c z=c2Z2RJK8F*Ni-uoA`-*uMD$}@wfF&{$@T3(2&=)w+_Eco&lBA)^ev1iH`sP002ov JPDHLkV1jQZ)T{si literal 0 HcmV?d00001