Class Turret.TurretBuild

All Implemented Interfaces:
arc.math.geom.Position, arc.math.geom.QuadTree.QuadTreeObject, Sized, mindustry.gen.Buildingc, mindustry.gen.Entityc, mindustry.gen.Healthc, mindustry.gen.Posc, mindustry.gen.Teamc, mindustry.gen.Timerc, Controllable, Ranged, Senseable, Settable, Displayable, ControlBlock, RotBlock
Direct Known Subclasses:
ContinuousTurret.ContinuousTurretBuild, ItemTurret.ItemTurretBuild, LiquidTurret.LiquidTurretBuild, PayloadAmmoTurret.PayloadTurretBuild, PowerTurret.PowerTurretBuild
Enclosing class:
Turret

public class Turret.TurretBuild extends ReloadTurret.ReloadTurretBuild implements ControlBlock
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    arc.struct.Seq<Turret.AmmoEntry>
     
    int
     
    float
     
    float
     
    float[]
     
    float
     
    float
     
    float
     
    boolean
     
    int
     
    arc.math.geom.Vec2
    Turret sprite offset, based on recoil.
    float
     
    float[]
     
     
    mindustry.gen.Posc
     
    arc.math.geom.Vec2
     
    int
     
    int
     
    mindustry.gen.BlockUnitc
     
    float
     
    boolean
     

    Fields inherited from class mindustry.world.blocks.defense.turrets.ReloadTurret.ReloadTurretBuild

    reloadCounter

    Fields inherited from class mindustry.world.blocks.defense.turrets.BaseTurret.BaseTurretBuild

    rotation

    Fields inherited from class mindustry.gen.Building

    added, block, bulletDamageEvent, cdump, dead, dumpAccum, efficiency, enabled, healSuppressionTime, health, hitDuration, hitTime, id, index__all, index__build, initialized, items, lastAccessed, lastDamageTime, lastDisabler, lastHealTime, liquids, maxHealth, optionalEfficiency, payloadRotation, potentialEfficiency, power, proximity, recentDamageTime, shouldConsumePower, sleeping, sleepingEntities, sleepTime, suppressColor, team, teamChangeEvent, tempBuilds, tile, timer, timeScale, timeScaleDuration, timeToSleep, tmpTiles, visibleFlags, visualLiquid, wasDamaged, wasVisible, x, y

    Fields inherited from interface mindustry.logic.Senseable

    noSensed
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    float
     
    protected float
     
    protected void
    bullet(BulletType type, float xOffset, float yOffset, float angleOffset, Mover mover)
     
    boolean
     
    protected boolean
     
    boolean
     
    void
    control(LAccess type, double p1, double p2, double p3, double p4)
     
    void
    control(LAccess type, Object p1, double p2, double p3, double p4)
     
    void
     
    float
     
    void
     
    float
     
    protected mindustry.gen.Posc
    findEnemy(float range)
     
    protected void
     
    float
     
    protected void
    handleBullet(mindustry.gen.Bullet bullet, float offsetX, float offsetY, float angleOffset)
     
    void
    handleLiquid(mindustry.gen.Building source, Liquid liquid, float amount)
     
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    float
     
    void
     
     
    float
     
    float
     
    void
    read(arc.util.io.Reads read, byte revision)
     
    void
    readSync(arc.util.io.Reads read, byte revision)
     
    void
     
    double
    sense(LAccess sensor)
     
    protected void
     
    boolean
     
    boolean
     
    boolean
     
    void
    targetPosition(mindustry.gen.Posc pos)
     
    float
     
    protected void
    turnToTarget(float targetRot)
     
    mindustry.gen.Unit
     
    void
     
    protected void
     
    protected void
     
    void
     
    Consume ammo and return a type.
    protected boolean
     
    byte
     
    float
     
    void
    write(arc.util.io.Writes write)
     

    Methods inherited from class mindustry.world.blocks.defense.turrets.ReloadTurret.ReloadTurretBuild

    baseReloadSpeed, updateCooling

    Methods inherited from class mindustry.world.blocks.defense.turrets.BaseTurret.BaseTurretBuild

    buildRotation

    Methods inherited from class mindustry.gen.Building

    absorbLasers, acceptItem, acceptLiquid, acceptPayload, acceptStack, add, addPlan, addPlan, afterDestroyed, afterPickedUp, afterRead, afterReadAll, allowUpdate, ambientVolume, applyBoost, applyHealSuppression, applyHealSuppression, applySlowdown, as, back, beforeWrite, blockOn, buildConfiguration, buildOn, calculateHeat, calculateHeat, canBeReplaced, canConsume, canControlSelect, canDump, canDumpLiquid, canPickup, canResupply, canUnload, canWithdraw, changeTeam, cheating, checkAllowUpdate, checkSolid, checkSuppression, clampHealth, classId, closestCore, closestEnemyCore, collide, collision, conductsTo, config, configTapped, configure, configureAny, configured, consume, consumeTriggerValid, core, create, create, created, damage, damage, damage, damage, damageContinuous, damageContinuousPierce, damaged, damagePierce, damagePierce, dead, dead, delta, deselect, display, displayBars, displayConsumption, drawConfigure, drawCracks, drawDisabled, drawItemSelection, drawLight, drawLiquidLight, drawStatus, drawTeam, drawTeamTop, dropped, dump, dump, dumpAccumulate, dumpAccumulate, dumpLiquid, dumpLiquid, dumpLiquid, dumpPayload, eachEdge, edelta, efficiencyScale, explosionItemCap, findClosestEdge, floor, floorOn, flowItems, front, getCommandPosition, getCursor, getDisplayEfficiency, getDisplayIcon, getDisplayName, getLiquidDestination, getMaximumAccepted, getPayload, getPayloads, getPowerConnections, getPowerProduction, getProgressIncrease, getStackOffset, getX, getY, handleDamage, handleItem, handlePayload, handleStack, handleString, handleUnitPayload, heal, heal, healFract, health, health, healthChanged, healthf, hitbox, hitSize, hitTime, hitTime, id, id, incrementDump, inFogTo, init, interactable, isAdded, isDiscovered, isHealSuppressed, isInsulated, isLocal, isPayload, isRemote, isValid, itemTaken, kill, killed, left, maxHealth, maxHealth, moduleBitmask, moveForward, moveLiquid, moveLiquidForward, movePayload, nearby, nearby, noSleep, offload, onCommand, onConfigureBuildTapped, onConfigureClosed, onConfigureTapped, onControlSelect, onDeconstructed, onNearbyBuildAdded, onProximityAdded, onProximityRemoved, onProximityUpdate, onRemoved, onSolid, overwrote, payloadCheck, payloadDraw, pickedUp, placed, playerPlaced, pos, powerGraphRemoved, produced, produced, productionValid, puddleOn, put, read, readAll, readBase, recentlyHealed, relativeTo, relativeTo, relativeTo, relativeToEdge, removeFromProximity, removeStack, right, rotdeg, self, sense, senseObject, serialize, set, set, setIndex__all, setIndex__build, setProp, setProp, setProp, shouldAmbientSound, shouldHideConfigure, shouldShowConfigure, sleep, splashLiquid, status, takePayload, tapped, team, team, tileOn, tileX, tileY, timer, timer, timer, timeScale, toString, totalProgress, transferLiquid, trns, trns, unitOn, unitOnAny, unitRemoved, update, updateConsumption, updateFogVisibility, updateLastAccess, updatePayload, updatePowerGraph, updateProximity, updateTableAlign, wasRecentlyDamaged, wasRecentlyHealed, writeAll, writeBase, writeSync, x, x, y, y

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface mindustry.world.blocks.ControlBlock

    isControlled, shouldAutoTarget

    Methods inherited from interface mindustry.ui.Displayable

    displayable

    Methods inherited from interface mindustry.gen.Entityc

    add, afterRead, afterReadAll, as, beforeWrite, classId, id, id, isAdded, isLocal, isRemote, read, self, serialize

    Methods inherited from interface mindustry.gen.Posc

    blockOn, buildOn, floorOn, getX, getY, onSolid, set, set, tileOn, tileX, tileY, trns, trns, x, x, y, y

    Methods inherited from interface arc.math.geom.Position

    angleTo, angleTo, dst, dst, dst2, dst2, within, within

    Methods inherited from interface mindustry.gen.Teamc

    cheating, closestCore, closestEnemyCore, core, inFogTo, team, team
  • Field Details

    • recoilOffset

      public arc.math.geom.Vec2 recoilOffset
      Turret sprite offset, based on recoil. Updated every frame.
    • ammo

      public arc.struct.Seq<Turret.AmmoEntry> ammo
    • totalAmmo

      public int totalAmmo
    • curRecoil

      public float curRecoil
    • heat

      public float heat
    • logicControlTime

      public float logicControlTime
    • curRecoils

      @Nullable public float[] curRecoils
    • shootWarmup

      public float shootWarmup
    • charge

      public float charge
    • warmupHold

      public float warmupHold
    • totalShots

      public int totalShots
    • barrelCounter

      public int barrelCounter
    • logicShooting

      public boolean logicShooting
    • target

      @Nullable public mindustry.gen.Posc target
    • targetPos

      public arc.math.geom.Vec2 targetPos
    • unit

      public mindustry.gen.BlockUnitc unit
    • wasShooting

      public boolean wasShooting
    • queuedBullets

      public int queuedBullets
    • heatReq

      public float heatReq
    • sideHeat

      public float[] sideHeat
    • soundLoop

      @Nullable public SoundLoop soundLoop
  • Constructor Details

    • TurretBuild

      public TurretBuild()
  • Method Details

    • remove

      public void remove()
      Specified by:
      remove in interface mindustry.gen.Entityc
      Overrides:
      remove in class mindustry.gen.Building
    • onDestroyed

      public void onDestroyed()
      Overrides:
      onDestroyed in class mindustry.gen.Building
    • estimateDps

      public float estimateDps()
      Overrides:
      estimateDps in class BaseTurret.BaseTurretBuild
    • minRange

      public float minRange()
    • range

      public float range()
      Specified by:
      range in interface Ranged
      Overrides:
      range in class BaseTurret.BaseTurretBuild
    • trackingRange

      public float trackingRange()
    • warmup

      public float warmup()
      Overrides:
      warmup in class mindustry.gen.Building
    • drawrot

      public float drawrot()
      Overrides:
      drawrot in class mindustry.gen.Building
    • shouldConsume

      public boolean shouldConsume()
      Overrides:
      shouldConsume in class mindustry.gen.Building
    • canControl

      public boolean canControl()
      Specified by:
      canControl in interface ControlBlock
      Returns:
      whether this block can be controlled at all.
    • control

      public void control(LAccess type, double p1, double p2, double p3, double p4)
      Specified by:
      control in interface Controllable
      Overrides:
      control in class mindustry.gen.Building
    • control

      public void control(LAccess type, Object p1, double p2, double p3, double p4)
      Specified by:
      control in interface Controllable
      Overrides:
      control in class mindustry.gen.Building
    • sense

      public double sense(LAccess sensor)
      Specified by:
      sense in interface Senseable
      Overrides:
      sense in class mindustry.gen.Building
    • fogRadius

      public float fogRadius()
      Overrides:
      fogRadius in class mindustry.gen.Building
    • progress

      public float progress()
      Overrides:
      progress in class mindustry.gen.Building
    • isShooting

      public boolean isShooting()
    • unit

      public mindustry.gen.Unit unit()
      Specified by:
      unit in interface ControlBlock
    • logicControlled

      public boolean logicControlled()
    • isActive

      public boolean isActive()
    • targetPosition

      public void targetPosition(mindustry.gen.Posc pos)
    • draw

      public void draw()
      Overrides:
      draw in class mindustry.gen.Building
    • drawSelect

      public void drawSelect()
      Overrides:
      drawSelect in class BaseTurret.BaseTurretBuild
    • updateTile

      public void updateTile()
      Overrides:
      updateTile in class mindustry.gen.Building
    • handleLiquid

      public void handleLiquid(mindustry.gen.Building source, Liquid liquid, float amount)
      Overrides:
      handleLiquid in class mindustry.gen.Building
    • validateTarget

      protected boolean validateTarget()
    • canHeal

      protected boolean canHeal()
    • findEnemy

      protected mindustry.gen.Posc findEnemy(float range)
    • findTarget

      protected void findTarget()
    • turnToTarget

      protected void turnToTarget(float targetRot)
    • shouldTurn

      public boolean shouldTurn()
    • updateEfficiencyMultiplier

      public void updateEfficiencyMultiplier()
      Overrides:
      updateEfficiencyMultiplier in class mindustry.gen.Building
    • useAmmo

      public BulletType useAmmo()
      Consume ammo and return a type.
    • peekAmmo

      @Nullable public BulletType peekAmmo()
      Returns:
      the ammo type that will be returned if useAmmo is called.
    • hasAmmo

      public boolean hasAmmo()
      Returns:
      whether the turret has ammo.
    • charging

      public boolean charging()
    • updateReload

      protected void updateReload()
    • ammoReloadMultiplier

      protected float ammoReloadMultiplier()
      Overrides:
      ammoReloadMultiplier in class ReloadTurret.ReloadTurretBuild
    • updateShooting

      protected void updateShooting()
    • shoot

      protected void shoot(BulletType type)
    • bullet

      protected void bullet(BulletType type, float xOffset, float yOffset, float angleOffset, Mover mover)
    • handleBullet

      protected void handleBullet(@Nullable mindustry.gen.Bullet bullet, float offsetX, float offsetY, float angleOffset)
    • activeSoundVolume

      public float activeSoundVolume()
    • shouldActiveSound

      public boolean shouldActiveSound()
    • write

      public void write(arc.util.io.Writes write)
      Specified by:
      write in interface mindustry.gen.Entityc
      Overrides:
      write in class mindustry.gen.Building
    • read

      public void read(arc.util.io.Reads read, byte revision)
      Overrides:
      read in class mindustry.gen.Building
    • version

      public byte version()
      Overrides:
      version in class mindustry.gen.Building
    • readSync

      public void readSync(arc.util.io.Reads read, byte revision)
      Overrides:
      readSync in class mindustry.gen.Building