mirror of
https://github.com/GTNewHorizons/Baubles-Expanded.git
synced 2026-11-13 16:54:25 +00:00
39 lines
1.3 KiB
Java
39 lines
1.3 KiB
Java
package baubles.common.lib;
|
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
import com.gtnewhorizons.postea.api.CustomDataReplacementManager;
|
|
|
|
import cpw.mods.fml.common.Loader;
|
|
|
|
/// Offers the per-player baubles files to Postea's custom world data API, so versioned transformers rewrite their
|
|
/// stacks exactly once per content version change. Safe to call without Postea installed: the Postea types live in
|
|
/// the inner holder, which only loads when the mod is present.
|
|
public final class PosteaCompat {
|
|
|
|
private static final boolean POSTEA = Loader.isModLoaded("postea");
|
|
|
|
private PosteaCompat() {}
|
|
|
|
/// Transforms a root read from disk in place; call before consuming it.
|
|
public static void transform(String storageId, NBTTagCompound root) {
|
|
if (POSTEA) Impl.transform(storageId, root);
|
|
}
|
|
|
|
/// Stamps a freshly built root about to be written to disk.
|
|
public static void stamp(NBTTagCompound root) {
|
|
if (POSTEA) Impl.stamp(root);
|
|
}
|
|
|
|
private static final class Impl {
|
|
|
|
static void transform(String storageId, NBTTagCompound root) {
|
|
CustomDataReplacementManager.transform(storageId, root);
|
|
}
|
|
|
|
static void stamp(NBTTagCompound root) {
|
|
CustomDataReplacementManager.stamp(root);
|
|
}
|
|
}
|
|
}
|