diff --git a/src/main/java/com/volmit/iris/util/data/B.java b/src/main/java/com/volmit/iris/util/data/B.java index d34d39258..e2dc44ec2 100644 --- a/src/main/java/com/volmit/iris/util/data/B.java +++ b/src/main/java/com/volmit/iris/util/data/B.java @@ -20,6 +20,7 @@ package com.volmit.iris.util.data; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; +import com.volmit.iris.core.service.RegistrySVC; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.scheduling.ChronoLatch; import it.unimi.dsi.fastutil.ints.Int2IntMap; @@ -34,8 +35,10 @@ import org.bukkit.block.data.Waterlogged; import org.bukkit.block.data.type.Leaves; import org.bukkit.block.data.type.PointedDripstone; +import javax.imageio.spi.RegisterableService; import java.util.Arrays; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; @@ -432,9 +435,29 @@ public class B { try { BlockData bx = null; - if (ix.startsWith("oraxen:") && Iris.linkOraxen.supported()) { - bx = Iris.linkOraxen.getBlockDataFor(ix.split("\\Q:\\E")[1]); - } + if(!ix.startsWith("minecraft:")) + { + if (ix.startsWith("oraxen:") && Iris.linkOraxen.supported()) { + bx = Iris.linkOraxen.getBlockDataFor(ix.split("\\Q:\\E")[1]); + } + + if(bx == null) + { + try + { + if(ix.contains(":")) + { + String[] v = ix.toLowerCase().split("\\Q:\\E"); + bx = Iris.service(RegistrySVC.class).getCustomBlockRegistry().resolve(v[0], v[1]); + } + } + + catch(Throwable e) + { + e.printStackTrace();// TODO: REMOVE + } + } + } if (bx == null) { try { @@ -614,6 +637,12 @@ public class B { e.printStackTrace(); } + try { + bt.addAll(Iris.service(RegistrySVC.class).getCustomBlockRegistry().compile()); + } catch (Throwable e) { + e.printStackTrace(); + } + return bt.toArray(new String[0]); }