Skip to content

Commit 8d47e07

Browse files
Ql/custom lp network (#196)
* OMG it works ! Still missing a lot of features but at least it works * Multiple Soul types need to add display of the soul amount in order to see if it works ! * it works !! * Add reader item * WIP * kubejs soul output works input not yet ! * Add missing soul types * Add more kjs integration * OMG it works ! Still missing a lot of features but at least it works * Multiple Soul types need to add display of the soul amount in order to see if it works ! * it works !! * Add reader item * WIP * kubejs soul output works input not yet ! * Add missing soul types * Add more kjs integration * Add another test recipe * fix recipe soul consumption and add lang * fixed saved data * start adding command * Add validation that there is no second hatch in the multiblock * Add admin command to manipulate soul network * Add parallel Logic * remove tier in soul network * fix EMI broken * fix souls add issue * This stupid code is what breaks the recipes * Spotless + scheduele invalidate on next tick --------- Co-authored-by: jurrejelle <jurre@jilles.com>
1 parent 6405821 commit 8d47e07

31 files changed

Lines changed: 1131 additions & 295 deletions

File tree

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
"variants": {
3+
"facing=east,upwards_facing=east": {
4+
"gtceu:z": 270,
5+
"model": "cosmiccore:block/machine/soul_tester",
6+
"y": 90
7+
},
8+
"facing=east,upwards_facing=north": {
9+
"model": "cosmiccore:block/machine/soul_tester",
10+
"y": 90
11+
},
12+
"facing=east,upwards_facing=south": {
13+
"gtceu:z": 180,
14+
"model": "cosmiccore:block/machine/soul_tester",
15+
"y": 90
16+
},
17+
"facing=east,upwards_facing=west": {
18+
"gtceu:z": 90,
19+
"model": "cosmiccore:block/machine/soul_tester",
20+
"y": 90
21+
},
22+
"facing=north,upwards_facing=east": {
23+
"gtceu:z": 270,
24+
"model": "cosmiccore:block/machine/soul_tester"
25+
},
26+
"facing=north,upwards_facing=north": {
27+
"model": "cosmiccore:block/machine/soul_tester"
28+
},
29+
"facing=north,upwards_facing=south": {
30+
"gtceu:z": 180,
31+
"model": "cosmiccore:block/machine/soul_tester"
32+
},
33+
"facing=north,upwards_facing=west": {
34+
"gtceu:z": 90,
35+
"model": "cosmiccore:block/machine/soul_tester"
36+
},
37+
"facing=south,upwards_facing=east": {
38+
"gtceu:z": 270,
39+
"model": "cosmiccore:block/machine/soul_tester",
40+
"y": 180
41+
},
42+
"facing=south,upwards_facing=north": {
43+
"model": "cosmiccore:block/machine/soul_tester",
44+
"y": 180
45+
},
46+
"facing=south,upwards_facing=south": {
47+
"gtceu:z": 180,
48+
"model": "cosmiccore:block/machine/soul_tester",
49+
"y": 180
50+
},
51+
"facing=south,upwards_facing=west": {
52+
"gtceu:z": 90,
53+
"model": "cosmiccore:block/machine/soul_tester",
54+
"y": 180
55+
},
56+
"facing=west,upwards_facing=east": {
57+
"gtceu:z": 270,
58+
"model": "cosmiccore:block/machine/soul_tester",
59+
"y": 270
60+
},
61+
"facing=west,upwards_facing=north": {
62+
"model": "cosmiccore:block/machine/soul_tester",
63+
"y": 270
64+
},
65+
"facing=west,upwards_facing=south": {
66+
"gtceu:z": 180,
67+
"model": "cosmiccore:block/machine/soul_tester",
68+
"y": 270
69+
},
70+
"facing=west,upwards_facing=west": {
71+
"gtceu:z": 90,
72+
"model": "cosmiccore:block/machine/soul_tester",
73+
"y": 270
74+
}
75+
}
76+
}
Lines changed: 1 addition & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,7 @@
11
{
22
"variants": {
3-
"facing=east,upwards_facing=east": {
4-
"gtceu:z": 270,
5-
"model": "cosmiccore:block/machine/star_ladder",
6-
"y": 90
7-
},
8-
"facing=east,upwards_facing=north": {
9-
"model": "cosmiccore:block/machine/star_ladder",
10-
"y": 90
11-
},
12-
"facing=east,upwards_facing=south": {
13-
"gtceu:z": 180,
14-
"model": "cosmiccore:block/machine/star_ladder",
15-
"y": 90
16-
},
17-
"facing=east,upwards_facing=west": {
18-
"gtceu:z": 90,
19-
"model": "cosmiccore:block/machine/star_ladder",
20-
"y": 90
21-
},
22-
"facing=north,upwards_facing=east": {
23-
"gtceu:z": 270,
3+
"": {
244
"model": "cosmiccore:block/machine/star_ladder"
25-
},
26-
"facing=north,upwards_facing=north": {
27-
"model": "cosmiccore:block/machine/star_ladder"
28-
},
29-
"facing=north,upwards_facing=south": {
30-
"gtceu:z": 180,
31-
"model": "cosmiccore:block/machine/star_ladder"
32-
},
33-
"facing=north,upwards_facing=west": {
34-
"gtceu:z": 90,
35-
"model": "cosmiccore:block/machine/star_ladder"
36-
},
37-
"facing=south,upwards_facing=east": {
38-
"gtceu:z": 270,
39-
"model": "cosmiccore:block/machine/star_ladder",
40-
"y": 180
41-
},
42-
"facing=south,upwards_facing=north": {
43-
"model": "cosmiccore:block/machine/star_ladder",
44-
"y": 180
45-
},
46-
"facing=south,upwards_facing=south": {
47-
"gtceu:z": 180,
48-
"model": "cosmiccore:block/machine/star_ladder",
49-
"y": 180
50-
},
51-
"facing=south,upwards_facing=west": {
52-
"gtceu:z": 90,
53-
"model": "cosmiccore:block/machine/star_ladder",
54-
"y": 180
55-
},
56-
"facing=west,upwards_facing=east": {
57-
"gtceu:z": 270,
58-
"model": "cosmiccore:block/machine/star_ladder",
59-
"y": 270
60-
},
61-
"facing=west,upwards_facing=north": {
62-
"model": "cosmiccore:block/machine/star_ladder",
63-
"y": 270
64-
},
65-
"facing=west,upwards_facing=south": {
66-
"gtceu:z": 180,
67-
"model": "cosmiccore:block/machine/star_ladder",
68-
"y": 270
69-
},
70-
"facing=west,upwards_facing=west": {
71-
"gtceu:z": 90,
72-
"model": "cosmiccore:block/machine/star_ladder",
73-
"y": 270
745
}
756
}
767
}

src/generated/resources/assets/cosmiccore/lang/en_ud.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@
280280
"block.cosmiccore.somarust_casing": "buısɐƆ ʇsnɹɐɯoS",
281281
"block.cosmiccore.soul_muted_casing": "buısɐƆ pǝʇnW ןnoS",
282282
"block.cosmiccore.soul_stained_steel_aluminium_plated_casing": "buısɐƆ pǝʇɐןԀ ɯnıuıɯnןⱯ ןǝǝʇS pǝuıɐʇS ןnoS",
283+
"block.cosmiccore.soul_tester": "ɹǝʇsǝ⟘ ןnoS",
283284
"block.cosmiccore.spirit_crucible": "ǝןqıɔnɹƆ ʇıɹıdS",
284285
"block.cosmiccore.star_ladder": "ɹǝppɐꞀ ɹɐʇS",
285286
"block.cosmiccore.star_ladder_research_hub": "qnH ɥɔɹɐǝsǝᴚ ɹǝppɐꞀ ɹɐʇS",
@@ -1383,6 +1384,7 @@
13831384
"item.cosmiccore.simple_rebreather.tooltip": "˙sʇuǝɯuoɹıʌuǝ ㄥ§ɹıⱯ uıɥ⟘q§ uı uıɐɹp uǝbʎxo sǝɔnpǝᴚㄥ§",
13841385
"item.cosmiccore.somatic_processing_assembly": "pɹɐoᗺ ʎןqɯǝssⱯ buıssǝɔoɹdoʇɐɯoS",
13851386
"item.cosmiccore.soul_cut_lucid_cpu_chip": "dıɥƆ ∩ԀƆ pıɔnꞀ ʇnƆ ןnoS",
1387+
"item.cosmiccore.soul_reader": "ɹǝpɐǝᴚ ʞɹoʍʇǝN ןnoS",
13861388
"item.cosmiccore.sov_blood_orb": "qɹO pooןᗺ ubıǝɹǝʌoS",
13871389
"item.cosmiccore.space_advanced_nanomuscle_chestplate": "ǝʇɐןdʇsǝɥƆ ǝʇınS ǝɔɐdS ™ǝןɔsnWouɐN pǝɔuɐʌpⱯ",
13881390
"item.cosmiccore.space_advanced_quarktech_chestplate": "ǝʇɐןdʇsǝɥƆ ǝʇınS ǝɔɐdS ™ɥɔǝ⟘ʞɹɐnὉ pǝɔuɐʌpⱯ",

src/generated/resources/assets/cosmiccore/lang/en_us.json

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@
280280
"block.cosmiccore.somarust_casing": "Somarust Casing",
281281
"block.cosmiccore.soul_muted_casing": "Soul Muted Casing",
282282
"block.cosmiccore.soul_stained_steel_aluminium_plated_casing": "Soul Stained Steel Aluminium Plated Casing",
283+
"block.cosmiccore.soul_tester": "Soul Tester",
283284
"block.cosmiccore.spirit_crucible": "Spirit Crucible",
284285
"block.cosmiccore.star_ladder": "Star Ladder",
285286
"block.cosmiccore.star_ladder_research_hub": "Star Ladder Research Hub",
@@ -1382,6 +1383,7 @@
13821383
"item.cosmiccore.simple_rebreather": "Simple Rebreather",
13831384
"item.cosmiccore.simple_rebreather.tooltip": "§7Reduces oxygen drain in §bThin Air§7 environments.",
13841385
"item.cosmiccore.somatic_processing_assembly": "Somatoprocessing Assembly Board",
1386+
"item.cosmiccore.soul_reader": "Soul Network Reader",
13851387
"item.cosmiccore.soul_cut_lucid_cpu_chip": "Soul Cut Lucid CPU Chip",
13861388
"item.cosmiccore.sov_blood_orb": "Sovereign Blood Orb",
13871389
"item.cosmiccore.space_advanced_nanomuscle_chestplate": "Advanced NanoMuscle™ Space Suite Chestplate",
@@ -1993,5 +1995,42 @@
19931995
"tooltip.cosmiccore.thermia_hatch_limit": "§cTemp. Limit: %sK",
19941996
"tooltip.gt_scythe.energy": "Energy: %s / %s EU",
19951997
"tooltip.gt_scythe.no_energy": "§cNot enough energy.",
1996-
"tooltip.gt_scythe.per_hit": "Cost: %s EU / hit"
1998+
"tooltip.gt_scythe.per_hit": "Cost: %s EU / hit",
1999+
"recipe.cosmiccore.raw_soul_in": "Consumes: %s Raw souls",
2000+
"recipe.cosmiccore.refined_soul_in": "Consumes: %s Refined souls",
2001+
"recipe.cosmiccore.proud_soul_in": "Consumes: %s Proud souls",
2002+
"recipe.cosmiccore.greedy_soul_in": "Consumes: %s Greedy souls",
2003+
"recipe.cosmiccore.lustful_soul_in": "Consumes: %s Lustful souls",
2004+
"recipe.cosmiccore.envious_soul_in": "Consumes: %s Envious souls",
2005+
"recipe.cosmiccore.gluttonous_soul_in": "Consumes: %s Gluttonous souls",
2006+
"recipe.cosmiccore.wrathful_soul_in": "Consumes: %s Wrathful souls",
2007+
"recipe.cosmiccore.slothful_soul_in": "Consumes: %s Slothful souls",
2008+
"recipe.cosmiccore.temporal_soul_in": "Consumes: %s Temporal souls",
2009+
"recipe.cosmiccore.raw_soul_out": "Produces: %s Raw souls",
2010+
"recipe.cosmiccore.refined_soul_out": "Produces: %s Refined souls",
2011+
"recipe.cosmiccore.proud_soul_out": "Produces: %s Proud souls",
2012+
"recipe.cosmiccore.greedy_soul_out": "Produces: %s Greedy souls",
2013+
"recipe.cosmiccore.lustful_soul_out": "Produces: %s Lustful souls",
2014+
"recipe.cosmiccore.envious_soul_out": "Produces: %s Envious souls",
2015+
"recipe.cosmiccore.gluttonous_soul_out": "Produces: %s Gluttonous souls",
2016+
"recipe.cosmiccore.wrathful_soul_out": "Produces: %s Wrathful souls",
2017+
"recipe.cosmiccore.slothful_soul_out": "Produces: %s Slothful souls",
2018+
"recipe.cosmiccore.temporal_soul_out": "Produces: %s Temporal souls",
2019+
"gui.cosmiccore.soul.raw.name": "Raw souls",
2020+
"gui.cosmiccore.soul.refined.name": "Refined souls",
2021+
"gui.cosmiccore.soul.proud.name": "Proud souls",
2022+
"gui.cosmiccore.soul.greedy.name": "Greedy souls",
2023+
"gui.cosmiccore.soul.lustful.name": "Lustful souls",
2024+
"gui.cosmiccore.soul.envious.name": "Envious souls",
2025+
"gui.cosmiccore.soul.gluttonous.name": "Gluttonous souls",
2026+
"gui.cosmiccore.soul.wrathful.name": "Wrathful souls",
2027+
"gui.cosmiccore.soul.slothful.name": "Slothful souls",
2028+
"gui.cosmiccore.soul.temporal.name": "Temporal souls",
2029+
"gui.cosmiccore.soul.empty_network": "Network is empty",
2030+
"gui.cosmiccore.soul.network_contents": "--- Network Contents ---",
2031+
"gui.cosmiccore.soul.reset": "Soul network has been reset",
2032+
"gui.cosmiccore.soul.add": "Added %s %s souls to the network",
2033+
"gui.cosmiccore.soul.remove": "removed %s %s souls to the network",
2034+
"gui.cosmiccore.soul.capacity": "Capacity: %s souls",
2035+
"gui.cosmiccore.soul.set_tier": "the network is now tier %s"
19972036
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"parent": "minecraft:block/block",
3+
"loader": "gtceu:machine",
4+
"machine": "cosmiccore:soul_tester",
5+
"texture_overrides": {
6+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe"
7+
},
8+
"variants": {
9+
"is_formed=false,recipe_logic_status=idle": {
10+
"model": {
11+
"parent": "gtceu:block/machine/template/cube_all/sided",
12+
"textures": {
13+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
14+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front",
15+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_emissive"
16+
}
17+
}
18+
},
19+
"is_formed=false,recipe_logic_status=suspend": {
20+
"model": {
21+
"parent": "gtceu:block/machine/template/cube_all/sided",
22+
"textures": {
23+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
24+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front",
25+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_emissive"
26+
}
27+
}
28+
},
29+
"is_formed=false,recipe_logic_status=waiting": {
30+
"model": {
31+
"parent": "gtceu:block/machine/template/cube_all/sided",
32+
"textures": {
33+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
34+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front_active",
35+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_active_emissive"
36+
}
37+
}
38+
},
39+
"is_formed=false,recipe_logic_status=working": {
40+
"model": {
41+
"parent": "gtceu:block/machine/template/cube_all/sided",
42+
"textures": {
43+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
44+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front_active",
45+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_active_emissive"
46+
}
47+
}
48+
},
49+
"is_formed=true,recipe_logic_status=idle": {
50+
"model": {
51+
"parent": "gtceu:block/machine/template/cube_all/sided",
52+
"textures": {
53+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
54+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front",
55+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_emissive"
56+
}
57+
}
58+
},
59+
"is_formed=true,recipe_logic_status=suspend": {
60+
"model": {
61+
"parent": "gtceu:block/machine/template/cube_all/sided",
62+
"textures": {
63+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
64+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front",
65+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_emissive"
66+
}
67+
}
68+
},
69+
"is_formed=true,recipe_logic_status=waiting": {
70+
"model": {
71+
"parent": "gtceu:block/machine/template/cube_all/sided",
72+
"textures": {
73+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
74+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front_active",
75+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_active_emissive"
76+
}
77+
}
78+
},
79+
"is_formed=true,recipe_logic_status=working": {
80+
"model": {
81+
"parent": "gtceu:block/machine/template/cube_all/sided",
82+
"textures": {
83+
"all": "gtceu:block/casings/solid/machine_casing_inert_ptfe",
84+
"overlay_front": "gtceu:block/multiblock/coke_oven/overlay_front_active",
85+
"overlay_front_emissive": "gtceu:block/multiblock/coke_oven/overlay_front_active_emissive"
86+
}
87+
}
88+
}
89+
}
90+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "cosmiccore:item/soul_reader"
5+
}
6+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"parent": "cosmiccore:block/machine/soul_tester"
3+
}

