├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── config.yml └── workflows │ └── ci.yml ├── .gitignore ├── LICENCE ├── README.md ├── assets ├── bundles │ ├── bundle.properties │ ├── bundle_ru.properties │ ├── bundle_uk_UA.properties │ └── bundle_zh_CN.properties ├── icon.png ├── shaders │ ├── blockbuildcenter.frag │ ├── dim.frag │ ├── materialize.frag │ ├── passThrough.frag │ ├── postalpha.frag │ ├── prog-mats-small-space.png │ ├── slash.frag │ ├── smallspace.frag │ ├── tractorcone.frag │ └── vertbuild.frag ├── sounds │ ├── funi-boom.ogg │ ├── giga-fard.ogg │ ├── nuclear-explosion.ogg │ ├── pixel-hit.ogg │ ├── pixel-shoot.ogg │ ├── press-boom.ogg │ ├── pulse-beam.ogg │ └── rock-explode.ogg ├── sprites-override │ └── error.png └── sprites │ ├── blocks │ ├── defense │ │ ├── fence-team.png │ │ ├── fence.png │ │ ├── pillar │ │ │ ├── igneous-pillar-glow-0.png │ │ │ ├── igneous-pillar-glow-1.png │ │ │ ├── igneous-pillar-glow-2.png │ │ │ ├── igneous-pillar-glow-3.png │ │ │ ├── igneous-pillar-glow-4.png │ │ │ └── igneous-pillar.png │ │ ├── shield-projector-team.png │ │ ├── shield-projector-top.png │ │ ├── shield-projector.png │ │ ├── signal.png │ │ ├── static-laser-end.png │ │ ├── static-laser.png │ │ ├── web-team.png │ │ └── web.png │ ├── distribution │ │ ├── burst-driver.png │ │ ├── sand-driver-base-rainbow.png │ │ ├── sand-driver-base.png │ │ ├── sand-driver-rainbow.png │ │ └── sand-driver.png │ ├── drills │ │ ├── smart-drill-rotator.png │ │ ├── smart-drill-top.png │ │ └── smart-drill.png │ ├── payload │ │ ├── factory-in-4.png │ │ ├── factory-in-7-dark.png │ │ ├── missile-factory-top.png │ │ ├── missile-factory.png │ │ ├── module-assembler-top.png │ │ ├── module-assembler.png │ │ ├── module-foundry-top.png │ │ ├── module-foundry.png │ │ ├── sentry-builder-top.png │ │ ├── sentry-builder.png │ │ ├── shell-press-top.png │ │ └── shell-press.png │ ├── production │ │ ├── forge-top.png │ │ ├── forge.png │ │ ├── mindron-collider-bottom.png │ │ ├── mindron-collider-plasma-0.png │ │ ├── mindron-collider-plasma-1.png │ │ ├── mindron-collider-plasma-2.png │ │ ├── mindron-collider-plasma-3.png │ │ ├── mindron-collider.png │ │ ├── tenelium-fuser-bottom.png │ │ ├── tenelium-fuser-glow.png │ │ ├── tenelium-fuser-heat.png │ │ ├── tenelium-fuser-rotator-blur.png │ │ ├── tenelium-fuser-rotator.png │ │ └── tenelium-fuser.png │ ├── storage │ │ ├── core-covalence-team.png │ │ ├── core-covalence.png │ │ ├── core-cripple-team.png │ │ ├── core-cripple-thruster1.png │ │ ├── core-cripple-thruster2.png │ │ └── core-cripple.png │ ├── turret │ │ ├── attraction.png │ │ ├── ball.png │ │ ├── bases │ │ │ ├── block-5.png │ │ │ ├── block-6.png │ │ │ └── block-8.png │ │ ├── bit.png │ │ ├── blaze-heat.png │ │ ├── blaze.png │ │ ├── caliber-heat.png │ │ ├── caliber.png │ │ ├── concretion │ │ │ ├── concretion-arm-0.png │ │ │ ├── concretion-arm-1.png │ │ │ ├── concretion-arm-heat-0.png │ │ │ ├── concretion-arm-heat-1.png │ │ │ ├── concretion-heat.png │ │ │ ├── concretion-preview.png │ │ │ └── concretion.png │ │ ├── dance.png │ │ ├── excalibur │ │ │ ├── excalibur-cell-0-heat.png │ │ │ ├── excalibur-cell-0.png │ │ │ ├── excalibur-cell-1-heat.png │ │ │ ├── excalibur-cell-1.png │ │ │ ├── excalibur-cell-2-heat.png │ │ │ ├── excalibur-cell-2.png │ │ │ ├── excalibur-cell-3-heat.png │ │ │ ├── excalibur-cell-3.png │ │ │ ├── excalibur-cell-4-heat.png │ │ │ ├── excalibur-cell-4.png │ │ │ ├── excalibur-cross-heat.png │ │ │ ├── excalibur-cross.png │ │ │ ├── excalibur-preview.png │ │ │ ├── excalibur-side-cell-0-heat.png │ │ │ ├── excalibur-side-cell-0.png │ │ │ ├── excalibur-side-cell-1-heat.png │ │ │ ├── excalibur-side-cell-1.png │ │ │ ├── excalibur-side-cell-2-heat.png │ │ │ ├── excalibur-side-cell-2.png │ │ │ ├── excalibur-side-l.png │ │ │ ├── excalibur-side-r.png │ │ │ └── excalibur.png │ │ ├── flame-heat.png │ │ ├── flame.png │ │ ├── kugelblitz │ │ │ ├── blackhole-back-l.png │ │ │ ├── blackhole-back-r.png │ │ │ ├── blackhole-bottom.png │ │ │ ├── blackhole-center.ase │ │ │ ├── blackhole-cover-l.png │ │ │ ├── blackhole-cover-r.png │ │ │ ├── blackhole-front-l.png │ │ │ ├── blackhole-front-r.png │ │ │ ├── blackhole-over.png │ │ │ ├── blackhole-preview.png │ │ │ ├── blackhole-side-cover-l.png │ │ │ ├── blackhole-side-cover-r.png │ │ │ ├── blackhole-space.png │ │ │ └── blackhole.ase │ │ ├── minigun │ │ │ ├── i │ │ │ │ ├── minigun-barrel.png │ │ │ │ ├── minigun-heat.png │ │ │ │ ├── minigun-preview.png │ │ │ │ └── minigun.png │ │ │ ├── ii │ │ │ │ ├── miinigun-barrel.png │ │ │ │ ├── miinigun-heat.png │ │ │ │ ├── miinigun-preview.png │ │ │ │ └── miinigun.png │ │ │ └── iv │ │ │ │ ├── mivnigun-barrel.png │ │ │ │ ├── mivnigun-heat.png │ │ │ │ ├── mivnigun-preview.png │ │ │ │ └── mivnigun.png │ │ ├── modular │ │ │ ├── bases │ │ │ │ ├── blank-1.png │ │ │ │ ├── blank-2.png │ │ │ │ └── blank-3.png │ │ │ ├── large │ │ │ │ └── firestorm.png │ │ │ ├── matrix-top.png │ │ │ ├── matrix.png │ │ │ ├── medium │ │ │ │ ├── abyss-preview.png │ │ │ │ ├── abyss-shell-l.png │ │ │ │ ├── abyss-shell-r.png │ │ │ │ ├── abyss.png │ │ │ │ ├── halberd-heat.png │ │ │ │ └── halberd.png │ │ │ ├── mount1.png │ │ │ ├── mount2.png │ │ │ ├── mount3.png │ │ │ └── small │ │ │ │ ├── augment-mend.png │ │ │ │ ├── augment-overdrive.png │ │ │ │ ├── augment.png │ │ │ │ ├── coil.png │ │ │ │ └── skeet.png │ │ ├── payload │ │ │ ├── missile │ │ │ │ ├── artemis-base.png │ │ │ │ ├── artemis-heat.png │ │ │ │ ├── artemis.png │ │ │ │ ├── paragon-base.png │ │ │ │ ├── paragon-heat.png │ │ │ │ └── paragon.png │ │ │ ├── rocket │ │ │ │ ├── arbalest-doors-l.png │ │ │ │ ├── arbalest-doors-r.png │ │ │ │ ├── arbalest-preview.png │ │ │ │ ├── arbalest-top.png │ │ │ │ └── arbalest.png │ │ │ └── sentry │ │ │ │ ├── sergeant-base.png │ │ │ │ ├── sergeant-in.png │ │ │ │ ├── sergeant-top.png │ │ │ │ └── sergeant.png │ │ ├── pinpoint │ │ │ ├── pinpoint-break-l.png │ │ │ ├── pinpoint-break-r.png │ │ │ ├── pinpoint-preview.png │ │ │ └── pinpoint.png │ │ ├── sentinel │ │ │ ├── sentinel-blade-glow-heat.png │ │ │ ├── sentinel-blade-heat.png │ │ │ ├── sentinel-blade-l.png │ │ │ ├── sentinel-blade-r.png │ │ │ ├── sentinel-glow-heat.png │ │ │ ├── sentinel-heat.png │ │ │ ├── sentinel-preview.png │ │ │ ├── sentinel-top-glow-heat.png │ │ │ ├── sentinel-top-heat.png │ │ │ ├── sentinel-top-l.png │ │ │ ├── sentinel-top-r.png │ │ │ └── sentinel.png │ │ ├── tesla │ │ │ ├── shock │ │ │ │ ├── shock-heat-0.png │ │ │ │ ├── shock-heat-1.png │ │ │ │ └── shock.png │ │ │ ├── spark │ │ │ │ ├── spark-heat-0.png │ │ │ │ ├── spark-heat-1.png │ │ │ │ └── spark.png │ │ │ └── storm │ │ │ │ ├── storm-bottom.png │ │ │ │ ├── storm-heat-0.png │ │ │ │ ├── storm-heat-1.png │ │ │ │ ├── storm-heat-10.png │ │ │ │ ├── storm-heat-2.png │ │ │ │ ├── storm-heat-3.png │ │ │ │ ├── storm-heat-4.png │ │ │ │ ├── storm-heat-5.png │ │ │ │ ├── storm-heat-6.png │ │ │ │ ├── storm-heat-7.png │ │ │ │ ├── storm-heat-8.png │ │ │ │ ├── storm-heat-9.png │ │ │ │ ├── storm-ring-3.png │ │ │ │ ├── storm-ring-7.png │ │ │ │ ├── storm-top.png │ │ │ │ └── storm.png │ │ └── vaccinator.png │ └── units │ │ ├── harmacist-top.png │ │ ├── harmacist.png │ │ ├── rejuvenation-beacon-top.png │ │ ├── rejuvenation-beacon.png │ │ ├── speed-field-top.png │ │ ├── speed-field.png │ │ ├── strength-emitter-top.png │ │ ├── strength-emitter.png │ │ └── unit-miner-depot.png │ ├── bullets │ ├── arbalest │ │ ├── basic-rocket-b-cell.png │ │ ├── basic-rocket-b.png │ │ ├── incendiary-rocket-b-cell.png │ │ ├── incendiary-rocket-b.png │ │ ├── mistake-rocket-b-cell.png │ │ ├── mistake-rocket-b.png │ │ ├── splitter-rocket-b-cell.png │ │ ├── splitter-rocket-b.png │ │ ├── splitter-rocket-bit-cell.png │ │ ├── splitter-rocket-bit.png │ │ ├── splitter-rocket-split-cell.png │ │ └── splitter-rocket-split.png │ ├── artemis │ │ ├── basic-missile-1.png │ │ ├── basic-missile-2.png │ │ ├── basic-missile-shadow.png │ │ ├── basic-missile.png │ │ ├── bombing-missile-1.png │ │ ├── bombing-missile-2.png │ │ ├── bombing-missile-bomb-1.png │ │ ├── bombing-missile-bomb-2.png │ │ ├── bombing-missile-bomb-shadow.png │ │ ├── bombing-missile-bomb.png │ │ ├── bombing-missile-shadow.png │ │ ├── bombing-missile.png │ │ ├── recursive-missile-1.png │ │ ├── recursive-missile-2.png │ │ ├── recursive-missile-shadow.png │ │ ├── recursive-missile-split-1.png │ │ ├── recursive-missile-split-2.png │ │ ├── recursive-missile-split-shadow.png │ │ ├── recursive-missile-split.png │ │ └── recursive-missile.png │ ├── firestorm │ │ ├── firestorm-missile-1.png │ │ ├── firestorm-missile-2.png │ │ ├── firestorm-missile-shadow.png │ │ └── firestorm-missile.png │ ├── halberd-beam-end.png │ ├── halberd-beam-start.png │ ├── halberd-beam.png │ ├── lance-back.png │ ├── lance.png │ ├── magnet-back.png │ ├── magnet.png │ ├── paragon │ │ ├── basic-nuke-1.png │ │ ├── basic-nuke-2.png │ │ ├── basic-nuke-shadow.png │ │ ├── basic-nuke.png │ │ ├── black-hole-nuke-1.png │ │ ├── black-hole-nuke-2.png │ │ ├── black-hole-nuke-shadow.png │ │ ├── black-hole-nuke.png │ │ ├── cluster-nuke-1.png │ │ ├── cluster-nuke-2.png │ │ ├── cluster-nuke-shadow.png │ │ ├── cluster-nuke-split-1.png │ │ ├── cluster-nuke-split-2.png │ │ ├── cluster-nuke-split-shadow.png │ │ ├── cluster-nuke-split.png │ │ ├── cluster-nuke.png │ │ ├── emp-nuke-1.png │ │ ├── emp-nuke-2.png │ │ ├── emp-nuke-shadow.png │ │ ├── emp-nuke.png │ │ ├── sandbox-nuke-1.png │ │ ├── sandbox-nuke-2.png │ │ ├── sandbox-nuke-shadow.png │ │ └── sandbox-nuke.png │ ├── saw-back.png │ ├── saw.png │ ├── swing-laser-end.png │ ├── swing-laser.png │ ├── syringe-back.png │ └── syringe.png │ ├── items │ └── techtanite.png │ ├── liquids │ └── magma.png │ ├── payloads │ ├── missile │ │ ├── basic-missile-top.png │ │ ├── bombing-missile-top.png │ │ ├── empty-missile.png │ │ └── recursive-missile-top.png │ ├── nuke │ │ ├── basic-nuke-top.png │ │ ├── black-hole-nuke-top.png │ │ ├── cluster-nuke-top.png │ │ ├── emp-nuke-top.png │ │ ├── empty-nuke.png │ │ └── sandbox-nuke-top.png │ ├── rocket │ │ ├── basic-rocket-top.png │ │ ├── basic-rocket.png │ │ ├── empty-rocket.png │ │ ├── incendiary-rocket-top.png │ │ ├── incendiary-rocket.png │ │ ├── splitter-rocket-top.png │ │ └── splitter-rocket.png │ └── sentry │ │ ├── basic-sentry.png │ │ └── missile-sentry.png │ ├── statuses │ ├── corvus-19.png │ ├── disassembly.png │ ├── emp-stun.png │ ├── frenzy.png │ ├── incend-burn.png │ ├── pinpoint-target.png │ ├── speed-boost.png │ ├── strength-boost.png │ └── weaken.png │ ├── ui │ ├── nanomachines.png │ └── settings-icon.png │ └── units │ ├── flares │ ├── large │ │ ├── large-flare-cell.png │ │ ├── large-flare-full.png │ │ └── large-flare.png │ ├── medium │ │ ├── medium-flare-cell.png │ │ ├── medium-flare-full.png │ │ └── medium-flare.png │ └── small │ │ ├── small-flare-cell.png │ │ ├── small-flare-full.png │ │ └── small-flare.png │ ├── miner │ ├── draug-cell.png │ ├── draug-foot.png │ ├── draug-full.png │ ├── draug-leg-base.png │ ├── draug-leg.png │ ├── draug-you-have-incurred-my-wrath-prepare-to-die.png │ └── draug.png │ ├── sentries │ ├── basic │ │ ├── barrage-anchor-cell.png │ │ ├── barrage-anchor.png │ │ ├── barrage-cell.png │ │ ├── barrage-full.png │ │ ├── barrage-gun-l.png │ │ ├── barrage-gun-r.png │ │ └── barrage.png │ ├── missile │ │ ├── downpour-anchor-cell.png │ │ ├── downpour-anchor.png │ │ ├── downpour-cell.png │ │ ├── downpour-full.png │ │ ├── downpour-rocket-cell.png │ │ ├── downpour-rocket.png │ │ └── downpour.png │ ├── sentry-tether-end.png │ └── sentry-tether.png │ └── swords │ ├── ball-sword-heat.png │ ├── ball-sword.png │ ├── dance-sword-heat.png │ └── dance-sword.png ├── build.gradle.kts ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── MeepscConcepts.png ├── ProgMin.png └── banner │ ├── apotheosis │ ├── apotheosis.png │ └── banner-apotheosis.png │ ├── god damnit.png │ ├── icon-shadow.png │ ├── original │ ├── banner java.png │ └── banner.png │ └── rocket │ ├── pos 1.png │ ├── pos 2.png │ ├── rocket-banner.png │ └── with nukes.png ├── mod.hjson ├── revisions ├── NoCoreDepositBuildingTetherLegsUnit │ └── 0.json ├── SentryUnit │ └── 0.json ├── SignalFlareUnit │ └── 0.json ├── SwordUnit │ └── 0.json └── TurretParentEffectState │ └── 0.json ├── settings.gradle.kts └── src └── progressed ├── ProgMats.java ├── ai ├── DelayMissileAI.java ├── DepotMinerAI.java ├── EmptyAI.java ├── SentryAI.java └── SwordAI.java ├── audio └── PitchedSoundLoop.java ├── content ├── PMItems.java ├── PMLiquids.java ├── PMLoadouts.java ├── PMSounds.java ├── PMStatusEffects.java ├── PMTechTree.java ├── PMUnitTypes.java ├── blocks │ ├── PMBlocks.java │ ├── PMErekirBlocks.java │ ├── PMModules.java │ └── PMPayloads.java ├── bullets │ ├── MinigunBullets.java │ ├── ModuleBullets.java │ ├── PMBullets.java │ ├── PayloadBullets.java │ └── SniperBullets.java └── effects │ ├── CrafterFx.java │ ├── EnergyFx.java │ ├── LightningFx.java │ ├── MissileFx.java │ ├── ModuleFx.java │ ├── OtherFx.java │ ├── Pseudo3DFx.java │ └── TrailFadeFx.java ├── entities ├── EntityDefs.java ├── LightningEffect.java ├── PMDamage.java ├── bullet │ ├── PillarFieldBulletType.java │ ├── SnakeBulletType.java │ ├── TargetBulletType.java │ ├── energy │ │ ├── AbyssBulletType.java │ │ ├── BeamBulletType.java │ │ ├── BitBulletType.java │ │ ├── CrossLaserBulletType.java │ │ ├── EMPCloudBulletType.java │ │ ├── LaserBlastBulletType.java │ │ ├── MagmaBulletType.java │ │ ├── SlashBlackHoleBulletType.java │ │ ├── SparkingBulletType.java │ │ └── UltraRailgunBulletType.java │ ├── explosive │ │ └── RocketBulletType.java │ ├── physical │ │ ├── AntiMissileRailBulletType.java │ │ ├── BurstDriverOrb.java │ │ ├── CritBulletType.java │ │ ├── InjectorBulletType.java │ │ └── MagnetBulletType.java │ ├── pseudo3d │ │ ├── ArcBasicBulletType.java │ │ ├── ArcBoltBulletType.java │ │ ├── ArcBombBulletType.java │ │ ├── ArcBulletType.java │ │ ├── ArcMissileBulletType.java │ │ └── SkyBeamBulletType.java │ └── unit │ │ ├── SentryBulletType.java │ │ └── SignalFlareBulletType.java ├── comp │ ├── BuildChildComp.java │ ├── NoCoreDepositComp.java │ ├── SentryUnitComp.java │ ├── SignalFlareUnitComp.java │ ├── SwordUnitComp.java │ └── TurrretParentEffectStateComp.java ├── effect │ ├── FlashEffect.java │ ├── RepeatEffect.java │ └── WrapDataEffect.java ├── part │ ├── AimLaserPart.java │ ├── LaunchPart.java │ └── SpacePart.java └── pattern │ └── EnhancedShootHelix.java ├── graphics ├── Outliner.java ├── PMDrawf.java ├── PMLayer.java ├── PMPal.java ├── PMShaders.java ├── draw3d │ ├── Draw3D.java │ ├── Fill3D.java │ ├── Lines3D.java │ └── Perspective.java ├── renders │ ├── DimRenderer.java │ ├── PMRenders.java │ └── SlashRenderer.java └── trails │ ├── DriftTrail.java │ ├── PMTrail.java │ └── ZTrail.java ├── type ├── statuseffects │ ├── ExclusiveStatusEffect.java │ └── PMStatusEffect.java ├── unit │ ├── RocketUnitType.java │ ├── SentryUnitType.java │ ├── SignalFlareUnitType.java │ └── SwordUnitType.java └── weapons │ ├── MissileOwnerWeapon.java │ └── RocketWeapon.java ├── ui ├── NamelessLiquidDisplay.java ├── PMHints.java ├── PMStyles.java ├── ShiftedStack.java └── dialogs │ └── ModuleSwapDialog.java ├── util ├── Math3D.java ├── PMMathf.java ├── PMSettings.java └── PMUtls.java └── world ├── blocks ├── PMItemSelection.java ├── consumers │ └── ConsumeLiquidDynamic.java ├── crafting │ ├── AccelerationCrafter.java │ └── FuelCrafter.java ├── defence │ ├── EffectZone.java │ ├── IgneousPillar.java │ ├── ShieldProjector.java │ ├── StaticNode.java │ └── turret │ │ ├── BitTurret.java │ │ ├── BlackHoleTurret.java │ │ ├── EruptorTurret.java │ │ ├── GeomancyTurret.java │ │ ├── MinigunTurret.java │ │ ├── SignalFlareTurret.java │ │ ├── SwingContinuousTurret.java │ │ ├── SwordTurret.java │ │ ├── TeslaTurret.java │ │ ├── nexus │ │ ├── NexusAttackPattern.java │ │ └── NexusTurret.java │ │ ├── payload │ │ ├── ArcMissileTurret.java │ │ ├── SinglePayloadAmmoTurret.java │ │ └── modular │ │ │ ├── ModularTurret.java │ │ │ ├── TurretModule.java │ │ │ └── modules │ │ │ ├── ArcModule.java │ │ │ ├── BeamModule.java │ │ │ ├── BoostModule.java │ │ │ ├── ItemTurretModule.java │ │ │ ├── LiquidTurretModule.java │ │ │ ├── PowerTurretModule.java │ │ │ ├── SweepLaserTurretModule.java │ │ │ └── TractorConeModule.java │ │ └── testing │ │ ├── ArcBulletScatterTestTurret.java │ │ ├── ArcBulletTestTurret.java │ │ ├── FreeTurret.java │ │ └── SkyLaserTestTurret.java ├── distribution │ ├── BurstDriver.java │ └── SandDriver.java ├── payloads │ ├── Missile.java │ ├── PayloadCrafter.java │ ├── Recipe.java │ └── Sentry.java ├── production │ ├── SmartDrill.java │ └── UnitMinerDepot.java └── storage │ ├── CoreLink.java │ └── CrashCore.java ├── draw ├── DrawPayloadAmmo.java ├── DrawPayloadTurret.java ├── DrawSpeedPlasma.java ├── DrawSwingTurret.java └── DrawTurretModule.java ├── meta ├── PMStat.java └── PMStatValues.java └── module └── ModuleModule.java /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug Report 2 | description: Create a report to help fix an issue. 3 | labels: ["bug"] 4 | 5 | body: 6 | - type: dropdown 7 | id: platform 8 | attributes: 9 | label: Platforms 10 | description: What platform were you using when the bug occurred? 11 | multiple: false 12 | options: 13 | - Android 14 | - iOS 15 | - Mac 16 | - Windows 17 | - Linux 18 | validations: 19 | required: true 20 | - type: input 21 | id: version 22 | attributes: 23 | label: Mod Version 24 | description: What version of the mod are you using? 25 | placeholder: LATEST IS NOT A VERSION. 26 | validations: 27 | required: true 28 | - type: textarea 29 | id: issue 30 | attributes: 31 | label: Issue 32 | description: Explain your issue in detail. 33 | validations: 34 | required: true 35 | - type: textarea 36 | id: reproduction 37 | attributes: 38 | label: Steps to reproduce 39 | description: How you happened across the issue, and what exactly you did to make the bug happen. 40 | validations: 41 | required: true 42 | - type: textarea 43 | id: logs 44 | attributes: 45 | label: (Crash) logs 46 | description: Either crash reports from the crash folder, or the file you get when you go into Settings -> Game Data -> Export Crash logs. 47 | placeholder: REQUIRED if you are reporting a crash. 48 | validations: 49 | required: false 50 | - type: checkboxes 51 | id: agreements 52 | attributes: 53 | label: Submission 54 | description: Check the boxes to confirm that you have read the lines below. 55 | options: 56 | - label: I have updated to the latest release (https://github.com/MEEPofFaith/prog-mats-java/releases) to make sure my issue has not been fixed. 57 | required: true 58 | - label: I have searched the closed and open issues to make sure that this problem has not already been reported. 59 | required: true 60 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Java CI 2 | 3 | on: 4 | push: 5 | pull_request: 6 | release: 7 | types: 8 | - created 9 | 10 | permissions: 11 | contents: write 12 | 13 | jobs: 14 | buildJar: 15 | name: Build and Publish Jar 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/checkout@v4 19 | - name: Set up JDK 17 20 | uses: actions/setup-java@v4 21 | with: 22 | java-version: 17 23 | distribution: temurin 24 | - name: Setup Gradle 25 | uses: gradle/actions/setup-gradle@v4 26 | - name: Build mod artifact 27 | run: | 28 | chmod +x gradlew 29 | ./gradlew clean dex 30 | - name: Upload built mod artifact as a GitHub Action artifact 31 | uses: actions/upload-artifact@v4 32 | if: github.event_name == 'push' || github.event_name == 'pull_request' 33 | with: 34 | name: MeepscCont (zipped) 35 | path: build/libs/MeepscCont.jar 36 | if-no-files-found: error 37 | compression-level: 0 38 | - name: Upload built mod artifact into release 39 | uses: softprops/action-gh-release@v2 40 | if: github.event_name == 'release' && github.event.action == 'created' 41 | with: 42 | files: build/libs/MeepscCont.jar 43 | -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/icon.png -------------------------------------------------------------------------------- /assets/shaders/blockbuildcenter.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | 3 | uniform sampler2D u_texture; 4 | 5 | uniform vec2 u_texsize; 6 | uniform vec2 u_uv; 7 | uniform vec2 u_uv2; 8 | uniform float u_progress; 9 | uniform float u_time; 10 | 11 | varying vec4 v_color; 12 | varying vec2 v_texCoords; 13 | 14 | 15 | bool id(vec2 coords, vec4 base){ 16 | vec4 target = texture2D(u_texture, coords); 17 | return target.a < 0.1 || (coords.x < u_uv.x || coords.y < u_uv.y || coords.x > u_uv2.x || coords.y > u_uv2.y); 18 | } 19 | 20 | bool cont(vec2 T, vec2 v){ 21 | const float step = 3.0; 22 | vec4 base = texture2D(u_texture, T); 23 | return base.a > 0.1 && 24 | (id(T + vec2(0, step) * v, base) || id(T + vec2(0, -step) * v, base) || 25 | id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base)); 26 | } 27 | 28 | void main(){ 29 | 30 | vec2 t = v_texCoords.xy; 31 | 32 | vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); 33 | vec2 coords = (v_texCoords-u_uv) / v; 34 | float value = coords.x + coords.y; 35 | 36 | vec4 color = texture2D(u_texture, t); 37 | 38 | vec2 center = ((u_uv + u_uv2)/2.0 - u_uv) /v; 39 | float dst = (abs(center.x - coords.x) + abs(center.y - coords.y))/2.0; 40 | 41 | if((mod(u_time / 1.5 + value, 20.0) < 15.0 && cont(t, v))){ 42 | gl_FragColor = v_color; 43 | }else if(dst < (u_progress) * (center.x)){ 44 | gl_FragColor = color; 45 | }else if((dst - 1.0 < (u_progress) * (center.x)) && color.a > 0.1){ 46 | gl_FragColor = v_color; 47 | }else{ 48 | gl_FragColor = vec4(0.0); 49 | } 50 | } -------------------------------------------------------------------------------- /assets/shaders/dim.frag: -------------------------------------------------------------------------------- 1 | 2 | uniform sampler2D u_texture; 3 | uniform float u_alpha; 4 | 5 | varying vec2 v_texCoords; 6 | 7 | void main() { 8 | float a = texture2D(u_texture, v_texCoords).a; 9 | gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0 * u_alpha * (1.0 - a)); 10 | } 11 | -------------------------------------------------------------------------------- /assets/shaders/materialize.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D u_texture; 2 | 3 | uniform float u_time; 4 | uniform float u_progress; 5 | uniform float u_offset; 6 | uniform float u_width; 7 | uniform float u_shadow; 8 | uniform vec4 u_color; 9 | uniform vec2 u_uv; 10 | uniform vec2 u_uv2; 11 | uniform vec2 u_texsize; 12 | 13 | varying vec2 v_texCoords; 14 | 15 | float absin(float t){ 16 | return (sin(t) + 1.0) / 2.0; 17 | } 18 | 19 | void main(){ 20 | vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv); 21 | vec2 v = vec2(1.0 / u_texsize.x, 1.0 / u_texsize.y); 22 | 23 | float w = absin(coords.x * u_width + u_time) * u_offset / 4.0; 24 | float p = u_progress * (1.0 + u_offset) + w; 25 | float top = clamp(p, 0.0, 1.0); 26 | float bottom = clamp(p - u_offset, 0.0, 1.0); 27 | 28 | float y = 1.0 - coords.y; 29 | vec4 c = texture2D(u_texture, v_texCoords.xy); 30 | if(y > top){ 31 | c.a = 0.0; 32 | }else if(y > bottom){ 33 | c.rgb = u_color.rgb; 34 | } 35 | if(u_shadow == 1.0){ 36 | c.rgb = vec3(0, 0, 0); 37 | c.a *= 0.22; 38 | } 39 | 40 | gl_FragColor = c; 41 | } 42 | -------------------------------------------------------------------------------- /assets/shaders/passThrough.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | 3 | uniform sampler2D u_texture; 4 | 5 | varying vec2 v_texCoords; 6 | 7 | void main() { 8 | gl_FragColor = texture2D(u_texture, v_texCoords.xy); 9 | } 10 | -------------------------------------------------------------------------------- /assets/shaders/postalpha.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | 3 | uniform sampler2D u_texture; 4 | 5 | uniform float u_alpha; 6 | 7 | varying vec2 v_texCoords; 8 | 9 | void main() { 10 | vec2 T = v_texCoords.xy; 11 | vec4 color = texture2D(u_texture, T); 12 | color.a *= u_alpha; 13 | 14 | gl_FragColor = color; 15 | } 16 | -------------------------------------------------------------------------------- /assets/shaders/prog-mats-small-space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/shaders/prog-mats-small-space.png -------------------------------------------------------------------------------- /assets/shaders/slash.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | 3 | #define PI 3.1415926535897932384626433832795 4 | #define PI2 PI * 2.0 5 | #define HALFPI PI / 2.0 6 | 7 | uniform sampler2D u_texture; 8 | 9 | uniform vec2 u_campos; 10 | uniform vec2 u_resolution; 11 | 12 | uniform int u_slashescount; 13 | uniform vec4 u_slashes[MAX_COUNT]; //x, y, angle, offset 14 | 15 | varying vec2 v_texCoords; 16 | 17 | bool invert(float a1, float a2){ 18 | float fd = abs(a1 - a2); 19 | float bd = PI2 - fd; 20 | return a1 > a2 == bd > fd; 21 | } 22 | 23 | void main() { 24 | vec2 c = v_texCoords.xy; 25 | vec2 coords = (c * u_resolution) + u_campos; 26 | 27 | vec2 offset = vec2(0.0); 28 | for(int i = 0; i < u_slashescount; ++i){ 29 | vec4 slash = u_slashes[i]; 30 | float sX = slash.r; 31 | float sY = slash.g; 32 | float sA = slash.b; // [0, 2pi] 33 | float sO = slash.a; 34 | 35 | float angleTo = atan(coords.x - sX, coords.y - sY); // [-pi, pi] 36 | if(angleTo < 0.0) angleTo += PI2; // Convert to [0, 2pi] 37 | 38 | vec2 off = vec2(cos(HALFPI - sA) * sO, sin(HALFPI - sA) * sO); 39 | if(invert(angleTo, sA)) off = -off; //Below the slash, invert 40 | 41 | offset += off; 42 | } 43 | 44 | coords += offset; 45 | gl_FragColor = texture2D(u_texture, (coords - u_campos) / u_resolution); 46 | } 47 | -------------------------------------------------------------------------------- /assets/shaders/smallspace.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | #define NSCALE 150.0 3 | #define CAMSCALE (NSCALE * 10.0) 4 | 5 | uniform sampler2D u_texture; 6 | uniform sampler2D u_stars; 7 | 8 | uniform vec2 u_campos; 9 | uniform vec2 u_ccampos; 10 | uniform vec2 u_resolution; 11 | uniform float u_time; 12 | 13 | varying vec2 v_texCoords; 14 | 15 | void main(){ 16 | vec2 c = v_texCoords.xy; 17 | vec2 coords = vec2(c.x * u_resolution.x, c.y * u_resolution.y); 18 | vec2 move = vec2(-0.002 * u_time, 0.001 * u_time); 19 | 20 | vec4 color = texture2D(u_texture, c); 21 | color.rgb = texture2D(u_stars, coords/NSCALE + vec2(-0.1, -0.1) + u_ccampos / CAMSCALE + move).rgb; 22 | 23 | gl_FragColor = color; 24 | } 25 | -------------------------------------------------------------------------------- /assets/shaders/tractorcone.frag: -------------------------------------------------------------------------------- 1 | #define HIGHP 2 | 3 | uniform sampler2D u_texture; 4 | 5 | uniform vec2 u_texsize; 6 | uniform float u_progress; 7 | uniform float u_time; 8 | uniform float u_dp; 9 | uniform vec2 u_offset; 10 | uniform float u_spacing; 11 | uniform float u_thickness; 12 | uniform float u_cx; 13 | uniform float u_cy; 14 | 15 | varying vec2 v_texCoords; 16 | 17 | float dst(vec2 coords){ 18 | float dx = coords.x / u_dp - u_cx; 19 | float dy = coords.y / u_dp - u_cy; 20 | 21 | return sqrt(dx * dx + dy * dy); 22 | } 23 | 24 | float fixMod(float x, float n){ 25 | return mod(mod(x, n) + n, n); 26 | } 27 | 28 | void main(){ 29 | vec2 T = v_texCoords.xy; 30 | vec2 coords = (T * u_texsize) + u_offset; 31 | float dst = fixMod(dst(coords) + u_time, u_spacing); 32 | 33 | vec4 color = texture2D(u_texture, T); 34 | 35 | if(dst > u_thickness){ 36 | color.a *= 0.4; 37 | } 38 | 39 | gl_FragColor = color; 40 | } 41 | -------------------------------------------------------------------------------- /assets/shaders/vertbuild.frag: -------------------------------------------------------------------------------- 1 | #define step 3.0 2 | 3 | uniform sampler2D u_texture; 4 | 5 | uniform float u_time; 6 | uniform float u_progress; 7 | uniform vec4 u_color; 8 | uniform vec2 u_uv; 9 | uniform vec2 u_uv2; 10 | uniform vec2 u_texsize; 11 | 12 | varying vec4 v_color; 13 | varying vec2 v_texCoords; 14 | 15 | bool id(vec4 v){ 16 | return v.a > 0.1; 17 | } 18 | 19 | bool id(vec2 coords, vec4 base){ 20 | vec4 target = texture2D(u_texture, coords); 21 | return target.a < 0.1 || (coords.x < u_uv.x || coords.y < u_uv.y || coords.x > u_uv2.x || coords.y > u_uv2.y); 22 | } 23 | 24 | bool cont(vec2 T, vec2 v){ 25 | vec4 base = texture2D(u_texture, T); 26 | return base.a > 0.1 && 27 | (id(T + vec2(0, step) * v, base) || id(T + vec2(0, -step) * v, base) || 28 | id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base) || 29 | id(T + vec2(step, step) * v, base) || id(T + vec2(-step, -step) * v, base) || 30 | id(T + vec2(step, -step) * v, base) || id(T + vec2(-step, step) * v, base)); 31 | } 32 | 33 | void main(){ 34 | vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv); 35 | vec2 t = v_texCoords.xy; 36 | vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); 37 | 38 | vec4 c = texture2D(u_texture, v_texCoords.xy); 39 | float alpha = c.a; 40 | 41 | c.a *= u_progress; 42 | 43 | if(c.a > 0.01){ 44 | float f = abs(sin(coords.y*2.0 - u_time)); 45 | if(f > 0.9) 46 | f = 1.0; 47 | else 48 | f = 0.0; 49 | c = mix(c, u_color, f * u_color.a); 50 | } 51 | 52 | c.a *= alpha; 53 | 54 | gl_FragColor = c * v_color; 55 | } 56 | -------------------------------------------------------------------------------- /assets/sounds/funi-boom.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/funi-boom.ogg -------------------------------------------------------------------------------- /assets/sounds/giga-fard.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/giga-fard.ogg -------------------------------------------------------------------------------- /assets/sounds/nuclear-explosion.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/nuclear-explosion.ogg -------------------------------------------------------------------------------- /assets/sounds/pixel-hit.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/pixel-hit.ogg -------------------------------------------------------------------------------- /assets/sounds/pixel-shoot.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/pixel-shoot.ogg -------------------------------------------------------------------------------- /assets/sounds/press-boom.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/press-boom.ogg -------------------------------------------------------------------------------- /assets/sounds/pulse-beam.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/pulse-beam.ogg -------------------------------------------------------------------------------- /assets/sounds/rock-explode.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sounds/rock-explode.ogg -------------------------------------------------------------------------------- /assets/sprites-override/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites-override/error.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/fence-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/fence-team.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/fence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/fence.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar-glow-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar-glow-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar-glow-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar-glow-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar-glow-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar-glow-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar-glow-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar-glow-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar-glow-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar-glow-4.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/pillar/igneous-pillar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/pillar/igneous-pillar.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/shield-projector-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/shield-projector-team.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/shield-projector-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/shield-projector-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/shield-projector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/shield-projector.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/signal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/signal.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/static-laser-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/static-laser-end.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/static-laser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/static-laser.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/web-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/web-team.png -------------------------------------------------------------------------------- /assets/sprites/blocks/defense/web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/defense/web.png -------------------------------------------------------------------------------- /assets/sprites/blocks/distribution/burst-driver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/distribution/burst-driver.png -------------------------------------------------------------------------------- /assets/sprites/blocks/distribution/sand-driver-base-rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/distribution/sand-driver-base-rainbow.png -------------------------------------------------------------------------------- /assets/sprites/blocks/distribution/sand-driver-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/distribution/sand-driver-base.png -------------------------------------------------------------------------------- /assets/sprites/blocks/distribution/sand-driver-rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/distribution/sand-driver-rainbow.png -------------------------------------------------------------------------------- /assets/sprites/blocks/distribution/sand-driver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/distribution/sand-driver.png -------------------------------------------------------------------------------- /assets/sprites/blocks/drills/smart-drill-rotator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/drills/smart-drill-rotator.png -------------------------------------------------------------------------------- /assets/sprites/blocks/drills/smart-drill-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/drills/smart-drill-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/drills/smart-drill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/drills/smart-drill.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/factory-in-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/factory-in-4.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/factory-in-7-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/factory-in-7-dark.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/missile-factory-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/missile-factory-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/missile-factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/missile-factory.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/module-assembler-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/module-assembler-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/module-assembler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/module-assembler.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/module-foundry-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/module-foundry-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/module-foundry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/module-foundry.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/sentry-builder-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/sentry-builder-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/sentry-builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/sentry-builder.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/shell-press-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/shell-press-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/payload/shell-press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/payload/shell-press.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/forge-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/forge-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/forge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/forge.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider-bottom.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider-plasma-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider-plasma-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider-plasma-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider-plasma-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider-plasma-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider-plasma-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider-plasma-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider-plasma-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/mindron-collider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/mindron-collider.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser-bottom.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser-glow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser-glow.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser-rotator-blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser-rotator-blur.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser-rotator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser-rotator.png -------------------------------------------------------------------------------- /assets/sprites/blocks/production/tenelium-fuser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/production/tenelium-fuser.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-covalence-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-covalence-team.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-covalence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-covalence.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-cripple-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-cripple-team.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-cripple-thruster1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-cripple-thruster1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-cripple-thruster2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-cripple-thruster2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/storage/core-cripple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/storage/core-cripple.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/attraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/attraction.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/ball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/ball.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/bases/block-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/bases/block-5.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/bases/block-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/bases/block-6.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/bases/block-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/bases/block-8.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/bit.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/blaze-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/blaze-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/blaze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/blaze.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/caliber-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/caliber-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/caliber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/caliber.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-arm-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-arm-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-arm-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-arm-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-arm-heat-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-arm-heat-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-arm-heat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-arm-heat-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/concretion/concretion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/concretion/concretion.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/dance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/dance.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-0-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-0-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-1-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-1-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-2-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-2-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-3-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-3-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-4-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-4-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cell-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cell-4.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cross-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cross-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-cross.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-0-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-0-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-1-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-1-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-2-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-2-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-cell-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-cell-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur-side-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur-side-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/excalibur/excalibur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/excalibur/excalibur.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/flame-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/flame-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/flame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/flame.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-back-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-back-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-back-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-back-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-bottom.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-center.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-center.ase -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-cover-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-cover-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-cover-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-cover-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-front-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-front-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-front-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-front-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-over.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-side-cover-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-side-cover-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-side-cover-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-side-cover-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole-space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole-space.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/kugelblitz/blackhole.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/kugelblitz/blackhole.ase -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/i/minigun-barrel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/i/minigun-barrel.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/i/minigun-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/i/minigun-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/i/minigun-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/i/minigun-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/i/minigun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/i/minigun.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/ii/miinigun-barrel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/ii/miinigun-barrel.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/ii/miinigun-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/ii/miinigun-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/ii/miinigun-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/ii/miinigun-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/ii/miinigun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/ii/miinigun.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/iv/mivnigun-barrel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/iv/mivnigun-barrel.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/iv/mivnigun-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/iv/mivnigun-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/iv/mivnigun-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/iv/mivnigun-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/minigun/iv/mivnigun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/minigun/iv/mivnigun.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/bases/blank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/bases/blank-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/bases/blank-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/bases/blank-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/bases/blank-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/bases/blank-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/large/firestorm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/large/firestorm.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/matrix-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/matrix-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/matrix.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/abyss-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/abyss-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/abyss-shell-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/abyss-shell-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/abyss-shell-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/abyss-shell-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/abyss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/abyss.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/halberd-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/halberd-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/medium/halberd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/medium/halberd.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/mount1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/mount1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/mount2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/mount2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/mount3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/mount3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/small/augment-mend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/small/augment-mend.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/small/augment-overdrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/small/augment-overdrive.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/small/augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/small/augment.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/small/coil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/small/coil.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/modular/small/skeet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/modular/small/skeet.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/artemis-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/artemis-base.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/artemis-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/artemis-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/artemis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/artemis.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/paragon-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/paragon-base.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/paragon-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/paragon-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/missile/paragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/missile/paragon.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/rocket/arbalest-doors-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/rocket/arbalest-doors-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/rocket/arbalest-doors-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/rocket/arbalest-doors-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/rocket/arbalest-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/rocket/arbalest-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/rocket/arbalest-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/rocket/arbalest-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/rocket/arbalest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/rocket/arbalest.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/sentry/sergeant-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/sentry/sergeant-base.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/sentry/sergeant-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/sentry/sergeant-in.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/sentry/sergeant-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/sentry/sergeant-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/payload/sentry/sergeant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/payload/sentry/sergeant.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/pinpoint/pinpoint-break-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/pinpoint/pinpoint-break-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/pinpoint/pinpoint-break-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/pinpoint/pinpoint-break-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/pinpoint/pinpoint-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/pinpoint/pinpoint-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/pinpoint/pinpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/pinpoint/pinpoint.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-blade-glow-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-blade-glow-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-blade-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-blade-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-blade-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-blade-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-blade-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-blade-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-glow-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-glow-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-preview.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-top-glow-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-top-glow-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-top-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-top-heat.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-top-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-top-l.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel-top-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel-top-r.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/sentinel/sentinel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/sentinel/sentinel.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/shock/shock-heat-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/shock/shock-heat-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/shock/shock-heat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/shock/shock-heat-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/shock/shock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/shock/shock.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/spark/spark-heat-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/spark/spark-heat-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/spark/spark-heat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/spark/spark-heat-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/spark/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/spark/spark.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-bottom.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-0.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-1.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-10.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-2.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-4.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-5.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-6.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-7.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-8.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-heat-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-heat-9.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-ring-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-ring-3.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-ring-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-ring-7.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/tesla/storm/storm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/tesla/storm/storm.png -------------------------------------------------------------------------------- /assets/sprites/blocks/turret/vaccinator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/turret/vaccinator.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/harmacist-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/harmacist-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/harmacist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/harmacist.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/rejuvenation-beacon-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/rejuvenation-beacon-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/rejuvenation-beacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/rejuvenation-beacon.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/speed-field-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/speed-field-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/speed-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/speed-field.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/strength-emitter-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/strength-emitter-top.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/strength-emitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/strength-emitter.png -------------------------------------------------------------------------------- /assets/sprites/blocks/units/unit-miner-depot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/blocks/units/unit-miner-depot.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/basic-rocket-b-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/basic-rocket-b-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/basic-rocket-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/basic-rocket-b.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/incendiary-rocket-b-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/incendiary-rocket-b-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/incendiary-rocket-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/incendiary-rocket-b.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/mistake-rocket-b-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/mistake-rocket-b-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/mistake-rocket-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/mistake-rocket-b.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-b-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-b-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-b.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-bit-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-bit-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-bit.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-split-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-split-cell.png -------------------------------------------------------------------------------- /assets/sprites/bullets/arbalest/splitter-rocket-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/arbalest/splitter-rocket-split.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/basic-missile-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/basic-missile-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/basic-missile-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/basic-missile-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/basic-missile-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/basic-missile-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/basic-missile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/basic-missile.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-bomb-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-bomb-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-bomb-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-bomb-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-bomb-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-bomb-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-bomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-bomb.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/bombing-missile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/bombing-missile.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-split-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-split-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-split-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-split-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-split-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-split-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile-split.png -------------------------------------------------------------------------------- /assets/sprites/bullets/artemis/recursive-missile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/artemis/recursive-missile.png -------------------------------------------------------------------------------- /assets/sprites/bullets/firestorm/firestorm-missile-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/firestorm/firestorm-missile-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/firestorm/firestorm-missile-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/firestorm/firestorm-missile-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/firestorm/firestorm-missile-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/firestorm/firestorm-missile-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/firestorm/firestorm-missile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/firestorm/firestorm-missile.png -------------------------------------------------------------------------------- /assets/sprites/bullets/halberd-beam-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/halberd-beam-end.png -------------------------------------------------------------------------------- /assets/sprites/bullets/halberd-beam-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/halberd-beam-start.png -------------------------------------------------------------------------------- /assets/sprites/bullets/halberd-beam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/halberd-beam.png -------------------------------------------------------------------------------- /assets/sprites/bullets/lance-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/lance-back.png -------------------------------------------------------------------------------- /assets/sprites/bullets/lance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/lance.png -------------------------------------------------------------------------------- /assets/sprites/bullets/magnet-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/magnet-back.png -------------------------------------------------------------------------------- /assets/sprites/bullets/magnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/magnet.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/basic-nuke-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/basic-nuke-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/basic-nuke-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/basic-nuke-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/basic-nuke-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/basic-nuke-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/basic-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/basic-nuke.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/black-hole-nuke-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/black-hole-nuke-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/black-hole-nuke-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/black-hole-nuke-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/black-hole-nuke-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/black-hole-nuke-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/black-hole-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/black-hole-nuke.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-split-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-split-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-split-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-split-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-split-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-split-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke-split.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/cluster-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/cluster-nuke.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/emp-nuke-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/emp-nuke-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/emp-nuke-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/emp-nuke-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/emp-nuke-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/emp-nuke-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/emp-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/emp-nuke.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/sandbox-nuke-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/sandbox-nuke-1.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/sandbox-nuke-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/sandbox-nuke-2.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/sandbox-nuke-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/sandbox-nuke-shadow.png -------------------------------------------------------------------------------- /assets/sprites/bullets/paragon/sandbox-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/paragon/sandbox-nuke.png -------------------------------------------------------------------------------- /assets/sprites/bullets/saw-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/saw-back.png -------------------------------------------------------------------------------- /assets/sprites/bullets/saw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/saw.png -------------------------------------------------------------------------------- /assets/sprites/bullets/swing-laser-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/swing-laser-end.png -------------------------------------------------------------------------------- /assets/sprites/bullets/swing-laser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/swing-laser.png -------------------------------------------------------------------------------- /assets/sprites/bullets/syringe-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/syringe-back.png -------------------------------------------------------------------------------- /assets/sprites/bullets/syringe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/bullets/syringe.png -------------------------------------------------------------------------------- /assets/sprites/items/techtanite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/items/techtanite.png -------------------------------------------------------------------------------- /assets/sprites/liquids/magma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/liquids/magma.png -------------------------------------------------------------------------------- /assets/sprites/payloads/missile/basic-missile-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/missile/basic-missile-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/missile/bombing-missile-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/missile/bombing-missile-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/missile/empty-missile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/missile/empty-missile.png -------------------------------------------------------------------------------- /assets/sprites/payloads/missile/recursive-missile-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/missile/recursive-missile-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/basic-nuke-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/basic-nuke-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/black-hole-nuke-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/black-hole-nuke-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/cluster-nuke-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/cluster-nuke-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/emp-nuke-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/emp-nuke-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/empty-nuke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/empty-nuke.png -------------------------------------------------------------------------------- /assets/sprites/payloads/nuke/sandbox-nuke-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/nuke/sandbox-nuke-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/basic-rocket-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/basic-rocket-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/basic-rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/basic-rocket.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/empty-rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/empty-rocket.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/incendiary-rocket-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/incendiary-rocket-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/incendiary-rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/incendiary-rocket.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/splitter-rocket-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/splitter-rocket-top.png -------------------------------------------------------------------------------- /assets/sprites/payloads/rocket/splitter-rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/rocket/splitter-rocket.png -------------------------------------------------------------------------------- /assets/sprites/payloads/sentry/basic-sentry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/sentry/basic-sentry.png -------------------------------------------------------------------------------- /assets/sprites/payloads/sentry/missile-sentry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/payloads/sentry/missile-sentry.png -------------------------------------------------------------------------------- /assets/sprites/statuses/corvus-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/corvus-19.png -------------------------------------------------------------------------------- /assets/sprites/statuses/disassembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/disassembly.png -------------------------------------------------------------------------------- /assets/sprites/statuses/emp-stun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/emp-stun.png -------------------------------------------------------------------------------- /assets/sprites/statuses/frenzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/frenzy.png -------------------------------------------------------------------------------- /assets/sprites/statuses/incend-burn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/incend-burn.png -------------------------------------------------------------------------------- /assets/sprites/statuses/pinpoint-target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/pinpoint-target.png -------------------------------------------------------------------------------- /assets/sprites/statuses/speed-boost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/speed-boost.png -------------------------------------------------------------------------------- /assets/sprites/statuses/strength-boost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/strength-boost.png -------------------------------------------------------------------------------- /assets/sprites/statuses/weaken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/statuses/weaken.png -------------------------------------------------------------------------------- /assets/sprites/ui/nanomachines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/ui/nanomachines.png -------------------------------------------------------------------------------- /assets/sprites/ui/settings-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/ui/settings-icon.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/large/large-flare-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/large/large-flare-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/large/large-flare-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/large/large-flare-full.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/large/large-flare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/large/large-flare.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/medium/medium-flare-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/medium/medium-flare-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/medium/medium-flare-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/medium/medium-flare-full.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/medium/medium-flare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/medium/medium-flare.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/small/small-flare-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/small/small-flare-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/small/small-flare-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/small/small-flare-full.png -------------------------------------------------------------------------------- /assets/sprites/units/flares/small/small-flare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/flares/small/small-flare.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-foot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-foot.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-full.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-leg-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-leg-base.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-leg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-leg.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug-you-have-incurred-my-wrath-prepare-to-die.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug-you-have-incurred-my-wrath-prepare-to-die.png -------------------------------------------------------------------------------- /assets/sprites/units/miner/draug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/miner/draug.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-anchor-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-anchor-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-anchor.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-full.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-gun-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-gun-l.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage-gun-r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage-gun-r.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/basic/barrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/basic/barrage.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-anchor-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-anchor-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-anchor.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-full.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-rocket-cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-rocket-cell.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour-rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour-rocket.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/missile/downpour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/missile/downpour.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/sentry-tether-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/sentry-tether-end.png -------------------------------------------------------------------------------- /assets/sprites/units/sentries/sentry-tether.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/sentries/sentry-tether.png -------------------------------------------------------------------------------- /assets/sprites/units/swords/ball-sword-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/swords/ball-sword-heat.png -------------------------------------------------------------------------------- /assets/sprites/units/swords/ball-sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/swords/ball-sword.png -------------------------------------------------------------------------------- /assets/sprites/units/swords/dance-sword-heat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/swords/dance-sword-heat.png -------------------------------------------------------------------------------- /assets/sprites/units/swords/dance-sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/assets/sprites/units/swords/dance-sword.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /images/MeepscConcepts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/MeepscConcepts.png -------------------------------------------------------------------------------- /images/ProgMin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/ProgMin.png -------------------------------------------------------------------------------- /images/banner/apotheosis/apotheosis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/apotheosis/apotheosis.png -------------------------------------------------------------------------------- /images/banner/apotheosis/banner-apotheosis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/apotheosis/banner-apotheosis.png -------------------------------------------------------------------------------- /images/banner/god damnit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/god damnit.png -------------------------------------------------------------------------------- /images/banner/icon-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/icon-shadow.png -------------------------------------------------------------------------------- /images/banner/original/banner java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/original/banner java.png -------------------------------------------------------------------------------- /images/banner/original/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/original/banner.png -------------------------------------------------------------------------------- /images/banner/rocket/pos 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/rocket/pos 1.png -------------------------------------------------------------------------------- /images/banner/rocket/pos 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/rocket/pos 2.png -------------------------------------------------------------------------------- /images/banner/rocket/rocket-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/rocket/rocket-banner.png -------------------------------------------------------------------------------- /images/banner/rocket/with nukes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MEEPofFaith/prog-mats-java/70d07495869c89024b0401c734935712f84e4e2a/images/banner/rocket/with nukes.png -------------------------------------------------------------------------------- /mod.hjson: -------------------------------------------------------------------------------- 1 | { 2 | "displayName": "Meepscellaneous Concepts", 3 | "subtitle": "The machinations of a madman.", 4 | "description": "A collection of random ideas that come to my head.\n\n[red]REQUIRES `MEEPofFaith/black-hole-renderer` TO RUN.[]", 5 | "version": 30.1, 6 | "minGameVersion": 149, 7 | "author": "MEEP of Faith (And a bunch of contributors. Load the game with Meepscillaneous Concepts enabled to view them!)", 8 | "java": true, 9 | "main": "progressed.ProgMats", 10 | "repo": "MEEPofFaith/prog-mats-java", 11 | "dependencies": ["black-hole-renderer"] 12 | } 13 | -------------------------------------------------------------------------------- /revisions/NoCoreDepositBuildingTetherLegsUnit/0.json: -------------------------------------------------------------------------------- 1 | {fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:building,type:mindustry.gen.Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} -------------------------------------------------------------------------------- /revisions/SentryUnit/0.json: -------------------------------------------------------------------------------- 1 | {fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:anchorDrag,type:float},{name:anchorRot,type:float},{name:anchorVel,type:arc.math.geom.Vec2},{name:anchorX,type:float},{name:anchorY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} -------------------------------------------------------------------------------- /revisions/SignalFlareUnit/0.json: -------------------------------------------------------------------------------- 1 | {fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:building,type:mindustry.gen.Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:height,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} -------------------------------------------------------------------------------- /revisions/SwordUnit/0.json: -------------------------------------------------------------------------------- 1 | {fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:building,type:mindustry.gen.Building},{name:collided,type:arc.struct.IntSeq},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:heat,type:float},{name:isShooting,type:boolean},{name:lastBaseX,type:float},{name:lastBaseY,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:orbitPos,type:int},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} -------------------------------------------------------------------------------- /revisions/TurretParentEffectState/0.json: -------------------------------------------------------------------------------- 1 | {fields:[{name:color,type:arc.graphics.Color},{name:data,type:java.lang.Object},{name:effect,type:mindustry.entities.Effect},{name:lifetime,type:float},{name:offsetPos,type:float},{name:offsetRot,type:float},{name:offsetX,type:float},{name:offsetY,type:float},{name:parent,type:mindustry.gen.Posc},{name:rotWithParent,type:boolean},{name:rotation,type:float},{name:time,type:float},{name:x,type:float},{name:y,type:float}]} -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement{ 2 | repositories{ 3 | gradlePluginPortal() 4 | maven("https://raw.githubusercontent.com/GglLfr/EntityAnnoMaven/main") 5 | } 6 | 7 | plugins{ 8 | val entVersion: String by settings 9 | id("com.github.GglLfr.EntityAnno") version(entVersion) 10 | } 11 | } 12 | 13 | if(JavaVersion.current().ordinal < JavaVersion.VERSION_17.ordinal){ 14 | throw IllegalStateException("JDK 17 is a required minimum version. Yours: ${System.getProperty("java.version")}") 15 | } 16 | 17 | val modName: String by settings 18 | rootProject.name = modName 19 | -------------------------------------------------------------------------------- /src/progressed/ai/DelayMissileAI.java: -------------------------------------------------------------------------------- 1 | package progressed.ai; 2 | 3 | import arc.math.*; 4 | import mindustry.ai.types.*; 5 | import mindustry.gen.*; 6 | import progressed.type.unit.*; 7 | 8 | public class DelayMissileAI extends MissileAI{ 9 | @Override 10 | public void updateMovement(){ 11 | unloadPayloads(); 12 | 13 | float time = unit instanceof TimedKillc t ? t.time() : unit.type.homingDelay; 14 | 15 | if(time >= unit.type.homingDelay && shooter != null){ 16 | unit.lookAt(shooter.aimX, shooter.aimY); 17 | } 18 | 19 | //move forward forever 20 | unit.moveAt(vec.trns(unit.rotation, unit.type.missileAccelTime <= 0f ? unit.speed() : Mathf.pow(Math.min(time / unit.type.missileAccelTime, 1f), 2f) * unit.speed())); 21 | 22 | //kill instantly on enemy building contact after delay 23 | if(time < unit.type.homingDelay) return; 24 | var build = unit.buildOn(); 25 | if(build != null && build.team != unit.team && (build == target || !build.block.underBullets)){ 26 | unit.kill(); 27 | } 28 | } 29 | 30 | @Override 31 | public boolean retarget(){ 32 | return (!(unit instanceof TimedKillc t) || !(t.time() < ((RocketUnitType)unit.type).targetDelay)) && super.retarget(); 33 | } 34 | 35 | @Override 36 | public Teamc target(float x, float y, float range, boolean air, boolean ground){ 37 | if(unit instanceof TimedKillc t && t.time() < ((RocketUnitType)unit.type).targetDelay) return null; 38 | 39 | return super.target(x, y, range, air, ground); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/progressed/ai/EmptyAI.java: -------------------------------------------------------------------------------- 1 | package progressed.ai; 2 | 3 | import mindustry.entities.units.*; 4 | import mindustry.gen.*; 5 | 6 | public class EmptyAI implements UnitController{ 7 | protected Unit unit; 8 | 9 | @Override 10 | public Unit unit(){ 11 | return unit; 12 | } 13 | 14 | @Override 15 | public void unit(Unit unit){ 16 | this.unit = unit; 17 | } 18 | 19 | @Override 20 | public boolean isValidController(){ 21 | return true; 22 | } 23 | 24 | @Override 25 | public void updateUnit(){} 26 | 27 | @Override 28 | public void removed(Unit unit){} 29 | } 30 | -------------------------------------------------------------------------------- /src/progressed/ai/SentryAI.java: -------------------------------------------------------------------------------- 1 | package progressed.ai; 2 | 3 | import mindustry.entities.*; 4 | import mindustry.entities.units.*; 5 | 6 | public class SentryAI extends AIController{ 7 | @Override 8 | public void updateMovement(){ 9 | if(!Units.invalidateTarget(target, unit, unit.range()) && unit.type.faceTarget && unit.type.hasWeapons()){ 10 | unit.lookAt(Predict.intercept(unit, target, unit.type.weapons.first().bullet.speed)); 11 | } 12 | } 13 | 14 | @Override 15 | public boolean retarget(){ 16 | return timer.get(timerTarget, target == null ? 10f : 20f); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/progressed/audio/PitchedSoundLoop.java: -------------------------------------------------------------------------------- 1 | package progressed.audio; 2 | 3 | import arc.*; 4 | import arc.audio.*; 5 | 6 | /** @author GlennFolker */ 7 | public class PitchedSoundLoop{ 8 | private final Sound sound; 9 | private int id = -1; 10 | private float baseVolume; 11 | 12 | public PitchedSoundLoop(Sound sound, float baseVolume){ 13 | this.sound = sound; 14 | this.baseVolume = baseVolume; 15 | } 16 | 17 | public void update(float x, float y, float volume, float pitch){ 18 | if(baseVolume <= 0f) return; 19 | 20 | if(id < 0 && volume > 0.001f){ 21 | id = sound.loop(sound.calcVolume(x, y) * volume * baseVolume, 1f, sound.calcPan(x, y)); 22 | }else if(id >= 0){ 23 | if(volume <= 0.001f){ 24 | Core.audio.stop(id); 25 | id = -1; 26 | return; 27 | } 28 | 29 | Core.audio.set(id, sound.calcPan(x, y), sound.calcVolume(x, y) * volume * baseVolume); 30 | Core.audio.setPitch(id, pitch); 31 | } 32 | } 33 | 34 | public void stop(){ 35 | if(id != -1){ 36 | Core.audio.stop(id); 37 | id = -1; 38 | baseVolume = -1f; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /src/progressed/content/PMItems.java: -------------------------------------------------------------------------------- 1 | package progressed.content; 2 | 3 | import arc.graphics.*; 4 | import mindustry.type.*; 5 | 6 | public class PMItems{ 7 | public static Item 8 | tenelium; 9 | 10 | public static void load(){ 11 | tenelium = new Item("techtanite", Color.valueOf("B0BAC0")){{ 12 | explosiveness = 0.1f; 13 | radioactivity = 1.2f; 14 | cost = 1.6f; 15 | hideDetails = false; 16 | }}; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/progressed/content/PMLiquids.java: -------------------------------------------------------------------------------- 1 | package progressed.content; 2 | 3 | import arc.graphics.*; 4 | import mindustry.content.*; 5 | import mindustry.type.*; 6 | 7 | public class PMLiquids{ 8 | public static Liquid 9 | magma; 10 | 11 | public static void load() { 12 | magma = new Liquid("magma"){{ 13 | effect = StatusEffects.melting; 14 | flammability = temperature = 2f; 15 | viscosity = 0.3f; 16 | color = lightColor = Color.valueOf("F58859"); 17 | hideDetails = false; 18 | hidden = true; 19 | }}; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/progressed/content/PMLoadouts.java: -------------------------------------------------------------------------------- 1 | package progressed.content; 2 | 3 | import arc.struct.*; 4 | import mindustry.*; 5 | import mindustry.game.*; 6 | import mindustry.world.blocks.storage.*; 7 | import progressed.content.blocks.*; 8 | 9 | public class PMLoadouts{ 10 | public static Schematic 11 | basicCripple; 12 | 13 | public static void load(){ 14 | if(Vars.headless) return; 15 | 16 | basicCripple = Schematics.readBase64("bXNjaAF4nGNgYmBiZmDJS8xNZeB1SizOTFZwLsosKMhJZeBOSS1OBrJLMvPzGBgY2HISk1JzihmYomMZGcQKivLTdXMTS4p1k/OLUnWToXoYGBgZwIARACq+FxI="); 17 | Vars.schematics.getLoadouts().get((CoreBlock)PMBlocks.coreShatter, Seq::new).add(basicCripple); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/progressed/content/PMSounds.java: -------------------------------------------------------------------------------- 1 | package progressed.content; 2 | 3 | import arc.audio.*; 4 | import arc.files.*; 5 | import mindustry.*; 6 | import mindustry.gen.*; 7 | import mindustry.world.blocks.power.*; 8 | 9 | import static mindustry.Vars.*; 10 | 11 | /** 12 | * For how to make this. Just copy over and adjust the code. 13 | * @author GlennFolker 14 | */ 15 | public class PMSounds{ 16 | public static Sound 17 | 18 | pixelShoot = new Sound(), 19 | pixelHit = new Sound(), 20 | rockExplode = new Sound(), 21 | nuclearExplosion = new Sound(), 22 | pulseBeam = new Sound(), 23 | funiBoom = new Sound(), 24 | gigaFard = new Sound(); 25 | 26 | public static void load() { 27 | if(Vars.headless) return; 28 | 29 | pixelShoot = Vars.tree.loadSound("pixel-shoot"); 30 | pixelHit = Vars.tree.loadSound("pixel-hit"); 31 | rockExplode = Vars.tree.loadSound("rock-explode"); 32 | nuclearExplosion = Vars.tree.loadSound("nuclear-explosion"); 33 | pulseBeam = Vars.tree.loadSound("pulse-beam"); 34 | funiBoom = Vars.tree.loadSound("funi-boom"); 35 | gigaFard = Vars.tree.loadSound("giga-fard"); 36 | } 37 | 38 | public static void overrideSounds(){ 39 | if(Vars.headless) return; 40 | 41 | content.blocks().each(b -> b.destroySound = Sounds.wind3); 42 | content.blocks().each(b -> b instanceof PowerGenerator, (PowerGenerator b) -> b.explodeSound = funiBoom); 43 | content.units().each(u -> u.deathSound = Sounds.wind3); 44 | 45 | Sounds.press.load(soundFile("press-boom")); 46 | } 47 | 48 | protected static String soundPath(String soundName){ 49 | String name = "sounds/" + soundName; 50 | return Vars.tree.get(name + ".ogg").exists() ? name + ".ogg" : name + ".mp3"; 51 | } 52 | 53 | protected static Fi soundFile(String soundName){ 54 | return Vars.tree.get(soundPath(soundName)); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/progressed/content/bullets/MinigunBullets.java: -------------------------------------------------------------------------------- 1 | package progressed.content.bullets; 2 | 3 | import mindustry.content.*; 4 | import mindustry.entities.bullet.*; 5 | import mindustry.entities.effect.*; 6 | import mindustry.graphics.*; 7 | 8 | public class MinigunBullets{ 9 | public static BulletType 10 | 11 | standardCopperMini, standardDenseMini, standardHomingMini, standardIncendiaryMini, standardThoriumMini; 12 | 13 | public static void load(){ 14 | standardCopperMini = new BasicBulletType(2.5f, 19f){{ 15 | width = 5f; 16 | height = 7f; 17 | lifetime = 110f; 18 | }}; 19 | 20 | standardDenseMini = new BasicBulletType(3.5f, 42f){{ 21 | width = 5.5f; 22 | height = 9f; 23 | reloadMultiplier = 0.6f; 24 | ammoMultiplier = 4; 25 | lifetime = 76f; 26 | }}; 27 | 28 | standardHomingMini = new BasicBulletType(3f, 24f){{ 29 | width = 4f; 30 | height = 6f; 31 | homingPower = 0.07f; 32 | reloadMultiplier = 1.3f; 33 | ammoMultiplier = 5; 34 | lifetime = 92f; 35 | }}; 36 | 37 | standardIncendiaryMini = new BasicBulletType(3.2f, 21f){{ 38 | width = 5f; 39 | height = 8f; 40 | frontColor = Pal.lightishOrange; 41 | backColor = Pal.lightOrange; 42 | inaccuracy = 5f; 43 | makeFire = true; 44 | lifetime = 86f; 45 | hitEffect = despawnEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit); 46 | }}; 47 | 48 | standardThoriumMini = new BasicBulletType(4f, 54f){{ 49 | width = 6f; 50 | height = 11f; 51 | shootEffect = Fx.shootBig; 52 | smokeEffect = Fx.shootBigSmoke; 53 | ammoMultiplier = 4f; 54 | lifetime = 66f; 55 | }}; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/progressed/content/bullets/ModuleBullets.java: -------------------------------------------------------------------------------- 1 | package progressed.content.bullets; 2 | 3 | import mindustry.entities.bullet.*; 4 | import mindustry.gen.*; 5 | import progressed.content.effects.*; 6 | import progressed.entities.bullet.pseudo3d.*; 7 | import progressed.graphics.*; 8 | 9 | public class ModuleBullets{ 10 | public static BulletType 11 | 12 | firestormMissile; 13 | 14 | public static void load(){ 15 | firestormMissile = new ArcMissileBulletType("prog-mats-firestorm-missile"){{ 16 | lifetime = 75f; 17 | splashDamage = 170f; 18 | splashDamageRadius = 32f; 19 | buildingDamageMultiplier = 0.3f; 20 | hitShake = 3f; 21 | collidesAir = false; 22 | ammoMultiplier = 12; 23 | 24 | accel = 0.2f; 25 | gravity = 0.3f; 26 | trailLength = 15; 27 | trailWidth = 1f; 28 | trailColor = targetColor = PMPal.missileBasic; 29 | hitSound = Sounds.explosion; 30 | 31 | hitEffect = MissileFx.smallBoom; 32 | absorbEffect = Pseudo3DFx.absorbedSmall; 33 | }}; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/progressed/content/effects/CrafterFx.java: -------------------------------------------------------------------------------- 1 | package progressed.content.effects; 2 | 3 | import arc.graphics.*; 4 | import arc.graphics.g2d.*; 5 | import arc.math.*; 6 | import mindustry.content.*; 7 | import mindustry.entities.*; 8 | import mindustry.graphics.*; 9 | 10 | import static arc.graphics.g2d.Draw.*; 11 | import static arc.graphics.g2d.Lines.*; 12 | import static arc.math.Angles.*; 13 | 14 | public class CrafterFx{ 15 | public static Effect 16 | 17 | colliderFusion = new Effect(30f, e -> { 18 | color(Color.gray); 19 | e.scaled(15f, s -> { 20 | stroke(s.fout()); 21 | Lines.circle(e.x, e.y, 3f * s.fout()); 22 | }); 23 | 24 | stroke(1f); 25 | 26 | randLenVectors(e.id, 16, 5f * e.fout(), e.rotation, 180f, (x, y) -> { 27 | float ang = angle(x, y) - 180f; 28 | Lines.lineAngle(e.x + x, e.y + y, ang, e.fslope() * 5f); 29 | }); 30 | }).layer(Layer.block + 0.5f), 31 | 32 | superSmeltsmoke = new Effect(15, e -> { 33 | randLenVectors(e.id, 14, 6f + e.fin() * 18f, (x, y) -> { 34 | color(Color.white, e.color, e.fin()); 35 | Fill.square(e.x + x, e.y + y, 0.5f + e.fout() * 3f, 45); 36 | }); 37 | }), 38 | 39 | teneliumFuse = new Effect(50f, e -> { 40 | color(Liquids.slag.color); 41 | alpha(e.fslope() * 0.8f); 42 | 43 | Mathf.rand.setSeed(e.id + 2); 44 | randLenVectors(e.id, 5, 3f, 9f * e.fin(), (x, y) -> { 45 | Fill.circle(e.x + x, e.y + y, Mathf.rand.random(0.65f, 1.5f)); 46 | }); 47 | }).layer(Layer.bullet - 1f); 48 | } 49 | -------------------------------------------------------------------------------- /src/progressed/content/effects/LightningFx.java: -------------------------------------------------------------------------------- 1 | package progressed.content.effects; 2 | 3 | import arc.graphics.*; 4 | import mindustry.graphics.*; 5 | import progressed.entities.*; 6 | 7 | public class LightningFx{ 8 | public static LightningEffect 9 | 10 | groundCrack = new LightningEffect(20f, 500f, 1.5f).layer(Layer.debris - 0.01f).extend(true).width(10f), 11 | 12 | staticLightning = new LightningEffect(10f, 500f, 2f).colorFrom(Color.white).layer(Layer.bullet + 0.01f).width(5f), 13 | 14 | teslaLightning = new LightningEffect(10f, 500f, 3.5f).colorFrom(Color.white).layer(Layer.bullet + 0.01f).shrink(true), 15 | 16 | flameBeam = new LightningEffect(10f, 500f, 3f).colorFrom(Color.white).layer(Layer.bullet + 0.01f).width(16f).shrink(true), 17 | 18 | blazeBeam = new LightningEffect(10f, 500f, 4f).colorFrom(Color.white).layer(Layer.bullet + 0.01f).width(20f).shrink(true), 19 | 20 | empLightning = new LightningEffect(60f, 500f, 2f).colorFrom(Color.white).width(12f).extend(true); 21 | } 22 | -------------------------------------------------------------------------------- /src/progressed/content/effects/TrailFadeFx.java: -------------------------------------------------------------------------------- 1 | package progressed.content.effects; 2 | 3 | import arc.util.*; 4 | import mindustry.entities.*; 5 | import mindustry.graphics.*; 6 | import progressed.entities.bullet.explosive.RocketBulletType.*; 7 | import progressed.graphics.draw3d.*; 8 | import progressed.graphics.trails.*; 9 | 10 | import static arc.graphics.g2d.Draw.*; 11 | import static mindustry.Vars.*; 12 | 13 | public class TrailFadeFx{ 14 | public static Effect 15 | 16 | PMTrailFade = new Effect(400f, e -> { 17 | if(!(e.data instanceof PMTrail trail)) return; 18 | //lifetime is how many frames it takes to fade out the trail 19 | e.lifetime = trail.length * 1.4f; 20 | 21 | if(!state.isPaused()){ 22 | trail.shorten(); 23 | } 24 | trail.draw(e.color, e.rotation); 25 | trail.drawCap(e.color, e.rotation); 26 | }), 27 | 28 | rocketTrailFade = new Effect(440f, e -> { 29 | if(!(e.data instanceof RocketTrailData data)) return; 30 | z(data.layer); 31 | //lifetime is how many frames it takes to fade out the trail 32 | e.lifetime = data.trail.length * 1.4f; 33 | 34 | if(!state.isPaused()){ 35 | data.trail.shorten(); 36 | } 37 | data.trail.draw(e.color, e.rotation); 38 | data.trail.drawCap(e.color, e.rotation); 39 | }), 40 | 41 | driftTrailFade = new Effect(400f, e -> { 42 | if(!(e.data instanceof DriftTrail trail)) return; 43 | //lifetime is how many frames it takes to fade out the trail 44 | e.lifetime = trail.length * 1.4f; 45 | 46 | if(!state.isPaused()){ 47 | trail.shorten(); 48 | trail.drift(); 49 | } 50 | trail.draw(e.color, e.rotation); 51 | trail.drawCap(e.color, e.rotation); 52 | }), 53 | 54 | zTrailFade = new Effect(400f, e -> { 55 | if(!(e.data instanceof ZTrail trail)) return; 56 | //lifetime is how many frames it takes to fade out the trail 57 | e.lifetime = trail.length * 1.4f; 58 | 59 | if(!state.isPaused()){ 60 | trail.shorten(); 61 | } 62 | int col = e.color.rgba8888(); 63 | float size = e.rotation; 64 | Draw3D.highBloom(() -> { 65 | Tmp.c1.rgba8888(col); 66 | trail.draw(Tmp.c1, size); 67 | trail.drawCap(Tmp.c1, size); 68 | }); 69 | }).layer(Layer.flyingUnit + 1.9f); 70 | } 71 | -------------------------------------------------------------------------------- /src/progressed/entities/EntityDefs.java: -------------------------------------------------------------------------------- 1 | package progressed.entities; 2 | 3 | import ent.anno.Annotations.*; 4 | import mindustry.gen.*; 5 | import progressed.gen.entities.*; 6 | 7 | class EntityDefs{ 8 | @EntityDef({Unitc.class, Legsc.class, BuildingTetherc.class, NoCoreDepositc.class}) Object noCoreDepositBuildingTetherLegsUnit; 9 | } 10 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/TargetBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet; 2 | 3 | import arc.*; 4 | import arc.util.*; 5 | import mindustry.content.*; 6 | import mindustry.entities.*; 7 | import mindustry.entities.bullet.*; 8 | import mindustry.game.EventType.*; 9 | import mindustry.gen.*; 10 | import mindustry.type.*; 11 | 12 | public class TargetBulletType extends BasicBulletType{ 13 | static final UnitDamageEvent bulletDamageEvent = new UnitDamageEvent(); 14 | 15 | public float tDamage; 16 | public StatusEffect tStatus = StatusEffects.none; 17 | public Effect tHitEffect = Fx.none; 18 | public float tStatusDuration = 10f * 60f; 19 | 20 | public TargetBulletType(float speed, float damage, float tDamage, String bulletSprite){ 21 | super(speed, damage, bulletSprite); 22 | this.tDamage = tDamage; 23 | 24 | pierce = true; 25 | } 26 | 27 | public TargetBulletType(float speed, float damage, float tDamage){ 28 | this(speed, damage, tDamage, "bullet"); 29 | } 30 | 31 | public TargetBulletType(float speed, float tDamage){ 32 | this(speed, 0f, tDamage); 33 | } 34 | 35 | @Override 36 | public void hitEntity(Bullet b, Hitboxc entity, float initialHealth){ 37 | boolean wasDead = entity instanceof Unit u && u.dead; 38 | boolean tHit = b.data.equals(entity); 39 | 40 | if(entity instanceof Healthc h){ 41 | float damage = tHit ? tDamage * b.damageMultiplier() : b.damage; 42 | 43 | if(pierceArmor){ 44 | h.damagePierce(damage); 45 | }else{ 46 | h.damage(damage); 47 | } 48 | } 49 | 50 | if(entity instanceof Unit unit){ 51 | Tmp.v3.set(unit).sub(b).nor().scl(knockback * 80f); 52 | if(impact) Tmp.v3.setAngle(b.rotation() + (knockback < 0 ? 180f : 0f)); 53 | unit.impulse(Tmp.v3); 54 | unit.apply(tHit ? tStatus : status, tHit ? tStatusDuration : statusDuration); 55 | 56 | Events.fire(bulletDamageEvent.set(unit, b)); 57 | } 58 | 59 | if(!wasDead && entity instanceof Unit unit && unit.dead){ 60 | Events.fire(new UnitBulletDestroyEvent(unit, b)); 61 | } 62 | 63 | if(tHit){ 64 | tHitEffect.at(b.x, b.y); 65 | b.hit = true; 66 | b.remove(); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/energy/AbyssBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.energy; 2 | 3 | import arc.math.*; 4 | import arc.math.geom.*; 5 | import arc.util.*; 6 | import blackhole.utils.*; 7 | import mindustry.content.*; 8 | import mindustry.entities.*; 9 | import mindustry.entities.bullet.*; 10 | import mindustry.gen.*; 11 | import progressed.entities.*; 12 | 13 | public class AbyssBulletType extends BulletType{ 14 | 15 | public float length = 10f * 8f; 16 | public int swirlEffects = 10; 17 | public float maxSwirlDelay = 5f; 18 | public float swirlRad = -1f; 19 | 20 | public Effect beamEffect = Fx.none; 21 | public Effect swirlEffect = Fx.none; 22 | public Effect growEffect = Fx.none; 23 | 24 | static{ 25 | BlackHoleUtils.immuneBulletTypes.add(AbyssBulletType.class); 26 | } 27 | 28 | public AbyssBulletType(){ 29 | super(0.01f, 0f); 30 | 31 | hitEffect = despawnEffect = Fx.none; 32 | shootEffect = Fx.hitLancer; 33 | smokeEffect = Fx.none; 34 | keepVelocity = false; 35 | collides = false; 36 | hittable = false; 37 | absorbable = false; 38 | scaledSplashDamage = true; 39 | } 40 | 41 | @Override 42 | public void init(){ 43 | super.init(); 44 | 45 | if(swirlRad < 0) swirlRad = splashDamageRadius; 46 | } 47 | 48 | @Override 49 | protected float calculateRange(){ 50 | return Math.max(length, maxRange); 51 | } 52 | 53 | @Override 54 | public void init(Bullet b){ 55 | super.init(b); 56 | 57 | Tmp.v1.set(PMDamage.linecast(collidesGround, collidesAir, b.team, b.x, b.y, b.rotation(), length)); 58 | 59 | if(beamEffect != Fx.none){ 60 | beamEffect.at(b.x, b.y, b.angleTo(Tmp.v1), new Vec2(Tmp.v1)); 61 | } 62 | 63 | b.set(Tmp.v1); 64 | 65 | if(swirlEffect != Fx.none){ 66 | for(int i = 0; i < swirlEffects; i++){ 67 | Time.run(Mathf.random() * maxSwirlDelay, () -> { 68 | swirlEffect.at(b.x, b.y, swirlRad); 69 | }); 70 | } 71 | } 72 | 73 | if(growEffect != Fx.none){ 74 | growEffect.at(b.x, b.y, b.team.color); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/energy/BitBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.energy; 2 | 3 | import arc.graphics.*; 4 | import arc.graphics.g2d.*; 5 | import arc.math.*; 6 | import arc.util.*; 7 | import mindustry.content.*; 8 | import mindustry.entities.bullet.*; 9 | import mindustry.gen.*; 10 | import progressed.content.*; 11 | import progressed.content.effects.*; 12 | import progressed.graphics.*; 13 | 14 | public class BitBulletType extends BulletType{ 15 | public float size, trailDelay; 16 | 17 | public BitBulletType(float speed, float damage){ 18 | super(speed, damage); 19 | 20 | shootEffect = Fx.none; 21 | smokeEffect = Fx.none; 22 | hitEffect = despawnEffect = EnergyFx.bitBurst; 23 | trailEffect = EnergyFx.bitTrail; 24 | absorbable = hittable = false; 25 | hitSound = PMSounds.pixelHit; 26 | displayAmmoMultiplier = false; 27 | } 28 | 29 | public BitBulletType(){ 30 | this(1f, 1f); 31 | } 32 | 33 | @Override 34 | public void update(Bullet b){ 35 | super.update(b); 36 | 37 | if(b.timer(1, trailDelay)){ 38 | trailEffect.at(b.x, b.y, size/2f); 39 | } 40 | } 41 | 42 | @Override 43 | public void draw(Bullet b){ 44 | float offset = Mathf.randomSeed(b.id); 45 | Color c = Tmp.c1.set(PMPal.pixelFront).lerp(PMPal.pixelBack, Mathf.absin(Time.time * 0.05f + offset, 1f, 1f)); 46 | Draw.color(c); 47 | Fill.rect(b.x, b.y, size, size); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/energy/LaserBlastBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.energy; 2 | 3 | import arc.graphics.*; 4 | import arc.graphics.g2d.*; 5 | import arc.util.*; 6 | import mindustry.content.*; 7 | import mindustry.entities.bullet.*; 8 | import mindustry.gen.*; 9 | import mindustry.graphics.*; 10 | import progressed.graphics.*; 11 | 12 | import static mindustry.Vars.*; 13 | 14 | public class LaserBlastBulletType extends BulletType{ 15 | public float length, width; 16 | 17 | public LaserBlastBulletType(float speed, float damage){ 18 | super(speed, damage); 19 | trailWidth = -1f; 20 | shootEffect = smokeEffect = Fx.none; 21 | displayAmmoMultiplier = false; 22 | } 23 | 24 | @Override 25 | public void init(){ 26 | super.init(); 27 | 28 | if(trailWidth < 0) trailWidth = width / 2f; 29 | } 30 | 31 | @Override 32 | public void updateTrail(Bullet b){ 33 | if(!headless && trailLength > 0){ 34 | if(b.trail == null){ 35 | b.trail = new Trail(trailLength); 36 | } 37 | b.trail.length = trailLength; 38 | Tmp.v1.trns(b.rotation() - 180f, length / 2f - width / 2f); 39 | b.trail.update(b.x + Tmp.v1.x, b.y + Tmp.v1.y); 40 | } 41 | } 42 | 43 | @Override 44 | public void draw(Bullet b){ 45 | drawTrail(b); 46 | 47 | Draw.color(hitColor); 48 | PMDrawf.pill(b.x, b.y, b.rotation(), length, width); 49 | 50 | Draw.color(Color.white); 51 | PMDrawf.pill(b.x, b.y, b.rotation(), length / 2f, width / 2f); 52 | 53 | Draw.color(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/physical/InjectorBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.physical; 2 | 3 | import arc.graphics.g2d.*; 4 | import arc.math.*; 5 | import mindustry.entities.bullet.*; 6 | import mindustry.gen.*; 7 | import mindustry.graphics.*; 8 | import mindustry.type.*; 9 | import progressed.util.*; 10 | 11 | public class InjectorBulletType extends BasicBulletType{ 12 | public Vaccine[] vaccines; 13 | public boolean nanomachines; 14 | 15 | public InjectorBulletType(float speed, float damage, String bulletSprite){ 16 | super(speed, damage, bulletSprite); 17 | } 18 | 19 | public InjectorBulletType(float speed, float damage){ 20 | this(speed, damage, "prog-mats-syringe"); 21 | } 22 | 23 | @Override 24 | public void init(){ 25 | super.init(); 26 | 27 | if(vaccines == null){ 28 | PMUtls.uhOhSpeghettiOh("Injector bullet " + this + " does not have any nanomachines!"); 29 | } 30 | } 31 | 32 | @Override 33 | public void init(Bullet b){ 34 | super.init(b); 35 | 36 | b.data = vaccines[Mathf.random(vaccines.length - 1)]; 37 | } 38 | 39 | @Override 40 | public void draw(Bullet b){ 41 | Draw.z(Layer.bullet - 0.03f); 42 | Draw.color(); 43 | Draw.rect(backRegion, b.x, b.y, width, height, b.rotation() - 90f); 44 | Draw.color(((Vaccine)(b.data)).status.color); 45 | Draw.rect(frontRegion, b.x, b.y, width, height, b.rotation() - 90f); 46 | Draw.reset(); 47 | } 48 | 49 | @Override 50 | public void hitEntity(Bullet b, Hitboxc entity, float initialHealth){ 51 | super.hitEntity(b, entity, initialHealth); 52 | 53 | if(entity instanceof Unit unit){ 54 | Vaccine v = (Vaccine)b.data; 55 | unit.apply(v.status, v.duration); 56 | } 57 | } 58 | 59 | public static class Vaccine{ 60 | public StatusEffect status; 61 | public float duration; 62 | 63 | public Vaccine(StatusEffect status, float duration){ 64 | this.status = status; 65 | this.duration = duration; 66 | } 67 | 68 | public Vaccine(StatusEffect status){ 69 | this(status, 60f * 5f); 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /src/progressed/entities/bullet/pseudo3d/ArcBombBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.pseudo3d; 2 | 3 | import mindustry.gen.*; 4 | 5 | public class ArcBombBulletType extends ArcMissileBulletType{ 6 | public float zVelOffset; 7 | 8 | public ArcBombBulletType(float damage, float radius, String sprite){ 9 | super(0f, sprite); 10 | splashDamage = damage; 11 | splashDamageRadius = radius; 12 | } 13 | 14 | public ArcBombBulletType(String sprite){ 15 | this(0f, 0f, sprite); 16 | } 17 | 18 | @Override 19 | public void arcBulletDataInit(Bullet b){ 20 | ArcBulletData a = (ArcBulletData)b.data; 21 | a.zVel += zVelOffset; 22 | a.updateLifetime(b); 23 | a.setAccel(0f); 24 | } 25 | 26 | @Override 27 | public void update(Bullet b){ 28 | super.update(b); 29 | ArcBulletData a = (ArcBulletData)b.data; 30 | a.updateAimPos(b); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/pseudo3d/SkyBeamBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.pseudo3d; 2 | 3 | import arc.graphics.*; 4 | import blackhole.utils.*; 5 | import mindustry.content.*; 6 | import mindustry.entities.bullet.*; 7 | import mindustry.gen.*; 8 | import progressed.graphics.*; 9 | import progressed.graphics.draw3d.*; 10 | 11 | import static mindustry.Vars.*; 12 | 13 | public class SkyBeamBulletType extends BulletType{ 14 | public float z = 50f * tilesize; 15 | public float radius = tilesize; 16 | public boolean bloom = true; 17 | public Color baseColor = PMPal.nexusLaserDark; 18 | public Color topColor = PMPal.nexusLaser; 19 | 20 | static{ 21 | BlackHoleUtils.immuneBulletTypes.add(SkyBeamBulletType.class); 22 | } 23 | 24 | public SkyBeamBulletType(float speed, float damage){ 25 | super(speed, damage); 26 | 27 | hittable = absorbable = reflectable = false; 28 | pierce = pierceBuilding = true; 29 | layer = PMLayer.skyBloom; 30 | shootEffect = smokeEffect = Fx.none; 31 | } 32 | 33 | @Override 34 | public void init(){ 35 | super.init(); 36 | drawSize = Math.max(drawSize, range); 37 | } 38 | 39 | @Override 40 | public void draw(Bullet b){ 41 | super.draw(b); 42 | 43 | Draw3D.highBloom(bloom, () -> Fill3D.slantTube(b.x, b.y, b.originX, b.originY, z, radius, baseColor, topColor)); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/unit/SentryBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.unit; 2 | 3 | import arc.graphics.g2d.*; 4 | import mindustry.content.*; 5 | import mindustry.entities.bullet.*; 6 | import mindustry.gen.*; 7 | import mindustry.graphics.*; 8 | import mindustry.type.*; 9 | import progressed.gen.entities.*; 10 | 11 | public class SentryBulletType extends BulletType{ 12 | public SentryBulletType(UnitType unit){ 13 | super(10f, 0f); 14 | despawnUnit = unit; 15 | despawnUnitRadius = 0f; 16 | 17 | lifetime = 35f; 18 | collidesGround = collidesAir = collidesTiles = collides = false; 19 | scaleLife = true; 20 | hitEffect = despawnEffect = Fx.none; 21 | ammoMultiplier = 1f; 22 | layer = Layer.turret + 0.01f; 23 | } 24 | 25 | @Override 26 | public void init(Bullet b){ 27 | super.init(b); 28 | 29 | b.data = despawnUnit.create(b.team); 30 | } 31 | 32 | @Override 33 | public void draw(Bullet b){ 34 | Unit u = (Unit)b.data; 35 | u.set(b); 36 | u.rotation(b.rotation()); 37 | float z = Draw.z(); 38 | Draw.z(Math.min(Layer.darkness, z - 1f)); 39 | u.type.drawShadow(u); 40 | Draw.z(z); 41 | u.draw(); 42 | } 43 | 44 | @Override 45 | public void createUnits(Bullet b, float x, float y){ 46 | Unit u = (Unit)b.data; 47 | u.set(b); 48 | u.rotation(b.rotation()); 49 | u.vel.add(b.vel()); 50 | if(u instanceof SentryUnit s) s.anchorVel.add(b.vel()); 51 | u.add(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/progressed/entities/bullet/unit/SignalFlareBulletType.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.bullet.unit; 2 | 3 | import arc.graphics.g2d.*; 4 | import arc.math.*; 5 | import arc.util.*; 6 | import mindustry.content.*; 7 | import mindustry.entities.bullet.*; 8 | import mindustry.gen.*; 9 | import mindustry.type.*; 10 | import progressed.gen.entities.*; 11 | import progressed.graphics.*; 12 | import progressed.world.blocks.defence.turret.SignalFlareTurret.*; 13 | 14 | public class SignalFlareBulletType extends BulletType{ 15 | public UnitType spawn; 16 | public float size, spinSpeed; 17 | 18 | public SignalFlareBulletType(float speed, float lifetime, UnitType spawn){ 19 | super(speed, 0f); 20 | this.spawn = spawn; 21 | this.lifetime = lifetime; 22 | 23 | scaleLife = true; 24 | shootEffect = smokeEffect = Fx.none; 25 | ammoMultiplier = 1; 26 | collidesGround = collidesAir = collidesTiles = collides = false; 27 | hittable = absorbable = reflectable = false; 28 | } 29 | 30 | @Override 31 | public void despawned(Bullet b){ 32 | SignalFlareUnitc flare = (SignalFlareUnitc)spawn.spawn(b.team, b.x, b.y); 33 | if(b.owner instanceof SignalFlareTurretBuild build){ 34 | flare.building(build); 35 | build.flares.add(flare); 36 | } 37 | 38 | super.despawned(b); 39 | } 40 | 41 | @Override 42 | public void draw(Bullet b){ 43 | Draw.color(b.team.palette[1]); 44 | float rot = Time.time * spinSpeed + Mathf.randomSeed(b.id, 360f); 45 | PMDrawf.cross(b.x, b.y, size / 2f, size, rot); 46 | PMDrawf.cross(b.x, b.y, size / 1.25f / 2f, size / 1.25f, rot + 45f); 47 | 48 | Draw.color(b.team.color); 49 | PMDrawf.cross(b.x, b.y, size / 2f / 2f, size / 2f, rot); 50 | PMDrawf.cross(b.x, b.y, size / 2.5f / 2f, size / 2.5f, rot + 45f); 51 | 52 | Draw.reset(); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/progressed/entities/comp/BuildChildComp.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.comp; 2 | 3 | import arc.math.*; 4 | import arc.util.*; 5 | import ent.anno.Annotations.*; 6 | import mindustry.gen.*; 7 | import mindustry.world.blocks.defense.turrets.BaseTurret.*; 8 | 9 | @EntityComponent 10 | abstract class BuildChildComp implements Posc, Rotc{ 11 | @Import float x, y, rotation; 12 | 13 | @Nullable 14 | Posc parent; 15 | boolean rotWithParent; 16 | float offsetX, offsetY, offsetPos, offsetRot; 17 | 18 | @Override 19 | public void add(){ 20 | if(parent != null){ 21 | offsetX = x - parent.getX(); 22 | offsetY = y - parent.getY(); 23 | if(rotWithParent){ 24 | if(parent instanceof Rotc r){ 25 | offsetPos = -r.rotation(); 26 | offsetRot = rotation - r.rotation(); 27 | }else if(parent instanceof BaseTurretBuild build){ 28 | offsetPos = -build.rotation; 29 | offsetRot = rotation - build.rotation; 30 | } 31 | } 32 | } 33 | } 34 | 35 | @Override 36 | public void update(){ 37 | if(parent != null){ 38 | if(rotWithParent){ 39 | if(parent instanceof Rotc r){ 40 | x = parent.getX() + Angles.trnsx(r.rotation() + offsetPos, offsetX, offsetY); 41 | y = parent.getY() + Angles.trnsy(r.rotation() + offsetPos, offsetX, offsetY); 42 | rotation = r.rotation() + offsetRot; 43 | return; 44 | }else if(parent instanceof BaseTurretBuild build){ 45 | x = parent.getX() + Angles.trnsx(build.rotation + offsetPos, offsetX, offsetY); 46 | y = parent.getY() + Angles.trnsy(build.rotation + offsetPos, offsetX, offsetY); 47 | rotation = build.rotation + offsetRot; 48 | return; 49 | } 50 | } 51 | x = parent.getX() + offsetX; 52 | y = parent.getY() + offsetY; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/progressed/entities/comp/NoCoreDepositComp.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.comp; 2 | 3 | import ent.anno.Annotations.*; 4 | import mindustry.gen.*; 5 | import mindustry.world.blocks.storage.CoreBlock.*; 6 | 7 | @EntityComponent 8 | abstract class NoCoreDepositComp implements Unitc, Teamc{ 9 | @Replace 10 | public CoreBuild closestCore(){ 11 | return null; //If closestCore is null, it cannot deposit items into it. Kinda hacky but there's no other option. 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/progressed/entities/comp/TurrretParentEffectStateComp.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.comp; 2 | 3 | import arc.graphics.*; 4 | import ent.anno.Annotations.*; 5 | import mindustry.entities.*; 6 | import mindustry.gen.*; 7 | import progressed.gen.entities.*; 8 | 9 | @EntityComponent(base = true) 10 | @EntityDef(value = {TurretParentEffectStatec.class, BuildChildc.class}, pooled = true, serialize = false) 11 | abstract class TurretParentEffectStateComp implements Posc, Drawc, Timedc, Rotc, BuildChildc{ 12 | @Import float time, lifetime, rotation, x, y; 13 | @Import int id; 14 | 15 | Color color = new Color(Color.white); 16 | Effect effect; 17 | Object data; 18 | 19 | @Override 20 | public void draw(){ 21 | lifetime = effect.render(id, color, time, lifetime, rotation, x, y, data); 22 | } 23 | 24 | @Replace 25 | public float clipSize(){ 26 | return effect.clip; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/progressed/entities/effect/FlashEffect.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.effect; 2 | 3 | import arc.graphics.*; 4 | import mindustry.entities.*; 5 | import progressed.graphics.renders.*; 6 | 7 | public class FlashEffect extends Effect{ 8 | public Effect effect; 9 | public float flashDuration; 10 | 11 | public FlashEffect(Effect effect, float flashDuration){ 12 | this.effect = effect; 13 | this.flashDuration = flashDuration; 14 | } 15 | 16 | @Override 17 | public void init(){ 18 | effect.init(); 19 | clip = effect.clip; 20 | lifetime = effect.lifetime; 21 | } 22 | 23 | @Override 24 | public void render(EffectContainer e){ 25 | } 26 | 27 | @Override 28 | public void create(float x, float y, float rotation, Color color, Object data){ 29 | PMRenders.flash(flashDuration); 30 | effect.create(x, y, rotation, color, data); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/progressed/entities/effect/RepeatEffect.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.effect; 2 | 3 | import arc.graphics.*; 4 | import arc.util.*; 5 | import mindustry.entities.*; 6 | 7 | public class RepeatEffect extends Effect{ 8 | public Effect effect; 9 | public float interval; 10 | public int times; 11 | 12 | public RepeatEffect(Effect effect, float interval, int times){ 13 | this.effect = effect; 14 | this.interval = interval; 15 | this.times = times; 16 | } 17 | 18 | @Override 19 | public void init(){ 20 | lifetime = interval * times + effect.lifetime; 21 | clip = effect.clip; 22 | } 23 | 24 | @Override 25 | public void create(float x, float y, float rotation, Color color, Object data){ 26 | for(int i = 0; i < times; i++){ 27 | Time.run(i * interval, () -> effect.create(x, y, rotation, color, data)); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/progressed/entities/effect/WrapDataEffect.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.effect; 2 | 3 | import arc.graphics.*; 4 | import mindustry.entities.*; 5 | import mindustry.entities.effect.*; 6 | 7 | public class WrapDataEffect extends WrapEffect{ 8 | public Object data; 9 | public boolean allowColor = true; 10 | public boolean allowRotation = true; 11 | 12 | public WrapDataEffect(Effect effect, Object data){ 13 | super(); 14 | this.effect = effect; 15 | this.data = data; 16 | } 17 | 18 | public WrapDataEffect(Effect effect, Color color, Object data){ 19 | super(effect, color); 20 | this.data = data; 21 | } 22 | 23 | public WrapDataEffect(Effect effect, Color color, float rotation, Object data){ 24 | super(effect, color, rotation); 25 | this.data = data; 26 | } 27 | 28 | @Override 29 | public void create(float x, float y, float rotation, Color color, Object data){ 30 | effect.create(x, y, allowRotation ? rotation : this.rotation, allowColor ? color : this.color, this.data); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/progressed/entities/part/AimLaserPart.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.part; 2 | 3 | import arc.graphics.*; 4 | import arc.graphics.g2d.*; 5 | import arc.math.*; 6 | import arc.util.*; 7 | import mindustry.entities.part.*; 8 | 9 | public class AimLaserPart extends DrawPart{ 10 | /** Progress function for determining length. */ 11 | public PartProgress progress = PartProgress.warmup; 12 | /** Progress function for determining alpha. */ 13 | public PartProgress alpha = PartProgress.constant(1f); 14 | public Blending blending = Blending.normal; 15 | public float layer = -1f, layerOffset; 16 | public float x, y; 17 | public float width = 1f, length = 4f * 8f; 18 | public Color colorFrom = Color.red, colorTo; 19 | 20 | @Override 21 | public void draw(PartParams params){ 22 | float z = Draw.z(); 23 | if(layer > 0) Draw.z(layer); 24 | Draw.z(Draw.z() + layerOffset); 25 | 26 | Draw.blend(blending); 27 | float a = alpha.getClamp(params); 28 | float c1 = Tmp.c1.set(colorFrom).mulA(a).toFloatBits(), c2 = Tmp.c2.set(colorTo).mulA(a).toFloatBits(); 29 | float rot = params.rotation - 90f; 30 | Tmp.v1.trns(rot, x, y); 31 | float rx = params.x + Tmp.v1.x, 32 | ry = params.y + Tmp.v1.y; 33 | float cos = Mathf.cosDeg(rot) * width / 2f, sin = Mathf.sinDeg(rot) * width / 2f; 34 | Tmp.v1.trns(params.rotation, length * progress.getClamp(params)).add(rx, ry); 35 | Fill.quad( 36 | rx + cos, ry + sin, c1, 37 | rx - cos, ry - sin, c1, 38 | Tmp.v1.x - cos, Tmp.v1.y - sin, c2, 39 | Tmp.v1.x + cos, Tmp.v1.y + sin, c2 40 | ); 41 | 42 | Draw.blend(); 43 | Draw.z(z); 44 | } 45 | 46 | @Override 47 | public void load(String name){ 48 | //No textures to load 49 | 50 | if(colorTo == null) colorTo = colorFrom.cpy().a(0); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/progressed/entities/part/LaunchPart.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.part; 2 | 3 | import arc.graphics.g2d.*; 4 | import arc.math.*; 5 | import arc.util.*; 6 | import mindustry.entities.part.*; 7 | import mindustry.graphics.*; 8 | 9 | public class LaunchPart extends DrawPart{ 10 | public PartProgress progress = PartProgress.warmup; 11 | public float layer = Layer.effect; 12 | public float start, length, spacing; 13 | public int arrows = 2; 14 | 15 | @Override 16 | public void draw(PartParams params){ 17 | float prog = progress.getClamp(params); 18 | 19 | float w = spacing + spacing * (1f - prog); 20 | Lines.stroke(prog * 1.2f, Pal.accent); 21 | 22 | float z = Draw.z(); 23 | Draw.z(layer); 24 | for(int sign : Mathf.signs){ 25 | Tmp.v1.trns(params.rotation, start, w * sign); 26 | Lines.lineAngle(params.x + Tmp.v1.x, params.y + Tmp.v1.y, params.rotation, length); 27 | } 28 | 29 | Draw.scl(prog * 1.1f); 30 | for(int i = 0; i < arrows; i++){ 31 | Tmp.v1.trns(params.rotation, start + length / (arrows + 1) * (i + 1)); 32 | Draw.rect("bridge-arrow", params.x + Tmp.v1.x, params.y + Tmp.v1.y, params.rotation); 33 | } 34 | Draw.reset(); 35 | Draw.z(z); 36 | } 37 | 38 | @Override 39 | public void load(String name){ 40 | //Nothing to load 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/progressed/entities/part/SpacePart.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.part; 2 | 3 | import arc.*; 4 | import arc.graphics.*; 5 | import arc.graphics.g2d.*; 6 | import arc.struct.*; 7 | import arc.util.*; 8 | import mindustry.entities.part.*; 9 | import mindustry.game.EventType.*; 10 | import progressed.graphics.*; 11 | 12 | import static mindustry.Vars.*; 13 | 14 | public class SpacePart extends DrawPart{ 15 | private static ObjectMap> draws; 16 | 17 | /** Appended to unit/weapon/block name and drawn. */ 18 | public String suffix = ""; 19 | /** Overrides suffix if set. */ 20 | public @Nullable String name; 21 | public TextureRegion region; 22 | public float layer = -1; 23 | 24 | public SpacePart(String suffix){ 25 | this.suffix = suffix; 26 | 27 | if(draws == null){ 28 | draws = new ObjectMap<>(); 29 | 30 | Events.run(Trigger.drawOver, () -> { 31 | for(Float layer : draws.keys()){ 32 | Seq datas = draws.get(layer); 33 | Draw.draw(layer, () -> { 34 | renderer.effectBuffer.begin(Color.clear); 35 | for(SpaceData data : datas){ 36 | Draw.rect(data.region, data.x, data.y, data.rot); 37 | } 38 | renderer.effectBuffer.end(); 39 | renderer.effectBuffer.blit(PMShaders.smallSpaceShader); 40 | }); 41 | } 42 | draws.clear(); 43 | }); 44 | } 45 | } 46 | 47 | @Override 48 | public void draw(PartParams params){ 49 | float l = layer > 0 ? layer : Draw.z(); 50 | Seq data = draws.get(l, Seq::new); 51 | data.add(new SpaceData(params.x, params.y, params.rotation - 90f, region)); 52 | } 53 | 54 | @Override 55 | public void load(String name){ 56 | String realName = this.name == null ? name + suffix : this.name; 57 | 58 | region = Core.atlas.find(realName); 59 | } 60 | 61 | private static class SpaceData{ 62 | float x, y, rot; 63 | TextureRegion region; 64 | 65 | private SpaceData(float x, float y, float rot, TextureRegion region){ 66 | this.x = x; 67 | this.y = y; 68 | this.rot = rot; 69 | this.region = region; 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/progressed/entities/pattern/EnhancedShootHelix.java: -------------------------------------------------------------------------------- 1 | package progressed.entities.pattern; 2 | 3 | import arc.math.*; 4 | import arc.util.*; 5 | import mindustry.entities.pattern.*; 6 | 7 | public class EnhancedShootHelix extends ShootPattern{ 8 | public float scl = 2f, mag = 1.5f, offset = Mathf.PI; 9 | 10 | public EnhancedShootHelix(){ 11 | shots = 2; 12 | } 13 | 14 | public EnhancedShootHelix(float scl, float mag){ 15 | this(); 16 | this.scl = scl; 17 | this.mag = mag; 18 | offset = scl * Mathf.halfPi; 19 | } 20 | 21 | @Override 22 | public void shoot(int totalShots, BulletHandler handler, @Nullable Runnable barrelIncrementer){ 23 | for(int i = 0; i < shots; i++){ 24 | float off = offset + i * Mathf.PI2 * scl / shots; 25 | handler.shoot(Mathf.cos(off, scl, scl * mag), 0, 0, firstShotDelay + shotDelay * i, 26 | b -> b.moveRelative(0f, Mathf.sin(b.time + off, scl, mag))); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/progressed/graphics/Outliner.java: -------------------------------------------------------------------------------- 1 | package progressed.graphics; 2 | 3 | import arc.*; 4 | import arc.graphics.*; 5 | import arc.graphics.g2d.*; 6 | import mindustry.graphics.*; 7 | 8 | public class Outliner{ 9 | /** 10 | * Outlines a given textureRegion. Run in createIcons. 11 | * */ 12 | public static void outlineRegion(MultiPacker packer, TextureRegion tex, Color outlineColor, String name, int outlineRadius){ 13 | if(tex == null) return; 14 | PixmapRegion region = Core.atlas.getPixmap(tex); 15 | Pixmap out = Pixmaps.outline(region, outlineColor, outlineRadius); 16 | if(Core.settings.getBool("linear", true)){ 17 | Pixmaps.bleed(out); 18 | } 19 | packer.add(MultiPacker.PageType.main, name, out); 20 | } 21 | 22 | public static void outlineRegion(MultiPacker packer, TextureRegion tex, Color outlineColor, String name){ 23 | outlineRegion(packer, tex, outlineColor, name, 4); 24 | } 25 | 26 | /** 27 | * Outlines a list of regions. Run in createIcons. 28 | * */ 29 | public static void outlineRegions(MultiPacker packer, TextureRegion[] textures, Color outlineColor, String name, int radius){ 30 | for(int i = 0; i < textures.length; i++){ 31 | outlineRegion(packer, textures[i], outlineColor, name + "-" + i, radius); 32 | } 33 | } 34 | 35 | public static void outlineRegions(MultiPacker packer, TextureRegion[] textures, Color outlineColor, String name){ 36 | outlineRegions(packer, textures, outlineColor, name, 4); 37 | } 38 | } -------------------------------------------------------------------------------- /src/progressed/graphics/PMLayer.java: -------------------------------------------------------------------------------- 1 | package progressed.graphics; 2 | 3 | public class PMLayer{ 4 | public static final float 5 | //Secondary bloom ranges from -1.02 to +1.02 around this 6 | skyBloom = 145; 7 | } 8 | -------------------------------------------------------------------------------- /src/progressed/graphics/PMPal.java: -------------------------------------------------------------------------------- 1 | package progressed.graphics; 2 | 3 | import arc.graphics.*; 4 | 5 | import static arc.graphics.Color.*; 6 | import static mindustry.Vars.*; 7 | 8 | public class PMPal{ 9 | //Single colors 10 | public static Color 11 | 12 | darkBrown = valueOf("4d2c0c"), 13 | 14 | heal = valueOf("84f491"), 15 | overdrive = valueOf("feb380"), 16 | 17 | outline = valueOf("404049"), 18 | 19 | magma = valueOf("ff9c5a"), 20 | 21 | pixelFront = valueOf("FF84C1"), 22 | pixelBack = valueOf("EF4A9D"), 23 | 24 | missileBasic = valueOf("ffa665"), 25 | missileFrag = valueOf("9CB664"), 26 | nukeEmp = valueOf("a1b0ff"), 27 | 28 | nexusLaser = valueOf("da89fa"), 29 | nexusLaserDark = valueOf("cf6aec"); 30 | 31 | //Color sets 32 | public static Color[] 33 | itemColors, 34 | liquidColors; 35 | 36 | public static void init(){ 37 | int items = content.items().size; 38 | itemColors = new Color[items + 1]; 39 | for(int i = 0; i < items; i++){ 40 | itemColors[i] = content.item(i).color; 41 | } 42 | itemColors[items] = content.items().first().color; 43 | 44 | int liquids = content.liquids().size; 45 | liquidColors = new Color[liquids + 1]; 46 | for(int i = 0; i < liquids; i++){ 47 | liquidColors[i] = content.liquid(i).color; 48 | } 49 | liquidColors[liquids] = content.liquids().first().color; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/progressed/type/statuseffects/ExclusiveStatusEffect.java: -------------------------------------------------------------------------------- 1 | package progressed.type.statuseffects; 2 | 3 | import arc.struct.*; 4 | import mindustry.type.*; 5 | 6 | public class ExclusiveStatusEffect extends PMStatusEffect{ 7 | public Seq exclusives; 8 | 9 | public ExclusiveStatusEffect(String name){ 10 | super(name); 11 | } 12 | 13 | @Override 14 | public void init(){ 15 | super.init(); 16 | 17 | //This effect gets replaced by the new effect. 18 | exclusives.each(s -> { 19 | transitions.put(s, ((unit, result, time) -> result.set(s, time))); 20 | opposites.add(s); 21 | }); 22 | } 23 | } -------------------------------------------------------------------------------- /src/progressed/type/statuseffects/PMStatusEffect.java: -------------------------------------------------------------------------------- 1 | package progressed.type.statuseffects; 2 | 3 | import arc.*; 4 | import arc.graphics.*; 5 | import mindustry.graphics.*; 6 | import mindustry.graphics.MultiPacker.*; 7 | import mindustry.type.*; 8 | 9 | public class PMStatusEffect extends StatusEffect{ 10 | public PMStatusEffect(String name){ 11 | super(name); 12 | outline = true; 13 | } 14 | 15 | @Override 16 | public void createIcons(MultiPacker packer){ //Yoink from generator. 17 | //color image 18 | Pixmap base = Core.atlas.getPixmap(uiIcon).crop(); 19 | Pixmap tint = base; 20 | base.each((x, y) -> tint.setRaw(x, y, Color.muli(tint.getRaw(x, y), color.rgba()))); 21 | 22 | //outline the image 23 | Pixmap container = new Pixmap(tint.width + 6, tint.height + 6); 24 | container.draw(base, 3, 3, true); 25 | base = container.outline(Pal.gray, 3); 26 | packer.add(PageType.ui, name, base); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/progressed/type/unit/RocketUnitType.java: -------------------------------------------------------------------------------- 1 | package progressed.type.unit; 2 | 3 | import arc.graphics.*; 4 | import mindustry.content.*; 5 | import mindustry.entities.*; 6 | import mindustry.entities.abilities.*; 7 | import mindustry.entities.effect.*; 8 | import mindustry.game.*; 9 | import mindustry.gen.*; 10 | import mindustry.graphics.*; 11 | import mindustry.type.unit.*; 12 | import progressed.ai.*; 13 | import progressed.content.effects.*; 14 | 15 | public class RocketUnitType extends MissileUnitType{ 16 | public static final Effect rocketShoot = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ 17 | lifetime = 10f; 18 | strokeFrom = 4f; 19 | sizeTo = 130f; 20 | }}); 21 | 22 | public float targetDelay = 0f; 23 | 24 | public RocketUnitType(String name, boolean addSmokeTrail){ 25 | super(name); 26 | 27 | speed = 8f; 28 | maxRange = 6f; 29 | lifetime = 3.1f * 60f; 30 | controller = u -> new DelayMissileAI(); 31 | engineLayer = Layer.effect; 32 | engineSize = 3.1f; 33 | engineOffset = 10f; 34 | rotateSpeed = 0.5f; 35 | trailLength = 18; 36 | missileAccelTime = 2f * 60f; 37 | lowAltitude = true; 38 | outlineColor = Pal.darkerMetal; 39 | loopSound = Sounds.missileTrail; 40 | loopSoundVolume = 0.6f; 41 | deathSound = Sounds.largeExplosion; 42 | 43 | fogRadius = 6f; 44 | 45 | health = 210; 46 | 47 | if(addSmokeTrail){ 48 | abilities.add(new MoveEffectAbility(){{ 49 | effect = MissileFx.rocketTrailSmoke; 50 | rotateEffect = true; 51 | y = -9f; 52 | color = Color.grays(0.6f).lerp(Pal.redLight, 0.5f).a(0.4f); 53 | interval = 4f; 54 | }}); 55 | } 56 | } 57 | 58 | @Override 59 | public boolean targetable(Unit unit, Team targeter){ 60 | return super.targetable(unit, targeter) && ((TimedKillUnit)unit).time >= targetDelay; 61 | } 62 | 63 | @Override 64 | public boolean hittable(Unit unit){ 65 | return super.hittable(unit) && ((TimedKillUnit)unit).time >= targetDelay; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/progressed/ui/NamelessLiquidDisplay.java: -------------------------------------------------------------------------------- 1 | package progressed.ui; 2 | 3 | import arc.graphics.*; 4 | import arc.scene.ui.*; 5 | import arc.scene.ui.layout.*; 6 | import arc.util.*; 7 | import mindustry.type.*; 8 | import mindustry.ui.*; 9 | import mindustry.world.meta.*; 10 | 11 | import static mindustry.Vars.*; 12 | 13 | /** Similar to {@link LiquidDisplay}, however does not append with the liquid's name. */ 14 | public class NamelessLiquidDisplay extends Table{ 15 | public final Liquid liquid; 16 | public final float amount; 17 | public final boolean perSecond; 18 | 19 | public NamelessLiquidDisplay(Liquid liquid, float amount, boolean perSecond){ 20 | this.liquid = liquid; 21 | this.amount = amount; 22 | this.perSecond = perSecond; 23 | 24 | add(new Stack(){{ 25 | add(new Image(liquid.uiIcon).setScaling(Scaling.fit)); 26 | 27 | if(amount != 0){ 28 | Table t = new Table().left().bottom(); 29 | t.add(Strings.autoFixed(amount, 2)).style(Styles.outlineLabel); 30 | add(t); 31 | } 32 | }}).size(iconMed).padRight(3 + (amount != 0 && Strings.autoFixed(amount, 2).length() > 2 ? 8 : 0)); 33 | 34 | if(perSecond){ 35 | add(StatUnit.perSecond.localized()).padLeft(2).padRight(5).color(Color.lightGray).style(Styles.outlineLabel); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/progressed/ui/PMStyles.java: -------------------------------------------------------------------------------- 1 | package progressed.ui; 2 | 3 | import arc.scene.ui.ImageButton.*; 4 | import mindustry.ui.*; 5 | 6 | import static mindustry.gen.Tex.*; 7 | 8 | public class PMStyles{ 9 | public static ImageButtonStyle squareTogglei, boxTogglei; 10 | 11 | public static void load(){ 12 | squareTogglei = new ImageButtonStyle(){{ 13 | over = buttonOver; 14 | up = button; 15 | checked = down = buttonDown; 16 | }}; 17 | 18 | boxTogglei = new ImageButtonStyle(Styles.squarei){{ 19 | checked = Styles.flatDown; 20 | }}; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/progressed/util/PMSettings.java: -------------------------------------------------------------------------------- 1 | package progressed.util; 2 | 3 | import arc.*; 4 | import arc.math.*; 5 | import mindustry.gen.*; 6 | import mindustry.ui.dialogs.SettingsMenuDialog.*; 7 | import mindustry.ui.dialogs.SettingsMenuDialog.SettingsTable.*; 8 | import mindustry.world.meta.*; 9 | 10 | import static arc.Core.*; 11 | import static mindustry.Vars.*; 12 | 13 | public class PMSettings{ 14 | public static void init(){ 15 | ui.settings.addCategory(bundle.get("setting.pm-title"), "prog-mats-settings-icon", t -> { 16 | t.pref(new Separator("pm-graphics-settings")); 17 | t.sliderPref("pm-sword-opacity", 100, 20, 100, 5, s -> s + "%"); 18 | t.sliderPref("pm-zone-opacity", 100, 0, 100, 5, s -> s + "%"); 19 | t.sliderPref("pm-fov", 30, 10, 90, 5, s -> s + " " + StatUnit.degrees.localized()); 20 | t.checkPref("pm-tesla-range", true); 21 | t.pref(new Separator("pm-other-settings")); 22 | t.checkPref("pm-farting", false, b -> Sounds.wind3.play(Interp.pow2In.apply(Core.settings.getInt("sfxvol") / 100f) * 5f)); 23 | }); 24 | } 25 | 26 | static class Separator extends Setting{ 27 | float height; 28 | 29 | public Separator(String name){ 30 | super(name); 31 | } 32 | 33 | public Separator(float height){ 34 | this(""); 35 | this.height = height; 36 | } 37 | 38 | @Override 39 | public void add(SettingsTable table){ 40 | if(name.isEmpty()){ 41 | table.image(Tex.clear).height(height).padTop(3f); 42 | }else{ 43 | table.table(t -> { 44 | t.add(title).padTop(3f); 45 | }).get().background(Tex.underline); 46 | } 47 | table.row(); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/PMItemSelection.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks; 2 | 3 | import arc.func.*; 4 | import arc.scene.style.*; 5 | import arc.scene.ui.*; 6 | import arc.scene.ui.layout.*; 7 | import arc.struct.*; 8 | import mindustry.ctype.*; 9 | import mindustry.gen.*; 10 | import mindustry.ui.*; 11 | 12 | import static mindustry.Vars.*; 13 | 14 | public class PMItemSelection{ 15 | private static float scrollPos = 0f; 16 | 17 | public static Cell buildTable(Table table, Seq items, Prov holder, Cons consumer){ 18 | return buildTable(table, items, holder, consumer, true, true); 19 | } 20 | 21 | public static Cell buildTable(Table table, Seq items, Prov holder, Cons consumer, boolean closeSelect, boolean returnOriginal){ 22 | 23 | ButtonGroup group = new ButtonGroup<>(); 24 | group.setMinCheckCount(0); 25 | Table cont = new Table(); 26 | cont.defaults().size(40).top(); 27 | 28 | int i = 0; 29 | 30 | for(T item : items){ 31 | if(!item.unlockedNow()) continue; 32 | 33 | ImageButton button = cont.button(Tex.whiteui, Styles.clearTogglei, 24, () -> { 34 | if(closeSelect) control.input.config.hideConfig(); 35 | }).group(group).get(); 36 | button.changed(() -> consumer.get(button.isChecked() ? item : returnOriginal ? holder.get() : null)); 37 | button.getStyle().imageUp = new TextureRegionDrawable(item.uiIcon); 38 | button.update(() -> button.setChecked(holder.get() == item)); 39 | 40 | if(i++ % 4 == 3){ 41 | cont.row(); 42 | } 43 | } 44 | 45 | //add extra blank spaces so it looks nice 46 | if(i % 4 != 0){ 47 | int remaining = 4 - (i % 4); 48 | for(int j = 0; j < remaining; j++){ 49 | cont.image(Styles.black6); 50 | } 51 | } 52 | 53 | ScrollPane pane = new ScrollPane(cont, Styles.smallPane); 54 | pane.setScrollingDisabled(true, false); 55 | pane.setScrollYForce(scrollPos); 56 | pane.update(() -> { 57 | scrollPos = pane.getScrollY(); 58 | }); 59 | 60 | pane.setOverscroll(false, false); 61 | return table.add(pane).maxHeight(Scl.scl(40 * 5)).top().left(); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/consumers/ConsumeLiquidDynamic.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.consumers; 2 | 3 | import arc.func.*; 4 | import arc.scene.ui.layout.*; 5 | import mindustry.gen.*; 6 | import mindustry.type.*; 7 | import mindustry.ui.*; 8 | import mindustry.world.*; 9 | import mindustry.world.consumers.*; 10 | 11 | import static mindustry.Vars.*; 12 | 13 | public class ConsumeLiquidDynamic extends Consume{ 14 | public final Func liquids; 15 | 16 | @SuppressWarnings("unchecked") 17 | public ConsumeLiquidDynamic(Func liquids){ 18 | this.liquids = (Func)liquids; 19 | } 20 | 21 | @Override 22 | public void apply(Block block){ 23 | block.hasLiquids = true; 24 | } 25 | 26 | @Override 27 | public void build(Building tile, Table table){ 28 | LiquidStack[] current = {liquids.get(tile)}; 29 | 30 | table.table(cont -> { 31 | table.update(() -> { 32 | if(current[0] != liquids.get(tile)){ 33 | rebuild(tile, cont); 34 | current[0] = liquids.get(tile); 35 | } 36 | }); 37 | 38 | rebuild(tile, cont); 39 | }); 40 | } 41 | 42 | private void rebuild(Building tile, Table table){ 43 | table.clear(); 44 | 45 | LiquidStack stack = liquids.get(tile); 46 | if(stack != null) 47 | table.add(new ReqImage(stack.liquid.uiIcon, 48 | () -> tile.liquids != null && tile.liquids.get(stack.liquid) >= stack.amount)).size(iconMed).top().left(); 49 | } 50 | 51 | @Override 52 | public void trigger(Building entity){ 53 | LiquidStack stack = liquids.get(entity); 54 | if(stack != null) 55 | entity.liquids.remove(stack.liquid, stack.amount); 56 | } 57 | 58 | @Override 59 | public float efficiency(Building build){ 60 | LiquidStack l = liquids.get(build); 61 | return l != null ? Math.min(build.liquids.get(l.liquid) / (l.amount * build.edelta()), 1f) : 1f; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/defence/turret/BitTurret.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.defence.turret; 2 | 3 | import arc.math.*; 4 | import mindustry.world.blocks.defense.turrets.*; 5 | import progressed.content.*; 6 | 7 | public class BitTurret extends PowerTurret{ 8 | public int sides = 8; 9 | 10 | public BitTurret(String name){ 11 | super(name); 12 | shootSound = PMSounds.pixelShoot; 13 | } 14 | 15 | public class BitTurretBuild extends PowerTurretBuild{ 16 | @Override 17 | public void updateTile(){ 18 | super.updateTile(); 19 | 20 | recoilOffset.trns(drawrot() + 90f, -Mathf.pow(curRecoil, recoilPow) * recoil); 21 | } 22 | 23 | @Override 24 | public float drawrot(){ 25 | float rot = Mathf.mod(rotation - 90f, 360f); 26 | return Mathf.round(rot + (360f / sides / 2f), 360f / sides); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/defence/turret/nexus/NexusAttackPattern.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.defence.turret.nexus; 2 | 3 | abstract class NexusAttackPattern{ 4 | abstract void update(NexusTurret build); 5 | } 6 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/defence/turret/nexus/NexusTurret.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.defence.turret.nexus; 2 | 3 | import mindustry.world.blocks.defense.turrets.*; 4 | 5 | public class NexusTurret extends BaseTurret{ 6 | public NexusTurret(String name){ 7 | super(name); 8 | } 9 | 10 | public class NexusTurretBuild extends BaseTurretBuild{ 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/defence/turret/testing/FreeTurret.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.defence.turret.testing; 2 | 3 | import arc.struct.*; 4 | import mindustry.content.*; 5 | import mindustry.entities.bullet.*; 6 | import mindustry.logic.*; 7 | import mindustry.type.*; 8 | import mindustry.world.blocks.defense.turrets.*; 9 | import mindustry.world.meta.*; 10 | import progressed.content.blocks.*; 11 | import progressed.world.meta.*; 12 | 13 | import static mindustry.type.ItemStack.*; 14 | 15 | public class FreeTurret extends Turret{ 16 | public BulletType shootType = Bullets.placeholder; 17 | 18 | public FreeTurret(String name){ 19 | super(name); 20 | 21 | requirements(Category.turret, PMBlocks.incompleteVisibility(), with()); 22 | size = 2; 23 | } 24 | 25 | @Override 26 | public void setStats(){ 27 | super.setStats(); 28 | stats.add(Stat.ammo, PMStatValues.ammo(ObjectMap.of(this, shootType))); 29 | } 30 | 31 | public void limitRange(float margin){ 32 | limitRange(shootType, margin); 33 | } 34 | 35 | public class FreeTurretBuild extends TurretBuild{ 36 | @Override 37 | public void updateTile(){ 38 | super.updateTile(); 39 | unit.ammo(1); 40 | } 41 | 42 | @Override 43 | public double sense(LAccess sensor){ 44 | return switch(sensor){ 45 | case ammo, ammoCapacity -> 1; 46 | default -> super.sense(sensor); 47 | }; 48 | } 49 | 50 | @Override 51 | public BulletType useAmmo(){ 52 | //nothing used 53 | return shootType; 54 | } 55 | 56 | @Override 57 | public boolean hasAmmo(){ 58 | return true; 59 | } 60 | 61 | @Override 62 | public BulletType peekAmmo(){ 63 | return shootType; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/defence/turret/testing/SkyLaserTestTurret.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.defence.turret.testing; 2 | 3 | import progressed.entities.bullet.pseudo3d.*; 4 | import progressed.graphics.draw3d.*; 5 | 6 | import static mindustry.Vars.*; 7 | 8 | public class SkyLaserTestTurret extends FreeTurret{ 9 | public SkyLaserTestTurret(String name){ 10 | super(name); 11 | 12 | float bRange = 80f * tilesize; 13 | range = bRange; 14 | shootType = new SkyBeamBulletType(3f, 600f){{ 15 | lifetime = bRange / speed; 16 | radius = 1.5f * tilesize; 17 | drag = -0.01f; 18 | z = 2400; 19 | }}; 20 | reload = 45f; 21 | shootY = 0f; 22 | } 23 | 24 | public class SkyLaserTestTurretBuild extends FreeTurretBuild{ 25 | @Override 26 | public void draw(){ 27 | super.draw(); 28 | 29 | SkyBeamBulletType type = (SkyBeamBulletType)shootType; 30 | Draw3D.drawLineDebug(x, y, type.z, targetPos.x, targetPos.y, 0); 31 | //Draw3D.drawDiskDebug(targetPos.x, targetPos.y, x, y, type.z, type.radius); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/distribution/SandDriver.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.distribution; 2 | 3 | import arc.*; 4 | import arc.graphics.*; 5 | import arc.graphics.g2d.*; 6 | import arc.util.*; 7 | import mindustry.graphics.*; 8 | import mindustry.type.*; 9 | import mindustry.world.meta.*; 10 | 11 | public class SandDriver extends BurstDriver{ 12 | public TextureRegion baseRainbow, rainbow; 13 | 14 | public SandDriver(String name){ 15 | super(name); 16 | requirements(Category.distribution, BuildVisibility.sandboxOnly, ItemStack.empty); 17 | alwaysUnlocked = true; 18 | } 19 | 20 | @Override 21 | public void load(){ 22 | super.load(); 23 | 24 | baseRainbow = Core.atlas.find(name + "-base-rainbow"); 25 | rainbow = Core.atlas.find(name + "-rainbow"); 26 | } 27 | 28 | public class SandDriverBuild extends BurstDriverBuild{ 29 | @Override 30 | public void draw(){ 31 | Draw.rect(baseRegion, x, y); 32 | 33 | float speed = Core.settings.getInt("pm-strobespeed") / 2f; 34 | 35 | Draw.color(Tmp.c1.set(Color.red).shiftHue(Time.time * speed)); 36 | Draw.rect(baseRainbow, x, y); 37 | Draw.color(); 38 | 39 | Draw.z(Layer.turret); 40 | 41 | recoilOffset.trns(rotation, -curRecoil); 42 | 43 | Drawf.shadow(region, x + recoilOffset.x - elevation, y + recoilOffset.y - elevation, rotation - 90); 44 | Draw.rect(region, x + recoilOffset.x, y + recoilOffset.y, rotation - 90); 45 | 46 | 47 | Draw.color(Tmp.c1.set(Color.red).shiftHue(Time.time * speed)); 48 | Draw.rect(rainbow, x + recoilOffset.x, y + recoilOffset.y, rotation - 90); 49 | Draw.color(); 50 | } 51 | 52 | @Override 53 | public boolean sandy(){ 54 | return true; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/progressed/world/blocks/payloads/Recipe.java: -------------------------------------------------------------------------------- 1 | package progressed.world.blocks.payloads; 2 | 3 | import mindustry.type.*; 4 | import mindustry.world.*; 5 | 6 | public class Recipe{ 7 | public float craftTime; 8 | public boolean requiresUnlock = true; 9 | public boolean blockBuild = true, centerBuild; 10 | 11 | public ItemStack[] itemRequirements; 12 | public LiquidStack liquidRequirements; 13 | public float powerUse; 14 | public Block inputBlock; 15 | 16 | public Block outputBlock; 17 | 18 | public Recipe(Block block){ 19 | outputBlock = block; 20 | itemRequirements = block.requirements; 21 | 22 | if(block instanceof Missile m){ 23 | craftTime = m.constructTime; 24 | powerUse = m.powerUse; 25 | inputBlock = m.prev; 26 | } 27 | } 28 | 29 | public Recipe(Block block, float powerUse, float craftTime){ 30 | this(block); 31 | this.craftTime = craftTime; 32 | this.powerUse = powerUse; 33 | } 34 | 35 | public Recipe(Block outputBlock, Block inputBlock, float powerUse, float craftTime){ 36 | this(outputBlock, powerUse, craftTime); 37 | this.inputBlock = inputBlock; 38 | } 39 | 40 | public Liquid getLiquidInput(){ 41 | return liquidRequirements != null ? liquidRequirements.liquid : null; 42 | } 43 | 44 | public boolean hasLiquidInput(Liquid liquid){ 45 | return liquidRequirements != null && liquidRequirements.liquid == liquid; 46 | } 47 | 48 | public boolean hasInputBlock(){ 49 | return inputBlock != null; 50 | } 51 | 52 | public boolean showReqList(){ 53 | return itemRequirements.length > 0 || liquidRequirements != null; 54 | } 55 | 56 | public boolean unlocked(){ 57 | return !requiresUnlock || outputBlock.unlockedNow(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/progressed/world/draw/DrawSpeedPlasma.java: -------------------------------------------------------------------------------- 1 | package progressed.world.draw; 2 | 3 | import arc.graphics.*; 4 | import arc.graphics.g2d.*; 5 | import arc.math.*; 6 | import arc.util.*; 7 | import mindustry.gen.*; 8 | import mindustry.graphics.*; 9 | import mindustry.world.draw.*; 10 | import progressed.world.blocks.crafting.AccelerationCrafter.*; 11 | 12 | /** DrawPlasma, but based off of an {@link AcceleratingCrafterBuild}'s speed instead of warmup. */ 13 | public class DrawSpeedPlasma extends DrawPlasma{ 14 | @Override 15 | public void draw(Building build){ 16 | if(!(build instanceof AcceleratingCrafterBuild b)) return; 17 | 18 | float warmup = Interp.pow3In.apply(b.getSpeed()); 19 | Draw.blend(Blending.additive); 20 | for(int i = 0; i < regions.length; i++){ //Haha draw code stolen from Impact Reactor 21 | float r = ((float)regions[i].width * Draw.scl - 3f + Mathf.absin(Time.time, 2f + i * 1f, 5f - i * 0.5f)); 22 | 23 | Draw.color(plasma1, plasma2, (float)i / regions.length); 24 | Draw.alpha((0.3f + Mathf.absin(Time.time, 2f + i * 2f, 0.3f + i * 0.05f)) * warmup); 25 | Draw.rect(regions[i], b.x, b.y, r, r, b.totalActivity * (12 + i * 6f)); 26 | } 27 | Draw.blend(); 28 | Draw.color(); 29 | } 30 | 31 | @Override 32 | public void drawLight(Building build){ 33 | if(!(build instanceof AcceleratingCrafterBuild b)) return; 34 | 35 | Drawf.light( 36 | build.x, build.y, 37 | (110f + Mathf.absin(5, 5f)) * b.getSpeed(), 38 | Tmp.c1.set(plasma2).lerp(plasma1, Mathf.absin(7f, 0.2f)), 39 | 0.8f * b.getSpeed() 40 | ); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/progressed/world/draw/DrawSwingTurret.java: -------------------------------------------------------------------------------- 1 | package progressed.world.draw; 2 | 3 | import arc.graphics.g2d.*; 4 | import mindustry.entities.part.*; 5 | import mindustry.gen.*; 6 | import mindustry.graphics.*; 7 | import mindustry.world.draw.*; 8 | import progressed.world.blocks.defence.turret.*; 9 | import progressed.world.blocks.defence.turret.SwingContinuousTurret.*; 10 | 11 | /** Passes the rotation speed fract into the life param for draw parts. */ 12 | public class DrawSwingTurret extends DrawTurret{ 13 | public DrawSwingTurret(String basePrefix){ 14 | this.basePrefix = basePrefix; 15 | } 16 | 17 | public DrawSwingTurret(){ 18 | } 19 | 20 | @Override 21 | public void draw(Building build){ 22 | SwingContinuousTurret turret = (SwingContinuousTurret)build.block; 23 | SwingContinuousTurretBuild tb = (SwingContinuousTurretBuild)build; 24 | 25 | Draw.rect(base, build.x, build.y); 26 | Draw.color(); 27 | 28 | Draw.z(Layer.turret - 0.5f); 29 | 30 | Drawf.shadow(preview, build.x + tb.recoilOffset.x - turret.elevation, build.y + tb.recoilOffset.y - turret.elevation, tb.drawrot()); 31 | 32 | Draw.z(Layer.turret); 33 | 34 | drawTurret(turret, tb); 35 | drawHeat(turret, tb); 36 | 37 | if(parts.size > 0){ 38 | if(outline.found()){ 39 | //draw outline under everything when parts are involved 40 | Draw.z(Layer.turret - 0.01f); 41 | Draw.rect(outline, build.x + tb.recoilOffset.x, build.y + tb.recoilOffset.y, tb.drawrot()); 42 | Draw.z(Layer.turret); 43 | } 44 | 45 | float progress = tb.progress(); 46 | 47 | //TODO no smooth reload 48 | var params = DrawPart.params.set(build.warmup(), 1f - progress, 1f - progress, tb.heat, tb.curRecoil, tb.charge, tb.x + tb.recoilOffset.x, tb.y + tb.recoilOffset.y, tb.rotation); 49 | params.life = tb.rotateSpeedf; 50 | 51 | for(var part : parts){ 52 | part.draw(params); 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/progressed/world/meta/PMStat.java: -------------------------------------------------------------------------------- 1 | package progressed.world.meta; 2 | 3 | import mindustry.world.meta.*; 4 | 5 | public class PMStat{ 6 | public static final Stat 7 | mounts = new Stat("pm-mounts"), 8 | sentry = new Stat("pm-sentry"), 9 | sentryLifetime = new Stat("pm-sentry-lifetime"), 10 | 11 | fuel = new Stat("pm-fuel", StatCat.crafting), 12 | 13 | recipes = new Stat("pm-recipes", StatCat.crafting), 14 | producer = new Stat("pm-producer", StatCat.crafting), 15 | produce = new Stat("pm-produce", StatCat.crafting), 16 | used = new Stat("pm-used", StatCat.crafting); 17 | } 18 | --------------------------------------------------------------------------------