11package net .quiltservertools .interdimensional .portals ;
22
33import net .minecraft .block .BlockState ;
4- import net .quiltservertools .interdimensional .portals .portal .PortalIgnitionSource ;
54import net .quiltservertools .interdimensional .portals .portal .frame .PortalFrameTester ;
6- import net .quiltservertools .interdimensional .portals .util .ColorUtil ;
75import net .quiltservertools .interdimensional .portals .util .PortalLink ;
86import net .minecraft .block .Block ;
97import net .minecraft .block .Blocks ;
10- import net .minecraft .fluid .Fluids ;
118import net .minecraft .util .Identifier ;
12- import net .minecraft .util .registry .Registry ;
139
1410import java .util .Collection ;
1511import java .util .concurrent .ConcurrentHashMap ;
1814public class CustomPortalApiRegistry {
1915 protected static ConcurrentHashMap <Block , PortalLink > portals = new ConcurrentHashMap <>();
2016
21- private static final ConcurrentHashMap <Identifier , PortalFrameTester .PortalFrameTesterFactory > PortalFrameTesters = new ConcurrentHashMap <>();
17+ private static final ConcurrentHashMap <Identifier , PortalFrameTester .PortalFrameTesterFactory > PORTAL_FRAME_TESTERS = new ConcurrentHashMap <>();
2218
2319 public static PortalLink getPortalLinkFromBase (Block baseBlock ) {
2420 if (baseBlock == null ) return null ;
@@ -32,29 +28,30 @@ public static Collection<PortalLink> getAllPortalLinks() {
3228
3329
3430 public static void registerPortalFrameTester (Identifier frameTesterID , PortalFrameTester .PortalFrameTesterFactory createPortalFrameTester ) {
35- PortalFrameTesters .put (frameTesterID , createPortalFrameTester );
31+ PORTAL_FRAME_TESTERS .put (frameTesterID , createPortalFrameTester );
3632 }
3733
3834 public static PortalFrameTester .PortalFrameTesterFactory getPortalFrameTester (Identifier frameTesterID ) {
39- return PortalFrameTesters .getOrDefault (frameTesterID , null );
35+ return PORTAL_FRAME_TESTERS .getOrDefault (frameTesterID , null );
4036 }
4137
4238 public static void addPortal (Block frameBlock , PortalLink link ) {
43- if (frameBlock == null ) InterdimensionalPortals .logError ("Frameblock is null" );
44- if (link .getPortalBlock () == null ) InterdimensionalPortals .logError ("Portal block is null" );
45- if (link .portalIgnitionSource == null ) InterdimensionalPortals .logError ("Portal ignition source is null" );
46- if (link .dimID == null ) InterdimensionalPortals .logError ("Dimension is null" );
4739 if (InterdimensionalPortals .dims .size () > 0 && !InterdimensionalPortals .dims .containsKey (link .dimID ))
4840 InterdimensionalPortals .logError ("Dimension not found" );
4941 if (InterdimensionalPortals .getDefaultPortalBlock () == null )
50- InterdimensionalPortals .logError ("Built in CustomPortalBlock is null" );
42+ InterdimensionalPortals .logError ("Built in PortalBlock is null" );
5143
5244 if (portals .containsKey (frameBlock ) || frameBlock .equals (Blocks .OBSIDIAN )) {
5345 InterdimensionalPortals .logError ("A portal(or the nether portal) is already registered with a frame of: " + frameBlock );
5446 } else {
5547 portals .put (frameBlock , link );
5648 }
5749 }
50+
51+ public static boolean removePortal (Block frameBlock ) {
52+ return portals .remove (frameBlock ) == null ;
53+ }
54+
5855 public static boolean isRegisteredFrameBlock (BlockState state ) {
5956 return portals .containsKey (state .getBlock ());
6057 }
0 commit comments