diff --git a/src/main/java/com/gregtechceu/gtceu/core/IResourceLocationExtensions.java b/src/main/java/com/gregtechceu/gtceu/core/IResourceLocationExtensions.java new file mode 100644 index 00000000000..316bc4f8943 --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/core/IResourceLocationExtensions.java @@ -0,0 +1,12 @@ +package com.gregtechceu.gtceu.core; + +import net.minecraft.resources.ResourceLocation; + +public interface IResourceLocationExtensions { + + public boolean gtm$getImplicit(); + + public void gtm$setImplicit(boolean implicit); + + public ResourceLocation gtm$asNonImplicit(); +} diff --git a/src/main/java/com/gregtechceu/gtceu/core/mixins/GTMixinPlugin.java b/src/main/java/com/gregtechceu/gtceu/core/mixins/GTMixinPlugin.java index f75b4c57ec1..cdbe57c2473 100644 --- a/src/main/java/com/gregtechceu/gtceu/core/mixins/GTMixinPlugin.java +++ b/src/main/java/com/gregtechceu/gtceu/core/mixins/GTMixinPlugin.java @@ -33,6 +33,7 @@ public String getRefMapperConfig() { addModCompatMixin("ftbchunks"); addModCompatMixin("xaerominimap"); addModCompatMixin("xaeroworldmap"); + addModCompatMixin("kubejs"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/core/mixins/ResourceLocationMixin.java b/src/main/java/com/gregtechceu/gtceu/core/mixins/ResourceLocationMixin.java new file mode 100644 index 00000000000..53c98c9f965 --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/core/mixins/ResourceLocationMixin.java @@ -0,0 +1,42 @@ +package com.gregtechceu.gtceu.core.mixins; + +import com.gregtechceu.gtceu.GTCEu; +import com.gregtechceu.gtceu.core.IResourceLocationExtensions; + +import net.minecraft.resources.ResourceLocation; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ResourceLocation.class) +public class ResourceLocationMixin implements IResourceLocationExtensions { + + @Unique + private boolean gtm$isImplicit; + + @Override + public boolean gtm$getImplicit() { + return this.gtm$isImplicit; + } + + @Override + public void gtm$setImplicit(boolean implicit) { + this.gtm$isImplicit = implicit; + } + + @Override + public ResourceLocation gtm$asNonImplicit() { + if (this.gtm$getImplicit()) { + return GTCEu.id(((ResourceLocation) (Object) this).getPath()); + } + return (ResourceLocation) (Object) this; + } + + @Inject(method = "*", at = @At("TAIL")) + private void populateImplicit(String namespace, String path, CallbackInfo info) { + gtm$isImplicit = false; + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/core/mixins/kubejs/KubeResourceLocationMixin.java b/src/main/java/com/gregtechceu/gtceu/core/mixins/kubejs/KubeResourceLocationMixin.java new file mode 100644 index 00000000000..890581623aa --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/core/mixins/kubejs/KubeResourceLocationMixin.java @@ -0,0 +1,26 @@ +package com.gregtechceu.gtceu.core.mixins.kubejs; + +import com.gregtechceu.gtceu.core.IResourceLocationExtensions; + +import net.minecraft.resources.ResourceLocation; + +import dev.latvian.mods.kubejs.util.KubeResourceLocation; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(value = KubeResourceLocation.class) +public abstract class KubeResourceLocationMixin { + + @Inject(at = @At("HEAD"), method = "wrap", cancellable = true) + private static void wrap(Object args, CallbackInfoReturnable cir) { + if (args instanceof String stringArg) { + if (!stringArg.contains(":")) { + var loc = ResourceLocation.fromNamespaceAndPath("kubejs", stringArg); + ((IResourceLocationExtensions) (Object) loc).gtm$setImplicit(true); + cir.setReturnValue(new KubeResourceLocation(loc)); + } + } + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/ActiveBlockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/ActiveBlockBuilder.java index 5573e9ccbf9..f055eecae07 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/ActiveBlockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/ActiveBlockBuilder.java @@ -3,6 +3,7 @@ import com.gregtechceu.gtceu.GTCEu; import com.gregtechceu.gtceu.api.block.ActiveBlock; import com.gregtechceu.gtceu.api.block.property.GTBlockStateProperties; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; @@ -39,7 +40,7 @@ public enum Type { public transient String activeTexture; public ActiveBlockBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); property(GTBlockStateProperties.ACTIVE); renderType(BlockRenderType.CUTOUT_MIPPED); activeTexture = ACTIVE.apply(baseTexture); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/CoilBlockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/CoilBlockBuilder.java index 4dc8aada029..3a7f4b44a17 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/CoilBlockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/block/CoilBlockBuilder.java @@ -6,6 +6,7 @@ import com.gregtechceu.gtceu.api.material.material.Material; import com.gregtechceu.gtceu.common.block.CoilBlock; import com.gregtechceu.gtceu.data.material.GTMaterials; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; @@ -29,7 +30,7 @@ public class CoilBlockBuilder extends ActiveBlockBuilder { public transient String texture = "minecraft:missingno"; public CoilBlockBuilder(ResourceLocation i) { - super(i); + super(GTResourceLocation.implicitAsGtceu(i)); property(GTBlockStateProperties.ACTIVE); renderType(BlockRenderType.CUTOUT_MIPPED); noValidSpawns(true); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java index 74a18413a56..235c400ed88 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java @@ -9,6 +9,7 @@ import com.gregtechceu.gtceu.api.multiblock.util.RelativeDirection; import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder; import com.gregtechceu.gtceu.common.registry.GTRegistration; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import com.gregtechceu.gtceu.utils.FormattingUtil; import net.minecraft.resources.ResourceLocation; @@ -39,7 +40,7 @@ public class KJSSteamMachineBuilder extends BuilderBase imple private MachineDefinition lpObject = null, hpObject = null; public KJSSteamMachineBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.dummyBuilder = true; } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java index 53b9850e030..ea207a4149f 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java @@ -10,6 +10,7 @@ import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder; import com.gregtechceu.gtceu.common.registry.GTRegistration; import com.gregtechceu.gtceu.data.machine.GTMachineUtils; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; @@ -55,7 +56,7 @@ public class KJSTieredMachineBuilder extends BuilderBase<@Nullable MachineDefini public transient BiFunction editableUI; public KJSTieredMachineBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.addDefaultTooltips = false; this.addDefaultModel = false; this.dummyBuilder = true; @@ -64,7 +65,7 @@ public KJSTieredMachineBuilder(ResourceLocation id) { public KJSTieredMachineBuilder(ResourceLocation id, TieredCreationFunction machine, BiFunction editableUI, boolean isGenerator) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.machine = machine; this.editableUI = editableUI; this.isGenerator = isGenerator; diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java index aeb0f0e6420..311586eb474 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java @@ -8,6 +8,7 @@ import com.gregtechceu.gtceu.api.registry.registrate.MultiblockMachineBuilder; import com.gregtechceu.gtceu.common.registry.GTRegistration; import com.gregtechceu.gtceu.data.machine.GTMachineUtils; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; @@ -38,12 +39,12 @@ public class KJSTieredMultiblockBuilder extends BuilderBase<@Nullable Multiblock public transient DefinitionFunction definition = (tier, def) -> def.tier(tier); public KJSTieredMultiblockBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.dummyBuilder = true; } public KJSTieredMultiblockBuilder(ResourceLocation id, TieredCreationFunction machine) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.machine = machine; this.dummyBuilder = true; } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMachineBuilder.java index 32c43732985..02b82e57a8c 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMachineBuilder.java @@ -1,6 +1,7 @@ package com.gregtechceu.gtceu.integration.kjs.builders.machine; import com.gregtechceu.gtceu.api.machine.MachineDefinition; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; @@ -22,7 +23,7 @@ public class KJSWrappingMachineBuilder extends BuilderBase im private final KJSTieredMachineBuilder tieredBuilder; public KJSWrappingMachineBuilder(ResourceLocation id, KJSTieredMachineBuilder tieredBuilder) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.tieredBuilder = tieredBuilder; this.dummyBuilder = true; } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMultiblockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMultiblockBuilder.java index fba0f98b49d..ec8d7bd4089 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMultiblockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSWrappingMultiblockBuilder.java @@ -1,6 +1,7 @@ package com.gregtechceu.gtceu.integration.kjs.builders.machine; import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; @@ -21,8 +22,8 @@ public class KJSWrappingMultiblockBuilder extends BuilderBase { public transient boolean isIsotope; public ElementBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); name = id.getPath(); translatableName = Component.translatable(id.toLanguageKey("element")); } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/material/MaterialBuilderWrapper.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/material/MaterialBuilderWrapper.java index 783c29828ff..37dbbd27733 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/material/MaterialBuilderWrapper.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/material/MaterialBuilderWrapper.java @@ -10,6 +10,7 @@ import com.gregtechceu.gtceu.api.material.material.properties.*; import com.gregtechceu.gtceu.api.medicalcondition.MedicalCondition; import com.gregtechceu.gtceu.api.tag.TagPrefix; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import com.gregtechceu.gtceu.integration.kjs.helpers.MaterialStackWrapper; import net.minecraft.resources.ResourceLocation; @@ -28,8 +29,8 @@ public class MaterialBuilderWrapper extends BuilderBase { private final Material.Builder internal; public MaterialBuilderWrapper(ResourceLocation id) { - super(id); - this.internal = new Material.Builder(id); + super(GTResourceLocation.implicitAsGtceu(id)); + this.internal = new Material.Builder(this.id); this.dummyBuilder = true; } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/OreTagPrefixBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/OreTagPrefixBuilder.java index d9d46c7c54f..751ec3d541a 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/OreTagPrefixBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/OreTagPrefixBuilder.java @@ -5,6 +5,7 @@ import com.gregtechceu.gtceu.api.material.material.info.MaterialIconType; import com.gregtechceu.gtceu.api.tag.TagPrefix; import com.gregtechceu.gtceu.data.block.GTBlocks; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.state.BlockBehaviour; @@ -37,7 +38,7 @@ public class OreTagPrefixBuilder extends TagPrefixBuilder { public transient boolean shouldDropAsItem = false; public OreTagPrefixBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/TagPrefixBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/TagPrefixBuilder.java index 8901edeb2e1..70ad40620ff 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/TagPrefixBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/prefix/TagPrefixBuilder.java @@ -4,6 +4,7 @@ import com.gregtechceu.gtceu.api.material.material.info.MaterialIconType; import com.gregtechceu.gtceu.api.material.material.stack.MaterialStack; import com.gregtechceu.gtceu.api.tag.TagPrefix; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.client.renderer.RenderType; import net.minecraft.network.chat.Component; @@ -32,7 +33,7 @@ public class TagPrefixBuilder extends BuilderBase { private final List secondaryMaterials = new ArrayList<>(); public TagPrefixBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); this.base = create(id.getPath()); } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeCategoryBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeCategoryBuilder.java index fcce9974764..e292cb092d0 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeCategoryBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeCategoryBuilder.java @@ -5,6 +5,7 @@ import com.gregtechceu.gtceu.api.recipe.category.GTRecipeCategory; import com.gregtechceu.gtceu.data.recipe.GTRecipeCategories; import com.gregtechceu.gtceu.data.recipe.GTRecipeTypes; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import com.gregtechceu.gtceu.utils.FormattingUtil; import com.lowdragmc.lowdraglib.gui.texture.IGuiTexture; @@ -38,7 +39,7 @@ public class GTRecipeCategoryBuilder extends BuilderBase { private transient String langValue; public GTRecipeCategoryBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); name = id.getPath(); recipeType = GTRecipeTypes.DUMMY_RECIPES; icon = null; diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeTypeBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeTypeBuilder.java index 47a7287d14c..1c65a80d04e 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeTypeBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/recipetype/GTRecipeTypeBuilder.java @@ -6,6 +6,7 @@ import com.gregtechceu.gtceu.api.recipe.kind.GTRecipe; import com.gregtechceu.gtceu.api.sound.SoundEntry; import com.gregtechceu.gtceu.data.recipe.GTRecipeTypes; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import com.lowdragmc.lowdraglib.gui.texture.IGuiTexture; import com.lowdragmc.lowdraglib.gui.texture.ProgressTexture; @@ -58,8 +59,8 @@ public class GTRecipeTypeBuilder extends BuilderBase { protected transient BiConsumer uiBuilder; public GTRecipeTypeBuilder(ResourceLocation i) { - super(i); - name = i.getPath(); + super(GTResourceLocation.implicitAsGtceu(i)); + name = this.id.getPath(); category = "custom"; maxInputs = new Object2IntOpenHashMap<>(); maxOutputs = new Object2IntOpenHashMap<>(); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockFluidBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockFluidBuilder.java index 0f7cc9beea2..8cbdd72d88e 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockFluidBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockFluidBuilder.java @@ -2,6 +2,7 @@ import com.gregtechceu.gtceu.api.worldgen.BiomeWeightModifier; import com.gregtechceu.gtceu.api.worldgen.bedrockfluid.BedrockFluidDefinition; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.core.*; import net.minecraft.resources.ResourceKey; @@ -36,7 +37,7 @@ public class BedrockFluidBuilder extends BuilderBase { private final transient Set> dimensions = new HashSet<>(); public BedrockFluidBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); } public static BedrockFluidBuilder from(BedrockFluidDefinition definition, ResourceLocation id) { diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockOreBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockOreBuilder.java index 03d59e55214..c07bfd8e249 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockOreBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/BedrockOreBuilder.java @@ -4,6 +4,7 @@ import com.gregtechceu.gtceu.api.worldgen.BiomeWeightModifier; import com.gregtechceu.gtceu.api.worldgen.bedrockore.BedrockOreDefinition; import com.gregtechceu.gtceu.api.worldgen.bedrockore.WeightedMaterial; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.core.HolderSet; import net.minecraft.resources.ResourceKey; @@ -40,7 +41,7 @@ public class BedrockOreBuilder extends BuilderBase { private final List biomes = new LinkedList<>(); public BedrockOreBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); } public static BedrockOreBuilder from(BedrockOreDefinition definition, ResourceLocation id) { diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/DimensionMarkerBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/DimensionMarkerBuilder.java index a818dcb629e..7b38698035b 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/DimensionMarkerBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/DimensionMarkerBuilder.java @@ -2,6 +2,7 @@ import com.gregtechceu.gtceu.api.worldgen.DimensionMarker; import com.gregtechceu.gtceu.integration.kjs.Validator; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; @@ -23,7 +24,7 @@ public class DimensionMarkerBuilder extends BuilderBase { private String overrideName; public DimensionMarkerBuilder(ResourceLocation dimKey) { - super(dimKey); + super(GTResourceLocation.implicitAsGtceu(dimKey)); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/OreVeinDefinitionBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/OreVeinDefinitionBuilder.java index 3635165eae4..7df988d7890 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/OreVeinDefinitionBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/worldgen/OreVeinDefinitionBuilder.java @@ -5,6 +5,7 @@ import com.gregtechceu.gtceu.api.worldgen.generator.VeinGenerator; import com.gregtechceu.gtceu.api.worldgen.generator.indicators.SurfaceIndicatorGenerator; import com.gregtechceu.gtceu.api.worldgen.generator.veins.*; +import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation; import net.minecraft.core.HolderSet; import net.minecraft.core.registries.Registries; @@ -60,7 +61,7 @@ public class OreVeinDefinitionBuilder extends BuilderBase { private List indicatorGenerators; public OreVeinDefinitionBuilder(ResourceLocation id) { - super(id); + super(GTResourceLocation.implicitAsGtceu(id)); } @Tolerate diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/helpers/GTResourceLocation.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/helpers/GTResourceLocation.java index 1fd92d992f1..1e566e6b506 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/helpers/GTResourceLocation.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/helpers/GTResourceLocation.java @@ -1,6 +1,7 @@ package com.gregtechceu.gtceu.integration.kjs.helpers; import com.gregtechceu.gtceu.GTCEu; +import com.gregtechceu.gtceu.core.IResourceLocationExtensions; import net.minecraft.ResourceLocationException; import net.minecraft.core.Holder; @@ -69,4 +70,8 @@ public GTResourceLocation withPrefix(String pathPrefix) { public GTResourceLocation withSuffix(String pathSuffix) { return new GTResourceLocation(wrapped.withSuffix(pathSuffix)); } + + public static ResourceLocation implicitAsGtceu(ResourceLocation loc) { + return ((IResourceLocationExtensions) (Object) loc).gtm$asNonImplicit(); + } } diff --git a/src/main/resources/gtceu.mixins.json b/src/main/resources/gtceu.mixins.json index d8dc14e13a4..d0b8fb73a41 100644 --- a/src/main/resources/gtceu.mixins.json +++ b/src/main/resources/gtceu.mixins.json @@ -56,6 +56,7 @@ "RecipeManagerEarlyMixin", "RecipeManagerLateMixin", "RegistryDataLoader$LoaderMixin", + "ResourceLocationMixin", "ReloadableServerResourcesMixin", "RepairItemRecipeMixin", "ResourceKeyArgumentAccessor", @@ -70,6 +71,7 @@ "emi.FillRecipePacketMixin", "emi.FluidEmiStackMixin", "jei.FluidHelperMixin", + "kubejs.KubeResourceLocationMixin", "ldlib.ButtonWidgetMixin", "ldlib.DummyWorldMixin", "ldlib.ItemStackPayloadMixin",