Skip to content

Commit 8f42a29

Browse files
committed
Hopefully fixed custom KubeJS methods not existing
1 parent 634aac8 commit 8f42a29

10 files changed

Lines changed: 71 additions & 27 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ org.gradle.jvmargs=-Xmx1G
1010
mapping_version=2023.09.03-1.20.1
1111

1212
# Mod Properties
13-
mod_version=2.2.0
13+
mod_version=2.2.1
1414
maven_group=com.illuminatijoe.refactorycore
1515
archives_base_name=refactorycore
1616
mod_id=refactorycore

src/main/java/com/illuminatijoe/refactorycore/ReFactoryCore.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.illuminatijoe.refactorycore;
22

33
import com.illuminatijoe.refactorycore.api.ReFactoryRegistries;
4+
import com.illuminatijoe.refactorycore.api.capabilities.ILPContainer;
45
import com.illuminatijoe.refactorycore.api.capabilities.recipe.lookup.MapLPIngredient;
56
import com.illuminatijoe.refactorycore.client.ReFactoryCoreClient;
67
import com.illuminatijoe.refactorycore.data.ReFactorySounds;
@@ -22,7 +23,9 @@
2223

2324
import net.minecraft.resources.ResourceLocation;
2425
import net.minecraftforge.common.MinecraftForge;
26+
import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent;
2527
import net.minecraftforge.eventbus.api.IEventBus;
28+
import net.minecraftforge.eventbus.api.SubscribeEvent;
2629
import net.minecraftforge.fml.common.Mod;
2730
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
2831
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
@@ -99,4 +102,9 @@ private void registerMachines(GTCEuAPI.RegisterEvent<ResourceLocation, MachineDe
99102
public void registerSounds(GTCEuAPI.RegisterEvent<ResourceLocation, SoundEntry> event) {
100103
ReFactorySounds.init();
101104
}
105+
106+
@SubscribeEvent
107+
public void registerCapabilities(RegisterCapabilitiesEvent event) {
108+
event.register(ILPContainer.class);
109+
}
102110
}

src/main/java/com/illuminatijoe/refactorycore/ReFactoryCoreGTAddon.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
package com.illuminatijoe.refactorycore;
22

33
import com.illuminatijoe.refactorycore.api.ReFactoryRegistries;
4-
import com.illuminatijoe.refactorycore.api.capabilities.recipe.LPRecipeCapability;
4+
import com.illuminatijoe.refactorycore.api.capabilities.recipe.ReFactoryRecipeCapabilities;
55
import com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipeTypes;
66
import com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipes;
77

88
import com.gregtechceu.gtceu.api.addon.GTAddon;
99
import com.gregtechceu.gtceu.api.addon.IGTAddon;
1010
import com.gregtechceu.gtceu.api.addon.events.KJSRecipeKeyEvent;
1111
import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate;
12-
import com.gregtechceu.gtceu.integration.kjs.recipe.components.ContentJS;
1312

1413
import net.minecraft.data.recipes.FinishedRecipe;
1514

1615
import com.mojang.datafixers.util.Pair;
17-
import dev.latvian.mods.kubejs.recipe.component.NumberComponent;
1816

1917
import java.util.function.Consumer;
2018

19+
import static com.illuminatijoe.refactorycore.integration.kubejs.ReFactoryRecipeComponent.LP_IN;
20+
import static com.illuminatijoe.refactorycore.integration.kubejs.ReFactoryRecipeComponent.LP_OUT;
21+
2122
@SuppressWarnings("unused")
2223
@GTAddon
2324
public class ReFactoryCoreGTAddon implements IGTAddon {
@@ -46,16 +47,16 @@ public void addRecipes(Consumer<FinishedRecipe> provider) {
4647
ReFactoryCoreRecipes.init(provider);
4748
}
4849

50+
@Override
51+
public void registerRecipeCapabilities() {
52+
ReFactoryRecipeCapabilities.init();
53+
}
54+
4955
// If you have custom ingredient types, uncomment this & change to match your capability.
5056
// KubeJS WILL REMOVE YOUR RECIPES IF THESE ARE NOT REGISTERED.
5157

52-
public static final ContentJS<Integer> LP_IN = new ContentJS<>(NumberComponent.ANY_INT,
53-
LPRecipeCapability.CAP, false);
54-
public static final ContentJS<Integer> LP_OUT = new ContentJS<>(NumberComponent.ANY_INT,
55-
LPRecipeCapability.CAP, true);
56-
5758
@Override
5859
public void registerRecipeKeys(KJSRecipeKeyEvent event) {
59-
event.registerKey(LPRecipeCapability.CAP, Pair.of(LP_IN, LP_OUT));
60+
event.registerKey(ReFactoryRecipeCapabilities.LP, Pair.of(LP_IN, LP_OUT));
6061
}
6162
}

