Skip to content

Commit

Permalink
feat: zircon datafix WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
Oganesson897 committed Jan 25, 2025
1 parent de97e50 commit 98d2ae5
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/main/java/supersymmetry/SuSyValues.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
public class SuSyValues {
public static Material[] TierMaterials = new Material[] { Tier.ULV, Tier.LV, Tier.MV, Tier.HV, Tier.EV, Tier.IV, Tier.LuV, Tier.ZPM, Tier.UV, Tier.UHV, Tier.UEV, Tier.UIV, Tier.UXV, Tier.OpV, Tier.MAX };
public static String MODID_IMMERSIVERAILROADING = "immersiverailroading";
public static String MODID_SUPERCRITICAL = "supercritical";
}
13 changes: 13 additions & 0 deletions src/main/java/supersymmetry/Supersymmetry.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package supersymmetry;

import gregtech.GTInternalTags;
import net.minecraft.util.datafix.FixTypes;
import net.minecraftforge.client.model.obj.OBJLoader;
import net.minecraftforge.common.util.ModFixs;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
Expand All @@ -25,6 +29,7 @@
import supersymmetry.common.event.DimensionBreathabilityHandler;
import supersymmetry.common.item.SuSyMetaItems;
import supersymmetry.common.metatileentities.SuSyMetaTileEntities;
import supersymmetry.datafix.SupercriticalDataFixer;
import supersymmetry.loaders.SuSyIRLoader;

@Mod(name = Supersymmetry.NAME, modid = Supersymmetry.MODID, version = Tags.VERSION, dependencies = GTInternalTags.DEP_VERSION_STRING + ";required-after:gcym;after:immersiverailroading")
Expand Down Expand Up @@ -74,6 +79,14 @@ public void onPreInit(@NotNull FMLPreInitializationEvent event) {
public void onInit(@NotNull FMLInitializationEvent event) {
proxy.load();
SuSyCoverBehaviors.init();

final ModFixs modFixs = FMLCommonHandler.instance().getDataFixer().init(MODID, 3);

if (Loader.isModLoaded(SuSyValues.MODID_SUPERCRITICAL)) {
modFixs.registerFix(FixTypes.ITEM_INSTANCE, new SupercriticalDataFixer());
modFixs.registerFix(FixTypes.CHUNK, new SupercriticalDataFixer());
modFixs.registerFix(FixTypes.LEVEL, new SupercriticalDataFixer());
}
}

@Mod.EventHandler
Expand Down
40 changes: 40 additions & 0 deletions src/main/java/supersymmetry/datafix/SupercriticalDataFixer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package supersymmetry.datafix;

import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.datafix.IFixableData;
import org.jetbrains.annotations.NotNull;

import java.util.HashSet;
import java.util.Set;

public class SupercriticalDataFixer implements IFixableData {

private static final Set<String> PREFIXES = new HashSet<>();

@Override
public int getFixVersion() {
return 3;
}

@Override
public @NotNull NBTTagCompound fixTagCompound(@NotNull NBTTagCompound compound) {
final short meta = compound.getShort("Damage");
final String id = compound.getString("id");
if (id.startsWith("gregtech:meta_")) {
final String prefix = id.replace("gregtech:meta_", "");
if (PREFIXES.contains(prefix) && meta == 7047) {
compound.setString("id", "supercritical:meta_" + prefix);
compound.setShort("Damage", (short) 506);
}
}
return compound;
}

static {
PREFIXES.add("dust_tiny");
PREFIXES.add("dust");
PREFIXES.add("dust_small");
PREFIXES.add("gem");
PREFIXES.add("block_compressed_440");
}
}

0 comments on commit 98d2ae5

Please sign in to comment.