src/main/java/com/ghostipedia/cosmiccore/CosmicCore.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import com.ghostipedia.cosmiccore.api.capability.CosmicCapabilities;
44
import com.ghostipedia.cosmiccore.api.item.LinkedTerminalBehavior;
55
import com.ghostipedia.cosmiccore.api.pattern.CosmicPredicates;
6+
import com.ghostipedia.cosmiccore.api.recipe.ingredient.SoulIngredient;
67
import com.ghostipedia.cosmiccore.api.recipe.lookup.MapEmberIngredient;
78
import com.ghostipedia.cosmiccore.api.recipe.lookup.MapSoulIngredient;
89
import com.ghostipedia.cosmiccore.api.registries.CosmicRegistration;
910
import com.ghostipedia.cosmiccore.client.CosmicCoreClient;
1011
import com.ghostipedia.cosmiccore.common.airControl.OxygenItemCap;
1112
import com.ghostipedia.cosmiccore.common.airControl.OxygenRules;
13+
import com.ghostipedia.cosmiccore.common.commands.argument.SoulTypeArgument;
1214
import com.ghostipedia.cosmiccore.common.data.*;
1315
import com.ghostipedia.cosmiccore.common.data.materials.CosmicMaterialSet;
1416
import com.ghostipedia.cosmiccore.common.data.materials.CosmicMaterials;
@@ -36,6 +38,8 @@
3638

