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
Original file line number Diff line number Diff line change
@@ -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();
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public String getRefMapperConfig() {
addModCompatMixin("ftbchunks");
addModCompatMixin("xaerominimap");
addModCompatMixin("xaeroworldmap");
addModCompatMixin("kubejs");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -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 = "<init>*", at = @At("TAIL"))
private void populateImplicit(String namespace, String path, CallbackInfo info) {
gtm$isImplicit = false;
}
}
Original file line number Diff line number Diff line change
@@ -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<KubeResourceLocation> 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));
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -39,7 +40,7 @@ public class KJSSteamMachineBuilder extends BuilderBase<MachineDefinition> imple
private MachineDefinition lpObject = null, hpObject = null;

public KJSSteamMachineBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.dummyBuilder = true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -55,7 +56,7 @@ public class KJSTieredMachineBuilder extends BuilderBase<@Nullable MachineDefini
public transient BiFunction<ResourceLocation, GTRecipeType, EditableMachineUI> editableUI;

public KJSTieredMachineBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.addDefaultTooltips = false;
this.addDefaultModel = false;
this.dummyBuilder = true;
Expand All @@ -64,7 +65,7 @@ public KJSTieredMachineBuilder(ResourceLocation id) {
public KJSTieredMachineBuilder(ResourceLocation id, TieredCreationFunction machine,
BiFunction<ResourceLocation, GTRecipeType, EditableMachineUI> editableUI,
boolean isGenerator) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.machine = machine;
this.editableUI = editableUI;
this.isGenerator = isGenerator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -22,7 +23,7 @@ public class KJSWrappingMachineBuilder extends BuilderBase<MachineDefinition> im
private final KJSTieredMachineBuilder tieredBuilder;

public KJSWrappingMachineBuilder(ResourceLocation id, KJSTieredMachineBuilder tieredBuilder) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.tieredBuilder = tieredBuilder;
this.dummyBuilder = true;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -21,8 +22,8 @@ public class KJSWrappingMultiblockBuilder extends BuilderBase<MultiblockMachineD
private final KJSTieredMultiblockBuilder tieredBuilder;

public KJSWrappingMultiblockBuilder(ResourceLocation id) {
super(id);
this.tieredBuilder = new KJSTieredMultiblockBuilder(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.tieredBuilder = new KJSTieredMultiblockBuilder(this.id);
this.dummyBuilder = true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder;
import com.gregtechceu.gtceu.api.registry.registrate.MultiblockMachineBuilder;
import com.gregtechceu.gtceu.api.registry.registrate.provider.GTBlockstateProvider;
import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation;

import net.minecraft.core.Direction;
import net.minecraft.network.chat.Component;
Expand Down Expand Up @@ -59,7 +60,7 @@ public class MultiblockMachineBuilderWrapper extends BuilderBase<MultiblockMachi
private final MultiblockMachineBuilder internal;

public MultiblockMachineBuilderWrapper(ResourceLocation id, MultiblockMachineBuilder internal) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.internal = internal;
this.dummyBuilder = true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.gregtechceu.gtceu.api.material.Element;
import com.gregtechceu.gtceu.data.material.GTElements;
import com.gregtechceu.gtceu.integration.kjs.helpers.GTResourceLocation;

import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
Expand All @@ -25,7 +26,7 @@ public class ElementBuilder extends BuilderBase<Element> {
public transient boolean isIsotope;

public ElementBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
name = id.getPath();
translatableName = Component.translatable(id.toLanguageKey("element"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -28,8 +29,8 @@ public class MaterialBuilderWrapper extends BuilderBase<Material> {
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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -32,7 +33,7 @@ public class TagPrefixBuilder extends BuilderBase<TagPrefix> {
private final List<MaterialStack> secondaryMaterials = new ArrayList<>();

public TagPrefixBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
this.base = create(id.getPath());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -38,7 +39,7 @@ public class GTRecipeCategoryBuilder extends BuilderBase<GTRecipeCategory> {
private transient String langValue;

public GTRecipeCategoryBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
name = id.getPath();
recipeType = GTRecipeTypes.DUMMY_RECIPES;
icon = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -58,8 +59,8 @@ public class GTRecipeTypeBuilder extends BuilderBase<GTRecipeType> {
protected transient BiConsumer<GTRecipe, WidgetGroup> 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<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -36,7 +37,7 @@ public class BedrockFluidBuilder extends BuilderBase<BedrockFluidDefinition> {
private final transient Set<ResourceKey<Level>> dimensions = new HashSet<>();

public BedrockFluidBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
}

public static BedrockFluidBuilder from(BedrockFluidDefinition definition, ResourceLocation id) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -40,7 +41,7 @@ public class BedrockOreBuilder extends BuilderBase<BedrockOreDefinition> {
private final List<BiomeWeightModifier> biomes = new LinkedList<>();

public BedrockOreBuilder(ResourceLocation id) {
super(id);
super(GTResourceLocation.implicitAsGtceu(id));
}

public static BedrockOreBuilder from(BedrockOreDefinition definition, ResourceLocation id) {
Expand Down
Loading
Loading