Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 67 additions & 12 deletions assets/bundles/bundle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,17 @@ block.meld-tantrum.name = Tantrum
block.meld-tantrum.description = Compacts and puffs out clouds of [#8872da]Rift[] using a Silver piston, dealing heavy knockback.\n[accent]Reduces target's drag[]

block.meld-earthbound-infuser.name = Earthbound Infuser
block.meld-earthbound-infuser.description = Infuses Debris with vent fumes to synthesize Carbolith.\n\nRequires [#cbdbfc]Aspect[] to run.
block.meld-earthbound-infuser.description = Infuses Debris with vent fumes to synthesize Carbolith.\n\nRequires [#cbdbfc]Aspect[] to run, can siphon [#5b4739]Fumes[] from vents.

block.meld-gas-kiln.name = Gas-fired Kiln
block.meld-gas-kiln.description = Heats materials using [#cbdbfc]Aspect[][accent]\n\nCarbolith + Tenbris -> Shadesteel + [#5b4739]Fumes[]\nClay-Mallows -> Glass-Mallows\nSilver -> Annealed Silver\nDebris + Glass-Mallows -> Crucible Platings\nDebris + Shadesteel -> Crucible Platings

block.meld-rotary-kiln.name = Rotary Kiln
block.meld-rotary-kiln.description = Constantly burns [#cbdbfc]Aspect[] as fuel, heats materials to process them in bulk. [accent]\n\nTenbris -> Shadesteel\nClay-Mallows -> Glass-Mallows\nSilver -> Annealed Silver\nDebris + Glass-Mallows -> Crucible Platings\nDebris + Shadesteel -> Crucible Platings

block.meld-pneumatic-extruder.name = Pneumatic Extruder
block.meld-pneumatic-extruder.description = Extrudes insulated pipes, uses[#cbdbfc]Aspect[] to run. [accent]\n\nShadesteel + Elnar -> Aspect Pipe\n\nAnnealed Silver + Debris -> Aspect Pipe


block.meld-heating-basin.name = Heating Basin
block.meld-heating-basin.description = Runs [#b89f47]Nectar[] through pipes laced with Carbolith dust over geothermal sources to extract [#89828c]Mercury[], producing loads of Debris as a byproduct.
Expand Down Expand Up @@ -63,7 +73,11 @@ block.meld-brick-conglomerator.name = Conglomeration Rig
block.meld-brick-conglomerator.description = Crushes up Carbolith and mixes it with vent fumes and [#e6c700]Ichor[], then presses the slurry into Bricks. Requires [#cbdbfc]Aspect[] to run.

block.meld-silver-husk.name = Silver Husk
block.meld-silver-husk.description = Provides cover against enemy projectiles. Slowly regenerates when fed [#cbdbfc]Aspect[].\n\n[accent]Plated[]
block.meld-silver-husk.description = Buildable, [accent]insulated[] protection. Slowly regenerates when fed [#cbdbfc]Aspect[].\n\n[accent]Plated[]

block.meld-shadesteel-shingles.name = Shadesteel Shingles
block.meld-shadesteel-shingles.description = Mundane and bulky.
block.meld-shadesteel-shingles.details = Brick of Shadesteel bricks of Shadesteel ingots.

block.meld-barricade.name = Barricade
block.meld-barricade.description = Provides cover against enemy projectiles.\nQuick to build.\n\nEasy way to store Compacted Bricks/Stony Gloop outside of the core for onsite use.\n\n[accent]Armored.[]
Expand All @@ -83,6 +97,12 @@ block.meld-sonar-spire.details = Initially an aether flarestack build to help tr
block.meld-movement-anchor.name = Movement Anchor
block.meld-movement-anchor.description = Targets and [accent]Anchor[]s enemy units.

block.meld-gauze.name = Gauze
block.meld-gauze.description = Weaves a [accent]Resonarum[] thread using [#5b4739]Fumes[], automatically applying it to connected blocks.

block.meld-bruisekit.name = Bruisekit
block.meld-bruisekit.description = Regenerates target block's health.\n\nPrioritises large, functional blocks and can't target 1x1s.

block.meld-mercurial-diffuser.name = Mercurial Diffuser
block.meld-mercurial-diffuser.description = Puffs clouds which intoxicate [#ea9ad6]Meld[] units. Applies a coating of [#89828c]Mercury[] to allied units.

Expand Down Expand Up @@ -114,7 +134,7 @@ block.meld-chute-crossing.name = Chute Crossing
block.meld-chute-crossing.description = Lets items cross through without intersecting with eachother.

block.meld-chute-overflow.name = Chute Overflow
block.meld-chute-overflow.description = Routes items to the front, or to the sides if blocked.
block.meld-chute-overflow.description = Routes items to the front, or to the sides if blocked. \n\nAccepts items from the back, or the sides if empty.

block.meld-chute-bridge.name = Chute Bridge
block.meld-chute-bridge.description = Moves items over a single tile. Bypasses structures and terrain.
Expand All @@ -130,16 +150,33 @@ block.meld-channel-face.name = Channel Face
block.meld-channel-face.description = Acts as a fluid junction. Transmits fluid without storing it. No risk of explosion.

block.meld-channel-node.name = Channel Node
block.meld-channel-node.description = Acts as a fluid router. Liquid can be input or output from any side. Stores a small amount of fluid.
block.meld-channel-node.description = Acts as a fluid router. Fluids can be input or output from any side. Stores a small amount of fluid.

block.meld-aspect-outlet.name = Aspect Outlet
block.meld-aspect-outlet.description = Decompresses [#cb8650]Aether[] into highly volatile [#cbdbfc]Aspect[].\n\nWorks as an output terminal for a fluid network.
block.meld-aspect-outlet.description = Decompresses [#cb8650]Aether[] into highly volatile [#cbdbfc]Aspect[] at a ratio of 1:10.\n\nWorks as an output terminal for a fluid network.

block.meld-aspect-channel.name = Aspect Channel
block.meld-aspect-channel.description = Acts as a directional router.\n\nWhen transporting [#cb8650]Aether[], fills nearby buildings with highly volatile [#cbdbfc]Aspect[].\n\nWorks as an insulated input/output terminal for a fluid network.\n\n[accent]Plated![]

block.meld-pressure-vent.name = Pressure Vent
block.meld-pressure-vent.description = Acts as a fluid router. Releases stored vapor into the atmosphere.

block.meld-manual-valve.name = Manual Valve
block.meld-manual-valve.description = Acts as a fluid junction. Can be toggled to control if fluids can pass through.

block.meld-aspect-pipe.name = Aspect Pipe
block.meld-aspect-pipe.description = Acts as a pipe.\n\nWhen transporting [#cb8650]Aether[], fills nearby buildings with highly volatile [#cbdbfc]Aspect[].\n\nWorks as an input/output terminal for a fluid network.
block.meld-intake-valve.name = Intake Valve
block.meld-intake-valve.description = Acts as a fluid junction. Can be toggled to control if fluids can pass through.\n\n[accent]Can compact/de-compact incoming sources of fluids into the channel network.[]\n\n[accent]Plated![]
block.meld-intake-valve.details = Yes, it works.

block.meld-valve-controller.name = Valve Controller
block.meld-valve-controller.description = Acts as a fluid junction. Enables the targeted block when surrounded by blocks with fluids over its threshold.\n\nThreshold/State can be configured.
block.meld-valve-controller.details = Scidustry players, Ikaru is calling YOU.

block.meld-channel-director.name = Channel Director
block.meld-channel-director.description = [red]Restricts[] the flow of fluids from its input to output by half.\n\nCan [red]detonate[] Channel Nodes full of [#cbdbfc]Aspect[].\n[accent]Transports at 50% pressure.[]\n\n[red]Will chain destruct![]
block.meld-channel-director.description = When used with other fluid blocks, [red]restricts[] the flow of fluids to one direction only.

block.meld-pipebox.name = Pipebox
block.meld-pipebox.description = Routes fluids to the sides.\n\nCan be toggled to rotate the connections.

block.meld-channel-director-pressurized.name = Pressurized Channel Director
block.meld-channel-director-pressurized.description = Acts as a conduit. Transmits fluid from one side to the other. Stores a tiny amount of fluid.\n[accent]Transports at 200% pressure.[]\n\n[red]Will chain destruct![]
Expand Down Expand Up @@ -195,6 +232,9 @@ block.meld-thermo-matting.details = ...appears to be little to no waste left beh
block.meld-aether-accumulator.name = Aether Accumulator
block.meld-aether-accumulator.description = Collects [#cb8650]Aether[] from suitable sources.

block.meld-fumehood.name = Fumehood
block.meld-fumehood.description = Placed over sources of aspects or gasses.

block.meld-crystal-cracker.name = Crystal Cracker
block.meld-crystal-cracker.description = Breaks open Dissonitre crystals over [accent]aspect soil[] as a source of [#cb8650]Aether[].

Expand All @@ -209,10 +249,6 @@ block.meld-vitric-stimulator-ruined.name = Vitric Stimu1ator [lightgray](Ruined)
block.meld-vitric-stimulator.description = Harvests [#8872da]Rift[] from suitable sources using Vitric Meshes to filter the air, producing a small amount of glass waste.\n\nRequires Power to run.\n\n[orange]Inefficient, deconstruction is advised[]
block.meld-vitric-stimulator.details = If only those vents could be harvested from...

block.meld-vitric-stimulator.name = Vitric Stimu1ator
block.meld-vitric-stimulator.description = Harvests [#8872da]Rift[] from suitable sources using Vitric Meshes to filter the air, producing a substantial amount of glass waste.\n\nRequires Power to run.
block.meld-vitric-stimulator.details = If only those vents could be harvested from...

block.meld-flarestack-filter.name = Flarestack Filter
block.meld-flarestack-filter.description = Harvests [#8872da]Rift[] from suitable sources by neutralizing the impurities from the air.\n\nRequires Resonarum and Riplom to run.
block.meld-flarestack-filter.details = Neutralizes the Aether content of an impure [accent]rift vent[] by focusing it into Aspect and combusting it with Riplom, but requires a constant supply of lenses to function.
Expand All @@ -233,6 +269,9 @@ block.meld-displacement-pump.description = Dumps Debris into fluids to retrive a
block.meld-elemental-blaster.name = Elemental Blaster
block.meld-elemental-blaster.description = Blasts deposits for items indefinitely. Requires [#cbdbfc]Aspect[] to run.\n\nCan be boosted with [#ea9ad6]Meld[] to double harvesting speed.

block.meld-pneumatic-pulsar.name = Pneumatic Pulsar
block.meld-pneumatic-pulsar.description = Blasts a single deposit for items indefinitely while maintained. Requires [#cb8650]Aether[] to run.\n\n[red]Explosions damage everything around them, high maintenance![]

block.meld-elemental-sampler.name = Elemental Sampler
block.meld-elemental-sampler.description = Samples deposits for items indefinitely. Requires [#cbdbfc]Aspect[] and [#8872da]Rift[] to run.\n\nCan be boosted with [#b460e2]Warp[] to double harvesting speed.\n\n[accent]More efficient against soft tissue[]
block.meld-elemental-sampler.details = It wants to return home.
Expand Down Expand Up @@ -589,6 +628,10 @@ item.meld-clay-mallow.name = Clay-Mallow
item.meld-clay-mallow.description = Clay from the Badlands. Easly moulded to form containers, but difficult to aquire by blasting soil.
item.meld-clay-mallow.details = A delicate substance valued for its malleability and ability to keep its shape, along with its velvety texture.

item.meld-glass-mallow.name = Glass-Mallow
item.meld-glass-mallow.description = Refined clay from the Badlands, more glass than ceramic.
item.meld-glass-mallow.details = A glossy, crystalline substance.

item.meld-riplom.name = Riplom
item.meld-riplom.description = Shale from the Storm Planes. A great flux for glasswork, though not much practical use found. Slightly volatile.
item.meld-riplom.details = Looks almost fungal. Seems to absorb [#cbdbfc]Aspect[] from its suroundings.
Expand Down Expand Up @@ -692,6 +735,18 @@ liquid.meld-aspect.name = [#cbdbfc]Aspect
liquid.meld-aspect.description = Unstable alternative power source. Refinable.
liquid.meld-aspect.details = Mixed primordial aspects.

liquid.meld-fumes.name = [#5b4739]Fumes
liquid.meld-fumes.description = Passively seeps into conductive materials. Used for a variety of metallurgic and restorative appliances.
liquid.meld-fumes.details = Smoggy primordial aspects.

liquid.meld-pollutant-mixture.name = [#cb8650][#6b4e4e]Pollutant Mix[]
liquid.meld-pollutant-mixture.description = A mix of common aspects in the atmosphere of Ikaru. Emitted by [accent]aether vents[].\n\nCan be used in place of [#cb8650]Aether[]
liquid.meld-pollutant-mixture.details = A mixture of secondary aspects.

liquid.meld-bound-aspect.name = [#a451c8]Bound Aspect[]
liquid.meld-bound-aspect.description = A highly energy dense, stable fuel.\n\nCan be used in place of [#cbdbfc]Aspect[]
liquid.meld-bound-aspect.details = Confusing mixture of primordial aspects

liquid.meld-nectar.name = [#b89f47]Nectar
liquid.meld-nectar.description = Used as a potent coolant. Can be refined into [#89828c]Mercury[] over high heat with the right reagents. Encourages a slight mending effect on units.
liquid.meld-nectar.details = Blood of the swamp.
Expand Down
8 changes: 8 additions & 0 deletions assets/bundles/bundle.shitpost
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
item.meld-glass-mallow.name = Pan-fried Plates

item.meld-crucible-plating.name = Boiled Plates

block.meld-sonar-spire.name = Slay the Sonar Spire

block.meld-manual-valve.name = Gabe Nuel's Wife
block.meld-pressure-vent.name = Amogus Escape route
Binary file modified assets/maps/gameplay-testmap-2.msav
Binary file not shown.
Binary file added assets/maps/heavy-industry-test-1.msav
Binary file not shown.
Binary file added assets/sprites/blocks/distrib/chute-bottom-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sprites/blocks/distrib/chute-bottom-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sprites/blocks/distrib/chute-bottom-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sprites/blocks/distrib/chute-bottom-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sprites/blocks/distrib/chute-bottom-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sprites/blocks/distrib/chute-crossing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/sprites/blocks/environment/barrens/bedrock1.png
Binary file modified assets/sprites/blocks/environment/barrens/bedrock2.png
Binary file modified assets/sprites/blocks/environment/barrens/bedrock3.png
Binary file added assets/sprites/blocks/fluid/channel-director.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file added assets/sprites/blocks/fluid/manual-valve-on.png
Binary file added assets/sprites/blocks/fluid/manual-valve.png
Binary file added assets/sprites/blocks/fluid/pipebox-direction.png
Binary file added assets/sprites/blocks/fluid/pipebox-marker-on.png
Binary file added assets/sprites/blocks/fluid/pipebox-marker.png
Binary file added assets/sprites/blocks/fluid/pipebox-on.png
Binary file added assets/sprites/blocks/fluid/pipebox.png
Binary file added assets/sprites/blocks/fluid/pressure-vent.png
Binary file added assets/sprites/blocks/fluid/valve-controller.png
Binary file added assets/sprites/blocks/production/fumehood.png
Binary file added assets/sprites/blocks/walls/shadesteel-shingles.png
Binary file added assets/sprites/blocks/walls/silver-husk-bottom.png
Binary file added assets/sprites/blocks/walls/silver-husk-preview.png
Binary file added assets/sprites/blocks/walls/silver-husk.png
Binary file removed assets/sprites/chute-bottom-0.png
Diff not rendered.
Binary file removed assets/sprites/chute-bottom-1.png
Diff not rendered.
Binary file removed assets/sprites/chute-bottom-2.png
Diff not rendered.
Binary file removed assets/sprites/chute-bottom-3.png
Diff not rendered.
Binary file added assets/sprites/items/clay-mallow.png
Binary file added assets/sprites/items/heavy ind/ferric-geode.png
Binary file added assets/sprites/items/heavy ind/motis.png
Binary file added assets/sprites/items/stony-particulate.png
Binary file added assets/sprites/liquids/bound-aspect.png
Binary file added assets/sprites/liquids/pollutant-mixture.png
2 changes: 1 addition & 1 deletion mod.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ main: "meld.Meld"
description: "Meld Java.\n\n[[]accent]Only has custom game content! (play the info map to understand)[[]]\n\nIncompatable with hjson meld"

#the mod version
version: gameplay test 1.01
version: gameplay expirimental v1

#the minimum game build required to run this mod
minGameVersion: 154
Expand Down
31 changes: 31 additions & 0 deletions src/meld/Meld.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package meld;

import arc.*;
import arc.graphics.Color;
import arc.math.geom.Geometry;
import arc.math.geom.Point2;
import arc.struct.IntSeq;
import arc.struct.Seq;
import arc.util.Time;
import arc.util.Tmp;
import meld.content.*;
import meld.core.*;
import mindustry.Vars;
Expand All @@ -31,6 +33,28 @@ public Meld(){
public static String prefix(String in){
return name + "-" + in;
}
private static final StringBuilder b = new StringBuilder();

public static String gradient(String in, Color... colors){
if(colors.length == 1) return "[#" + colors[0].toString().substring(0, 6) + "]" + in + "[]";

b.setLength(0);
b.trimToSize();
int length = in.length();
int spaces = 0;

for(int i = 0; i < length; i++){
char ind = in.charAt(i);
if(Character.isWhitespace(ind)){
spaces++;
b.append(' ');
continue;
}
b.append("[#").append(Tmp.c1.set(colors[0]).lerp(colors, (float) i / (length - spaces)).toString(), 0, 6).append("]").append(ind).append("[]");
}

return b.toString();
}

@Override
public void init() {
Expand Down Expand Up @@ -61,10 +85,17 @@ public void init() {
@Override
public void loadContent(){
MeldStatusEffects.load();
MeldBullets.load();
MeldUnits.load();
MeldItems.load();
MeldLiquids.load();
MeldBlocks.load();
MeldEnvironment.load();

Vars.content.blocks().each(b -> {
if(b.minfo.mod != null && b.minfo.mod.name.equals("meld")){
b.deconstructDropAllLiquid = true;
}
});
}
}
Loading
Loading