3739
import com.lowdragmc.lowdraglib.Platform;
3840

41+
import net.minecraft.commands.synchronization.ArgumentTypeInfos;
42+
import net.minecraft.commands.synchronization.SingletonArgumentInfo;
3943
import net.minecraft.resources.ResourceLocation;
4044
import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent;
4145
import net.minecraftforge.eventbus.api.SubscribeEvent;
@@ -111,12 +115,14 @@ public void modifyExistingMaterials(PostMaterialEvent event) {
111115
@SubscribeEvent
112116
public void commonSetup(FMLCommonSetupEvent event) {
113117
event.enqueueWork(() -> {
114-
MapIngredientTypeManager.registerMapIngredient(Integer.class, MapSoulIngredient::convertToMapIngredient);
118+
MapIngredientTypeManager.registerMapIngredient(SoulIngredient.class, MapSoulIngredient::from);
115119
MapIngredientTypeManager.registerMapIngredient(Double.class, MapEmberIngredient::convertToMapIngredient);
116120
GridLinkables.register(CosmicItems.LINKED_TERMINAL, LinkedTerminalBehavior.handler);
117121
CCoreNetwork.init();
118122
OxygenRules.registerAirRanges();
119123
DimensionMobScaling.registerScaling();
124+
ArgumentTypeInfos.registerByClass(SoulTypeArgument.class,
125+
SingletonArgumentInfo.contextFree(SoulTypeArgument::soulType));
120126
});
121127
}
122128

0 commit comments

Comments
 (0)