Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
9504b0c
spoilage lols (idk maybe works)
TarLaboratories Sep 6, 2025
ec7e1af
yay it works
TarLaboratories Sep 7, 2025
7c0c129
tooltip and bar
TarLaboratories Sep 7, 2025
d0d8903
bar color and different spoilage timer stacking
TarLaboratories Sep 7, 2025
8b1a927
made mv sodium battery not spoil into dirt lols
TarLaboratories Sep 7, 2025
134112c
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Sep 7, 2025
5971ae6
idk
TarLaboratories Sep 7, 2025
98e51a1
im so dumb i wrote the wrong thing in the isSameItemSameTags function…
TarLaboratories Sep 7, 2025
40dc1e2
formatting
TarLaboratories Sep 7, 2025
7b3b983
additional check before averaging
TarLaboratories Sep 7, 2025
a6f8257
keep spoiling progress between recipe inputs and outputs
TarLaboratories Sep 7, 2025
004a07c
added an option to make a recipe output a fully fresh product regardl…
TarLaboratories Sep 7, 2025
ad443b0
fixes
TarLaboratories Sep 7, 2025
408cb2b
oops left mv battery spoilable
TarLaboratories Sep 7, 2025
14a282f
april fools :)
TarLaboratories Sep 7, 2025
328fe42
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Sep 8, 2025
0eb0a6c
made SpoilableBehaviour more flexible
TarLaboratories Sep 8, 2025
acad6e6
added the ability to attach SpoilableBehaviour to any item
TarLaboratories Sep 8, 2025
0729962
trollololol
TarLaboratories Sep 8, 2025
522aac6
oops forgot to disable trollololol
TarLaboratories Sep 8, 2025
c386643
more functionality for pack devs ig :)
TarLaboratories Sep 9, 2025
613e25b
pass item into DEFAULT_SPOIL_BEHAVIOR function
TarLaboratories Sep 9, 2025
d5fe816
added API to allow things like spoilage to be made with addons
TarLaboratories Sep 9, 2025
2079298
added event when registering a machine
TarLaboratories Sep 9, 2025
da8354f
made spoilage transfer use the newly created API
TarLaboratories Sep 9, 2025
e46f6ae
oops
TarLaboratories Sep 9, 2025
fc1ded7
update item when it's dropped
TarLaboratories Sep 9, 2025
8ce3db2
update when crafted
TarLaboratories Sep 9, 2025
dcca631
corrected handling of recursive spoiling
TarLaboratories Sep 9, 2025
35b553f
but what if dirt spoils into dirt
TarLaboratories Sep 9, 2025
584afb2
fixes and TESTS
TarLaboratories Sep 9, 2025
8689cda
even more tests
TarLaboratories Sep 9, 2025
b70546c
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Sep 9, 2025
2eb1331
moved unsafe cast from NotifiableItemStackHandler to ISpoilableItem
TarLaboratories Sep 9, 2025
6e8c071
filtering test
TarLaboratories Sep 11, 2025
ffa3c85
another test (also made items not spoil in phantom slots)
TarLaboratories Sep 11, 2025
380afc1
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Sep 12, 2025
ef7b6a3
formatting
TarLaboratories Sep 12, 2025
aed4046
made filtering work correctly when comparing by nbt
TarLaboratories Sep 12, 2025
1dff6f2
moved getSpoilable to ISpoilableItem
TarLaboratories Sep 12, 2025
a8b95bf
technically gotta call onAttached when attaching
TarLaboratories Sep 12, 2025
980e9a2
docs
TarLaboratories Sep 12, 2025
b3329cc
more docs
TarLaboratories Sep 13, 2025
64117bb
even more docs
TarLaboratories Sep 13, 2025
e768a8b
docs fixes
TarLaboratories Sep 13, 2025
952db7a
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Sep 13, 2025
b66c5dc
indentation fixes
TarLaboratories Sep 13, 2025
41eede9
Merge remote-tracking branch 'origin/tar/spoilage' into tar/spoilage
TarLaboratories Sep 13, 2025
4a9b23f
docs improvements
TarLaboratories Sep 13, 2025
8c5b2f7
make event work (i think)
TarLaboratories Oct 3, 2025
2bca07b
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Oct 3, 2025
b1528d7
oops
TarLaboratories Oct 3, 2025
ed73f74
Merge remote-tracking branch 'origin/tar/spoilage' into tar/spoilage
TarLaboratories Oct 3, 2025
146c44b
revert
TarLaboratories Oct 3, 2025
591c3cd
fix event listener and rename some things
TarLaboratories Oct 23, 2025
3f2d79a
yay event works
TarLaboratories Oct 24, 2025
7f63650
generalized itemOutputModifier to allow all types of outputs
TarLaboratories Oct 24, 2025
93970c9
added @NonExtendable
TarLaboratories Oct 24, 2025
3756999
suggested change
TarLaboratories Oct 24, 2025
8a3af97
remove unused shadow
TarLaboratories Oct 24, 2025
1b5537d
spoilage is a capability now (need to update docs later)
TarLaboratories Oct 26, 2025
b45a610
addGenericListener
TarLaboratories Oct 26, 2025
3d82800
remove direct mixin call from ISpoilableItem
TarLaboratories Oct 26, 2025
4520b6d
move some methods to SpoilableItemStack
TarLaboratories Oct 27, 2025
c589cc0
reinit capabilities when setting item
TarLaboratories Oct 27, 2025
4419ebf
spotless
TarLaboratories Oct 27, 2025
a1d5c3a
fix warnings in mixin
TarLaboratories Oct 27, 2025
2c8b23c
modify javadoc in ISpoilableItem to talk about it being a capability
TarLaboratories Oct 27, 2025
1c2330e
update docs to show correct examples with capabilities
TarLaboratories Oct 27, 2025
3c680c1
replace whatever that was with MinecraftForge.EVENT_BUS
TarLaboratories Oct 27, 2025
80eb37e
spotless
TarLaboratories Oct 27, 2025
6511937
replace deprecated method
TarLaboratories Oct 27, 2025
a5e52ee
fix
TarLaboratories Oct 27, 2025
87edfe2
rename event
TarLaboratories Oct 28, 2025
0874922
apply suggestions
TarLaboratories Nov 17, 2025
bca2eb6
remove unsafe cast and rename ISpoilableItemStackMixin
TarLaboratories Nov 17, 2025
fb372b6
start names of mixin methods with gtceu$
TarLaboratories Nov 17, 2025
3ed8432
move suppressWarnings
TarLaboratories Nov 17, 2025
a08edb5
readd unsafe cast cause doesn't compile
TarLaboratories Nov 17, 2025
22520ba
revert interfaces.json change
TarLaboratories Nov 17, 2025
9d5fda4
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Nov 17, 2025
1789629
Replace ldlib sync data system with new data sync system (#3491)
gustovafing Dec 23, 2025
1838e5d
Fix sync lists being immutable (#4371)
gustovafing Dec 25, 2025
85351e8
spoiling into entities
TarLaboratories Dec 28, 2025
4fdeabd
this is probably compatible with most blocks
TarLaboratories Dec 29, 2025
4f0bb95
docs
TarLaboratories Dec 29, 2025
4dd7b51
more docs
TarLaboratories Dec 30, 2025
32aadd6
more tests
TarLaboratories Dec 30, 2025
591b30c
Merge branch '1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Dec 30, 2025
69d0c90
revert random capes change
TarLaboratories Dec 30, 2025
9d29eab
docs and stuff
TarLaboratories Dec 30, 2025
7a18e5b
i love javadocs
TarLaboratories Dec 31, 2025
d8f673e
formatting
TarLaboratories Dec 31, 2025
3093483
move most logic from mixin to capability
TarLaboratories Dec 31, 2025
245e5d8
more tests
TarLaboratories Jan 1, 2026
839f7d8
even more tests
TarLaboratories Jan 1, 2026
66642a7
make filtering test not ignore nbt
TarLaboratories Jan 2, 2026
907092c
Merge branch '1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Jan 6, 2026
48fd9e6
fix filtering test
TarLaboratories Jan 6, 2026
a00c4b8
make docs more clear
TarLaboratories Jan 6, 2026
00df74e
add method to multiblock builder too
TarLaboratories Jan 6, 2026
0c2460c
changed around SpoilContext so that it is serializable
TarLaboratories Jan 6, 2026
6f7a2f5
machine modification event docs (literally just 10 lines)
TarLaboratories Jan 6, 2026
57bb7de
smol fix
TarLaboratories Jan 6, 2026
24eb54b
cleaned up the mixin a bit
TarLaboratories Jan 7, 2026
87c39bf
no more injecting into getItem :)
TarLaboratories Jan 7, 2026
9582b98
cleanup
TarLaboratories Jan 7, 2026
52842c7
Revert "cleanup"
TarLaboratories Jan 7, 2026
d5c0ba3
Revert "no more injecting into getItem :)"
TarLaboratories Jan 7, 2026
a822798
serialize consumedInputs
TarLaboratories Jan 7, 2026
708ff90
early return in modifier
TarLaboratories Jan 7, 2026
0b3491a
Merge branch '1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Jan 8, 2026
53546f0
spotless and fixes
TarLaboratories Jan 8, 2026
753ddb8
fix test
TarLaboratories Jan 8, 2026
fc6c329
finally get rid of mixin into isSameItemSameTags :)
TarLaboratories Jan 9, 2026
15ebf16
Merge remote-tracking branch 'origin/1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Jan 9, 2026
a3ab5af
tweak docs a bit
TarLaboratories Jan 9, 2026
c42406a
remap = false
TarLaboratories Jan 9, 2026
a66163c
remove filtering test and spotless
TarLaboratories Jan 9, 2026
a6b0f99
Merge branch '1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Feb 2, 2026
f53f994
fix stuff after merge
TarLaboratories Feb 2, 2026
87a3027
fix test
TarLaboratories Feb 11, 2026
d11727c
Merge branch '1.20.1-v8.0.0' into tar/spoilage
TarLaboratories Feb 11, 2026
421979e
Merge branch '1.20.1' into tar/spoilage
TarLaboratories Feb 17, 2026
2fcbf3b
idk
TarLaboratories Feb 18, 2026
83f8bd7
Merge remote-tracking branch 'origin/tar/spoilage' into tar/spoilage
TarLaboratories Feb 18, 2026
fe29b92
revert merge
TarLaboratories Feb 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ _Any implementations in this PR that should be carefully looked over, or that co
_A short description of what this PR added/fixed/changed/removed._
_For correct linking of issues please use any of the Closes/Fixes/Resolves keywords. Example: When a PR is fixing a bug use "Fixes: #number-of-bug"_