src/main/java/com/illuminatijoe/refactorycore/api/capabilities/recipe/LPRecipeCapability.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515

1616
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
1717
import org.apache.commons.lang3.mutable.MutableInt;
18-
import org.jetbrains.annotations.Nullable;
1918

20-
import java.util.Collection;
2119
import java.util.List;
2220

2321
public class LPRecipeCapability extends RecipeCapability<Integer> {
@@ -38,18 +36,12 @@ public Integer copyWithModifier(Integer content, ContentModifier modifier) {
3836
return modifier.apply(content);
3937
}
4038

41-
@Override
42-
public @Nullable List<AbstractMapIngredient> getDefaultMapIngredient(Object object) {
39+
public List<AbstractMapIngredient> convertToMapIngredient(Object ingredient) {
4340
List<AbstractMapIngredient> ingredients = new ObjectArrayList<>(1);
44-
if (object instanceof Integer essence) ingredients.add(new MapLPIngredient(essence));
41+
if (ingredient instanceof Integer essence) ingredients.add(new MapLPIngredient(essence));
4542
return ingredients;
4643
}
4744

48-
@Override
49-
public List<Object> compressIngredients(Collection<Object> ingredients) {
50-
return super.compressIngredients(ingredients);
51-
}
52-
5345
@Override
5446
public boolean isRecipeSearchFilter() {
5547
return true;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.illuminatijoe.refactorycore.api.capabilities.recipe;
2+
3+
import com.gregtechceu.gtceu.api.registry.GTRegistries;
4+
5+
public class ReFactoryRecipeCapabilities {
6+
7+
public static final LPRecipeCapability LP = LPRecipeCapability.CAP;
8+
9+
public static void init() {
10+
GTRegistries.RECIPE_CAPABILITIES.register(LP.name, LP);
11+
}
12+
}

src/main/java/com/illuminatijoe/refactorycore/data/recipes/ReFactoryCoreRecipes.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
package com.illuminatijoe.refactorycore.data.recipes;
22

3+
import com.illuminatijoe.refactorycore.api.capabilities.recipe.LPRecipeCapability;
4+
5+
import com.gregtechceu.gtceu.api.GTValues;
6+
37
import net.minecraft.data.recipes.FinishedRecipe;
8+
import net.minecraft.world.item.Items;
49

510
import java.util.function.Consumer;
611

712
import static com.gregtechceu.gtceu.api.data.tag.TagPrefix.*;
813
import static com.gregtechceu.gtceu.common.data.GTMaterials.*;
914
import static com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipeTypes.ADVANCED_PRIMITIVE_BLAST_FURNACE_RECIPES;
15+
import static com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipeTypes.BLOODFORGE;
1016

1117
public class ReFactoryCoreRecipes {
1218

@@ -161,5 +167,13 @@ public static void init(Consumer<FinishedRecipe> provider) {
161167
.outputItems(dust, Ash)
162168
.duration(180 * REDUCED_DURATION)
163169
.save(provider);
170+
171+
// BLOODFORGE.recipeBuilder("dirt_from_dirt")
172+
// .inputItems(Items.DIRT)
173+
// .input(LPRecipeCapability.CAP, 100)
174+
// .outputItems(Items.DIRT)
175+
// .duration(400)
176+
// .EUt(GTValues.VA[GTValues.HV])
177+
// .save(provider);
164178
}
165179
}

src/main/java/com/illuminatijoe/refactorycore/integration/kubejs/ReFactoryCoreKubeJSPlugin.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.illuminatijoe.refactorycore.integration.kubejs;
22

33
import com.illuminatijoe.refactorycore.ReFactoryCore;
4-
import com.illuminatijoe.refactorycore.ReFactoryCoreGTAddon;
54
import com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipeTypes;
65
import com.illuminatijoe.refactorycore.machines.ReFactoryMachines;
76

@@ -50,7 +49,7 @@ public void registerRecipeSchemas(RegisterRecipeSchemasEvent event) {
5049

5150
@Override
5251
public void registerRecipeComponents(RecipeComponentFactoryRegistryEvent event) {
53-
event.register("lpIn", ReFactoryCoreGTAddon.LP_IN);
54-
event.register("lpOut", ReFactoryCoreGTAddon.LP_OUT);
52+
event.register("lpInput", ReFactoryRecipeComponent.LP_IN);
53+
event.register("lpOutput", ReFactoryRecipeComponent.LP_OUT);
5554
}
5655
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.illuminatijoe.refactorycore.integration.kubejs;
2+
3+
import com.illuminatijoe.refactorycore.api.capabilities.recipe.LPRecipeCapability;
4+
5+
import com.gregtechceu.gtceu.integration.kjs.recipe.components.ContentJS;
6+
7+
import dev.latvian.mods.kubejs.recipe.component.NumberComponent;
8+
9+
public class ReFactoryRecipeComponent {
10+
11+
public static final ContentJS<Integer> LP_IN = new ContentJS<>(NumberComponent.ANY_INT,
12+
LPRecipeCapability.CAP, false);
13+
public static final ContentJS<Integer> LP_OUT = new ContentJS<>(NumberComponent.ANY_INT,
14+
LPRecipeCapability.CAP, true);
15+
}

src/main/java/com/illuminatijoe/refactorycore/integration/kubejs/ReFactoryRecipeSchema.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,22 @@
1111

1212
public interface ReFactoryRecipeSchema {
1313

14-
@SuppressWarnings("InnerClassMayBeStatic")
1514
@Accessors(chain = true, fluent = true)
1615
class ReFactoryRecipeJS extends GTRecipeSchema.GTRecipeJS {
1716

1817
public GTRecipeSchema.GTRecipeJS lpInput(int essence) {
19-
return this.input(LPRecipeCapability.CAP, essence);
18+
this.input(LPRecipeCapability.CAP, essence);
19+
return this;
2020
}
2121

2222
public GTRecipeSchema.GTRecipeJS lpOutput(int essence) {
23-
return this.output(LPRecipeCapability.CAP, essence);
23+
this.output(LPRecipeCapability.CAP, essence);
24+
return this;
2425
}
2526
}
2627

27-
RecipeSchema SCHEMA = new RecipeSchema(ReFactoryRecipeJS.class, ReFactoryRecipeJS::new, DURATION, DATA, CONDITIONS,
28+
RecipeSchema SCHEMA = new RecipeSchema(ReFactoryRecipeJS.class, ReFactoryRecipeJS::new,
29+
DURATION, DATA, CONDITIONS,
2830
ALL_INPUTS, ALL_TICK_INPUTS, ALL_OUTPUTS, ALL_TICK_OUTPUTS,
2931
INPUT_CHANCE_LOGICS, OUTPUT_CHANCE_LOGICS, TICK_INPUT_CHANCE_LOGICS, TICK_OUTPUT_CHANCE_LOGICS, CATEGORY)
3032
.constructor((recipe, schemaType, keys, from) -> recipe.id(from.getValue(recipe, ID)), ID)

src/main/java/com/illuminatijoe/refactorycore/machines/part/LPHatchPartMachine.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public static int getMaxCapacity(int tier) {
9090

9191
public static int getMaxConsumption(int tier) {
9292
return switch (tier) {
93+
case GTValues.EV -> 5000;
9394
case GTValues.IV -> 10000;
9495
case GTValues.LuV -> 50000;
9596
case GTValues.ZPM -> 5000000;

0 commit comments

Comments
 (0)