Handle registered blocks

This commit is contained in:
cyberpwn 2021-09-09 08:28:22 -04:00
parent 3c4599423d
commit e3a5da64a5

View File

@ -20,6 +20,7 @@ package com.volmit.iris.util.data;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings; 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.collection.KList;
import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.ChronoLatch;
import it.unimi.dsi.fastutil.ints.Int2IntMap; 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.Leaves;
import org.bukkit.block.data.type.PointedDripstone; import org.bukkit.block.data.type.PointedDripstone;
import javax.imageio.spi.RegisterableService;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -432,10 +435,30 @@ public class B {
try { try {
BlockData bx = null; BlockData bx = null;
if(!ix.startsWith("minecraft:"))
{
if (ix.startsWith("oraxen:") && Iris.linkOraxen.supported()) { if (ix.startsWith("oraxen:") && Iris.linkOraxen.supported()) {
bx = Iris.linkOraxen.getBlockDataFor(ix.split("\\Q:\\E")[1]); 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) { if (bx == null) {
try { try {
bx = Bukkit.createBlockData(ix.toLowerCase()); bx = Bukkit.createBlockData(ix.toLowerCase());
@ -614,6 +637,12 @@ public class B {
e.printStackTrace(); e.printStackTrace();
} }
try {
bt.addAll(Iris.service(RegistrySVC.class).getCustomBlockRegistry().compile());
} catch (Throwable e) {
e.printStackTrace();
}
return bt.toArray(new String[0]); return bt.toArray(new String[0]);
} }