## How Was This Tested
_This section is for screenshots, code snippets or descriptions of how the PR was tested in code or in game to ensure correctness._

## Additional Information
_This section is for screenshots to demonstrate any GUI or rendering changes, or any other additional information that reviewers should be aware of._

Expand Down
68 changes: 0 additions & 68 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,5 @@
# ChangeLog

## Version [v7.5.2](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.5.1-1.20.1...v7.5.2-1.20.1)
### Fixed

- Turn groupColor field value into optional field codec by @jurrejelle in [#4593](https://github.com/GregTechCEu/GregTech-Modern/pull/4593)
- Fix wrong argument check for 'redstone set #' placeholder by @FyreDrakon in [#4595](https://github.com/GregTechCEu/GregTech-Modern/pull/4595)
- Fix ore vein consistency by sorting the cache by @jurrejelle in [#4602](https://github.com/GregTechCEu/GregTech-Modern/pull/4602)
- Fix CR being displayed on CM when pasting text on windows by @TarLaboratories in [#4603](https://github.com/GregTechCEu/GregTech-Modern/pull/4603)


## Version [v7.5.1](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.5.0-1.20.1...v7.5.1-1.20.1)
### Fixed

- Fix access protection issue in netherite tools + lamprenderer issues by @jurrejelle in [#4579](https://github.com/GregTechCEu/GregTech-Modern/pull/4579)


## Version [v7.5.0](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.4.1-1.20.1...v7.5.0-1.20.1)
### Added

- 7.4.x Haze small fusion ctm tweaks bc it was bothering me by @HazeVista in [#4432](https://github.com/GregTechCEu/GregTech-Modern/pull/4432)
- Add option to display temperatures in Celsius by @TarLaboratories in [#3839](https://github.com/GregTechCEu/GregTech-Modern/pull/3839)
- Spray cans with AE2 IColorableBlockEntity support by @zetrock1 in [#4264](https://github.com/GregTechCEu/GregTech-Modern/pull/4264)
- Rework machine copy/paste card to support copying pipes, covers, cover settings, and more machine settings by @gustovafing in [#4272](https://github.com/GregTechCEu/GregTech-Modern/pull/4272)
- Add Hotkey for StepAssist by @zetrock1 in [#4291](https://github.com/GregTechCEu/GregTech-Modern/pull/4291)
- Add HV, IV screwdriver and chainsaw by @zetrock1 in [#4310](https://github.com/GregTechCEu/GregTech-Modern/pull/4310)
- Jade battery provider by @zetrock1 in [#4317](https://github.com/GregTechCEu/GregTech-Modern/pull/4317)
- Add CC: Tweaked peripheral for ghost programmed circuit by @blockninja124 in [#4468](https://github.com/GregTechCEu/GregTech-Modern/pull/4468)
- Trinium spring by @zetrock1 in [#4470](https://github.com/GregTechCEu/GregTech-Modern/pull/4470)
- Output bus filtering by @zetrock1 in [#4337](https://github.com/GregTechCEu/GregTech-Modern/pull/4337)
- Allow rendering other modules from placeholders by @TarLaboratories in [#3900](https://github.com/GregTechCEu/GregTech-Modern/pull/3900)
- Add gem slurry from purified ore recipes by @SpicyNoodle5 in [#4413](https://github.com/GregTechCEu/GregTech-Modern/pull/4413)
- Recipe Fail Reason Display by @illuciaz23 in [#4487](https://github.com/GregTechCEu/GregTech-Modern/pull/4487)
- Add biomeTag recipe condition by @chloecat34 in [#4419](https://github.com/GregTechCEu/GregTech-Modern/pull/4419)

### Fixed

- Fix overwriting FOV when on concrete by @zetrock1 in [#4446](https://github.com/GregTechCEu/GregTech-Modern/pull/4446)
- Stop placeholder execution when an exception is encountered by @TarLaboratories in [#4455](https://github.com/GregTechCEu/GregTech-Modern/pull/4455)
- Fix tank valve info by @zetrock1 in [#4454](https://github.com/GregTechCEu/GregTech-Modern/pull/4454)
- Fix voltage display by @illuciaz23 in [#4462](https://github.com/GregTechCEu/GregTech-Modern/pull/4462)
- Fixed Multi Smelter texture again. by @Conity723 in [#4469](https://github.com/GregTechCEu/GregTech-Modern/pull/4469)
- Terminal tooltip change to ensure consistent terminology by @HazeVista in [#4458](https://github.com/GregTechCEu/GregTech-Modern/pull/4458)
- Only allow http and https by @TarLaboratories in [#4457](https://github.com/GregTechCEu/GregTech-Modern/pull/4457)
- Add check to not cache invalid recipes by @jurrejelle in [#4486](https://github.com/GregTechCEu/GregTech-Modern/pull/4486)
- Remove BlockEntity Check in MinerLogic by @lilpaladin1 in [#4488](https://github.com/GregTechCEu/GregTech-Modern/pull/4488)
- Fix autogenerating mortar recipes by @jurrejelle in [#4498](https://github.com/GregTechCEu/GregTech-Modern/pull/4498)
- Replace mandatory air with any in blast chiler structure by @jurrejelle in [#4502](https://github.com/GregTechCEu/GregTech-Modern/pull/4502)
- Fix CME with parts and partpositions when calling getParts in addedToController by @jurrejelle in [#4505](https://github.com/GregTechCEu/GregTech-Modern/pull/4505)
- Fix missing/invalid pipe model issues by @screret in [#4530](https://github.com/GregTechCEu/GregTech-Modern/pull/4530)
- Fix bug in NBTPredicateIngredient serializer by @Mqrius in [#4536](https://github.com/GregTechCEu/GregTech-Modern/pull/4536)
- Fix dust disassembly recipes by @TarLaboratories in [#4456](https://github.com/GregTechCEu/GregTech-Modern/pull/4456)
- Fix pipes missing break particle textures by @screret in [#4533](https://github.com/GregTechCEu/GregTech-Modern/pull/4533)
- Simplify material block models and fix issues they had with shaders by @screret in [#4532](https://github.com/GregTechCEu/GregTech-Modern/pull/4532)
- Fix pipes' block break animation being the wrong shape by @screret in [#4543](https://github.com/GregTechCEu/GregTech-Modern/pull/4543)
- Fixed tooltip order for Large Assembler by @HazeVista in [#4552](https://github.com/GregTechCEu/GregTech-Modern/pull/4552)
- Match Painted Output Busses to Painted Input Busses by @DilithiumThoride in [#4273](https://github.com/GregTechCEu/GregTech-Modern/pull/4273)
- Improve bedrock vein randomness by @Gaider10 in [#4574](https://github.com/GregTechCEu/GregTech-Modern/pull/4574)

### Changed

- Two-Phase Recipe Addition System by @TechLord22 in [#3981](https://github.com/GregTechCEu/GregTech-Modern/pull/3981)
- Correction and update of the new uk_ua by @MetenBouldry in [#4452](https://github.com/GregTechCEu/GregTech-Modern/pull/4452)
- Use Generic Builder pattern for MachineBuilder by @jurrejelle in [#4422](https://github.com/GregTechCEu/GregTech-Modern/pull/4422)
- Distribute display voltage logic to machine implementations by @toapuro in [#4459](https://github.com/GregTechCEu/GregTech-Modern/pull/4459)
- DFS stack-based recipe lookup implementation by @jurrejelle in [#3986](https://github.com/GregTechCEu/GregTech-Modern/pull/3986)
- Pipe model rework by @screret in [#4283](https://github.com/GregTechCEu/GregTech-Modern/pull/4283)
- Remove muffler hatch requirement from Large Distillery by @GirixK in [#4195](https://github.com/GregTechCEu/GregTech-Modern/pull/4195)


## Version [v7.4.1](https://github.com/GregTechCEu/GregTech-Modern/compare/v7.4.0-1.20.1...v7.4.1-1.20.1)
### Added

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,56 +3,6 @@ title: "Migrating from LDLib SyncData"
---
# Migrating from LDLib SyncData

### Simple example

This simple example covers the majority of use cases when adding sync/save fields to a standard machine, machine trait or cover.

#### With LDLib:
```java
class CustomMachine extends SimpleTieredMachine {
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(CustomMachine.class,
SimpleTieredMachine.MANAGED_FIELD_HOLDER);

@Override
public ManagedFieldHolder getFieldHolder() {
return MANAGED_FIELD_HOLDER;
}

@Getter
@Persisted
@DescSynced
@RequireRerender
protected int customIntValue;

@Persisted(key = "customNBTKey")
protected String customStringValue;

public void setCustomIntValue(int newValue) {
this.customIntValue = newValue;
}
}
```

#### New System:
```java
class CustomMachine extends SimpleTieredMachine {
@Getter
@SaveField
@SyncToClient
protected int customIntValue;

@SaveField(nbtKey = "customNBTKey")
protected String customStringValue;

public void setCustomIntValue(int newValue) {
this.customIntValue = newValue;
////// IMPORTANT: markClientSyncFieldDirty must be called to update client synced fields.
getSyncDataHolder().markClientSyncFieldDirty("customIntValue");
}
}

```

### General migration guidelines

- Remove all `ManagedFieldHolder` fields.
Expand Down
72 changes: 0 additions & 72 deletions docs/content/Gameplay/Central-Monitor.md

This file was deleted.

31 changes: 0 additions & 31 deletions docs/content/Gameplay/Logistics/Machines.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,37 +42,6 @@ the power button in its UI or by right-clicking it with a Soft Mallet.

Buses and Hatches can accept automated import or export from other sides, so long as something else is causing it.

### Distinct, Painted, and Filtered Inputs and Outputs
Under normal circumstances, **all** input Buses and Hatches and on a multiblock machine will be checked for recipe
inputs, and all output buses and hatches will be used to place recipe outputs. However, this can lead to unwanted behavior
where a user wants a single machine to do multiple recipes, but the ingredients to those recipes can conflict and be used
to run an unwanted third recipe. Additionally, when a machine is being used like this, the output bus/hatch to which
produced items/fluids are delivered is chosen somewhat arbitrarily, making it difficult or unwieldy to plan pipes to carry
specific output products away.

GTM offers three tools for this problem: Fluid Hatch Filter Locking, Distinct Buses and Painted Buses/Hatches.

* Fluid Hatch Filter Locking is a simple system for resolving the problem of deciding what output hatches receive what
produced fluids. Using the same interface as a Super Tank, a Fluid Output Hatch can have its current contained fluid
Locked, meaning that only that fluid will ever be placed in it; or the Hatch can be pre-emptively locked to a fluid by
dragging that fluid from JEI/EMI into the Hatch's output slot.
* Filter Locking only works with standard *single* fluid hatches, and cannot be done to the higher-tier Quadruple or
Nonuple Fluid Hatches. (However, those Hatches also cannot contain a single fluid in more than one slot, so they do
still allow for some degree of output separation when used with Quadruple or Nonuple Fluid Pipes.)
* Distinct Buses is a toggle used on Input Buses (not Hatches), which causes the machine to look at this bus as being
separate from all other Distinct Buses. (One distinct bus has no meaning, but two distinct buses on one machine will
cause the machine to search each distinct bus separately).
* Painted Buses/Hatches are hatches which have been Painted using a can of spray paint. Input Buses/Hatches which have been
Painted in the same color are looked at together by the machine searching for recipe inputs, but any items/fluids stored
in buses/hatches with a different color are not used for the search. The isolation works the same as for Distinct Buses,
but it allows for multiple buses/hatches to be searched together as a group.
* Prior to version 7.5.0, painting **Output** Buses/Hatches had no effect. Version 7.5.0 introduced machines pairing their
Painted Outputs to their Painted Inputs, such that if a recipe pulls items from a Painted Input, it can only output the
products of that recipe to a Painted Output of the same color (or an unpainted output).
* Buses and Hatches that are not painted, or not set to Distinct, are always fair game for the machine - Distinct and
Painted Inputs can always pull from other non-distinct and non-painted inputs; and recipes that used ingredients from
Painted Inputs can always send their products to non-painted outputs.

## Passthrough Hatches and the Cleanroom
The Cleanroom is a unique multiblock with unique restrictions. Because the Cleanroom must have solid walls, pipes, cables,
and inventories outside cannot directly connect to machines inside. For this purpose, Passthrough Hatches exist.
Expand Down
1 change: 1 addition & 0 deletions docs/content/Modpacks/Changes/v7.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ to
`roll(RecipeCapability<?> cap, List<Content> chancedEntries, ChanceBoostFunction boostFunction, int recipeTier, int chanceTier, Object2IntMap<?> cache, int times)`

(The chance roll function now also requires the RecipeCapability that is currently being processed to be passed in.)

Loading