diff --git a/1.4.42/javadoc/allclasses-index.html b/1.4.42/javadoc/allclasses-index.html new file mode 100644 index 00000000..a181a927 --- /dev/null +++ b/1.4.42/javadoc/allclasses-index.html @@ -0,0 +1,222 @@ + + + + +All Classes and Interfaces (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
 
+ +
+
Represent the environment in which autoplace of a single element took place.
+
+ +
+
Defines the various API level an AutoPlaceEnvironment has implemented.
+
+ +
+
Provide accessor methods for channel data from trigger item.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Created by Tec on 24.03.2017.
+
+ +
+
Implement this interface if this tile entity MIGHT be constructable
+
+ +
 
+ +
+
Represent an item source.
+
+ +
+
To implement IConstructable on not own TileEntities
+
+ +
 
+ +
 
+ +
+
This class is part of API, but is not stable.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
This is the structure definition of your multi.
+
+ +
+
Use StructureUtility to instantiate.
+
+ +
 
+ +
 
+ +
+
Use StructureUtility to instantiate
+
+ +
 
+ +
+
Use StructureUtility to instantiate
+
+ +
 
+ +
+
A functional interface that is used to iterate over an arbitrary structure.
+
+ +
 
+ +
+
An extension to IConstructable.
+
+ +
 
+ +
 
+ +
+
a function to extract tier info from a block.
+
+ +
 
+ +
+
Implement this and use StructureUtility.withContext(IStructureElement) in case you need to record some +temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the +structure than just during structure check.
+
+ +
+
not related to a certain mod!
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Subscribers are required to not keep reference to these events, nor to depend on values of these events after +the method call returns.
+
+ +
+
Fired just before any structure element is visited.
+
+ +
+
A stable interface into the structure lib's internals.
+
+ +
+
A brief index of everything contained
+
+ +
 
+ +
+
XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4
+
+
+
+
+
+
+ + diff --git a/1.4.42/javadoc/allpackages-index.html b/1.4.42/javadoc/allpackages-index.html new file mode 100644 index 00000000..ae4baf9e --- /dev/null +++ b/1.4.42/javadoc/allpackages-index.html @@ -0,0 +1,83 @@ + + + + +All Packages (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
 
+ +
+
This package provide a framework for rotating a given block, or a multiblock structure.
+
+ +
+
This package contains interfaces and utility methods for autobuilding a structure.
+
+ +
 
+ +
+
This package provide support for multiblock structure checking.
+
+ +
+
Adder interfaces used in various standard structure elements.
+
+ +
 
+
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.StructureElementVisitedEvent.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.StructureElementVisitedEvent.html new file mode 100644 index 00000000..22f4d5e6 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.StructureElementVisitedEvent.html @@ -0,0 +1,322 @@ + + + + +StructureEvent.StructureElementVisitedEvent (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureEvent.StructureElementVisitedEvent

+
+
java.lang.Object +
cpw.mods.fml.common.eventhandler.Event +
com.gtnewhorizon.structurelib.StructureEvent +
com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
+
+
+
+
Enclosing class:
+
StructureEvent
+
+
+
+
public static final class StructureEvent.StructureElementVisitedEvent +extends StructureEvent
+
Fired just before any structure element is visited.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fireEvent

      +
      +
      public static void fireEvent(World world, + int x, + int y, + int z, + int a, + int b, + int c, + IStructureElement<?> element)
      +
      Fire this event on MinecraftForge.EVENT_BUS by populating it with given arguments. Do nothing if +instrumenting isn't enabled for current thread. +

      +Any Exception thrown by event listeners will be logged and ignored. Error will be propagated +as is.

      +
      +
      +
    • +
    • +
      +

      getA

      +
      +
      public int getA()
      +
      A position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset +

      +Submit a feature request if you need the baseOffset.

      +
      +
      +
    • +
    • +
      +

      getB

      +
      +
      public int getB()
      +
      B position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset +

      +Submit a feature request if you need the baseOffset.

      +
      +
      +
    • +
    • +
      +

      getC

      +
      +
      public int getC()
      +
      C position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset +

      +Submit a feature request if you need the baseOffset.

      +
      +
      +
    • +
    • +
      +

      getElement

      +
      +
      public IStructureElement<?> getElement()
      +
      Element being visited.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      getWorld

      +
      +
      public World getWorld()
      +
      Location of this event.
      +
      +
      +
    • +
    • +
      +

      getX

      +
      +
      public int getX()
      +
      Location of this event. Absolute world coordinate.
      +
      +
      +
    • +
    • +
      +

      getY

      +
      +
      public int getY()
      +
      Location of this event. Absolute world coordinate.
      +
      +
      +
    • +
    • +
      +

      getZ

      +
      +
      public int getZ()
      +
      Location of this event. Absolute world coordinate.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.html new file mode 100644 index 00000000..29fe74d4 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureEvent.html @@ -0,0 +1,172 @@ + + + + +StructureEvent (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureEvent

+
+
java.lang.Object +
cpw.mods.fml.common.eventhandler.Event +
com.gtnewhorizon.structurelib.StructureEvent
+
+
+
+
+
Direct Known Subclasses:
+
StructureEvent.StructureElementVisitedEvent
+
+
+
+
public abstract class StructureEvent +extends Event
+
Subscribers are required to not keep reference to these events, nor to depend on values of these events after +the method call returns. +

+All of these events will be fired on the MinecraftForge.EVENT_BUS, if they are +enabled by StructureLibAPI.enableInstrument(Object). +

+All public stuff in this class and its enclosed classes are considered part of the public API. Backwards +compatibility is maintained to the maximum extend possible.

+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstrumentIdentifier

      +
      +
      public Object getInstrumentIdentifier()
      +
      The instrument identifier. Subscribers should filter by these identifiers to prevent listening to a structure +event for other people.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureLibAPI.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureLibAPI.html new file mode 100644 index 00000000..b7ec17f5 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/StructureLibAPI.html @@ -0,0 +1,1226 @@ + + + + +StructureLibAPI (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureLibAPI

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.StructureLibAPI
+
+
+
+
+
public class StructureLibAPI +extends Object
+
A stable interface into the structure lib's internals. Backwards compatibility is maintained to the maximum extend +possible.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MOD_ID

      +
      +
      public static final String MOD_ID
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_0

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_0
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_1

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_1
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_2

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_2
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_3

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_3
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_4

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_4
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_5

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_5
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_6

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_6
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_7

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_7
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_8

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_8
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_9

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_9
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_10

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_10
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_GENERIC_11

      +
      +
      public static final int HINT_BLOCK_META_GENERIC_11
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_DEFAULT

      +
      +
      public static final int HINT_BLOCK_META_DEFAULT
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_AIR

      +
      +
      public static final int HINT_BLOCK_META_AIR
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_NOT_AIR

      +
      +
      public static final int HINT_BLOCK_META_NOT_AIR
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HINT_BLOCK_META_ERROR

      +
      +
      public static final int HINT_BLOCK_META_ERROR
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      CHANNEL_SHOW_ERROR

      +
      +
      public static final String CHANNEL_SHOW_ERROR
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StructureLibAPI

      +
      +
      public StructureLibAPI()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      enableInstrument

      +
      +
      public static void enableInstrument(Object identifier)
      +
      Start instrumenting for the current thread only. When instrumentation is enabled, +IStructureDefinition's builtin iteration methods will send StructureEvent and its subclasses when +appropriate. Otherwise, these events will not be sent at all, regardless of whether a listener for these events +are registered. +

      +Identifiers are required to be value-comparable, i.e. overrides Object.equals(Object). Suggested +identifier includes +

      +

      +It's an API abuse for normal IStructureDefinition users to depend on this feature. They have full control +and full knowledge of the IStructureDefinition they are using. Using events to instrument the structure +check/autoplace is completely unnecessary and does nothing but add overhead. +

      +Instruments are required to call disableInstrument() whenever it is done with its business, as there can +be only one instrument for any given thread.

      +
      +
      Parameters:
      +
      identifier - an identifier sent along the actual event.
      +
      Throws:
      +
      IllegalStateException - if instrument has already been enabled.
      +
      +
      +
      +
    • +
    • +
      +

      disableInstrument

      +
      +
      public static void disableInstrument()
      +
      Stop instrumenting.
      +
      +
      Throws:
      +
      IllegalStateException - if instrumenting hasn't been enabled.
      +
      +
      +
      +
    • +
    • +
      +

      isInstrumentEnabled

      +
      +
      public static boolean isInstrumentEnabled()
      +
      Check if instrumenting is enabled.
      +
      +
      Returns:
      +
      true if enabled, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      startHinting

      +
      +
      public static void startHinting(World w)
      +
      Start a batch of hinting. All hints particles generated during one batch will be considered to belong to one +hologram. +

      +You don't need to call this unless your constructable tool didn't call +ConstructableUtility.handle(ItemStack, EntityPlayer, World, int, int, int, int)

      +
      +
      +
    • +
    • +
      +

      endHinting

      +
      +
      public static void endHinting(World w)
      +
      End current batch of hinting. All hints particles generated during one batch will be considered to belong to one +hologram. +

      +You don't need to call this unless your constructable tool didn't call +ConstructableUtility.handle(ItemStack, EntityPlayer, World, int, int, int, int)

      +
      +
      +
    • +
    • +
      +

      hintParticleTinted

      +
      +
      public static void hintParticleTinted(World w, + int x, + int y, + int z, + IIcon[] icons, + short[] RGBa)
      +
      Generate a new hint particle on client side at given location using given textures with a tint.
      +
      +
      Parameters:
      +
      w - World to spawn. Usually the client world.
      +
      x - x coord
      +
      y - y coord
      +
      z - z coord
      +
      icons - 6 texture. in forge direction order.
      +
      RGBa - a 4 short array. tint in rgba form. currently alpha channel is ignored, but we might change this + later on.
      +
      +
      +
      +
    • +
    • +
      +

      hintParticleTinted

      +
      +
      public static void hintParticleTinted(World w, + int x, + int y, + int z, + Block block, + int meta, + short[] RGBa)
      +
      Generate a new hint particle on client side at given location using textures from given block with a tint.
      +
      +
      Parameters:
      +
      w - World to spawn. Usually the client world.
      +
      x - x coord
      +
      y - y coord
      +
      z - z coord
      +
      block - block to take texture from
      +
      meta - the meta of block to take texture from
      +
      RGBa - a 4 short array. tint in rgba form. currently alpha channel is ignored, but we might change this + later on.
      +
      +
      +
      +
    • +
    • +
      +

      hintParticle

      +
      +
      public static void hintParticle(World w, + int x, + int y, + int z, + IIcon[] icons)
      +
      Generate a new hint particle on client side at given location using given textures.
      +
      +
      Parameters:
      +
      w - World to spawn. Usually the client world.
      +
      x - x coord
      +
      y - y coord
      +
      z - z coord
      +
      icons - 6 texture. in forge direction order.
      +
      +
      +
      +
    • +
    • +
      +

      hintParticle

      +
      +
      public static void hintParticle(World w, + int x, + int y, + int z, + Block block, + int meta)
      +
      Generate a new hint particle on client side at given location using textures from given block.
      +
      +
      Parameters:
      +
      w - World to spawn. Usually the client world.
      +
      x - x coord
      +
      y - y coord
      +
      z - z coord
      +
      block - block to take texture from
      +
      meta - the meta of block to take texture from
      +
      +
      +
      +
    • +
    • +
      +

      markHintParticleError

      +
      +
      public static boolean markHintParticleError(EntityPlayer player, + World w, + int x, + int y, + int z)
      +
      Update the tint of given hint particle. Do nothing if particle not found. +

      +Can be called on either client side or server side. Server side will schedule a network message to update it for +this player only. Will do nothing if no hint particle is found at given location.

      +
      +
      Returns:
      +
      false if nothing updated. true if updated or update instruction sent.
      +
      +
      +
      +
    • +
    • +
      +

      updateHintParticleTint

      +
      +
      public static boolean updateHintParticleTint(EntityPlayer player, + World w, + int x, + int y, + int z, + short[] RGBa)
      +
      Update the tint of given hint particle. Do nothing if particle not found.
      +
      +
      Returns:
      +
      false if nothing updated. true if updated.
      +
      +
      +
      +
    • +
    • +
      +

      queryAlignment

      +
      +
      public static void queryAlignment(IAlignmentProvider provider)
      +
      Query the ExtendedFacing of this tile entity from client side. Can be sent only on client side. The +ExtendedFacing will later be set onto given tile entity via +IAlignment.setExtendedFacing(ExtendedFacing) upon arrival of +server reply. +

      +The server side will query the ExtendedFacing of this provider using +IAlignment.getExtendedFacing()

      +
      +
      Throws:
      +
      IllegalArgumentException - if is not tile entity or provided a null alignment
      +
      +
      +
      +
    • +
    • +
      +

      sendAlignment

      +
      +
      public static void sendAlignment(IAlignmentProvider provider)
      +
      Send the ExtendedFacing of this Tile Entity to all players. Can be called on server side only. +

      +The receiving tile entity will receive the ExtendedFacing via its +IAlignment.setExtendedFacing(ExtendedFacing) method.

      +
      +
      Throws:
      +
      IllegalArgumentException - if is not tile entity or provided a null alignment
      +
      +
      +
      +
    • +
    • +
      +

      sendAlignment

      +
      +
      public static void sendAlignment(IAlignmentProvider provider, + EntityPlayerMP player)
      +
      Send the ExtendedFacing of this Tile Entity to given player. Can be called on server side only. +

      +The receiving tile entity will receive the ExtendedFacing via its +IAlignment.setExtendedFacing(ExtendedFacing) method.

      +
      +
      Throws:
      +
      IllegalArgumentException - if is not tile entity or provided a null alignment
      +
      +
      +
      +
    • +
    • +
      +

      sendAlignment

      +
      +
      public static void sendAlignment(IAlignmentProvider provider, + NetworkRegistry.TargetPoint targetPoint)
      +
      Send the ExtendedFacing of this Tile Entity to all players around target point. Can be called on server side +only. +

      +The receiving tile entity will receive the ExtendedFacing via its +IAlignment.setExtendedFacing(ExtendedFacing) method.

      +
      +
      Throws:
      +
      IllegalArgumentException - if is not tile entity or provided a null alignment
      +
      +
      +
      +
    • +
    • +
      +

      sendAlignment

      +
      +
      public static void sendAlignment(IAlignmentProvider provider, + World dimension)
      +
      Send the ExtendedFacing of this Tile Entity to all players in that dimension. Can be called on server side only. +

      +The receiving tile entity will receive the ExtendedFacing via its +IAlignment.setExtendedFacing(ExtendedFacing) method.

      +
      +
      Throws:
      +
      IllegalArgumentException - if is not tile entity or provided a null alignment
      +
      +
      +
      +
    • +
    • +
      +

      getBlockHint

      +
      +
      public static Block getBlockHint()
      +
      Get the Block for StructureLib supplied hint block.
      +
      +
      +
    • +
    • +
      +

      getItemBlockHint

      +
      +
      public static Item getItemBlockHint()
      +
      Get the ItemBlock for StructureLib supplied hint block.
      +
      +
      +
    • +
    • +
      +

      getDefaultHologramItem

      +
      +
      public static Item getDefaultHologramItem()
      +
      Get the hologram item.
      +
      +
      +
    • +
    • +
      +

      isDebugEnabled

      +
      +
      public static boolean isDebugEnabled()
      +
      Check if structure debug mode is on.
      +
      +
      Returns:
      +
      true if debug mode is on
      +
      +
      +
      +
    • +
    • +
      +

      setDebugEnabled

      +
      +
      public static void setDebugEnabled(boolean enabled)
      +
      +
      +
    • +
    • +
      +

      isBlockTriviallyReplaceable

      +
      +
      @Deprecated +public static boolean isBlockTriviallyReplaceable(World w, + int x, + int y, + int z, + EntityPlayerMP actor)
      +
      Deprecated.
      +
      Determines if given block can be replaced without much effort. The exact predicate clauses is not stable and will +be changed, but the general idea will always stay the same. +

      +Use this in your +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)

      +
      +
      +
    • +
    • +
      +

      isBlockTriviallyReplaceable

      +
      +
      public static boolean isBlockTriviallyReplaceable(World w, + int x, + int y, + int z, + EntityPlayer actor)
      +
      Determines if given block can be replaced without much effort. The exact predicate clauses is not stable and will +be changed, but the general idea will always stay the same. +

      +Use this in your +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)

      +
      +
      +
    • +
    • +
      +

      addThrottledChat

      +
      +
      public static void addThrottledChat(Object throttleKey, + EntityPlayer player, + IChatComponent text, + short intervalRequired)
      +
      Send chat to player, but throttled.
      +
      +
      Parameters:
      +
      throttleKey - throttle key. Must properly implement Object.hashCode() and + Object.equals(Object) to handle value equality.
      +
      player - player to send chat to
      +
      text - chat to send
      +
      intervalRequired - interval required before last recorded time to actually send the message. unit in + millisecond. we purposefully chose to not use a bigger data type to limit how long this + interval can be
      +
      +
      +
      +
    • +
    • +
      +

      addThrottledChat

      +
      +
      public static void addThrottledChat(Object throttleKey, + EntityPlayer player, + IChatComponent text, + short intervalRequired, + boolean forceUpdateLastSend)
      +
      Send chat to player, but throttled.
      +
      +
      Parameters:
      +
      throttleKey - throttle key. Must properly implement Object.hashCode() and + Object.equals(Object) to handle value equality.
      +
      player - player to send chat to
      +
      text - chat to send
      +
      intervalRequired - interval required before last recorded time to actually send the message. unit in + millisecond. we purposefully chose to not use a bigger data type to limit how long + this interval can be
      +
      forceUpdateLastSend - if true, always update the last send time, even if the message isn't actually sent.
      +
      +
      +
      +
    • +
    • +
      +

      registerChannelDescription

      +
      +
      public static void registerChannelDescription(String channel, + String modid, + String description)
      +
      Register a channel description here. The description should describe how a channel will be used inside your mod.
      +
      +
      Parameters:
      +
      channel - channel key
      +
      modid - your modid
      +
      description - localization key for your description
      +
      +
      +
      +
    • +
    • +
      +

      registerChannelItem

      +
      +
      public static void registerChannelItem(String channel, + String modid, + int channelValue, + ItemStack stack)
      +
      Register an item stack as an indicator for a (channel, value) pair.
      +
      +
      Parameters:
      +
      channel - channel key
      +
      modid - your modid
      +
      channelValue - value
      +
      stack - item stack. having a metadata of + OreDictionary.WILDCARD_VALUE will match without comparing + NBT or metadata value. having a tag with tag.getBoolean("*") == true will match + without comparing NBT.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/AlignmentUtility.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/AlignmentUtility.html new file mode 100644 index 00000000..9bc4656b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/AlignmentUtility.html @@ -0,0 +1,138 @@ + + + + +AlignmentUtility (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class AlignmentUtility

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.alignment.AlignmentUtility
+
+
+
+
+
public class AlignmentUtility +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      handle

      +
      +
      public static boolean handle(EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignment.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignment.html new file mode 100644 index 00000000..3cea0c13 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignment.html @@ -0,0 +1,568 @@ + + + + +IAlignment (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IAlignment

+
+
+
+
All Superinterfaces:
+
IAlignmentLimits, IAlignmentProvider
+
+
+
+
public interface IAlignment +extends IAlignmentLimits, IAlignmentProvider
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DIRECTIONS_COUNT

      +
      +
      static final int DIRECTIONS_COUNT
      +
      +
      +
    • +
    • +
      +

      ROTATIONS_COUNT

      +
      +
      static final int ROTATIONS_COUNT
      +
      +
      +
    • +
    • +
      +

      FLIPS_COUNT

      +
      +
      static final int FLIPS_COUNT
      +
      +
      +
    • +
    • +
      +

      STATES_COUNT

      +
      +
      static final int STATES_COUNT
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getExtendedFacing

      +
      +
      ExtendedFacing getExtendedFacing()
      +
      +
      +
    • +
    • +
      +

      setExtendedFacing

      +
      +
      void setExtendedFacing(ExtendedFacing alignment)
      +
      Set the facing without additional checks. Tools altering facing should use +toolSetExtendedFacing(ExtendedFacing) instead.
      +
      +
      +
    • +
    • +
      +

      getAlignmentLimits

      +
      +
      IAlignmentLimits getAlignmentLimits()
      +
      +
      +
    • +
    • +
      +

      getAlignment

      +
      +
      default IAlignment getAlignment()
      +
      +
      Specified by:
      +
      getAlignment in interface IAlignmentProvider
      +
      +
      +
      +
    • +
    • +
      +

      getAlignmentIndex

      +
      +
      static int getAlignmentIndex(net.minecraftforge.common.util.ForgeDirection direction, + Rotation rotation, + Flip flip)
      +
      +
      +
    • +
    • +
      +

      getDirection

      +
      +
      default net.minecraftforge.common.util.ForgeDirection getDirection()
      +
      +
      +
    • +
    • +
      +

      setDirection

      +
      +
      default void setDirection(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      getRotation

      +
      +
      default Rotation getRotation()
      +
      +
      +
    • +
    • +
      +

      setRotation

      +
      +
      default void setRotation(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      getFlip

      +
      +
      default Flip getFlip()
      +
      +
      +
    • +
    • +
      +

      setFlip

      +
      +
      default void setFlip(Flip flip)
      +
      +
      +
    • +
    • +
      +

      toolSetDirection

      +
      +
      default boolean toolSetDirection(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      checkedSetDirection

      +
      +
      default boolean checkedSetDirection(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      canSetToDirectionAny

      +
      +
      default boolean canSetToDirectionAny(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      toolSetRotation

      +
      +
      default boolean toolSetRotation(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      checkedSetRotation

      +
      +
      default boolean checkedSetRotation(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      toolSetFlip

      +
      +
      default boolean toolSetFlip(Flip flip)
      +
      +
      +
    • +
    • +
      +

      checkedSetFlip

      +
      +
      default boolean checkedSetFlip(Flip flip)
      +
      +
      +
    • +
    • +
      +

      toolSetExtendedFacing

      +
      +
      default boolean toolSetExtendedFacing(ExtendedFacing extendedFacing)
      +
      +
      +
    • +
    • +
      +

      checkedSetExtendedFacing

      +
      +
      default boolean checkedSetExtendedFacing(ExtendedFacing alignment)
      +
      +
      +
    • +
    • +
      +

      isNewDirectionValid

      +
      +
      default boolean isNewDirectionValid(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      isNewRotationValid

      +
      +
      default boolean isNewRotationValid(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      isNewFlipValid

      +
      +
      default boolean isNewFlipValid(Flip flip)
      +
      +
      +
    • +
    • +
      +

      isExtendedFacingValid

      +
      +
      default boolean isExtendedFacingValid()
      +
      +
      +
    • +
    • +
      +

      isNewExtendedFacingValid

      +
      +
      default boolean isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection direction, + Rotation rotation, + Flip flip)
      +
      +
      Specified by:
      +
      isNewExtendedFacingValid in interface IAlignmentLimits
      +
      +
      +
      +
    • +
    • +
      +

      isNewExtendedFacingValid

      +
      +
      default boolean isNewExtendedFacingValid(ExtendedFacing alignment)
      +
      +
      Specified by:
      +
      isNewExtendedFacingValid in interface IAlignmentLimits
      +
      +
      +
      +
    • +
    • +
      +

      isFlipChangeAllowed

      +
      +
      default boolean isFlipChangeAllowed()
      +
      Check if this object support a flip change, assuming both direction and rotation is not changed.
      +
      +
      +
    • +
    • +
      +

      isRotationChangeAllowed

      +
      +
      default boolean isRotationChangeAllowed()
      +
      Check if this object support a rotation change, assuming both direction and flip is not changed.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.Builder.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.Builder.html new file mode 100644 index 00000000..a1911d2b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.Builder.html @@ -0,0 +1,337 @@ + + + + +IAlignmentLimits.Builder (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class IAlignmentLimits.Builder

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
+
+
+
Enclosing interface:
+
IAlignmentLimits
+
+
+
+
public static class IAlignmentLimits.Builder +extends Object
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html new file mode 100644 index 00000000..9e41b59d --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html @@ -0,0 +1,268 @@ + + + + +IAlignmentLimits (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IAlignmentLimits

+
+
+
+
All Known Subinterfaces:
+
IAlignment
+
+
+
+
public interface IAlignmentLimits
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      UNLIMITED

      +
      +
      static final IAlignmentLimits UNLIMITED
      +
      Can be placed in any orientation.
      +
      +
      +
    • +
    • +
      +

      UPRIGHT

      +
      +
      static final IAlignmentLimits UPRIGHT
      +
      Must be standing upright; i.e., top side of the block facing up.
      +
      +
      +
    • +
    • +
      +

      NOT_UPSIDE_DOWN

      +
      +
      static final IAlignmentLimits NOT_UPSIDE_DOWN
      +
      Can be in any orientation except upside down; i.e., top side of the block facing down.
      +
      +
      +
    • +
    • +
      +

      FACING_UP

      +
      +
      static final IAlignmentLimits FACING_UP
      +
      Front side of the block must be facing up.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isNewExtendedFacingValid

      +
      +
      boolean isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection direction, + Rotation rotation, + Flip flip)
      +
      +
      +
    • +
    • +
      +

      isNewExtendedFacingValid

      +
      +
      default boolean isNewExtendedFacingValid(ExtendedFacing alignment)
      +
      +
      +
    • +
    • +
      +

      allowOnly

      +
      +
      static IAlignmentLimits allowOnly(ExtendedFacing... allowedFacings)
      +
      +
      +
    • +
    • +
      +

      denyOnly

      +
      +
      static IAlignmentLimits denyOnly(ExtendedFacing... allowedFacings)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html new file mode 100644 index 00000000..2405868e --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html @@ -0,0 +1,128 @@ + + + + +IAlignmentProvider (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IAlignmentProvider

+
+
+
+
All Known Subinterfaces:
+
IAlignment
+
+
+
+
public interface IAlignmentProvider
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getAlignment

      +
      +
      @Nullable +IAlignment getAlignment()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IntegerAxisSwap.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IntegerAxisSwap.html new file mode 100644 index 00000000..0407a65d --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/IntegerAxisSwap.html @@ -0,0 +1,261 @@ + + + + +IntegerAxisSwap (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class IntegerAxisSwap

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
+
+
+
+
public class IntegerAxisSwap +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerAxisSwap

      +
      +
      public IntegerAxisSwap(net.minecraftforge.common.util.ForgeDirection forFirstAxis, + net.minecraftforge.common.util.ForgeDirection forSecondAxis, + net.minecraftforge.common.util.ForgeDirection forThirdAxis)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      translate

      +
      +
      public Vec3Impl translate(Vec3Impl point)
      +
      +
      +
    • +
    • +
      +

      inverseTranslate

      +
      +
      public Vec3Impl inverseTranslate(Vec3Impl point)
      +
      +
      +
    • +
    • +
      +

      translate

      +
      +
      public Vec3 translate(Vec3 point)
      +
      +
      +
    • +
    • +
      +

      inverseTranslate

      +
      +
      public Vec3 inverseTranslate(Vec3 point)
      +
      +
      +
    • +
    • +
      +

      translate

      +
      +
      public void translate(int[] point, + int[] out)
      +
      +
      +
    • +
    • +
      +

      inverseTranslate

      +
      +
      public void inverseTranslate(int[] point, + int[] out)
      +
      +
      +
    • +
    • +
      +

      translate

      +
      +
      public void translate(double[] point, + double[] out)
      +
      +
      +
    • +
    • +
      +

      inverseTranslate

      +
      +
      public void inverseTranslate(double[] point, + double[] out)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html new file mode 100644 index 00000000..c23abd18 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html @@ -0,0 +1,338 @@ + + + + +ChannelDataAccessor (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ChannelDataAccessor

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
+
+
+
public class ChannelDataAccessor +extends Object
+
Provide accessor methods for channel data from trigger item. + +Channels section on overview
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      withChannel

      +
      +
      public static ItemStack withChannel(ItemStack masterStack, + String channel)
      +
      Return a trigger item that +
        +
      • Still carry all the subchannel in some unspecified ways
      • +
      • Have its master channel data replaced with specified subchannel's data
      • +
      + +If given subchannel does not exist, masterStack may or may not be returned to save performance. Code within +StructureLib can depend on this behavior, you cannot.
      +
      +
      Parameters:
      +
      masterStack - trigger item. can be the return value of another withChannel(ItemStack, String) call
      +
      channel - subchannel to use. will use current master channel data instead if this channel does not exist + Note: all channel identifiers are supposed to be lower case and not empty.
      +
      Returns:
      +
      a trigger item with new master channel
      +
      +
      +
      +
    • +
    • +
      +

      hasSubChannel

      +
      +
      public static boolean hasSubChannel(ItemStack masterStack)
      +
      Check if given trigger item contains any subchannel
      +
      +
      Parameters:
      +
      masterStack - trigger stack to check
      +
      Returns:
      +
      true if contains any subchannel
      +
      +
      +
      +
    • +
    • +
      +

      hasSubChannel

      +
      +
      public static boolean hasSubChannel(ItemStack masterStack, + String channel)
      +
      Check if given trigger item contains specified subchannel
      +
      +
      Parameters:
      +
      masterStack - trigger stack to check
      +
      channel - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.
      +
      Returns:
      +
      true if contains specified subchannel
      +
      +
      +
      +
    • +
    • +
      +

      getChannelData

      +
      +
      public static int getChannelData(ItemStack masterStack, + String channel)
      +
      Get the subchannel data from given trigger item. Will use master channel instead if not present.
      +
      +
      Parameters:
      +
      masterStack - trigger stack to query from
      +
      channel - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.
      +
      Returns:
      +
      channel data
      +
      +
      +
      +
    • +
    • +
      +

      setChannelData

      +
      +
      public static void setChannelData(ItemStack masterStack, + String channel, + int data)
      +
      Set the subchannel data on given trigger item
      +
      +
      Parameters:
      +
      masterStack - trigger stack to check
      +
      channel - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.
      +
      data - subchannel data. should always be a positive value
      +
      +
      +
      +
    • +
    • +
      +

      unsetChannelData

      +
      +
      public static void unsetChannelData(ItemStack masterStack, + String channel)
      +
      Clear the given subchannel from given trigger item, if it exists
      +
      +
      Parameters:
      +
      masterStack - trigger stack to unset
      +
      channel - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.
      +
      +
      +
      +
    • +
    • +
      +

      wipeChannelData

      +
      +
      public static void wipeChannelData(ItemStack masterStack)
      +
      Wipe all subchannel data on given trigger item
      +
      +
      Parameters:
      +
      masterStack - trigger stack to wipe
      +
      +
      +
      +
    • +
    • +
      +

      iterateChannelData

      +
      +
      public static Stream<Map.Entry<String,Integer>> iterateChannelData(ItemStack masterStack)
      +
      Iterate over all subchannel data on trigger stack. Does not include master channel!!
      +
      +
      Parameters:
      +
      masterStack - trigger stack to check
      +
      Returns:
      +
      A java8 stream of pairs. Key is channel identifier and value is channel data. Pairs do not support + mutation nor removal. Can still cause ConcurrentModificationException if underlying + channel data is modified while stream is working.
      +
      +
      +
      +
    • +
    • +
      +

      countChannelData

      +
      +
      public static int countChannelData(ItemStack masterStack)
      +
      Get the number of subchannels present on given trigger item. Does not include master channel.
      +
      +
      Parameters:
      +
      masterStack - trigger stack to query from
      +
      Returns:
      +
      subchannel count
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ConstructableUtility.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ConstructableUtility.html new file mode 100644 index 00000000..e6542c5a --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ConstructableUtility.html @@ -0,0 +1,142 @@ + + + + +ConstructableUtility (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ConstructableUtility

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.alignment.constructable.ConstructableUtility
+
+
+
+
+
public class ConstructableUtility +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      handle

      +
      +
      public static boolean handle(ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + int aSide)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html new file mode 100644 index 00000000..177f950b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html @@ -0,0 +1,157 @@ + + + + +IConstructable (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IConstructable

+
+
+
+
All Known Subinterfaces:
+
ISurvivalConstructable
+
+
+
+
public interface IConstructable
+
Created by Tec on 24.03.2017.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      construct

      +
      +
      void construct(ItemStack stackSize, + boolean hintsOnly)
      +
      +
      +
    • +
    • +
      +

      getStructureDefinition

      +
      +
      default IStructureDefinition<?> getStructureDefinition()
      +
      Get the structure definition used for this constructable. Can be null if this constructable is not backed by one.
      +
      +
      +
    • +
    • +
      +

      getStructureDescription

      +
      +
      String[] getStructureDescription(ItemStack stackSize)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html new file mode 100644 index 00000000..e3f8e203 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html @@ -0,0 +1,129 @@ + + + + +IConstructableProvider (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IConstructableProvider

+
+
+
+
+
public interface IConstructableProvider
+
Implement this interface if this tile entity MIGHT be constructable
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConstructable

      +
      +
      @Nullable +IConstructable getConstructable()
      +
      +
      Returns:
      +
      null if not constructable, an instance otherwise.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.html new file mode 100644 index 00000000..a2f92dd0 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.html @@ -0,0 +1,265 @@ + + + + +IMultiblockInfoContainer (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IMultiblockInfoContainer<T>

+
+
+
+
+
public interface IMultiblockInfoContainer<T>
+
To implement IConstructable on not own TileEntities
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html new file mode 100644 index 00000000..2e0f5780 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html @@ -0,0 +1,250 @@ + + + + +ISurvivalConstructable (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ISurvivalConstructable

+
+
+
+
All Superinterfaces:
+
IConstructable
+
+
+
+
public interface ISurvivalConstructable +extends IConstructable
+
An extension to IConstructable. Tile Entities (or delegates returned by +IConstructableProvider.getConstructable() should implement this interface to allow third party tools and +StructureLib builtin constructable tools to trigger autoplace in survival mode. +

+While not originally planned, a creative player can also use this interface to trigger autoplace by using an +IItemSource with every possible items in the game.

+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-summary.html new file mode 100644 index 00000000..a2d86776 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-summary.html @@ -0,0 +1,126 @@ + + + + +com.gtnewhorizon.structurelib.alignment.constructable (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.alignment.constructable

+
+
+
+
package com.gtnewhorizon.structurelib.alignment.constructable
+
+
This package contains interfaces and utility methods for autobuilding a structure.
+
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-tree.html new file mode 100644 index 00000000..5ad49c53 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/constructable/package-tree.html @@ -0,0 +1,86 @@ + + + + +com.gtnewhorizon.structurelib.alignment.constructable Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.alignment.constructable

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Direction.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Direction.html new file mode 100644 index 00000000..70d1a358 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Direction.html @@ -0,0 +1,360 @@ + + + + +Direction (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class Direction

+
+
java.lang.Object +
java.lang.Enum<Direction> +
com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Direction>, Constable
+
+
+
+
public enum Direction +extends Enum<Direction>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      DOWN

      +
      +
      public static final Direction DOWN
      +
      +
      +
    • +
    • +
      +

      UP

      +
      +
      public static final Direction UP
      +
      +
      +
    • +
    • +
      +

      NORTH

      +
      +
      public static final Direction NORTH
      +
      +
      +
    • +
    • +
      +

      SOUTH

      +
      +
      public static final Direction SOUTH
      +
      +
      +
    • +
    • +
      +

      WEST

      +
      +
      public static final Direction WEST
      +
      +
      +
    • +
    • +
      +

      EAST

      +
      +
      public static final Direction EAST
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      VALUES

      +
      +
      public static final Direction[] VALUES
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static Direction[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static Direction valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      getForgeDirection

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getForgeDirection()
      +
      +
      +
    • +
    • +
      +

      getAxisVector

      +
      +
      public Vec3Impl getAxisVector()
      +
      +
      +
    • +
    • +
      +

      getAxisVector

      +
      +
      public static Vec3Impl getAxisVector(net.minecraftforge.common.util.ForgeDirection forgeDirection)
      +
      +
      +
    • +
    • +
      +

      getByAxisVector

      +
      +
      public static Direction getByAxisVector(Vec3Impl vec3)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/ExtendedFacing.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/ExtendedFacing.html new file mode 100644 index 00000000..9a04b4b3 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/ExtendedFacing.html @@ -0,0 +1,1822 @@ + + + + +ExtendedFacing (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class ExtendedFacing

+
+
java.lang.Object +
java.lang.Enum<ExtendedFacing> +
com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ExtendedFacing>, Constable
+
+
+
+
public enum ExtendedFacing +extends Enum<ExtendedFacing>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      DOWN_NORMAL_NONE

      +
      +
      public static final ExtendedFacing DOWN_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      DOWN_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing DOWN_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      DOWN_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing DOWN_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      DOWN_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing DOWN_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      DOWN_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing DOWN_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      DOWN_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing DOWN_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      DOWN_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing DOWN_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      DOWN_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing DOWN_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      DOWN_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing DOWN_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      DOWN_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing DOWN_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      DOWN_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing DOWN_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      DOWN_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing DOWN_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      DOWN_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing DOWN_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      DOWN_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing DOWN_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      DOWN_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing DOWN_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      DOWN_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing DOWN_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      UP_NORMAL_NONE

      +
      +
      public static final ExtendedFacing UP_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      UP_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing UP_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      UP_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing UP_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      UP_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing UP_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      UP_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing UP_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      UP_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing UP_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      UP_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing UP_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      UP_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing UP_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      UP_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing UP_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      UP_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing UP_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      UP_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing UP_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      UP_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing UP_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      UP_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing UP_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      UP_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing UP_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      UP_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing UP_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      UP_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing UP_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      NORTH_NORMAL_NONE

      +
      +
      public static final ExtendedFacing NORTH_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      NORTH_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing NORTH_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      NORTH_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing NORTH_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      NORTH_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing NORTH_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      NORTH_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing NORTH_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      NORTH_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing NORTH_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      NORTH_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing NORTH_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      NORTH_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing NORTH_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      NORTH_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing NORTH_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      NORTH_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing NORTH_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      NORTH_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing NORTH_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      NORTH_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing NORTH_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      NORTH_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing NORTH_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      NORTH_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing NORTH_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      NORTH_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing NORTH_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      NORTH_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing NORTH_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      SOUTH_NORMAL_NONE

      +
      +
      public static final ExtendedFacing SOUTH_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      SOUTH_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing SOUTH_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing SOUTH_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing SOUTH_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      SOUTH_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing SOUTH_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      SOUTH_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing SOUTH_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing SOUTH_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing SOUTH_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      SOUTH_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing SOUTH_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      SOUTH_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing SOUTH_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing SOUTH_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing SOUTH_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      SOUTH_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing SOUTH_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      SOUTH_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing SOUTH_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing SOUTH_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      SOUTH_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing SOUTH_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      WEST_NORMAL_NONE

      +
      +
      public static final ExtendedFacing WEST_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      WEST_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing WEST_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      WEST_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing WEST_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      WEST_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing WEST_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      WEST_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing WEST_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      WEST_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing WEST_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      WEST_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing WEST_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      WEST_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing WEST_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      WEST_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing WEST_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      WEST_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing WEST_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      WEST_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing WEST_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      WEST_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing WEST_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      WEST_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing WEST_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      WEST_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing WEST_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      WEST_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing WEST_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      WEST_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing WEST_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      EAST_NORMAL_NONE

      +
      +
      public static final ExtendedFacing EAST_NORMAL_NONE
      +
      +
      +
    • +
    • +
      +

      EAST_NORMAL_HORIZONTAL

      +
      +
      public static final ExtendedFacing EAST_NORMAL_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      EAST_NORMAL_VERTICAL

      +
      +
      public static final ExtendedFacing EAST_NORMAL_VERTICAL
      +
      +
      +
    • +
    • +
      +

      EAST_NORMAL_BOTH

      +
      +
      public static final ExtendedFacing EAST_NORMAL_BOTH
      +
      +
      +
    • +
    • +
      +

      EAST_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing EAST_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      EAST_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing EAST_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      EAST_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing EAST_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      EAST_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing EAST_CLOCKWISE_BOTH
      +
      +
      +
    • +
    • +
      +

      EAST_UPSIDE_DOWN_NONE

      +
      +
      public static final ExtendedFacing EAST_UPSIDE_DOWN_NONE
      +
      +
      +
    • +
    • +
      +

      EAST_UPSIDE_DOWN_HORIZONTAL

      +
      +
      public static final ExtendedFacing EAST_UPSIDE_DOWN_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      EAST_UPSIDE_DOWN_VERTICAL

      +
      +
      public static final ExtendedFacing EAST_UPSIDE_DOWN_VERTICAL
      +
      +
      +
    • +
    • +
      +

      EAST_UPSIDE_DOWN_BOTH

      +
      +
      public static final ExtendedFacing EAST_UPSIDE_DOWN_BOTH
      +
      +
      +
    • +
    • +
      +

      EAST_COUNTER_CLOCKWISE_NONE

      +
      +
      public static final ExtendedFacing EAST_COUNTER_CLOCKWISE_NONE
      +
      +
      +
    • +
    • +
      +

      EAST_COUNTER_CLOCKWISE_HORIZONTAL

      +
      +
      public static final ExtendedFacing EAST_COUNTER_CLOCKWISE_HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      EAST_COUNTER_CLOCKWISE_VERTICAL

      +
      +
      public static final ExtendedFacing EAST_COUNTER_CLOCKWISE_VERTICAL
      +
      +
      +
    • +
    • +
      +

      EAST_COUNTER_CLOCKWISE_BOTH

      +
      +
      public static final ExtendedFacing EAST_COUNTER_CLOCKWISE_BOTH
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT

      +
      +
      public static final ExtendedFacing DEFAULT
      +
      +
      +
    • +
    • +
      +

      VALUES

      +
      +
      public static final ExtendedFacing[] VALUES
      +
      +
      +
    • +
    • +
      +

      FOR_FACING

      +
      +
      public static final Map<net.minecraftforge.common.util.ForgeDirection, List<ExtendedFacing>> FOR_FACING
      +
      +
      +
    • +
    • +
      +

      STATES_COUNT

      +
      +
      public static final int STATES_COUNT
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static ExtendedFacing[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static ExtendedFacing valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static ExtendedFacing of(net.minecraftforge.common.util.ForgeDirection direction, + Rotation rotation, + Flip flip)
      +
      +
      +
    • +
    • +
      +

      of

      +
      +
      public static ExtendedFacing of(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      getAllWith

      +
      +
      public static com.google.common.collect.ImmutableSet<ExtendedFacing> getAllWith(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      getAllWith

      +
      +
      public static com.google.common.collect.ImmutableSet<ExtendedFacing> getAllWith(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      getAllWith

      +
      +
      public static com.google.common.collect.ImmutableSet<ExtendedFacing> getAllWith(Flip flip)
      +
      +
      +
    • +
    • +
      +

      with

      +
      +
      public ExtendedFacing with(net.minecraftforge.common.util.ForgeDirection direction)
      +
      +
      +
    • +
    • +
      +

      with

      +
      +
      public ExtendedFacing with(Rotation rotation)
      +
      +
      +
    • +
    • +
      +

      with

      +
      +
      public ExtendedFacing with(Flip flip)
      +
      +
      +
    • +
    • +
      +

      getOppositeDirection

      +
      +
      public ExtendedFacing getOppositeDirection()
      +
      +
      +
    • +
    • +
      +

      getOppositeRotation

      +
      +
      public ExtendedFacing getOppositeRotation()
      +
      +
      +
    • +
    • +
      +

      getOppositeFlip

      +
      +
      public ExtendedFacing getOppositeFlip()
      +
      +
      +
    • +
    • +
      +

      getDuplicate

      +
      +
      public ExtendedFacing getDuplicate()
      +
      Gets the same effective facing achieved by different rot/flip combo
      +
      +
      Returns:
      +
      same effective facing, but different enum value
      +
      +
      +
      +
    • +
    • +
      +

      getIndex

      +
      +
      public int getIndex()
      +
      +
      +
    • +
    • +
      +

      getName2

      +
      +
      public String getName2()
      +
      +
      +
    • +
    • +
      +

      getLocalizedName

      +
      +
      public String getLocalizedName()
      +
      +
      +
    • +
    • +
      +

      byName

      +
      +
      public static ExtendedFacing byName(String name)
      +
      +
      +
    • +
    • +
      +

      byIndex

      +
      +
      public static ExtendedFacing byIndex(int index)
      +
      +
      +
    • +
    • +
      +

      random

      +
      +
      public static ExtendedFacing random(Random rand)
      +
      +
      +
    • +
    • +
      +

      getDirection

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getDirection()
      +
      +
      +
    • +
    • +
      +

      getRotation

      +
      +
      public Rotation getRotation()
      +
      +
      +
    • +
    • +
      +

      getFlip

      +
      +
      public Flip getFlip()
      +
      +
      +
    • +
    • +
      +

      getWorldOffset

      +
      +
      public Vec3 getWorldOffset(Vec3 abcOffset)
      +
      Translates relative to front facing offset to world offset
      +
      +
      Parameters:
      +
      abcOffset - A,B,C offset (facing relative L-->R,U-->D,F-->B)
      +
      Returns:
      +
      X, Y, Z offset in world
      +
      +
      +
      +
    • +
    • +
      +

      getWorldOffset

      +
      +
      public Vec3Impl getWorldOffset(Vec3Impl abcOffset)
      +
      +
      +
    • +
    • +
      +

      getWorldOffset

      +
      +
      public void getWorldOffset(int[] point, + int[] out)
      +
      +
      +
    • +
    • +
      +

      getWorldOffset

      +
      +
      public void getWorldOffset(double[] point, + double[] out)
      +
      +
      +
    • +
    • +
      +

      getWorldDirection

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getWorldDirection(net.minecraftforge.common.util.ForgeDirection abcDirection)
      +
      do note the ABC coordinate system is (X, -Y, Z).
      +
      +
      +
    • +
    • +
      +

      getOffsetABC

      +
      +
      public Vec3 getOffsetABC(Vec3 xyzOffset)
      +
      Translates world offset to relative front facing offset
      +
      +
      Parameters:
      +
      xyzOffset - X,Y,Z offset in world
      +
      Returns:
      +
      A, B, C offset (facing relative L-->R,U-->D,F-->B)
      +
      +
      +
      +
    • +
    • +
      +

      getOffsetABC

      +
      +
      public Vec3Impl getOffsetABC(Vec3Impl xyzOffset)
      +
      +
      +
    • +
    • +
      +

      getOffsetABC

      +
      +
      public void getOffsetABC(int[] point, + int[] out)
      +
      +
      +
    • +
    • +
      +

      getOffsetABC

      +
      +
      public void getOffsetABC(double[] point, + double[] out)
      +
      +
      +
    • +
    • +
      +

      getIntegerAxisSwap

      +
      +
      public IntegerAxisSwap getIntegerAxisSwap()
      +
      +
      +
    • +
    • +
      +

      getRelativeLeftInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeLeftInWorld()
      +
      +
      +
    • +
    • +
      +

      getRelativeRightInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeRightInWorld()
      +
      +
      +
    • +
    • +
      +

      getRelativeDownInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeDownInWorld()
      +
      +
      +
    • +
    • +
      +

      getRelativeUpInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeUpInWorld()
      +
      +
      +
    • +
    • +
      +

      getRelativeBackInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeBackInWorld()
      +
      +
      +
    • +
    • +
      +

      getRelativeForwardInWorld

      +
      +
      public net.minecraftforge.common.util.ForgeDirection getRelativeForwardInWorld()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Flip.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Flip.html new file mode 100644 index 00000000..ca3a77d9 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Flip.html @@ -0,0 +1,439 @@ + + + + +Flip (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class Flip

+
+
java.lang.Object +
java.lang.Enum<Flip> +
com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Flip>, Constable
+
+
+
+
public enum Flip +extends Enum<Flip>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NONE

      +
      +
      public static final Flip NONE
      +
      +
      +
    • +
    • +
      +

      HORIZONTAL

      +
      +
      public static final Flip HORIZONTAL
      +
      +
      +
    • +
    • +
      +

      VERTICAL

      +
      +
      public static final Flip VERTICAL
      +
      +
      +
    • +
    • +
      +

      BOTH

      +
      +
      public static final Flip BOTH
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      VALUES

      +
      +
      public static final Flip[] VALUES
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static Flip[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static Flip valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      getIndex

      +
      +
      public int getIndex()
      +
      +
      +
    • +
    • +
      +

      getOpposite

      +
      +
      public Flip getOpposite()
      +
      +
      +
    • +
    • +
      +

      getName2

      +
      +
      public String getName2()
      +
      +
      +
    • +
    • +
      +

      byName

      +
      +
      public static Flip byName(String name)
      +
      +
      +
    • +
    • +
      +

      byIndex

      +
      +
      public static Flip byIndex(int index)
      +
      +
      +
    • +
    • +
      +

      random

      +
      +
      public static Flip random(@Nonnull + Random rand)
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Enum<Flip>
      +
      +
      +
      +
    • +
    • +
      +

      getName

      +
      +
      public String getName()
      +
      +
      +
    • +
    • +
      +

      isNotFlipped

      +
      +
      public boolean isNotFlipped()
      +
      +
      +
    • +
    • +
      +

      isBothFlipped

      +
      +
      public boolean isBothFlipped()
      +
      +
      +
    • +
    • +
      +

      isHorizontallyFlipped

      +
      +
      public boolean isHorizontallyFlipped()
      +
      +
      +
    • +
    • +
      +

      isVerticallyFliped

      +
      +
      public boolean isVerticallyFliped()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Rotation.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Rotation.html new file mode 100644 index 00000000..2c5c6a92 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/Rotation.html @@ -0,0 +1,439 @@ + + + + +Rotation (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class Rotation

+
+
java.lang.Object +
java.lang.Enum<Rotation> +
com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Rotation>, Constable
+
+
+
+
public enum Rotation +extends Enum<Rotation>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NORMAL

      +
      +
      public static final Rotation NORMAL
      +
      +
      +
    • +
    • +
      +

      CLOCKWISE

      +
      +
      public static final Rotation CLOCKWISE
      +
      +
      +
    • +
    • +
      +

      UPSIDE_DOWN

      +
      +
      public static final Rotation UPSIDE_DOWN
      +
      +
      +
    • +
    • +
      +

      COUNTER_CLOCKWISE

      +
      +
      public static final Rotation COUNTER_CLOCKWISE
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      VALUES

      +
      +
      public static final Rotation[] VALUES
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static Rotation[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static Rotation valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      getIndex

      +
      +
      public int getIndex()
      +
      +
      +
    • +
    • +
      +

      getOpposite

      +
      +
      public Rotation getOpposite()
      +
      +
      +
    • +
    • +
      +

      getName2

      +
      +
      public String getName2()
      +
      +
      +
    • +
    • +
      +

      byName

      +
      +
      public static Rotation byName(String name)
      +
      +
      +
    • +
    • +
      +

      byIndex

      +
      +
      public static Rotation byIndex(int index)
      +
      +
      +
    • +
    • +
      +

      random

      +
      +
      public static Rotation random(@Nonnull + Random rand)
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Enum<Rotation>
      +
      +
      +
      +
    • +
    • +
      +

      getName

      +
      +
      public String getName()
      +
      +
      +
    • +
    • +
      +

      isNotRotated

      +
      +
      public boolean isNotRotated()
      +
      +
      +
    • +
    • +
      +

      isClockwise

      +
      +
      public boolean isClockwise()
      +
      +
      +
    • +
    • +
      +

      isCounterClockwise

      +
      +
      public boolean isCounterClockwise()
      +
      +
      +
    • +
    • +
      +

      isUpsideDown

      +
      +
      public boolean isUpsideDown()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-summary.html new file mode 100644 index 00000000..39cf2ca7 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-summary.html @@ -0,0 +1,109 @@ + + + + +com.gtnewhorizon.structurelib.alignment.enumerable (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.alignment.enumerable

+
+
+
+
package com.gtnewhorizon.structurelib.alignment.enumerable
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-tree.html new file mode 100644 index 00000000..c69fec3b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/enumerable/package-tree.html @@ -0,0 +1,80 @@ + + + + +com.gtnewhorizon.structurelib.alignment.enumerable Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.alignment.enumerable

+
+Package Hierarchies: + +
+

Enum Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable) +
        +
      • com.gtnewhorizon.structurelib.alignment.enumerable.Direction
      • +
      • com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
      • +
      • com.gtnewhorizon.structurelib.alignment.enumerable.Flip
      • +
      • com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
      • +
      +
    • +
    +
  • +
+
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-summary.html new file mode 100644 index 00000000..e7b3954c --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-summary.html @@ -0,0 +1,127 @@ + + + + +com.gtnewhorizon.structurelib.alignment (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.alignment

+
+
+
+
package com.gtnewhorizon.structurelib.alignment
+
+
This package provide a framework for rotating a given block, or a multiblock structure. +

+All public stuff in this package and its subpackages are considered part of the public API. Backwards compatibility +is maintained to the maximum extend possible.

+
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-tree.html new file mode 100644 index 00000000..49a05e3b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/alignment/package-tree.html @@ -0,0 +1,90 @@ + + + + +com.gtnewhorizon.structurelib.alignment Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.alignment

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-summary.html new file mode 100644 index 00000000..4c33ce04 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-summary.html @@ -0,0 +1,116 @@ + + + + +com.gtnewhorizon.structurelib (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib

+
+
+
+
package com.gtnewhorizon.structurelib
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-tree.html new file mode 100644 index 00000000..0aba1de4 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/package-tree.html @@ -0,0 +1,82 @@ + + + + +com.gtnewhorizon.structurelib Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.APILevel.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.APILevel.html new file mode 100644 index 00000000..f5aa4d9b --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.APILevel.html @@ -0,0 +1,261 @@ + + + + +AutoPlaceEnvironment.APILevel (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class AutoPlaceEnvironment.APILevel

+
+
java.lang.Object +
java.lang.Enum<AutoPlaceEnvironment.APILevel> +
com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<AutoPlaceEnvironment.APILevel>, Constable
+
+
+
Enclosing class:
+
AutoPlaceEnvironment
+
+
+
+
public static enum AutoPlaceEnvironment.APILevel +extends Enum<AutoPlaceEnvironment.APILevel>
+
Defines the various API level an AutoPlaceEnvironment has implemented. +

+Enum constants are defined in chronological order.

+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html new file mode 100644 index 00000000..c1a44b0e --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html @@ -0,0 +1,353 @@ + + + + +AutoPlaceEnvironment (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class AutoPlaceEnvironment

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
+
+
+
public class AutoPlaceEnvironment +extends Object
+
Represent the environment in which autoplace of a single element took place.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fromLegacy

      +
      +
      public static AutoPlaceEnvironment fromLegacy(IItemSource source, + EntityPlayer actor, + Consumer<IChatComponent> chatter)
      +
      +
      +
    • +
    • +
      +

      getAPILevel

      +
      +
      public AutoPlaceEnvironment.APILevel getAPILevel()
      +
      +
      +
    • +
    • +
      +

      getSource

      +
      +
      public IItemSource getSource()
      +
      From where survival autoplace will drain resources.
      +
      +
      +
    • +
    • +
      +

      getActor

      +
      +
      public EntityPlayer getActor()
      +
      The initiator of actions. for very critical errors you can also just send the error messages here, bypassing any +filter that getChatter() might have. You might want to use +StructureLibAPI.addThrottledChat(Object, EntityPlayer, IChatComponent, short) +to help reduce spam.
      +
      +
      +
    • +
    • +
      +

      getChatter

      +
      +
      public Consumer<IChatComponent> getChatter()
      +
      send error messages here. Caller will choose an appropriate way to forward it to player if the other fallbacks +also fails.
      +
      +
      +
    • +
    • +
      +

      isContainedInPiece

      +
      +
      public boolean isContainedInPiece(int offsetA, + int offsetB, + int offsetC)
      +
      Test if given location is contained within the current piece.
      +
      +
      Parameters:
      +
      offsetA - offset in A direction relative to current element
      +
      offsetB - offset in B direction relative to current element
      +
      offsetC - offset in C direction relative to current element
      +
      Returns:
      +
      true if contained, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      getFacing

      +
      +
      public ExtendedFacing getFacing()
      +
      +
      +
    • +
    • +
      +

      withSource

      +
      +
      public AutoPlaceEnvironment withSource(IItemSource source)
      +
      Return a new instance with source modified to given value.
      +
      +
      Parameters:
      +
      source - new source
      +
      Returns:
      +
      new instance
      +
      +
      +
      +
    • +
    • +
      +

      withActor

      +
      +
      public AutoPlaceEnvironment withActor(EntityPlayer actor)
      +
      Return a new instance with actor modified to given value.
      +
      +
      Parameters:
      +
      actor - new actor
      +
      Returns:
      +
      new instance
      +
      +
      +
      +
    • +
    • +
      +

      withChatter

      +
      +
      public AutoPlaceEnvironment withChatter(Consumer<IChatComponent> chatter)
      +
      Return a new instance with chatter modified to given value.
      +
      +
      Parameters:
      +
      chatter - new chatter
      +
      Returns:
      +
      new instance
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IBlockPosConsumer.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IBlockPosConsumer.html new file mode 100644 index 00000000..ed3ab6d1 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IBlockPosConsumer.html @@ -0,0 +1,129 @@ + + + + +IBlockPosConsumer (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IBlockPosConsumer

+
+
+
+
+
public interface IBlockPosConsumer
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    consume(World world, + int x, + int y, + int z)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      consume

      +
      +
      void consume(World world, + int x, + int y, + int z)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ICustomBlockSetting.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ICustomBlockSetting.html new file mode 100644 index 00000000..22253c8c --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ICustomBlockSetting.html @@ -0,0 +1,144 @@ + + + + +ICustomBlockSetting (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ICustomBlockSetting

+
+
+
+
+
public interface ICustomBlockSetting
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setBlock

      +
      +
      void setBlock(World world, + int x, + int y, + int z, + int meta)
      +
      Default block setting calls World.setBlock(int x, int y, int z, Block block, int meta, int updateType) +like: world.setBlock(x,y,z,this/block,meta,2) where updateType 2 means to update lighting and stuff
      +
      +
      Parameters:
      +
      world - world that should be affected
      +
      x - x position to set
      +
      y - y position to set
      +
      z - z position to set
      +
      meta - required meta
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IItemSource.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IItemSource.html new file mode 100644 index 00000000..eafbbd63 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IItemSource.html @@ -0,0 +1,292 @@ + + + + +IItemSource (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IItemSource

+
+
+
+
+
public interface IItemSource
+
Represent an item source. Take only, cannot be placed back.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Construct an IItemSource from given inventory
    +
    + + +
    +
    Construct an IItemSource from inventories associated with given player.
    +
    + +
    take(Predicate<ItemStack> predicate, + boolean simulate, + int count)
    +
    +
    Retrieve some amount of items from this item source matching given filter.
    +
    +
    default boolean
    +
    takeAll(Predicate<ItemStack> predicate, + boolean simulate, + int count)
    +
    +
    Take exactly count amount of items matching predicate.
    +
    +
    default boolean
    +
    takeAll(ItemStack stack, + boolean simulate)
    +
    +
    Take some item.
    +
    +
    default ItemStack
    +
    takeOne(Predicate<ItemStack> predicate, + boolean simulate)
    +
    +
    Take exactly one item that matches the predicate.
    +
    +
    default boolean
    +
    takeOne(ItemStack stack, + boolean simulate)
    +
    +
    Take exactly one item.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      take

      +
      +
      @Nonnull +Map<ItemStack, Integer> take(Predicate<ItemStack> predicate, + boolean simulate, + int count)
      +
      Retrieve some amount of items from this item source matching given filter. +

      +We probably don't need to get a lot of items from this method, so I don't care about the overhead of storing all +fetched items even if downstream code doesn't need it

      +
      +
      Parameters:
      +
      predicate - filtering predicate. should return true for ItemStacks that should be added to result collection
      +
      simulate - whether to actually commit the modification. true for dry run, false otherwise.
      +
      count - how many items to extract.
      +
      Returns:
      +
      A nonnull map reflecting the result of extraction. Note this map is NBT and metadata aware.
      +
      +
      +
      +
    • +
    • +
      +

      takeOne

      +
      +
      default ItemStack takeOne(Predicate<ItemStack> predicate, + boolean simulate)
      +
      Take exactly one item that matches the predicate.
      +
      +
      Parameters:
      +
      predicate - filtering predicate. should return true for ItemStacks that should be added to result collection
      +
      simulate - whether to actually commit the modification. true for dry run, false otherwise.
      +
      Returns:
      +
      item stack, or null if none matches
      +
      Throws:
      +
      IllegalArgumentException - if given predicate is null.
      +
      +
      +
      +
    • +
    • +
      +

      takeAll

      +
      +
      default boolean takeAll(Predicate<ItemStack> predicate, + boolean simulate, + int count)
      +
      Take exactly count amount of items matching predicate.
      +
      +
      Parameters:
      +
      predicate - filtering predicate. should return true for ItemStacks that should be added to result collection
      +
      simulate - whether to actually commit the modification. true for dry run, false otherwise.
      +
      count - how many items to extract.
      +
      Returns:
      +
      true if at least count amount of items can be/is taken.
      +
      Throws:
      +
      IllegalArgumentException - if given predicate is null
      +
      +
      +
      +
    • +
    • +
      +

      takeOne

      +
      +
      default boolean takeOne(ItemStack stack, + boolean simulate)
      +
      Take exactly one item. ItemStack given must have a stack size of 1. +

      +This is meant to be an optimized version of takeOne(Predicate, boolean). Implementations that support +item storage indexed by ItemStack can use this to speed up calculation.

      +
      +
      Parameters:
      +
      stack - what item to extract. The NBT tag of this ItemStack is siginifcant and will be considered during + matching. must have a stack size of 1.
      +
      simulate - whether to actually commit the modification. true for dry run, false otherwise.
      +
      Returns:
      +
      true if found. false otherwise
      +
      Throws:
      +
      IllegalArgumentException - if given stack is invalid, or has a stack size other than 1.
      +
      +
      +
      +
    • +
    • +
      +

      takeAll

      +
      +
      default boolean takeAll(ItemStack stack, + boolean simulate)
      +
      Take some item. Will not take item if it cannot find enough items to take. +

      +This is meant to be an optimized version of takeOne(Predicate, boolean). Implementations that support +indexing off ItemStack can use this to speed up calculation.

      +
      +
      Parameters:
      +
      stack - what item and how many to extract. The NBT tag of this ItemStack is siginifcant and will be + considered during matching
      +
      simulate - whether to actually commit the modification. true for dry run, false otherwise.
      +
      Returns:
      +
      true if enough item can be/has been extracted. false otherwise
      +
      Throws:
      +
      IllegalArgumentException - if given stack is invalid
      +
      +
      +
      +
    • +
    • +
      +

      fromPlayer

      +
      +
      static IItemSource fromPlayer(EntityPlayerMP player)
      +
      Construct an IItemSource from inventories associated with given player. +

      +This will be backed by InventoryUtility

      +
      +
      +
    • +
    • +
      +

      fromInventory

      +
      +
      static IItemSource fromInventory(IInventory inv)
      +
      Construct an IItemSource from given inventory +

      +This will be backed by InventoryUtility

      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISpecialItemBlock.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISpecialItemBlock.html new file mode 100644 index 00000000..ced5d6c4 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISpecialItemBlock.html @@ -0,0 +1,125 @@ + + + + +ISpecialItemBlock (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ISpecialItemBlock

+
+
+
+
+
public interface ISpecialItemBlock
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    getItemMetaFromBlockMeta(Block block, + int blockMeta)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getItemMetaFromBlockMeta

      +
      +
      int getItemMetaFromBlockMeta(Block block, + int blockMeta)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureDefinition.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureDefinition.html new file mode 100644 index 00000000..8f3ca16f --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureDefinition.html @@ -0,0 +1,673 @@ + + + + +IStructureDefinition (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureDefinition<T>

+
+
+
+
Type Parameters:
+
T - Type of the context object. Usually this will be the multiblock controller.
+
+
+
All Known Implementing Classes:
+
StructureDefinition
+
+
+
+
public interface IStructureDefinition<T>
+
This is the structure definition of your multi. You will have one of these for each multi. + +

Cache the instances of this class

+

+You will construct this definition once per multi, either at class load or at first call to your variant of +getStructureDefinition(). You can use a ClassValue<IStructureDefinition<?>> if you +have a template for subclass. You can also use defer() or its overloads for +simpler cases, but it is slightly less performant as it will allocate new objects on each structure check, whereas +ClassValue will allocate once and cache it onwards. +

+

Constructing

+

+IStructureDefinition is constructed using builder() +

+Builder has two main methods: +

    +
  • addShape() is a 2d string array describing the layout of structure. You can optionally use +`StructureUtility#transpose()` to transpose the array to make the structure look nicer in source code. +
  • addElement(). It takes a char identifier (mapped to a char in any of +addShape() +calls) and a IStructureElement. +
+

Position A, B and C

+ +Imagine you stand in front of the controller, with controller facing towards you not rotated or flipped. +
    +
  • The "A" position would be the number of blocks on the left side of the controller, not counting controller +itself.
  • +
  • The "B" position would be the number of blocks on the top side of the controller, not counting controller +itself.
  • +
  • The "C" position would be the number of blocks between you and controller, not counting controller itself.
  • +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getStructureFor

      +
      +
      IStructureElement<T>[] getStructureFor(String name)
      +
      Used internally +

      +Might, but is not required, to throw NoSuchElementException if the given structure piece is not +found.

      +
      +
      Parameters:
      +
      name - same name as for other methods here
      +
      Returns:
      +
      the array of elements to process
      +
      Throws:
      +
      NoSuchElementException - if the given structure piece is not found and the moon phase perfectly + matches
      +
      +
      +
      +
    • +
    • +
      +

      isContainedInStructure

      +
      +
      boolean isContainedInStructure(String name, + int offsetA, + int offsetB, + int offsetC)
      +
      +
      +
    • +
    • +
      +

      check

      +
      +
      default boolean check(T object, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + boolean forceCheckAllBlocks)
      +
      Run a structure check.
      +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      forceCheckAllBlocks - check all location even if chunk not currently loaded.
      +
      Returns:
      +
      true if successful, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      hints

      +
      +
      default boolean hints(T object, + ItemStack trigger, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC)
      +
      Spawn hint particles. Should not be called on server side.
      +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      Returns:
      +
      true if successful, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      default boolean build(T object, + ItemStack trigger, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC)
      +
      Build the multi in creative mode on a best-effort basis. Does not guarantee the structure is correct after a +successful call.
      +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      trigger - The trigger item that contains channel data.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      Returns:
      +
      true if sucessful, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      buildOrHints

      +
      +
      default boolean buildOrHints(T object, + ItemStack trigger, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + boolean hintsOnly)
      + +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      trigger - The trigger item that contains channel data.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      hintsOnly - whether to spawn hints or do creative build.
      +
      Returns:
      +
      true if sucessful, false otherwise
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      survivalBuild

      +
      +
      @Deprecated +default int survivalBuild(T object, + ItemStack trigger, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + int elementBudget, + IItemSource source, + EntityPlayerMP actor, + boolean check)
      +
      Deprecated.
      +
      Cause a survival build.
      +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      trigger - The trigger item that contains channel data.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      elementBudget - build up to this many elements
      +
      source - from where to drain resource
      +
      actor - source of action
      +
      check - whether IStructureElement.check(Object, World, int, int, int) should be called if + anything would be placed. use with caution. if in doubt, call + check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean) + after this call and set this parameter to false
      +
      Returns:
      +
      number of elements built, or -1 if structure done
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      survivalBuild

      +
      +
      default int survivalBuild(T object, + ItemStack trigger, + String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + int elementBudget, + ISurvivalBuildEnvironment env, + boolean check)
      +
      Cause a survival build.
      +
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      trigger - The trigger item that contains channel data.
      +
      piece - the structure piece's string identifier.
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      elementBudget - build up to this many elements
      +
      env - build environment.
      +
      check - whether IStructureElement.check(Object, World, int, int, int) should be called if + anything would be placed. use with caution. if in doubt, call + check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean) + after this call and set this parameter to false
      +
      Returns:
      +
      number of elements built, or -1 if structure done
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      iterate

      +
      +
      default void iterate(String piece, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + IStructureWalker<T> predicate)
      +
      +
      +
    • +
    • +
      +

      iterate

      +
      +
      static <T> boolean iterate(T object, + ItemStack trigger, + IStructureElement<T>[] elements, + World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + boolean hintsOnly, + Boolean checkBlocksIfNotNullForceCheckAllIfTrue)
      +
      Low level utility.
      +
      +
      Type Parameters:
      +
      T - type of context object.
      +
      Parameters:
      +
      object - context object. usually multiblock controller.
      +
      trigger - The trigger item that contains channel data.
      +
      elements - the structure piece
      +
      world - the world object this check takes place in.
      +
      extendedFacing - the current structure's orientation.
      +
      basePositionX - X location of the structure
      +
      basePositionY - Y location of the structure
      +
      basePositionZ - Z location of the structure
      +
      basePositionA - see class javadoc
      +
      basePositionB - see class javadoc
      +
      basePositionC - see class javadoc
      +
      hintsOnly - whether to spawn hints or do creative build. no effect if + checkBlocksIfNotNullForceCheckAllIfTrue is not null.
      +
      checkBlocksIfNotNullForceCheckAllIfTrue - creative build or spawn hints if null. Force check not loaded + chunk if true. Check only loaded chunk is false.
      +
      Returns:
      +
      true if iteration completed successfully.
      +
      +
      +
      +
    • +
    • +
      +

      builder

      +
      +
      static <T> StructureDefinition.Builder<T> builder()
      +
      Create a new instance of builder.
      +
      +
      Type Parameters:
      +
      T - type of context object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.BlocksToPlace.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.BlocksToPlace.html new file mode 100644 index 00000000..014c1fe0 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.BlocksToPlace.html @@ -0,0 +1,291 @@ + + + + +IStructureElement.BlocksToPlace (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class IStructureElement.BlocksToPlace

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
+
+
+
Enclosing interface:
+
IStructureElement<T>
+
+
+
+
public static final class IStructureElement.BlocksToPlace +extends Object
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.PlaceResult.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.PlaceResult.html new file mode 100644 index 00000000..0e9ec927 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.PlaceResult.html @@ -0,0 +1,306 @@ + + + + +IStructureElement.PlaceResult (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class IStructureElement.PlaceResult

+
+
java.lang.Object +
java.lang.Enum<IStructureElement.PlaceResult> +
com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<IStructureElement.PlaceResult>, Constable
+
+
+
Enclosing interface:
+
IStructureElement<T>
+
+
+
+
public static enum IStructureElement.PlaceResult +extends Enum<IStructureElement.PlaceResult>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      SKIP

      +
      +
      public static final IStructureElement.PlaceResult SKIP
      +
      The element's check passed, the position is already valid. No placement is needed. In the walker: continue +iteration (no error, not counted as placed). In ofChain: short-circuits, remaining alternatives are skipped.
      +
      +
      +
    • +
    • +
      +

      REJECT

      +
      +
      public static final IStructureElement.PlaceResult REJECT
      +
      The element cannot handle this position (occupied, missing resources, etc.). In the walker: stop iteration +with error particles. In ofChain: try next alternative.
      +
      +
      +
    • +
    • +
      +

      REJECT_CONTINUE

      +
      +
      public static final IStructureElement.PlaceResult REJECT_CONTINUE
      +
      This element has no survivalPlaceBlock implementation (default fallback), or otherwise cannot place but is +not an error condition. In the walker: continue iteration silently (like SKIP). In ofChain: try next +alternative (like REJECT), so a better-suited element can handle it.
      +
      +
      +
    • +
    • +
      +

      STOP

      +
      +
      public static final IStructureElement.PlaceResult STOP
      +
      Autoplace cannot proceed within this tick. To proceed further would require stopping the placement and wait +for next round.
      +
      +
      +
    • +
    • +
      +

      ACCEPT

      +
      +
      public static final IStructureElement.PlaceResult ACCEPT
      +
      Element placed successfully.
      +
      +
      +
    • +
    • +
      +

      ACCEPT_STOP

      +
      +
      public static final IStructureElement.PlaceResult ACCEPT_STOP
      +
      Combination of ACCEPT and STOP. +

      +Element placed successfully. To proceed further would require stopping the placement and wait for next round.

      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static IStructureElement.PlaceResult[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static IStructureElement.PlaceResult valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.html new file mode 100644 index 00000000..85c26b1e --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElement.html @@ -0,0 +1,523 @@ + + + + +IStructureElement (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureElement<T>

+
+
+
+
All Known Subinterfaces:
+
IStructureElementChain<T>, IStructureElementCheckOnly<T>, IStructureElementDeferred<T>, IStructureElementNoPlacement<T>
+
+
+
+
public interface IStructureElement<T>
+
Use StructureUtility to instantiate. These are the building blocks for your IStructureDefinition. It +represents what a particular element can be and how this particular element should be autoplaced.
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementChain.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementChain.html new file mode 100644 index 00000000..2283a543 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementChain.html @@ -0,0 +1,451 @@ + + + + +IStructureElementChain (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureElementChain<T>

+
+
+
+
All Superinterfaces:
+
IStructureElement<T>
+
+
+
+
public interface IStructureElementChain<T> +extends IStructureElement<T>
+
Use StructureUtility to instantiate
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementCheckOnly.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementCheckOnly.html new file mode 100644 index 00000000..6bd3e504 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementCheckOnly.html @@ -0,0 +1,325 @@ + + + + +IStructureElementCheckOnly (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureElementCheckOnly<T>

+
+
+
+
All Superinterfaces:
+
IStructureElement<T>
+
+
+
+
public interface IStructureElementCheckOnly<T> +extends IStructureElement<T>
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementDeferred.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementDeferred.html new file mode 100644 index 00000000..a39daa62 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementDeferred.html @@ -0,0 +1,104 @@ + + + + +IStructureElementDeferred (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureElementDeferred<T>

+
+
+
+
All Superinterfaces:
+
IStructureElement<T>
+
+
+
+
public interface IStructureElementDeferred<T> +extends IStructureElement<T>
+
Use StructureUtility to instantiate
+
+
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementNoPlacement.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementNoPlacement.html new file mode 100644 index 00000000..1477f057 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureElementNoPlacement.html @@ -0,0 +1,286 @@ + + + + +IStructureElementNoPlacement (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureElementNoPlacement<T>

+
+
+
+
All Superinterfaces:
+
IStructureElement<T>
+
+
+
+
public interface IStructureElementNoPlacement<T> +extends IStructureElement<T>
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureWalker.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureWalker.html new file mode 100644 index 00000000..a79f61a1 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IStructureWalker.html @@ -0,0 +1,209 @@ + + + + +IStructureWalker (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IStructureWalker<T>

+
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
+
@FunctionalInterface +public interface IStructureWalker<T>
+
A functional interface that is used to iterate over an arbitrary structure.
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      visit

      +
      +
      boolean visit(IStructureElement<T> element, + World world, + int x, + int y, + int z, + int a, + int b, + int c)
      +
      Called once per structure element.
      +
      +
      Parameters:
      +
      element - The current element
      +
      world - The current world
      +
      x - The absolute X position of the element in world coordinates
      +
      y - The absolute Y position of the element in world coordinates
      +
      z - The absolute Z position of the element in world coordinates
      +
      a - The relative A position of the element in structure-local coordinates (pre transform)
      +
      b - The relative B position of the element in structure-local coordinates (pre transform)
      +
      c - The relative C position of the element in structure-local coordinates (pre transform)
      +
      Returns:
      +
      False to stop iterating, true to continue.
      +
      +
      +
      +
    • +
    • +
      +

      blockNotLoaded

      +
      +
      default boolean blockNotLoaded(IStructureElement<T> element, + World world, + int x, + int y, + int z, + int a, + int b, + int c)
      +
      +
      +
    • +
    • +
      +

      ignoreBlockUnloaded

      +
      +
      static <T> IStructureWalker<T> ignoreBlockUnloaded(IStructureWalker<T> walker)
      +
      +
      +
    • +
    • +
      +

      skipBlockUnloaded

      +
      +
      static <T> IStructureWalker<T> skipBlockUnloaded(IStructureWalker<T> walker)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISurvivalBuildEnvironment.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISurvivalBuildEnvironment.html new file mode 100644 index 00000000..c50ddec6 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ISurvivalBuildEnvironment.html @@ -0,0 +1,169 @@ + + + + +ISurvivalBuildEnvironment (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ISurvivalBuildEnvironment

+
+
+
+
+
public interface ISurvivalBuildEnvironment
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ITierConverter.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ITierConverter.html new file mode 100644 index 00000000..6025a2dc --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/ITierConverter.html @@ -0,0 +1,135 @@ + + + + +ITierConverter (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ITierConverter<TIER>

+
+
+
+
Type Parameters:
+
TIER -
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
+
@FunctionalInterface +public interface ITierConverter<TIER>
+
a function to extract tier info from a block.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    convert(Block block, + int meta)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      convert

      +
      +
      TIER convert(Block block, + int meta)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IWithExtendedContext.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IWithExtendedContext.html new file mode 100644 index 00000000..65a4d1c6 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/IWithExtendedContext.html @@ -0,0 +1,133 @@ + + + + +IWithExtendedContext (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IWithExtendedContext<CTX>

+
+
+
+
Type Parameters:
+
CTX - the temporary state context
+
+
+
+
public interface IWithExtendedContext<CTX>
+
Implement this and use StructureUtility.withContext(IStructureElement) in case you need to record some +temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the +structure than just during structure check. Usually just save some few bytes, but becomes non-trivial if you need to +record too much stuff. +

+You will have to reset the context yourself though. The API can't guess when the old context becomes invalid.

+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCurrentContext

      +
      +
      CTX getCurrentContext()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html new file mode 100644 index 00000000..b0ba1894 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html @@ -0,0 +1,234 @@ + + + + +StructureDefinition.Builder (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureDefinition.Builder<T>

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder<T>
+
+
+
+
Enclosing class:
+
StructureDefinition<T>
+
+
+
+
public static class StructureDefinition.Builder<T> +extends Object
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getElements

      +
      +
      public Map<Character, IStructureElement<T>> getElements()
      +
      +
      +
    • +
    • +
      +

      getShapes

      +
      +
      public Map<String,String> getShapes()
      +
      +
      +
    • +
    • +
      +

      addShape

      +
      +
      public StructureDefinition.Builder<T> addShape(String name, + String[][] structurePiece)
      +
      Adds shape. Shape is a two-dimensional string array. Each character inside any of these strings will +be later mapped to a particular type of IStructureElement as indicated by +addElement(Character, IStructureElement). +

      +next char is next block(a) next string is next line(b) next string[] is next slice(c) +

      +There are a few special reserved characters that are pre-mapped to some common structure elements +

        +
      • + is anything but air
      • +
      • - is air checks
      • +
      • space bar is skip
      • +
      • ~ is also skip (but marks controller position, not optional)
      • +
      • char A000-FFFF range is reserved for generated skips
      • +
      +

      +
      +
      Parameters:
      +
      name - unlocalized/code name
      +
      structurePiece - generated or written struct - DO NOT STORE IT ANYWHERE, or at least set them to null + afterwards
      +
      Returns:
      +
      this builder
      +
      +
      +
      +
    • +
    • +
      +

      addElement

      +
      +
      @Deprecated +public StructureDefinition.Builder<T> addElement(Character name, + IStructureElement<T> structurePiece)
      +
      Deprecated. +
      use the unboxed version
      +
      +
      +
      +
    • +
    • +
      +

      addElement

      +
      +
      public StructureDefinition.Builder<T> addElement(char name, + IStructureElement<T> structurePiece)
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      public IStructureDefinition<T> build()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.html new file mode 100644 index 00000000..6838aa6a --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureDefinition.html @@ -0,0 +1,239 @@ + + + + +StructureDefinition (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureDefinition<T>

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.structure.StructureDefinition<T>
+
+
+
+
All Implemented Interfaces:
+
IStructureDefinition<T>
+
+
+
+
public class StructureDefinition<T> +extends Object +implements IStructureDefinition<T>
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureUtility.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureUtility.html new file mode 100644 index 00000000..d028ba8c --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/StructureUtility.html @@ -0,0 +1,2638 @@ + + + + +StructureUtility (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class StructureUtility

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
+
+
+
public class StructureUtility +extends Object
+
A brief index of everything contained +

Control blocks

A lot of these might seem to make more sense as a default function on +IStructureElement. However, in that case javac generic will often fail to infer the type for you, so we have +to define them as static methods +

If block

Provide if block, allowing downstream call only if user specified conditions are meet (i.e. +predicate returns true) + +

Switch block

Provide switch block, allowing to select a downstream element by using a key or index computed +from trigger item and/or context object. + +

Or Chain

Provide a short-circuiting OR chain. + +

Side effect

Provide callbacks on various occasion + + +

Other Primitives

+

Error statement

Unconditionally return false. + +

Context Object Change

Switch the context object. + +

Channel Change

Change the channel. See Channels section +on overview for more information. + +

Spawn hint particle

Just spawn a hint. Do nothing otherwise. Useful when you want to override the hint +provided by another structure element, or as a fallback to a structure element that is check only. + + +

Actual Element

These elements are elements that can actually do structure check, spawn hint and do auto +place. Elements listed in above 2 sections are not going to be helpful without elements like these. They also serve +as a reference implementation for your own custom IStructureElement implementations. +

Simple Block Element

These accept one or more different block types in one location. + +

Complex Block Element

In case your logic on determining which block is accepted is complex, use these. + + +

Helper Methods

These don't construct a IStructureElement, but is helpful to the instantiation or +implementation of these. +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(Block block, + int meta, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayerMP actor)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit.

      +
      +
      Parameters:
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(Block block, + int meta, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayer actor)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit.

      +
      +
      Parameters:
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(Block block, + int meta, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayerMP actor, + Consumer<IChatComponent> chatter)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit. This method might yield error messages to the chatter.

      +
      +
      Parameters:
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      chatter - normal error destination. can be null to suppress them.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(Block block, + int meta, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayer actor, + Consumer<IChatComponent> chatter)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit. This method might yield error messages to the chatter.

      +
      +
      Parameters:
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      chatter - normal error destination. can be null to suppress them.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(ItemStack stack, + ItemStackPredicate.NBTMode nbtMode, + NBTTagCompound tag, + boolean assumeStackPresent, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayerMP actor)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit.

      +
      +
      Parameters:
      +
      stack - a valid stack with stack size of exactly 1. Must be of an ItemBlock!
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(ItemStack stack, + ItemStackPredicate.NBTMode nbtMode, + NBTTagCompound tag, + boolean assumeStackPresent, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayer actor)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit.

      +
      +
      Parameters:
      +
      stack - a valid stack with stack size of exactly 1. Must be of an ItemBlock!
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(ItemStack stack, + ItemStackPredicate.NBTMode nbtMode, + NBTTagCompound tag, + boolean assumeStackPresent, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayerMP actor, + @Nullable + Consumer<IChatComponent> chatter)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit. This method might yield error messages to the chatter.

      +
      +
      Parameters:
      +
      stack - a valid stack with stack size of exactly 1. Must be of an ItemBlock!
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      chatter - normal error destination. can be null to suppress them.
      +
      +
      +
      +
    • +
    • +
      +

      survivalPlaceBlock

      +
      +
      public static IStructureElement.PlaceResult survivalPlaceBlock(ItemStack stack, + ItemStackPredicate.NBTMode nbtMode, + NBTTagCompound tag, + boolean assumeStackPresent, + World world, + int x, + int y, + int z, + IItemSource s, + EntityPlayer actor, + @Nullable + Consumer<IChatComponent> chatter)
      +
      This is a helper method for implementing +IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) +

      +This method will try to look up an ItemBlock for given block and meta from s and place it at +given location. This method assume block at given coord is NOT acceptable, but may or may not be trivially +replaceable This method might yield error messages to the player only if there is likely a programming error or +exploit. This method might yield error messages to the chatter.

      +
      +
      Parameters:
      +
      stack - a valid stack with stack size of exactly 1. Must be of an ItemBlock!
      +
      s - drain resources from this place
      +
      actor - source of action. cannot be null.
      +
      chatter - normal error destination. can be null to suppress them.
      +
      +
      +
      +
    • +
    • +
      +

      isAir

      +
      +
      public static <T> IStructureElement<T> isAir()
      +
      Return a structure element that only allow air (or air equivalents, like Railcraft hidden blocks). You usually +don't need to call this yourselves. Use - in shape to automatically use this. Provided nontheless in case +you want this as a fallback to something else.
      +
      +
      +
    • +
    • +
      +

      notAir

      +
      +
      public static <T> IStructureElement<T> notAir()
      +
      Return a structure element that allow anything but air (or air equivalents, like Railcraft hidden blocks). You +usually don't need to call this yourselves. Use + in shape to automatically use this. Provided nontheless +in case you want this as a fallback to something else.
      +
      +
      +
    • +
    • +
      +

      error

      +
      +
      public static <T> IStructureElement<T> error()
      +
      Check returns false. Placement is always handled by this and does nothing. Makes little to no use it in fallback +chain.
      +
      +
      +
    • +
    • +
      +

      ofHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofHint(int dots)
      +
      Spawn a hint with given amount of dots. Check always returns: true. Only useful as a fallback, e.g. +ofBlockUnlocalizedName(String, String, int, IStructureElement)
      +
      +
      +
    • +
    • +
      +

      ofHintDeferred

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofHintDeferred(Supplier<IIcon[]> icons)
      +
      Spawn a hint with given textures. Check always returns: true. Only useful as a fallback, e.g. +ofBlockUnlocalizedName(String, String, int, IStructureElement)
      +
      +
      +
    • +
    • +
      +

      ofHintDeferred

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofHintDeferred(Supplier<IIcon[]> icons, + short[] RGBa)
      +
      Spawn a hint with given amount of textures and tint. Check always returns: true. Only useful as a fallback, e.g. +ofBlockUnlocalizedName(String, String, int, IStructureElement)
      +
      +
      +
    • +
    • +
      +

      ofBlocksTiered

      +
      +
      public static <T,TIER> +IStructureElementCheckOnly<T> ofBlocksTiered(ITierConverter<TIER> tierExtractor, + @Nullable + TIER notSet, + BiConsumer<T,TIER> setter, + Function<T,TIER> getter)
      +
      A more primitive variant of ofBlocksTiered(ITierConverter, List, Object, BiConsumer, Function) Main +difference is this one is check only. +

      +Note that if tierExtractor returns a null, this block will be rejected immediately. This makes null a potent +candidate for notSet. +

      +See documentation on the other overload for more information.

      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlocksTiered

      +
      +
      public static <T,TIER> IStructureElement<T> ofBlocksTiered(ITierConverter<TIER> tierExtractor, + @Nullable + List<org.apache.commons.lang3.tuple.Pair<Block,Integer>> allKnownTiers, + @Nullable + TIER notSet, + BiConsumer<T,TIER> setter, + Function<T,TIER> getter)
      +
      Element representing a component with different tiers. Your multi will accept any of them (as long as player does +not mix tier (*)), but would like to know which is used. Player can use more blueprint to get hints denoting more +advanced components. +

      +Above all else, you need to decide what type of tier you are going to use. For simpler cases, Integer is a good +choice. You can also use an existing Enum. It can also be a String or a +ResourceLocation, or basically anything. It doesn't even have to implement +Comparable. +

      +If your tier extractor function returns null on any (Block, meta) pair, then it means this block is rejected. +This also implies null can never be a valid tier. +

      +This structure element require you will reset the backing storage of getter in your own code, such that in every +round of structure checking, the first call to getter would always return notSet. You can also make getter to +return other value on that occasion to forcefully select a certain tier, but then you'd probably be better off +using block adders or ofBlock(Block, int, Block, int) and its overloads +

      +There is yet no TileEntity counterpart of this utility. Feel free to submit a PR to add it. +

      +(*): Implementation wise, this structure element will only accept a block if its tier is the same as existing +tier or if existing tier is unset (i.e. value of third argument). If there are multiple (block, tier) tuple for a +given tier, then player will be allowed to use multiple kinds of blocks, but their tier is guaranteed to be the +same. +

      +

      WARNING

      You SHOULD NOT return notSet from your tierExtractor. If you do so, we will have this +chain of events: +
        +
      • at check start, tier is reset to notSet +
      • the tier extractor returns notSet for first block, so since ofBlocksTiered finds your current tier is notSet, +and the new block's tier is the same as that, so it's accepted +
      • at 2nd, 3rd..., same thing in 2 happens +
      • at last occurrence, player placed a valid block with a tier not notSet. ofBlocksTiered now sets your current +tier to this tier, and accept the block +
      • check got notified structure is sound, and tier is not notSet. it marks the structure as complete and start +doing its business +
      • Player enjoy a (probably) hilariously shaped multi and (probably) reduced build cost. +
      +

      Example Implementation

      +

      +Assume you have 16 tier, each map to one particular block's 16 different meta. You will usually want something +like this + +

      +public class Tile extends TileEntity {
      +    private static final Block B = getTargetBlock();
      +    private static final IStructureDefinition<Tile> S = IStructureDefinition.<Tile>builder()
      +           // ... addShape, and other elements
      +           .addElement('c', ofBlocksTiered((b, m) -> b == B ? m : null,
      +                                           IntStream.range(0, 16).mapToObj(i -> Pair.of(B, i)).collect(Collectors.toList()),
      +                                           -1,
      +                                           (t, m) -> t.tier = m,
      +                                           t -> t.tier))
      +           .build();
      +    private int tier;
      +
      +    public boolean check() {
      +        tier = -1;
      +        if (!S.check(...))
      +            return false;
      +        return isTierAcceptable(tier);
      +    }
      +}
      +
      + +Important bits of this example implementation: + +

      +As a friendly reminder, the above characteristics are only for this simply demo, not as a general restriction +imposed by ofBlocksTiered.

      +
      +
      Parameters:
      +
      tierExtractor - a function to extract tier info from a block. This function can return null and will never + be passed a null block or an invalid block meta. If this function returns null, then the + block would be considered invalid.
      +
      allKnownTiers - A list of all known tiers as of calling. Can be empty or null. No hint will be spawned if + empty or null. Cannot have null elements. First element denotes the most primitive tier. + Last element denotes the most advanced tier. If not all tiers are available at definition + construction time, use lazy(Supplier) or its overloads to delay a bit. This list is + only for hint particle spawning and survival build. The hint/autoplace code will choose 1st + pair to spawn/place if trigger item has master channel data of 1, 2nd pair if 2, and so on.
      +
      notSet - The value returned from getter when there were no tier info found in T yet. Cannot + be null.
      +
      setter - a function to set the current tier into context object
      +
      getter - a function to retrieve the current tier from context object
      +
      +
      +
      +
    • +
    • +
      +

      ofBlocksTiered

      +
      +
      public static <T,TIER> IStructureElement<T> ofBlocksTiered(ITierConverter<TIER> tierExtractor, + @Nullable + List<org.apache.commons.lang3.tuple.Pair<Block,Integer>> allKnownTiers, + @Nullable + TIER notSet, + BiConsumer<T,TIER> setter, + Function<T,TIER> getter, + @Nullable + List<String> description)
      + +
      +
      Parameters:
      +
      description - the description lang keys to attach to this element, or null for no description
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlockUnlocalizedName

      +
      +
      public static <T> IStructureElement<T> ofBlockUnlocalizedName(String modid, + String unlocalizedName, + int meta)
      +
      Denote a block using unlocalized names. This can be useful to get around mod loading order issues. +

      +DUE TO HISTORICAL REASONS, THIS WAS CALLED ofBlockUnlocalizedName, BUT IT ACTUALLY USES REGISTRY NAME +INSTEAD. +

      +While no immediate error will be thrown, client code should ensure said mod is loaded and said mod is present, +otherwise bad things will happen later!

      +
      +
      +
    • +
    • +
      +

      ofBlockUnlocalizedName

      +
      +
      public static <T> IStructureElement<T> ofBlockUnlocalizedName(String modid, + String registryName, + int meta, + boolean wildcard)
      +
      Denote a block using unlocalized names. This can be useful to get around mod loading order issues. +

      +DUE TO HISTORICAL REASONS, THIS WAS CALLED ofBlockUnlocalizedName, BUT IT ACTUALLY USES REGISTRY NAME +INSTEAD. +

      +While no immediate error will be thrown, client code should ensure said mod is loaded and said mod is present, +otherwise the element will effectively become an error(). +

      +Will place block or hint using the given meta if wildcard is true.

      +
      +
      +
    • +
    • +
      +

      ofBlockUnlocalizedName

      +
      +
      public static <T> IStructureElement<T> ofBlockUnlocalizedName(String modid, + String unlocalizedName, + int meta, + IStructureElement<T> fallback)
      +
      Similiar to the other overload, but allows client code to specify a fallback in case said block was not found +later when the element got called. +

      +DUE TO HISTORICAL REASONS, THIS WAS CALLED ofBlockUnlocalizedName, BUT IT ACTUALLY USES REGISTRY NAME +INSTEAD. +

      +This is slightly different to using the other overload and another element in a +ofChain(IStructureElement[]). Here fallback will only ever be used if this fails, where ofChain would +form an OR relationship even if the mod is loaded and the block exists in registry.

      +
      +
      +
    • +
    • +
      +

      ofBlocksFlatHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofBlocksFlatHint(Map<Block,Integer> blocsMap, + Block hintBlock, + int hintMeta)
      +
      Accept a set of blocks. Less cumbersome to use than ofBlocksMapHint(Map, Block, int) when for any +accepted block type we accept only one meta for each. +

      +Does not have autoplace.

      +
      +
      Parameters:
      +
      blocsMap - Accepted (block, meta) pairs.
      +
      hintBlock - hint block to use
      +
      hintMeta - hint meta to use
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlocksMapHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofBlocksMapHint(Map<Block, Collection<Integer>> blocsMap, + Block hintBlock, + int hintMeta)
      +
      Accept a set of blocks. +

      +Does not have autoplace.

      +
      +
      Parameters:
      +
      blocsMap - Accepted (block, meta) pairs.
      +
      hintBlock - hint block to use
      +
      hintMeta - hint meta to use
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlockHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofBlockHint(Block block, + int meta, + Block hintBlock, + int hintMeta)
      +
      Accept one (block, meta). Spawn hint particles using an alternative block and meta. Not very useful...
      +
      +
      +
    • +
    • +
      +

      ofBlockHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofBlockHint(Block block, + int meta)
      +
      Accept one (block, meta). Same as ofBlock(Block, int), except it explicitly turns off creative/survival +build.
      +
      +
      +
    • +
    • +
      +

      ofBlockAdderHint

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofBlockAdderHint(IBlockAdder<T> iBlockAdder, + Block hintBlock, + int hintMeta)
      +
      Add a block using block adder. Spawn hints using given hint block and meta. +

      +Useful when your logic is very complex. Does not support autoplace.

      +
      +
      +
    • +
    • +
      +

      ofBlocksFlat

      +
      +
      public static <T> IStructureElement<T> ofBlocksFlat(Map<Block,Integer> blocsMap, + Block defaultBlock, + int defaultMeta)
      +
      Accept a set of blocks. Less cumbersome to use than ofBlocksMap(Map, Block, int) when for any accepted +block type we accept only one meta for each.
      +
      +
      Parameters:
      +
      blocsMap - Accepted (block, meta) pairs.
      +
      defaultBlock - default block to place/spawn hint
      +
      defaultMeta - default meta to place/spawn hint
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlocksMap

      +
      +
      public static <T> IStructureElement<T> ofBlocksMap(Map<Block, Collection<Integer>> blocsMap, + Block defaultBlock, + int defaultMeta)
      +
      Accept a set of blocks.
      +
      +
      Parameters:
      +
      blocsMap - Accepted (block, meta) pairs.
      +
      defaultBlock - default block to place/spawn hint
      +
      defaultMeta - default meta to place/spawn hint
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      ofBlock

      +
      +
      public static <T> IStructureElement<T> ofBlock(Block block, + int meta, + Block defaultBlock, + int defaultMeta)
      +
      Accept a block. Spawn hint/autoplace using another.
      +
      +
      Parameters:
      +
      block - accepted block
      +
      meta - accepted meta
      +
      defaultBlock - hint block
      +
      defaultMeta - hint meta
      +
      +
      +
      +
    • +
    • +
      +

      ofBlockAnyMeta

      +
      +
      public static <T> IStructureElement<T> ofBlockAnyMeta(Block block, + Block defaultBlock, + int defaultMeta)
      +
      Same as ofBlock(Block, int, Block, int) but ignores target meta id
      +
      +
      +
    • +
    • +
      +

      ofBlock

      +
      +
      public static <T> IStructureElement<T> ofBlock(Block block, + int meta)
      +
      Accept a single block with a fixed meta. Most primitive form of structure.
      +
      +
      +
    • +
    • +
      +

      ofBlockAnyMeta

      +
      +
      public static <T> IStructureElement<T> ofBlockAnyMeta(Block block)
      +
      Accept a single block, but accept any meta.
      +
      +
      +
    • +
    • +
      +

      ofBlockAnyMeta

      +
      +
      public static <T> IStructureElement<T> ofBlockAnyMeta(Block block, + int defaultMeta)
      +
      Accept a single block, but accept any meta. Spawn hint/autoplace using given meta.
      +
      +
      +
    • +
    • +
      +

      ofBlockAdder

      +
      +
      public static <T> IStructureElement<T> ofBlockAdder(IBlockAdder<T> iBlockAdder, + Block defaultBlock, + int defaultMeta)
      +
      Add a block using block adder. Spawn hints/autoplace using given hint block and meta. +

      +Useful when your logic is very complex.

      +
      +
      +
    • +
    • +
      +

      ofBlockAdder

      +
      +
      public static <T> IStructureElement<T> ofBlockAdder(IBlockAdder<T> iBlockAdder, + int dots)
      +
      +
      +
    • +
    • +
      +

      ofTileAdder

      +
      +
      public static <T> IStructureElementNoPlacement<T> ofTileAdder(ITileAdder<T> iTileAdder, + Block hintBlock, + int hintMeta)
      +
      Try to add a structure element with a tile entity. Note that tile adder will be called with a null argument at +locations without tile entity.
      +
      +
      +
    • +
    • +
      +

      ofSpecificTileAdder

      +
      +
      public static <T,E> IStructureElementNoPlacement<T> ofSpecificTileAdder(BiPredicate<T,E> iTileAdder, + Class<E> tileClass, + Block hintBlock, + int hintMeta)
      +
      Try to add a structure element with a particular type of tile entity. Note that tile adder will not be called at +locations without a tile entity.
      +
      +
      +
    • +
    • +
      +

      onElementPass

      +
      +
      public static <B extends IStructureElement<T>, T> +IStructureElement<T> onElementPass(Consumer<T> onCheckPass, + B element)
      +
      Call a callback if downstream element returned true in check.
      +
      +
      Parameters:
      +
      onCheckPass - side effect
      +
      element - downstream
      +
      +
      +
      +
    • +
    • +
      +

      withDescription

      +
      +
      public static <B extends IStructureElement<T>, T> +IStructureElement<T> withDescription(@Nullable + List<String> description, + B element)
      +
      Wraps an element and overrides its description. Useful for providing human-readable names to elements whose +underlying implementation doesn't provide a description (e.g. tiered block elements).
      +
      +
      Parameters:
      +
      description - the description to use, or null to clear any existing description
      +
      element - the element to wrap
      +
      +
      +
      +
    • +
    • +
      +

      onElementFail

      +
      +
      public static <B extends IStructureElement<T>, T> +IStructureElement<T> onElementFail(Consumer<T> onFail, + B element)
      +
      Call a callback if downstream element returned false in check.
      +
      +
      Parameters:
      +
      onFail - side effect
      +
      element - downstream
      +
      +
      +
      +
    • +
    • +
      +

      onlyIf

      +
      +
      public static <T> IStructureElement<T> onlyIf(Predicate<? super T> predicate, + IStructureElement<? super T> downstream)
      +
      Enable this structure element only if given predicate returns true. +

      +Return REJECT_CONTINUE when survival auto place if given predicate returns false.

      +
      +
      +
    • +
    • +
      +

      onlyIf

      +
      +
      public static <T> IStructureElement<T> onlyIf(Predicate<? super T> predicate, + IStructureElement<? super T> downstream, + IStructureElement.PlaceResult placeResultWhenDisabled)
      +
      Enable this structure element only if given predicate returns true.
      +
      +
      Parameters:
      +
      placeResultWhenDisabled - value to return for survival auto place when predicate returns false
      +
      +
      +
      +
    • +
    • +
      +

      ofChain

      +
      +
      @SafeVarargs +public static <T> IStructureElementChain<T> ofChain(IStructureElement<T>... elementChain)
      +
      This allows you to compose different IStructureElement to form a OR chain. As with any other OR +operator, this one exhibits short-circuiting behavior, i.e. it will not call next structure element if previous +one succeeded. (*) +

      +This allows you e.g. accept both a glass block using ofBlock(Block, int, Block, int) and a piece of air +using isAir(). It will not attempt to capture any errors though, so next one will not be tried if +previous one would crash. +

      +(*): For survival auto place, it will: REJECT, if any structure element returns REJECT (and none returned ACCEPT, +STOP, ACCEPT_STOP, or SKIP); REJECT_CONTINUE, if all structure elements return REJECT_CONTINUE (none returned +REJECT); SKIP, as soon as any structure element returns SKIP; any other result, immediately upon any structure +element returning those. +

      +Take care while chaining, as it will try to call every structure element until it returns true. If none does it +will finally return false.

      +
      +
      +
    • +
    • +
      +

      ofChain

      +
      +
      public static <T> IStructureElementChain<T> ofChain(List<IStructureElement<T>> elementChain)
      +
      This allows you to compose different IStructureElement to form a OR chain. +

      +Practically no difference with the other overload.

      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      withContext

      +
      +
      public static <CTX, T extends IWithExtendedContext<CTX>> +IStructureElement<T> withContext(IStructureElement<CTX> elem)
      +
      Switch to the extended context object in the downstream element
      +
      +
      Type Parameters:
      +
      CTX - extended context type
      +
      T - existing context object type
      +
      Parameters:
      +
      elem - downstream element
      +
      +
      +
      +
    • +
    • +
      +

      lazy

      +
      +
      public static <T> IStructureElementDeferred<T> lazy(Supplier<IStructureElement<T>> to)
      +
      Similar to defer, but caches the first returned element returned and won't call it again. Initialization is not +thread safe. These both allow the structure element **constructor** to access properties only present on the +context object (e.g. GT5 multiblock controller), e.g. hatch texture index to use. Use `lazy` if the data you +access will remain constant across different context object.
      +
      +
      +
    • +
    • +
      +

      lazy

      +
      +
      public static <T> IStructureElementDeferred<T> lazy(Function<T, IStructureElement<T>> to)
      +
      This will defer the actual instantiation of structure element until the first time structure code is +actually called. +

      +Similar to defer, but caches the first returned element returned and won't call it again. Initialization is not +thread safe. This will allow the structure element constructor to access properties only present on the +context object (e.g. GT5 multiblock controller), e.g. hatch texture index to use. Use this if the data you access +will remain constant.

      +
      +
      Parameters:
      +
      to - create structure element from the first context object passed in
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      public static <T> IStructureElementDeferred<T> defer(Supplier<IStructureElement<T>> to)
      +
      This will defer the actual instantiation of structure element until the structure code is actually called. This +will allow the structure element constructor to access properties only present on the context object (e.g. +GT5 multiblock controller), e.g. hatch texture index to use. Use this if it might change for the same structure +definition, e.g. if your structure might switch mode and change some parameter, while basically remain the same +shape. Using this while lazy(Supplier) is enough will not break anything, but would incur unnecessary +performance overhead.
      +
      +
      Parameters:
      +
      to - downstream element supplier
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      public static <T> IStructureElementDeferred<T> defer(Function<T, IStructureElement<T>> to)
      +
      This will defer the actual instantiation of structure element until the structure code is actually called. This +will allow the structure element constructor to access properties only present on the context object (e.g. +GT5 multiblock controller), e.g. hatch texture index to use. Use this if it might change for the same structure +definition, e.g. if your structure might switch mode and change some parameter, while basically remain the same +shape. Using this while lazy(Supplier) is enough will not break anything, but would incur unnecessary +performance overhead.
      +
      +
      Parameters:
      +
      to - downstream element supplier
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(Function<T,K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(Function<T,K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns a key not +found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(Function<T,K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code, with default case support. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. The fallback will only be used when keyExtractor returns a value not found in given map. This will play +nicely in combination with error() +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object
      +
      map - all possible structure element
      +
      defaultElem - element to use when keyExtractor returns a value not found in given map
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(Function<T,K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      This is the switch block for structure code, with default case support. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. The fallback will only be used when keyExtractor returns a value not found in given map. This will play +nicely in combination with error() +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object
      +
      map - all possible structure element
      +
      defaultElem - element to use when keyExtractor returns a value not found in given map
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @SafeVarargs +@Deprecated +public static <T> IStructureElementDeferred<T> defer(Function<T,Integer> keyExtractor, + IStructureElement<T>... array)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array.

      +
      +
      Parameters:
      +
      keyExtractor - extract an index from the context object
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      @SafeVarargs +public static <T> IStructureElementDeferred<T> partitionBy(Function<T,Integer> keyExtractor, + IStructureElement<T>... array)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array.

      +
      +
      Parameters:
      +
      keyExtractor - extract an index from the context object
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T> IStructureElementDeferred<T> defer(Function<T,Integer> keyExtractor, + List<IStructureElement<T>> array)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array.

      +
      +
      Parameters:
      +
      keyExtractor - extract an index from the context object
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T> IStructureElementDeferred<T> partitionBy(Function<T,Integer> keyExtractor, + List<IStructureElement<T>> array)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array.

      +
      +
      Parameters:
      +
      keyExtractor - extract an index from the context object
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      public static <T> IStructureElementDeferred<T> defer(BiFunction<T, ItemStack, IStructureElement<T>> to)
      +
      This will defer the actual instantiation of structure element until the structure code is actually called. This +will allow the structure element constructor to access properties only present on the context object (e.g. +GT5 multiblock controller), e.g. hatch texture index to use. Use this if it might change for the same structure +definition, e.g. if your structure might switch mode and change some parameter, while basically remain the same +shape. Using this while lazy(Supplier) is enough will not break anything, but would incur unnecessary +performance overhead. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      to - downstream element supplier
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns a key not +found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns a key not +found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code, with default case support. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. The fallback will only be used when keyExtractor returns a value not found in given map. This will play +nicely in combination with error() +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      defaultElem - element to use when keyExtractor returns a value not found in given map
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      This is the switch block for structure code, with default case support. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. The fallback will only be used when keyExtractor returns a value not found in given map. This will play +nicely in combination with error() +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      defaultElem - element to use when keyExtractor returns a value not found in given map
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @SafeVarargs +public static <T> IStructureElementDeferred<T> defer(BiFunction<T, ItemStack, Integer> keyExtractor, + IStructureElement<T>... array)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      public static <T> IStructureElementDeferred<T> defer(BiFunction<T, ItemStack, Integer> keyExtractor, + List<IStructureElement<T>> array)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array. +

      +This variant also passes the trigger item to the function, allowing it to get more info.

      +
      +
      Parameters:
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      public static <T> IStructureElementDeferred<T> defer(Function<T, IStructureElement<T>> toCheck, + BiFunction<T, ItemStack, IStructureElement<T>> to)
      +
      This will defer the actual instantiation of structure element until the first time structure code is +actually called. +

      +Similar to defer, but caches the first returned element returned and won't call it again. Initialization is not +thread safe. This will allow the structure element constructor to access properties only present on the +context object (e.g. GT5 multiblock controller), e.g. hatch texture index to use. Use this if the data you access +will remain constant. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      toCheck - override the check function with the returned element
      +
      to - create structure element from the context object passed in
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(Function<T,K> keyExtractorCheck, + BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns a key not +found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(Function<T,K> keyExtractorCheck, + BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map)
      +
      This is the switch block for structure code. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns a key not +found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T,K> IStructureElementDeferred<T> defer(Function<T,K> keyExtractorCheck, + BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. defaultElem will be used if either extractor returned a key not found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T,K> IStructureElementDeferred<T> partitionBy(Function<T,K> keyExtractorCheck, + BiFunction<T, ItemStack, K> keyExtractor, + Map<K, IStructureElement<T>> map, + IStructureElement<T> defaultElem)
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute a key from context object, and lookup a map for actual structure element to +use. defaultElem will be used if either extractor returned a key not found in map. +

      +Do pay attention to what properties your map has though. You need to pay attention to how they consider equality +and how they consider null key/values. Guava ImmutableMap is usually a good enough choice. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      map - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @SafeVarargs +@Deprecated +public static <T> IStructureElementDeferred<T> defer(Function<T,Integer> keyExtractorCheck, + BiFunction<T, ItemStack, Integer> keyExtractor, + IStructureElement<T>... array)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      @SafeVarargs +public static <T> IStructureElementDeferred<T> partitionBy(Function<T,Integer> keyExtractorCheck, + BiFunction<T, ItemStack, Integer> keyExtractor, + IStructureElement<T>... array)
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +Do pay place null values in the array. +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      defer

      +
      +
      @Deprecated +public static <T> IStructureElementDeferred<T> defer(Function<T,Integer> keyExtractorCheck, + BiFunction<T, ItemStack, Integer> keyExtractor, + List<IStructureElement<T>> array)
      +
      Deprecated. +
      renamed to partitionBy
      +
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      partitionBy

      +
      +
      public static <T> IStructureElementDeferred<T> partitionBy(Function<T,Integer> keyExtractorCheck, + BiFunction<T, ItemStack, Integer> keyExtractor, + List<IStructureElement<T>> array)
      +
      This is the switch block for structure code, with default case. +

      +This allows you to extract or compute an index from context object, and lookup an array for actual structure +element to use. This will usually, but not guaranteed, to throw an exception at runtime if keyExtractor returns +an index not within the array bound +

      +This variant also passes the trigger item to the function, allowing it to get more info. +

      +This variant will override the check function of the structure element from second function with the one returned +from the structure element from first function.

      +
      +
      Parameters:
      +
      keyExtractorCheck - key extractor of the structure element that will be used for check.
      +
      keyExtractor - extract a key from the context object and trigger item
      +
      array - all possible structure element
      +
      +
      +
      +
    • +
    • +
      +

      withChannel

      +
      +
      public static <T> IStructureElement<T> withChannel(String channel, + IStructureElement<T> backing)
      +
      See channels.md in docs folder
      +
      +
      +
    • +
    • +
      +

      step

      +
      +
      public static <T> +com.gtnewhorizon.structurelib.structure.IStructureNavigate<T> step(int a, + int b, + int c)
      +
      Used internally, to generate skips for structure definitions
      +
      +
      +
    • +
    • +
      +

      step

      +
      +
      public static <T> +com.gtnewhorizon.structurelib.structure.IStructureNavigate<T> step(Vec3Impl step)
      +
      Used internally, to generate skips for structure definitions
      +
      +
      +
    • +
    • +
      +

      getPseudoJavaCode

      +
      +
      public static String getPseudoJavaCode(World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + Function<? super TileEntity, String> tileEntityClassifier, + int sizeA, + int sizeB, + int sizeC, + boolean transpose)
      +
      Used only to get pseudo code in structure writer... +

      +NOTE: GT specific code got removed. TODO add a mean

      +
      +
      Parameters:
      +
      tileEntityClassifier - return a string that denote the type of a tile entity, or null if it's nothing + special. useful if the tile entity cannot be simply distinguished via getClass.
      +
      +
      +
      +
    • +
    • +
      +

      iterate

      +
      +
      public static void iterate(World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + int sizeA, + int sizeB, + int sizeC, + IBlockPosConsumer iBlockPosConsumer)
      +
      +
      +
    • +
    • +
      +

      iterate

      +
      +
      public static void iterate(World world, + ExtendedFacing extendedFacing, + int basePositionX, + int basePositionY, + int basePositionZ, + int basePositionA, + int basePositionB, + int basePositionC, + boolean transpose, + int sizeA, + int sizeB, + int sizeC, + IBlockPosConsumer iBlockPosConsumer, + Runnable nextB, + Runnable nextC)
      +
      +
      +
    • +
    • +
      +

      transpose

      +
      +
      public static String[][] transpose(String[][] structurePiece)
      +
      Transposes shape (swaps B and C axis, can be used to un-transpose transposed shape) WARNING! Do not use on old +api...
      +
      +
      Parameters:
      +
      structurePiece - shape (transposed shape)
      +
      Returns:
      +
      transposed shape (untransposed shape)
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/IBlockAdder.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/IBlockAdder.html new file mode 100644 index 00000000..e347315e --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/IBlockAdder.html @@ -0,0 +1,137 @@ + + + + +IBlockAdder (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IBlockAdder<T>

+
+
+
+
+
public interface IBlockAdder<T>
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    apply(T t, + Block block, + int meta)
    +
    +
    Callback on block added, needs to check if block is valid (and add it)
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      boolean apply(T t, + Block block, + int meta)
      +
      Callback on block added, needs to check if block is valid (and add it)
      +
      +
      Parameters:
      +
      block - block attempted to add
      +
      meta - meta of block attempted to add
      +
      Returns:
      +
      is structure still valid
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/ITileAdder.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/ITileAdder.html new file mode 100644 index 00000000..191abe31 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/ITileAdder.html @@ -0,0 +1,134 @@ + + + + +ITileAdder (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface ITileAdder<T>

+
+
+
+
+
public interface ITileAdder<T>
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    apply(T t, + TileEntity tileEntity)
    +
    +
    Callback to add hatch, needs to check if tile is valid (and add it)
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      boolean apply(T t, + TileEntity tileEntity)
      +
      Callback to add hatch, needs to check if tile is valid (and add it)
      +
      +
      Parameters:
      +
      tileEntity - tile
      +
      Returns:
      +
      managed to add hatch (structure still valid)
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-summary.html new file mode 100644 index 00000000..59c3db33 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.gtnewhorizon.structurelib.structure.adders (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.structure.adders

+
+
+
+
package com.gtnewhorizon.structurelib.structure.adders
+
+
Adder interfaces used in various standard structure elements.
+
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-tree.html new file mode 100644 index 00000000..b10eecf8 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/adders/package-tree.html @@ -0,0 +1,70 @@ + + + + +com.gtnewhorizon.structurelib.structure.adders Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.structure.adders

+
+Package Hierarchies: + +
+

Interface Hierarchy

+
    +
  • com.gtnewhorizon.structurelib.structure.adders.IBlockAdder<T>
  • +
  • com.gtnewhorizon.structurelib.structure.adders.ITileAdder<T>
  • +
+
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-summary.html new file mode 100644 index 00000000..b66d9391 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-summary.html @@ -0,0 +1,179 @@ + + + + +com.gtnewhorizon.structurelib.structure (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.structure

+
+
+
+
package com.gtnewhorizon.structurelib.structure
+
+
This package provide support for multiblock structure checking. +

+All public stuff in this package and its subpackages are considered part of the public API. Backwards compatibility +is maintained to the maximum extend possible.

+
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-tree.html new file mode 100644 index 00000000..3a189ba4 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/structure/package-tree.html @@ -0,0 +1,114 @@ + + + + +com.gtnewhorizon.structurelib.structure Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.structure

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryIterable.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryIterable.html new file mode 100644 index 00000000..1a9857e9 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryIterable.html @@ -0,0 +1,189 @@ + + + + +InventoryIterable (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class InventoryIterable<Inv extends IInventory>

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.InventoryIterable<Inv>
+
+
+
+
All Implemented Interfaces:
+
Iterable<ItemStack>
+
+
+
+
public class InventoryIterable<Inv extends IInventory> +extends Object +implements Iterable<ItemStack>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      InventoryIterable

      +
      +
      public InventoryIterable(Inv inv)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.InventoryProvider.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.InventoryProvider.html new file mode 100644 index 00000000..b2022ec1 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.InventoryProvider.html @@ -0,0 +1,140 @@ + + + + +InventoryUtility.InventoryProvider (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface InventoryUtility.InventoryProvider<R extends Iterable<ItemStack>>

+
+
+
+
Enclosing class:
+
InventoryUtility
+
+
+
+
public static interface InventoryUtility.InventoryProvider<R extends Iterable<ItemStack>>
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    void
    +
    markDirty(R inv)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInventory

      +
      +
      R getInventory(EntityPlayerMP player)
      +
      +
      +
    • +
    • +
      +

      markDirty

      +
      +
      void markDirty(R inv)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackCounter.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackCounter.html new file mode 100644 index 00000000..73eaffa3 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackCounter.html @@ -0,0 +1,133 @@ + + + + +InventoryUtility.ItemStackCounter (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface InventoryUtility.ItemStackCounter

+
+
+
+
Enclosing class:
+
InventoryUtility
+
+
+
+
public static interface InventoryUtility.ItemStackCounter
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    add(ItemStack stack, + int stackSize)
    +
    +
    Add some amount of stack.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      add

      +
      +
      void add(ItemStack stack, + int stackSize)
      +
      Add some amount of stack. Note stackSize is used instead of stack.stackSize.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.APIType.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.APIType.html new file mode 100644 index 00000000..64d22c4f --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.APIType.html @@ -0,0 +1,248 @@ + + + + +InventoryUtility.ItemStackExtractor.APIType (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class InventoryUtility.ItemStackExtractor.APIType

+
+
java.lang.Object +
java.lang.Enum<InventoryUtility.ItemStackExtractor.APIType> +
com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<InventoryUtility.ItemStackExtractor.APIType>, Constable
+
+
+
Enclosing interface:
+
InventoryUtility.ItemStackExtractor
+
+
+
+
public static enum InventoryUtility.ItemStackExtractor.APIType +extends Enum<InventoryUtility.ItemStackExtractor.APIType>
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.html new file mode 100644 index 00000000..043a9f3a --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.html @@ -0,0 +1,246 @@ + + + + +InventoryUtility.ItemStackExtractor (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface InventoryUtility.ItemStackExtractor

+
+
+
+
Enclosing class:
+
InventoryUtility
+
+
+
+
public static interface InventoryUtility.ItemStackExtractor
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isAPIImplemented

      +
      +
      boolean isAPIImplemented(InventoryUtility.ItemStackExtractor.APIType type)
      +
      +
      +
    • +
    • +
      +

      isValidSource

      +
      +
      default boolean isValidSource(ItemStack is, + EntityPlayerMP player)
      +
      +
      +
    • +
    • +
      +

      takeFromStack

      +
      +
      int takeFromStack(Predicate<ItemStack> predicate, + boolean simulate, + int count, + InventoryUtility.ItemStackCounter store, + ItemStack source, + ItemStack filter, + EntityPlayerMP player)
      +
      Extract a particular type of item. The extractor can choose to not return all items contained within this +item as long as it makes sense, but the author should inform the player of this. +

      +Whether this method does recursive extraction is at the discretion of implementor.

      +
      +
      Parameters:
      +
      predicate - the main filtering predicate. never null. It's assumed predicate always returns true on + filter, if that is not null
      +
      simulate - true if only query but does not actually remove
      +
      store - where to store extracted items. Should increment the
      +
      source - from where an extraction should be attempted
      +
      filter - stack to extract. should not be mutated! match the NBT tag using EXACT mode. might be null.
      +
      player - executor of extraction, or null if from a machine
      +
      Returns:
      +
      amount extracted, or -1 if this is not implemented
      +
      +
      +
      +
    • +
    • +
      +

      getItem

      +
      +
      default int getItem(ItemStack source, + ItemStack toExtract, + boolean simulate, + EntityPlayerMP player)
      +
      Extract a particular type of item. The extractor can choose to not return all items contained within this +item as long as it makes sense, but the author should inform the player of this. +

      +Whether this method does recursive extraction is at the discretion of implementor.

      +
      +
      Parameters:
      +
      source - from where an extraction should be attempted
      +
      toExtract - stack to extract. should not be mutated! match the NBT tag using EXACT mode.
      +
      simulate - true if only query but does not actually remove
      +
      player - executor of extraction, or null if from a machine
      +
      Returns:
      +
      amount extracted, or -1 if this is not implemented
      +
      +
      +
      +
    • +
    • +
      +

      createOnlyOptimized

      +
      +
      static InventoryUtility.ItemStackExtractor createOnlyOptimized(@Nonnull + InventoryUtility.OptimizedExtractor optimizedExtractor)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.OptimizedExtractor.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.OptimizedExtractor.html new file mode 100644 index 00000000..af2f27bb --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.OptimizedExtractor.html @@ -0,0 +1,149 @@ + + + + +InventoryUtility.OptimizedExtractor (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface InventoryUtility.OptimizedExtractor

+
+
+
+
Enclosing class:
+
InventoryUtility
+
+
+
+
public static interface InventoryUtility.OptimizedExtractor
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    extract(ItemStack source, + ItemStack toExtract, + boolean simulate, + EntityPlayerMP player)
    +
    +
    Extract a particular type of item.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      extract

      +
      +
      int extract(ItemStack source, + ItemStack toExtract, + boolean simulate, + EntityPlayerMP player)
      +
      Extract a particular type of item. The extractor can choose to not return all items contained within this +item as long as it makes sense, but the author should inform the player of this. +

      +Whether optimized extractor do recursive extraction is at the discretion of implementor.

      +
      +
      Parameters:
      +
      source - from where an extraction should be attempted
      +
      toExtract - stack to extract. should not be mutated! match the NBT tag using EXACT mode.
      +
      simulate - true if only query but does not actually remove
      +
      player - executor of extraction, or null if from a machine
      +
      Returns:
      +
      amount extracted
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.html new file mode 100644 index 00000000..28b7bfb9 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/InventoryUtility.html @@ -0,0 +1,389 @@ + + + + +InventoryUtility (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class InventoryUtility

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.InventoryUtility
+
+
+
+
+
public class InventoryUtility +extends Object
+
This class is part of API, but is not stable. Use at your own risk.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      InventoryUtility

      +
      +
      public InventoryUtility()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      registerEnableEnderCondition

      +
      +
      public static void registerEnableEnderCondition(Predicate<? super EntityPlayerMP> predicate)
      +
      +
      +
    • +
    • +
      +

      registerStackExtractor

      +
      +
      public static void registerStackExtractor(String key, + InventoryUtility.ItemStackExtractor val)
      +
      +
      +
    • +
    • +
      +

      registerStackExtractor

      +
      +
      public static <Inv extends IInventory> void registerStackExtractor(String key, + Function<ItemStack, ? extends Inv> extractor)
      +
      +
      +
    • +
    • +
      +

      registerInventoryProvider

      +
      +
      public static void registerInventoryProvider(String key, + InventoryUtility.InventoryProvider<?> val)
      +
      +
      +
    • +
    • +
      +

      registerInventoryProvider

      +
      +
      public static <Inv extends IInventory> void registerInventoryProvider(String key, + Function<EntityPlayerMP, ? extends Inv> extractor)
      +
      +
      +
    • +
    • +
      +

      getStackExtractors

      +
      +
      public static Iterator<? extends InventoryUtility.ItemStackExtractor> getStackExtractors(EntityPlayerMP player)
      +
      +
      +
    • +
    • +
      +

      newInventoryProvider

      +
      +
      public static <Inv extends IInventory> +InventoryUtility.InventoryProvider<InventoryIterable<Inv>> newInventoryProvider(Function<EntityPlayerMP, ? extends Inv> extractor)
      +
      +
      +
    • +
    • +
      +

      newItemStackProvider

      +
      +
      public static InventoryUtility.ItemStackExtractor newItemStackProvider(Function<ItemStack, ? extends IInventory> extractor)
      +
      +
      +
    • +
    • +
      +

      takeFromInventory

      +
      +
      public static Map<ItemStack, Integer> takeFromInventory(EntityPlayerMP player, + Predicate<ItemStack> predicate, + boolean simulate, + int count)
      +
      take count amount of stacks that matches given filter. might take partial amount of stuff, so simulation is +suggested if you ever need to take more than one.
      +
      +
      Parameters:
      +
      player - source of stacks
      +
      predicate - item stack filter
      +
      simulate - whether to do removal
      +
      count - let's hope int size is enough...
      +
      Returns:
      +
      amount taken. never negative nor bigger than count...
      +
      +
      +
      +
    • +
    • +
      +

      takeFromInventory

      +
      +
      public static int takeFromInventory(EntityPlayerMP player, + ItemStack filter, + boolean simulate)
      +
      take count amount of stacks that matches given filter. might take partial amount of stuff, so simulation is +suggested if you ever need to take more than one.
      +
      +
      Parameters:
      +
      player - source of stacks
      +
      filter - the precise type of item to extract. stackSize matters
      +
      simulate - whether to do removal
      +
      Returns:
      +
      amount taken. never negative nor bigger than count...
      +
      +
      +
      +
    • +
    • +
      +

      takeFromInventory

      +
      +
      public static Map<ItemStack, Integer> takeFromInventory(Iterable<ItemStack> inv, + Predicate<ItemStack> predicate, + boolean simulate, + int count, + boolean recursive)
      +
      take count amount of stacks that matches given filter. Will do 1 level of recursion to try find more stacks.... +e.g. from backpacks...
      +
      +
      Parameters:
      +
      inv - source of stacks
      +
      predicate - item stack filter
      +
      simulate - whether to do removal
      +
      count - let's hope int size is enough...
      +
      recursive - do recursive lookup using stack extractors
      +
      Returns:
      +
      amount taken. never negative nor bigger than count...
      +
      +
      +
      +
    • +
    • +
      +

      init

      +
      +
      public static void init()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.NBTMode.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.NBTMode.html new file mode 100644 index 00000000..3d1e4cdd --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.NBTMode.html @@ -0,0 +1,262 @@ + + + + +ItemStackPredicate.NBTMode (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class ItemStackPredicate.NBTMode

+
+
java.lang.Object +
java.lang.Enum<ItemStackPredicate.NBTMode> +
com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ItemStackPredicate.NBTMode>, Constable, BiPredicate<NBTTagCompound, NBTTagCompound>
+
+
+
Enclosing class:
+
ItemStackPredicate
+
+
+
+
public static enum ItemStackPredicate.NBTMode +extends Enum<ItemStackPredicate.NBTMode> +implements BiPredicate<NBTTagCompound, NBTTagCompound>
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static ItemStackPredicate.NBTMode[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static ItemStackPredicate.NBTMode valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.html new file mode 100644 index 00000000..031a0d16 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/ItemStackPredicate.html @@ -0,0 +1,246 @@ + + + + +ItemStackPredicate (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ItemStackPredicate

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
+
+
+
All Implemented Interfaces:
+
Predicate<ItemStack>
+
+
+
+
public final class ItemStackPredicate +extends Object +implements Predicate<ItemStack>
+
+
+
+ +
+
+ +
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/MiscUtils.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/MiscUtils.html new file mode 100644 index 00000000..a2beda34 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/MiscUtils.html @@ -0,0 +1,131 @@ + + + + +MiscUtils (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class MiscUtils

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.MiscUtils
+
+
+
+
+
public class MiscUtils +extends Object
+
not related to a certain mod!
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/SortedRegistry.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/SortedRegistry.html new file mode 100644 index 00000000..9934d7e1 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/SortedRegistry.html @@ -0,0 +1,280 @@ + + + + +SortedRegistry (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class SortedRegistry<V>

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.SortedRegistry<V>
+
+
+
+
All Implemented Interfaces:
+
Iterable<V>
+
+
+
+
public class SortedRegistry<V> +extends Object +implements Iterable<V>
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SortedRegistry

      +
      +
      public SortedRegistry()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      register

      +
      +
      public void register(String key, + V val)
      +
      +
      +
    • +
    • +
      +

      size

      +
      +
      public int size()
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      +
      public boolean isEmpty()
      +
      +
      +
    • +
    • +
      +

      containsKey

      +
      +
      public boolean containsKey(String key)
      +
      +
      +
    • +
    • +
      +

      containsValue

      +
      +
      public boolean containsValue(V value)
      +
      +
      +
    • +
    • +
      +

      get

      +
      +
      public V get(String key)
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      +
      public Iterator<V> iterator()
      +
      +
      Specified by:
      +
      iterator in interface Iterable<V>
      +
      +
      +
      +
    • +
    • +
      +

      forEach

      +
      +
      public void forEach(Consumer<? super V> action)
      +
      +
      Specified by:
      +
      forEach in interface Iterable<V>
      +
      +
      +
      +
    • +
    • +
      +

      spliterator

      +
      +
      public Spliterator<V> spliterator()
      +
      +
      Specified by:
      +
      spliterator in interface Iterable<V>
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/Vec3Impl.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/Vec3Impl.html new file mode 100644 index 00000000..1415eb20 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/Vec3Impl.html @@ -0,0 +1,521 @@ + + + + +Vec3Impl (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Vec3Impl

+
+
java.lang.Object +
com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
+
+
All Implemented Interfaces:
+
Comparable<Vec3Impl>
+
+
+
+
public class Vec3Impl +extends Object +implements Comparable<Vec3Impl>
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      NULL_VECTOR

      +
      +
      public static final Vec3Impl NULL_VECTOR
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Vec3Impl

      +
      +
      public Vec3Impl(int in0, + int in1, + int in2)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFromPool

      +
      +
      public static Vec3Impl getFromPool(int in0, + int in1, + int in2)
      +
      THIS WILL CAUSE THIS VECTOR TO PERMANENTLY RESIDE IN STATIC MEMORY. DO NOT USE THIS UNLESS YOU KNOW WHAT YOU ARE +DOING!!!
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      +
      public int compareTo(Vec3Impl o)
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<Vec3Impl>
      +
      +
      +
      +
    • +
    • +
      +

      get

      +
      +
      public int get(int index)
      +
      Gets the coordinate.
      +
      +
      +
    • +
    • +
      +

      get0

      +
      +
      public int get0()
      +
      Gets the X coordinate.
      +
      +
      +
    • +
    • +
      +

      get1

      +
      +
      public int get1()
      +
      Gets the Y coordinate.
      +
      +
      +
    • +
    • +
      +

      get2

      +
      +
      public int get2()
      +
      Gets the Z coordinate.
      +
      +
      +
    • +
    • +
      +

      offset

      +
      +
      public Vec3Impl offset(net.minecraftforge.common.util.ForgeDirection facing, + int n)
      +
      +
      +
    • +
    • +
      +

      add

      +
      +
      public Vec3Impl add(Vec3Impl pos)
      +
      +
      +
    • +
    • +
      +

      sub

      +
      +
      public Vec3Impl sub(Vec3Impl pos)
      +
      +
      +
    • +
    • +
      +

      add

      +
      +
      public Vec3Impl add(int pos0, + int pos1, + int pos2)
      +
      +
      +
    • +
    • +
      +

      sub

      +
      +
      public Vec3Impl sub(int pos0, + int pos1, + int pos2)
      +
      +
      +
    • +
    • +
      +

      crossProduct

      +
      +
      public Vec3Impl crossProduct(Vec3Impl vec)
      +
      +
      +
    • +
    • +
      +

      withinDistance

      +
      +
      public boolean withinDistance(Vec3Impl to, + double distance)
      +
      +
      +
    • +
    • +
      +

      withinDistance

      +
      +
      public boolean withinDistance(IPosition to, + double distance)
      +
      +
      +
    • +
    • +
      +

      distanceSq

      +
      +
      public double distanceSq(Vec3Impl to)
      +
      +
      +
    • +
    • +
      +

      distanceSq

      +
      +
      public double distanceSq(IPosition to, + boolean useCenter)
      +
      +
      +
    • +
    • +
      +

      distanceSq

      +
      +
      public double distanceSq(double x, + double y, + double z, + boolean useCenter)
      +
      +
      +
    • +
    • +
      +

      manhattanDistance

      +
      +
      public int manhattanDistance(Vec3Impl to)
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
      +
    • +
    • +
      +

      abs

      +
      +
      public Vec3Impl abs()
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/XSTR.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/XSTR.html new file mode 100644 index 00000000..f8b6effa --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/XSTR.html @@ -0,0 +1,525 @@ + + + + +XSTR (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class XSTR

+
+
java.lang.Object +
java.util.Random +
com.gtnewhorizon.structurelib.util.XSTR
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, RandomGenerator
+
+
+
+
public class XSTR +extends Random
+
XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      XSTR_INSTANCE

      +
      +
      public static final XSTR XSTR_INSTANCE
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      XSTR

      +
      +
      public XSTR()
      +
      Creates a new pseudo random number generator. The seed is initialized to the current time, as if by +setSeed(System.currentTimeMillis());.
      +
      +
      +
    • +
    • +
      +

      XSTR

      +
      +
      public XSTR(long seed)
      +
      Creates a new pseudo random number generator, starting with the specified seed, using +setSeed(seed);.
      +
      +
      Parameters:
      +
      seed - the initial seed
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      nextBoolean

      +
      +
      public boolean nextBoolean()
      +
      +
      Specified by:
      +
      nextBoolean in interface RandomGenerator
      +
      Overrides:
      +
      nextBoolean in class Random
      +
      +
      +
      +
    • +
    • +
      +

      nextDouble

      +
      +
      public double nextDouble()
      +
      +
      Specified by:
      +
      nextDouble in interface RandomGenerator
      +
      Overrides:
      +
      nextDouble in class Random
      +
      +
      +
      +
    • +
    • +
      +

      getSeed

      +
      +
      public long getSeed()
      +
      Returns the current state of the seed, can be used to clone the object
      +
      +
      Returns:
      +
      the current seed
      +
      +
      +
      +
    • +
    • +
      +

      setSeed

      +
      +
      public void setSeed(long seed)
      +
      Sets the seed for this pseudo random number generator. As described above, two instances of the same random +class, starting with the same seed, produce the same results, if the same methods are called.
      +
      +
      Overrides:
      +
      setSeed in class Random
      +
      Parameters:
      +
      seed - the new seed
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public XSTR clone()
      +
      +
      Overrides:
      +
      clone in class Object
      +
      Returns:
      +
      Returns an XSRandom object with the same state as the original
      +
      +
      +
      +
    • +
    • +
      +

      next

      +
      +
      public int next(int nbits)
      +
      Implementation of George Marsaglia's elegant Xorshift random generator 30% faster and better quality than the +built-in java.util.random see also see http://www.javamex.com/tutorials/random_numbers/xorshift.shtml
      +
      +
      Overrides:
      +
      next in class Random
      +
      Parameters:
      +
      nbits - will shift nbits bits
      +
      Returns:
      +
      next seed
      +
      +
      +
      +
    • +
    • +
      +

      nextGaussian

      +
      +
      public double nextGaussian()
      +
      +
      Specified by:
      +
      nextGaussian in interface RandomGenerator
      +
      Overrides:
      +
      nextGaussian in class Random
      +
      +
      +
      +
    • +
    • +
      +

      nextInt

      +
      +
      public int nextInt(int bound)
      +
      Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value +(exclusive), drawn from this random number generator's sequence. The general contract of nextInt is that +one int value in the specified range is pseudorandomly generated and returned. All bound possible +int values are produced with (approximately) equal probability. The method nextInt(int bound) is +implemented by class Random as if by: + +
      + 
      +public int nextInt(int bound) {
      +  if (bound <= 0)
      +    throw new IllegalArgumentException("bound must be positive");
      +
      +  if ((bound & -bound) == bound)  // i.e., bound is a power of 2
      +    return (int)((bound * (long)next(31)) >> 31);
      +
      +  int bits, val;
      +  do {
      +      bits = next(31);
      +      val = bits % bound;
      +  } while (bits - val + (bound-1) < 0);
      +  return val;
      +}
      +
      + +

      +The hedge "approx imately" is used in the foregoing description only because the next method is only +approximately an unbiased source of independently chosen bits. If it were a perfect source of randomly chosen +bits, then the algorithm shown would choose int values from the stated range with perfect uniformity. +

      +The algorithm is slightly tricky. It rejects values that would result in an uneven distribution (due to the fact +that 2^31 is not divisible by n). The probability of a value being rejected depends on n. The worst case is +n=2^30+1, for which the probability of a reject is 1/2, and the expected number of iterations before the loop +terminates is 2. +

      +The algorithm treats the case where n is a power of two specially: it returns the correct number of high-order +bits from the underlying pseudo-random number generator. In the absence of special treatment, the correct number +of low-order bits would be returned. Linear congruential pseudo-random number generators such as the one +implemented by this class are known to have short periods in the sequence of values of their low-order bits. +Thus, this special case greatly increases the length of the sequence of values returned by successive calls to +this method if n is a small power of two.

      +
      +
      Specified by:
      +
      nextInt in interface RandomGenerator
      +
      Overrides:
      +
      nextInt in class Random
      +
      Parameters:
      +
      bound - the upper bound (exclusive). Must be positive.
      +
      Returns:
      +
      the next pseudorandom, uniformly distributed int value between zero (inclusive) and bound + (exclusive) from this random number generator's sequence
      +
      Throws:
      +
      IllegalArgumentException - if bound is not positive
      +
      Since:
      +
      1.2
      +
      +
      +
      +
    • +
    • +
      +

      nextInt

      +
      +
      public int nextInt()
      +
      +
      Specified by:
      +
      nextInt in interface RandomGenerator
      +
      Overrides:
      +
      nextInt in class Random
      +
      +
      +
      +
    • +
    • +
      +

      nextFloat

      +
      +
      public float nextFloat()
      +
      +
      Specified by:
      +
      nextFloat in interface RandomGenerator
      +
      Overrides:
      +
      nextFloat in class Random
      +
      +
      +
      +
    • +
    • +
      +

      nextLong

      +
      +
      public long nextLong()
      +
      +
      Specified by:
      +
      nextLong in interface RandomGenerator
      +
      Overrides:
      +
      nextLong in class Random
      +
      +
      +
      +
    • +
    • +
      +

      nextBytes

      +
      +
      public void nextBytes(byte[] bytes_arr)
      +
      +
      Specified by:
      +
      nextBytes in interface RandomGenerator
      +
      Overrides:
      +
      nextBytes in class Random
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-summary.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-summary.html new file mode 100644 index 00000000..978c7388 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-summary.html @@ -0,0 +1,137 @@ + + + + +com.gtnewhorizon.structurelib.util (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package com.gtnewhorizon.structurelib.util

+
+
+
+
package com.gtnewhorizon.structurelib.util
+
+
+ +
+
+
+ + diff --git a/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-tree.html b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-tree.html new file mode 100644 index 00000000..537a6857 --- /dev/null +++ b/1.4.42/javadoc/com/gtnewhorizon/structurelib/util/package-tree.html @@ -0,0 +1,107 @@ + + + + +com.gtnewhorizon.structurelib.util Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package com.gtnewhorizon.structurelib.util

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/constant-values.html b/1.4.42/javadoc/constant-values.html new file mode 100644 index 00000000..bdd8ce01 --- /dev/null +++ b/1.4.42/javadoc/constant-values.html @@ -0,0 +1,133 @@ + + + + +Constant Field Values (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Constant Field Values

+
+
+

com.gtnewhorizon.*

+ +
+
+
+ + diff --git a/1.4.42/javadoc/deprecated-list.html b/1.4.42/javadoc/deprecated-list.html new file mode 100644 index 00000000..a02d5d28 --- /dev/null +++ b/1.4.42/javadoc/deprecated-list.html @@ -0,0 +1,141 @@ + + + + +Deprecated List (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Deprecated API

+
+

Contents

+ + + +
+
+ + diff --git a/1.4.42/javadoc/element-list b/1.4.42/javadoc/element-list new file mode 100644 index 00000000..2e5d1a07 --- /dev/null +++ b/1.4.42/javadoc/element-list @@ -0,0 +1,7 @@ +com.gtnewhorizon.structurelib +com.gtnewhorizon.structurelib.alignment +com.gtnewhorizon.structurelib.alignment.constructable +com.gtnewhorizon.structurelib.alignment.enumerable +com.gtnewhorizon.structurelib.structure +com.gtnewhorizon.structurelib.structure.adders +com.gtnewhorizon.structurelib.util diff --git a/1.4.42/javadoc/help-doc.html b/1.4.42/javadoc/help-doc.html new file mode 100644 index 00000000..7a6965f2 --- /dev/null +++ b/1.4.42/javadoc/help-doc.html @@ -0,0 +1,225 @@ + + + + +API Help (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+ +
+

JavaDoc Help

+
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+

Keyboard Navigation

+

Documentation pages provide keyboard shortcuts to facilitate access to common navigation tasks.

+
    +
  • Type +/ + to access the search input field in any page.
  • +
  • Type +. + to access the filter input field in the sidebar of class pages.
  • +
  • Type +Esc + to clear the input and release keyboard focus in any input field.
  • +
  • Type +Tab +/ +↓ +/ +↑ + to select list items after entering a search term in a search or filter input field.
  • +
  • Type +← +/ +→ + to switch between tabs in tabbed summary tables.
  • +
+
+
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exception Classes
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Deprecated API

+

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+
+

Release Details

+

The details for each module, package, class or interface normally include the release in which the declaration was introduced.

+

When a member is added after the initial introduction of the enclosing class or interface, the details of the member include the release in which it was introduced.

+

Some summary pages (New API, Deprecated) allow you to filter the contents of the page according to the release in which the declaration was introduced or deprecated.

+
+
+This help file applies to API documentation generated by the standard doclet.
+
+ + diff --git a/1.4.42/javadoc/index-all.html b/1.4.42/javadoc/index-all.html new file mode 100644 index 00000000..729bfe53 --- /dev/null +++ b/1.4.42/javadoc/index-all.html @@ -0,0 +1,2156 @@ + + + + +Index (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W X _ 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
abs() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
ACCEPT - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
Element placed successfully.
+
+
ACCEPT_STOP - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
Combination of ACCEPT and STOP.
+
+
Actual Element - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
add(int, int, int) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
add(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
add(ItemStack, int) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackCounter
+
+
Add some amount of stack.
+
+
addElement(char, IStructureElement) - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
 
+
addElement(Character, IStructureElement) - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
+
Deprecated. +
use the unboxed version
+
+
+
addShape(String, String[][]) - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
+
Adds shape.
+
+
addThrottledChat(Object, EntityPlayer, IChatComponent, short) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send chat to player, but throttled.
+
+
addThrottledChat(Object, EntityPlayer, IChatComponent, short, boolean) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send chat to player, but throttled.
+
+
AlignmentUtility - Class in com.gtnewhorizon.structurelib.alignment
+
 
+
allow(ExtendedFacing) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
allow(Flip) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
allow(Rotation) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
allow(ForgeDirection) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
allowAll() - Static method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
allowOnly(ExtendedFacing...) - Static method in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
 
+
apply(T, Block, int) - Method in interface com.gtnewhorizon.structurelib.structure.adders.IBlockAdder
+
+
Callback on block added, needs to check if block is valid (and add it)
+
+
apply(T, TileEntity) - Method in interface com.gtnewhorizon.structurelib.structure.adders.ITileAdder
+
+
Callback to add hatch, needs to check if tile is valid (and add it)
+
+
AutoPlaceEnvironment - Class in com.gtnewhorizon.structurelib.structure
+
+
Represent the environment in which autoplace of a single element took place.
+
+
AutoPlaceEnvironment(AutoPlaceEnvironment) - Constructor for class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
 
+
AutoPlaceEnvironment.APILevel - Enum Class in com.gtnewhorizon.structurelib.structure
+
+
Defines the various API level an AutoPlaceEnvironment has implemented.
+
+
+

B

+
+
blockNotLoaded(IStructureElement, World, int, int, int, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureWalker
+
 
+
BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
build() - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
build() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
 
+
build(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Build the multi in creative mode on a best-effort basis.
+
+
builder() - Static method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Create a new instance of builder.
+
+
builder() - Static method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
buildOrHints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+ +
+
byIndex(int) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
byIndex(int) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
byIndex(int) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
byName(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
byName(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
byName(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
+

C

+
+
Cache the instances of this class - Section in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
 
+
canSetToDirectionAny(ForgeDirection) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
CHANNEL_SHOW_ERROR - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
Channel Change - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
ChannelDataAccessor - Class in com.gtnewhorizon.structurelib.alignment.constructable
+
+
Provide accessor methods for channel data from trigger item.
+
+
Channel Descriptions - Section in Overview
+
 
+
Channel Indicator Items - Section in Overview
+
 
+
Channels - Section in Overview
+
 
+
check(T, String, World, ExtendedFacing, int, int, int, int, int, int, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Run a structure check.
+
+
check(T, World, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
check(T, World, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
checkedSetDirection(ForgeDirection) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
checkedSetExtendedFacing(ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
checkedSetFlip(Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
checkedSetRotation(Rotation) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
CLOCKWISE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
clone() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
com.gtnewhorizon.structurelib - package com.gtnewhorizon.structurelib
+
 
+
com.gtnewhorizon.structurelib.alignment - package com.gtnewhorizon.structurelib.alignment
+
+
This package provide a framework for rotating a given block, or a multiblock structure.
+
+
com.gtnewhorizon.structurelib.alignment.constructable - package com.gtnewhorizon.structurelib.alignment.constructable
+
+
This package contains interfaces and utility methods for autobuilding a structure.
+
+
com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.alignment.constructable.IConstructable - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.alignment.constructable.IConstructableProvider - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.alignment.enumerable - package com.gtnewhorizon.structurelib.alignment.enumerable
+
 
+
com.gtnewhorizon.structurelib.alignment.IAlignmentProvider, com.gtnewhorizon.structurelib.alignment.IAlignment and com.gtnewhorizon.structurelib.alignment.IAlignmentLimits - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.structure - package com.gtnewhorizon.structurelib.structure
+
+
This package provide support for multiblock structure checking.
+
+
com.gtnewhorizon.structurelib.structure.adders - package com.gtnewhorizon.structurelib.structure.adders
+
+
Adder interfaces used in various standard structure elements.
+
+
com.gtnewhorizon.structurelib.structure.IStructureDefinition - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.structure.IStructureElement - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.structure.StructureUtility - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.StructureEvent - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.StructureLibAPI - Section in Overview
+
 
+
com.gtnewhorizon.structurelib.util - package com.gtnewhorizon.structurelib.util
+
 
+
com.gtnewhorizon.structurelib.util.InventoryUtility - Section in Overview
+
 
+
compareTo(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
Complex Block Element - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
construct(ItemStack, boolean) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IConstructable
+
 
+
construct(ItemStack, boolean, T, ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
ConstructableUtility - Class in com.gtnewhorizon.structurelib.alignment.constructable
+
 
+
Constructing - Section in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
 
+
consume(World, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IBlockPosConsumer
+
 
+
contains(Class) - Static method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
containsKey(String) - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
containsValue(V) - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
Context Object - Section in Overview
+
 
+
Context Object Change - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
Control blocks - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
convert(Block, int) - Method in interface com.gtnewhorizon.structurelib.structure.ITierConverter
+
 
+
couldBeValid(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
Pure (stateless and side effect free) function to test if current block could be valid.
+
+
couldBeValid(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
couldBeValid(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly
+
 
+
countChannelData(ItemStack) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Get the number of subchannels present on given trigger item.
+
+
COUNTER_CLOCKWISE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
create(IItemSource, EntityPlayer) - Static method in interface com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment
+
+
Create a default implementation with three parameters all being constants.
+
+
create(Iterable) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
create(Predicate) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
create(Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
create(Item, int) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
create(ItemStack) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
create(ItemStack...) - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
createEmpty() - Static method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
createOnlyOptimized(InventoryUtility.OptimizedExtractor) - Static method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor
+
 
+
crossProduct(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
+

D

+
+
DEFAULT - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
defer(BiFunction) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This will defer the actual instantiation of structure element until the structure code is actually called.
+
+
defer(BiFunction, IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
defer(BiFunction, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
defer(BiFunction, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(BiFunction, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This will defer the actual instantiation of structure element until the structure code is actually called.
+
+
defer(Function, BiFunction) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This will defer the actual instantiation of structure element until the first time structure code is +actually called.
+
+
defer(Function, IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, BiFunction, IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, BiFunction, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, BiFunction, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, BiFunction, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Function, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Deprecated. +
renamed to partitionBy
+
+
+
defer(Supplier) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This will defer the actual instantiation of structure element until the structure code is actually called.
+
+
deny(ExtendedFacing) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
deny(Flip) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
deny(Rotation) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
deny(ForgeDirection) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
denyAll() - Static method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
denyOnly(ExtendedFacing...) - Static method in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
 
+
Direction - Enum Class in com.gtnewhorizon.structurelib.alignment.enumerable
+
 
+
DIRECTIONS_COUNT - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
DISABLE_HACKY_MIGRATION_CODE - Static variable in interface com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable
+
+
End player might want to disable this hack if it turns out to be too crashy
+
+
disableInstrument() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Stop instrumenting.
+
+
distanceSq(double, double, double, boolean) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
distanceSq(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
distanceSq(IPosition, boolean) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
DOWN - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
DOWN_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
DOWN_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
+

E

+
+
EAST - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
EAST_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
EAST_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
enableInstrument(Object) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Start instrumenting for the current thread only.
+
+
endHinting(World) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
End current batch of hinting.
+
+
ensureDuplicates() - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
ensureNoDuplicates(Flip) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
+
Prefers rotation to flip, so both flip will get translated to opposite rotation and no flip
+
+
equals(Object) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
error() - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Check returns false.
+
+
errored - Static variable in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
 
+
Error statement - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
EXACT - Enum constant in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
 
+
Example Implementation - Section in com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function)
+
 
+
Examples - Section in Overview
+
 
+
ExtendedFacing - Enum Class in com.gtnewhorizon.structurelib.alignment.enumerable
+
 
+
Extending Inventory Utility - Section in Overview
+
 
+
extract(ItemStack, ItemStack, boolean, EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.OptimizedExtractor
+
+
Extract a particular type of item.
+
+
EXTRACT_ONE_STACK - Enum constant in enum class com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
 
+
+

F

+
+
FACING_UP - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
+
Front side of the block must be facing up.
+
+
fallbacks() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
filter(Function) - Method in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
fireEvent(World, int, int, int, int, int, int, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Fire this event on MinecraftForge.EVENT_BUS by populating it with given arguments.
+
+
Flip - Enum Class in com.gtnewhorizon.structurelib.alignment.enumerable
+
 
+
FLIPS_COUNT - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
FOR_FACING - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
forEach(Consumer) - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
For Structure Definition Author - Section in Overview
+
 
+
from(Block) - Static method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
from(Item) - Static method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
from(ItemStack) - Static method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
from(ItemStack, ItemStackPredicate.NBTMode) - Static method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
fromInventory(IInventory) - Static method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Construct an IItemSource from given inventory
+
+
fromLegacy(IItemSource, EntityPlayer, Consumer) - Static method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
 
+
fromPlayer(EntityPlayerMP) - Static method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Construct an IItemSource from inventories associated with given player.
+
+
+

G

+
+
get(int) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
Gets the coordinate.
+
+
get(Class) - Static method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
get(String) - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
get0() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
Gets the X coordinate.
+
+
get1() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
Gets the Y coordinate.
+
+
get2() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
Gets the Z coordinate.
+
+
getA() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
A position in ABC coordinate, relative to (0,0,0) in the piece, i.e.
+
+
getActor() - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
The initiator of actions.
+
+
getActor() - Method in interface com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment
+
+
Get the origin of action.
+
+
getAlignment() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getAlignment() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignmentProvider
+
 
+
getAlignmentIndex(ForgeDirection, Rotation, Flip) - Static method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getAlignmentLimits() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getAllWith(Flip) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getAllWith(Rotation) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getAllWith(ForgeDirection) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getAPILevel() - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
 
+
getAxisVector() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
getAxisVector(ForgeDirection) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
getB() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
B position in ABC coordinate, relative to (0,0,0) in the piece, i.e.
+
+
getBlockHint() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Get the Block for StructureLib supplied hint block.
+
+
getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
A simplified version of survivalPlaceBlock.
+
+
getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
getByAxisVector(Vec3Impl) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
getC() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
C position in ABC coordinate, relative to (0,0,0) in the piece, i.e.
+
+
getChannelData(ItemStack, String) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Get the subchannel data from given trigger item.
+
+
getChatter() - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
send error messages here.
+
+
getConstructable() - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IConstructableProvider
+
 
+
getCurrentContext() - Method in interface com.gtnewhorizon.structurelib.structure.IWithExtendedContext
+
 
+
getDefaultHologramItem() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Get the hologram item.
+
+
getDescription(ItemStack) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
getDescription(T) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
Returns a human-readable description of what block(s) this element accepts.
+
+
getDescription(T) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
getDirection() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getDirection() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getDuplicate() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
Gets the same effective facing achieved by different rot/flip combo
+
+
getElement() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Element being visited.
+
+
getElements() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
 
+
getElements() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
getExtendedFacing() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getFacing() - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
 
+
getFlip() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getFlip() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getForgeDirection() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
getFromPool(int, int, int) - Static method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
+
THIS WILL CAUSE THIS VECTOR TO PERMANENTLY RESIDE IN STATIC MEMORY.
+
+
getIndex() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getIndex() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
getIndex() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
getInstrumentIdentifier() - Method in class com.gtnewhorizon.structurelib.StructureEvent
+
+
The instrument identifier.
+
+
getIntegerAxisSwap() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getInventory() - Method in class com.gtnewhorizon.structurelib.util.InventoryIterable
+
 
+
getInventory(EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider
+
 
+
getItem(ItemStack, ItemStack, boolean, EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor
+
+
Extract a particular type of item.
+
+
getItemBlockHint() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Get the ItemBlock for StructureLib supplied hint block.
+
+
getItemMetaFromBlockMeta(Block, int) - Method in interface com.gtnewhorizon.structurelib.structure.ISpecialItemBlock
+
 
+
getLocalizedName() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getName() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
getName() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
getName2() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getName2() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
getName2() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
getOffsetABC(double[], double[]) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getOffsetABC(int[], int[]) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getOffsetABC(Vec3Impl) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getOffsetABC(Vec3) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
Translates world offset to relative front facing offset
+
+
getOpposite() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
getOpposite() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
getOppositeDirection() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getOppositeFlip() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getOppositeRotation() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getPredicate() - Method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
+
Get the blocks to place filter.
+
+
getPseudoJavaCode(World, ExtendedFacing, int, int, int, int, int, int, Function, int, int, int, boolean) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Used only to get pseudo code in structure writer...
+
+
getRelativeBackInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRelativeDownInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRelativeForwardInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRelativeLeftInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRelativeRightInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRelativeUpInWorld() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRotation() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getRotation() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
getSeed() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
+
Returns the current state of the seed, can be used to clone the object
+
+
getShapes() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder
+
 
+
getShapes() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
getSource() - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
From where survival autoplace will drain resources.
+
+
getSource() - Method in interface com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment
+
+
Get the source of the items.
+
+
getStackExtractors(EntityPlayerMP) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
getStacks() - Method in class com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace
+
+
Get the ItemStacks that this one is known to accept.
+
+
getStepA() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
getStepB() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
getStepC() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
getStructureDefinition() - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IConstructable
+
+
Get the structure definition used for this constructable.
+
+
getStructureDescription(ItemStack) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IConstructable
+
 
+
getStructureFor(String) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Used internally
+
+
getStructureFor(String) - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
getStructures() - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
getTagKeys(NBTTagCompound) - Static method in class com.gtnewhorizon.structurelib.util.MiscUtils
+
 
+
getWorld() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Location of this event.
+
+
getWorldDirection(ForgeDirection) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
do note the ABC coordinate system is (X, -Y, Z).
+
+
getWorldOffset(double[], double[]) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getWorldOffset(int[], int[]) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getWorldOffset(Vec3Impl) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
getWorldOffset(Vec3) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
Translates relative to front facing offset to world offset
+
+
getX() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Location of this event.
+
+
getY() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Location of this event.
+
+
getZ() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
+
Location of this event.
+
+
+

H

+
+
handle(EntityPlayer, World, int, int, int) - Static method in class com.gtnewhorizon.structurelib.alignment.AlignmentUtility
+
 
+
handle(ItemStack, EntityPlayer, World, int, int, int, int) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ConstructableUtility
+
 
+
hashCode() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
hasSubChannel(ItemStack) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Check if given trigger item contains any subchannel
+
+
hasSubChannel(ItemStack, String) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Check if given trigger item contains specified subchannel
+
+
Helper Methods - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
HINT_BLOCK_META_AIR - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_DEFAULT - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_ERROR - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_0 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_1 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_10 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_11 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_2 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_3 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_4 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_5 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_6 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_7 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_8 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_GENERIC_9 - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
HINT_BLOCK_META_NOT_AIR - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
hintParticle(World, int, int, int, Block, int) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Generate a new hint particle on client side at given location using textures from given block.
+
+
hintParticle(World, int, int, int, IIcon[]) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Generate a new hint particle on client side at given location using given textures.
+
+
hintParticleTinted(World, int, int, int, Block, int, short[]) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Generate a new hint particle on client side at given location using textures from given block with a tint.
+
+
hintParticleTinted(World, int, int, int, IIcon[], short[]) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Generate a new hint particle on client side at given location using given textures with a tint.
+
+
hints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Spawn hint particles.
+
+
HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
+

I

+
+
IAlignment - Interface in com.gtnewhorizon.structurelib.alignment
+
 
+
IAlignmentLimits - Interface in com.gtnewhorizon.structurelib.alignment
+
 
+
IAlignmentLimits.Builder - Class in com.gtnewhorizon.structurelib.alignment
+
 
+
IAlignmentProvider - Interface in com.gtnewhorizon.structurelib.alignment
+
 
+
IBlockAdder<T> - Interface in com.gtnewhorizon.structurelib.structure.adders
+
 
+
IBlockPosConsumer - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
IConstructable - Interface in com.gtnewhorizon.structurelib.alignment.constructable
+
+
Created by Tec on 24.03.2017.
+
+
IConstructableProvider - Interface in com.gtnewhorizon.structurelib.alignment.constructable
+
+
Implement this interface if this tile entity MIGHT be constructable
+
+
ICustomBlockSetting - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
If block - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
IGNORE - Enum constant in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
 
+
IGNORE_KNOWN_INSIGNIFICANT_TAGS - Enum constant in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
 
+
ignoreBlockUnloaded(IStructureWalker) - Static method in interface com.gtnewhorizon.structurelib.structure.IStructureWalker
+
 
+
ignoreMeta() - Method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
IItemSource - Interface in com.gtnewhorizon.structurelib.structure
+
+
Represent an item source.
+
+
Important Concepts - Section in Overview
+
 
+
IMultiblockInfoContainer<T> - Interface in com.gtnewhorizon.structurelib.alignment.constructable
+
+
To implement IConstructable on not own TileEntities
+
+
IN - Enum constant in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
 
+
init() - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
Instrumenting StructureLib - Section in Overview
+
 
+
IntegerAxisSwap - Class in com.gtnewhorizon.structurelib.alignment
+
 
+
IntegerAxisSwap(ForgeDirection, ForgeDirection, ForgeDirection) - Constructor for class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
InventoryIterable<Inv> - Class in com.gtnewhorizon.structurelib.util
+
 
+
InventoryIterable(Inv) - Constructor for class com.gtnewhorizon.structurelib.util.InventoryIterable
+
 
+
InventoryUtility - Class in com.gtnewhorizon.structurelib.util
+
+
This class is part of API, but is not stable.
+
+
InventoryUtility() - Constructor for class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
InventoryUtility.InventoryProvider<R> - Interface in com.gtnewhorizon.structurelib.util
+
 
+
InventoryUtility.ItemStackCounter - Interface in com.gtnewhorizon.structurelib.util
+
 
+
InventoryUtility.ItemStackExtractor - Interface in com.gtnewhorizon.structurelib.util
+
 
+
InventoryUtility.ItemStackExtractor.APIType - Enum Class in com.gtnewhorizon.structurelib.util
+
 
+
InventoryUtility.OptimizedExtractor - Interface in com.gtnewhorizon.structurelib.util
+
 
+
inverseTranslate(double[], double[]) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
inverseTranslate(int[], int[]) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
inverseTranslate(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
inverseTranslate(Vec3) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
IS_VALID_SOURCE - Enum constant in enum class com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
 
+
isAir() - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Return a structure element that only allow air (or air equivalents, like Railcraft hidden blocks).
+
+
isAPIImplemented(InventoryUtility.ItemStackExtractor.APIType) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor
+
 
+
isBlockTriviallyReplaceable(World, int, int, int, EntityPlayer) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Determines if given block can be replaced without much effort.
+
+
isBlockTriviallyReplaceable(World, int, int, int, EntityPlayerMP) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Deprecated.
+
+
isBothFlipped() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
isClockwise() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
isContainedInPiece(int, int, int) - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
Test if given location is contained within the current piece.
+
+
isContainedInStructure(String, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
 
+
isContainedInStructure(String, int, int, int) - Method in class com.gtnewhorizon.structurelib.structure.StructureDefinition
+
 
+
isCounterClockwise() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
isDebugEnabled() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Check if structure debug mode is on.
+
+
isEmpty() - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
isExtendedFacingValid() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isFlipChangeAllowed() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
+
Check if this object support a flip change, assuming both direction and rotation is not changed.
+
+
isHorizontallyFlipped() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
isInstrumentEnabled() - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Check if instrumenting is enabled.
+
+
isNavigating() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
isNewDirectionValid(ForgeDirection) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isNewExtendedFacingValid(ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isNewExtendedFacingValid(ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
 
+
isNewExtendedFacingValid(ForgeDirection, Rotation, Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isNewExtendedFacingValid(ForgeDirection, Rotation, Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
 
+
isNewFlipValid(Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isNewRotationValid(Rotation) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
isNotFlipped() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
isNotRotated() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
ISpecialItemBlock - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
isRotationChangeAllowed() - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
+
Check if this object support a rotation change, assuming both direction and flip is not changed.
+
+
IStructureDefinition<T> - Interface in com.gtnewhorizon.structurelib.structure
+
+
This is the structure definition of your multi.
+
+
IStructureElement<T> - Interface in com.gtnewhorizon.structurelib.structure
+
+
Use StructureUtility to instantiate.
+
+
IStructureElement.BlocksToPlace - Class in com.gtnewhorizon.structurelib.structure
+
 
+
IStructureElement.PlaceResult - Enum Class in com.gtnewhorizon.structurelib.structure
+
 
+
IStructureElementChain<T> - Interface in com.gtnewhorizon.structurelib.structure
+
+
Use StructureUtility to instantiate
+
+
IStructureElementCheckOnly<T> - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
IStructureElementDeferred<T> - Interface in com.gtnewhorizon.structurelib.structure
+
+
Use StructureUtility to instantiate
+
+
IStructureElementNoPlacement<T> - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
IStructureWalker<T> - Interface in com.gtnewhorizon.structurelib.structure
+
+
A functional interface that is used to iterate over an arbitrary structure.
+
+
isUpsideDown() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
ISurvivalBuildEnvironment - Interface in com.gtnewhorizon.structurelib.structure
+
 
+
ISurvivalConstructable - Interface in com.gtnewhorizon.structurelib.alignment.constructable
+
+
An extension to IConstructable.
+
+
isValidSource(ItemStack, EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor
+
 
+
isVerticallyFliped() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
ItemStackPredicate - Class in com.gtnewhorizon.structurelib.util
+
 
+
ItemStackPredicate.NBTMode - Enum Class in com.gtnewhorizon.structurelib.util
+
 
+
iterate(String, World, ExtendedFacing, int, int, int, int, int, int, IStructureWalker) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
 
+
iterate(World, ExtendedFacing, int, int, int, int, int, int, boolean, int, int, int, IBlockPosConsumer, Runnable, Runnable) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
iterate(World, ExtendedFacing, int, int, int, int, int, int, int, int, int, IBlockPosConsumer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
iterate(T, ItemStack, IStructureElement[], World, ExtendedFacing, int, int, int, int, int, int, boolean, Boolean) - Static method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Low level utility.
+
+
iterateChannelData(ItemStack) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Iterate over all subchannel data on trigger stack.
+
+
iterator() - Method in class com.gtnewhorizon.structurelib.util.InventoryIterable
+
 
+
iterator() - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
ITierConverter<TIER> - Interface in com.gtnewhorizon.structurelib.structure
+
+
a function to extract tier info from a block.
+
+
ITileAdder<T> - Interface in com.gtnewhorizon.structurelib.structure.adders
+
 
+
IWithExtendedContext<CTX> - Interface in com.gtnewhorizon.structurelib.structure
+
+
Implement this and use StructureUtility.withContext(IStructureElement) in case you need to record some +temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the +structure than just during structure check.
+
+
+

K

+
+
Key API class outline - Section in Overview
+
 
+
+

L

+
+
lazy(Function) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This will defer the actual instantiation of structure element until the first time structure code is +actually called.
+
+
lazy(Supplier) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Similar to defer, but caches the first returned element returned and won't call it again.
+
+
Legacy - Enum constant in enum class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+ +
+
LegacyRelaxed - Enum constant in enum class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+ +
+
Localization - Section in Overview
+
 
+
+

M

+
+
MAIN - Enum constant in enum class com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
 
+
manhattanDistance(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
markDirty(R) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider
+
 
+
markHintParticleError(EntityPlayer, World, int, int, int) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Update the tint of given hint particle.
+
+
MiscUtils - Class in com.gtnewhorizon.structurelib.util
+
+
not related to a certain mod!
+
+
MOD_ID - Static variable in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
MULTIBLOCK_MAP - Static variable in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
Multi channel input Structure Element - Section in Overview
+
 
+
+

N

+
+
newInventoryProvider(Function) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
newItemStackProvider(Function) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
next(int) - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
+
Implementation of George Marsaglia's elegant Xorshift random generator 30% faster and better quality than the +built-in java.util.random see also see http://www.javamex.com/tutorials/random_numbers/xorshift.shtml
+
+
nextBoolean() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextBytes(byte[]) - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextDouble() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextFloat() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextGaussian() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextInt() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
nextInt(int) - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
+
Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value +(exclusive), drawn from this random number generator's sequence.
+
+
nextLong() - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
noPlacement() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
Forget the messed up class dependency graph for now.
+
+
noPlacement() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementNoPlacement
+
 
+
NORMAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
NORTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
NORTH_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NORTH_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
NOT_UPSIDE_DOWN - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
+
Can be in any orientation except upside down; i.e., top side of the block facing down.
+
+
notAir() - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Return a structure element that allow anything but air (or air equivalents, like Railcraft hidden blocks).
+
+
NULL_VECTOR - Static variable in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
+

O

+
+
of(ForgeDirection) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
of(ForgeDirection, Rotation, Flip) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
ofBlock(Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a single block with a fixed meta.
+
+
ofBlock(Block, int, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a block.
+
+
ofBlockAdder(IBlockAdder, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
ofBlockAdder(IBlockAdder, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Add a block using block adder.
+
+
ofBlockAdderHint(IBlockAdder, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Add a block using block adder.
+
+
ofBlockAnyMeta(Block) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a single block, but accept any meta.
+
+
ofBlockAnyMeta(Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a single block, but accept any meta.
+
+
ofBlockAnyMeta(Block, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Same as StructureUtility.ofBlock(Block, int, Block, int) but ignores target meta id
+
+
ofBlockHint(Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept one (block, meta).
+
+
ofBlockHint(Block, int, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept one (block, meta).
+
+
ofBlocksFlat(Map, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a set of blocks.
+
+
ofBlocksFlatHint(Map, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a set of blocks.
+
+
ofBlocksMap(Map, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a set of blocks.
+
+
ofBlocksMapHint(Map, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Accept a set of blocks.
+
+
ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Element representing a component with different tiers.
+
+
ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
ofBlocksTiered(ITierConverter, TIER, BiConsumer, Function) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
A more primitive variant of StructureUtility.ofBlocksTiered(ITierConverter, List, Object, BiConsumer, Function) Main +difference is this one is check only.
+
+
ofBlockUnlocalizedName(String, String, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Denote a block using unlocalized names.
+
+
ofBlockUnlocalizedName(String, String, int, boolean) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Denote a block using unlocalized names.
+
+
ofBlockUnlocalizedName(String, String, int, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Similiar to the other overload, but allows client code to specify a fallback in case said block was not found +later when the element got called.
+
+
ofChain(IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This allows you to compose different IStructureElement to form a OR chain.
+
+
ofChain(List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This allows you to compose different IStructureElement to form a OR chain.
+
+
offset(ForgeDirection, int) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
ofHint(int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Spawn a hint with given amount of dots.
+
+
ofHintDeferred(Supplier) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Spawn a hint with given textures.
+
+
ofHintDeferred(Supplier, short[]) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Spawn a hint with given amount of textures and tint.
+
+
ofSpecificTileAdder(BiPredicate, Class, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Try to add a structure element with a particular type of tile entity.
+
+
ofTileAdder(ITileAdder, Block, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Try to add a structure element with a tile entity.
+
+
onElementFail(Consumer, B) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Call a callback if downstream element returned false in check.
+
+
onElementPass(Consumer, B) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Call a callback if downstream element returned true in check.
+
+
onlyIf(Predicate, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Enable this structure element only if given predicate returns true.
+
+
onlyIf(Predicate, IStructureElement, IStructureElement.PlaceResult) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Enable this structure element only if given predicate returns true.
+
+
Or Chain - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
Other Primitives - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
+

P

+
+
partitionBy(BiFunction, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
partitionBy(BiFunction, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code, with default case support.
+
+
partitionBy(Function, IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
partitionBy(Function, BiFunction, IStructureElement...) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code, with default case.
+
+
partitionBy(Function, BiFunction, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code, with default case.
+
+
partitionBy(Function, List) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
partitionBy(Function, BiFunction, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
partitionBy(Function, BiFunction, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code, with default case.
+
+
partitionBy(Function, Map) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code.
+
+
partitionBy(Function, Map, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
This is the switch block for structure code, with default case support.
+
+
placeBlock(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
placeBlock(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
placeBlock(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly
+
 
+
placeBlock(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementNoPlacement
+
 
+
Position A, B and C - Section in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
 
+
+

Q

+
+
queryAlignment(IAlignmentProvider) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Query the ExtendedFacing of this tile entity from client side.
+
+
+

R

+
+
random(Random) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
random(Random) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
random(Random) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
register(String, V) - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
registerChannelDescription(String, String, String) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Register a channel description here.
+
+
registerChannelItem(String, String, int, ItemStack) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Register an item stack as an indicator for a (channel, value) pair.
+
+
registerEnableEnderCondition(Predicate) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
registerInventoryProvider(String, InventoryUtility.InventoryProvider) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
registerInventoryProvider(String, Function) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
registerStackExtractor(String, InventoryUtility.ItemStackExtractor) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
registerStackExtractor(String, Function) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
 
+
registerTileClass(Class, IMultiblockInfoContainer) - Static method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
+
There is no specific loading phase restriction, but you should generally not call it before the tile entity is +properly registered.
+
+
REJECT - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
The element cannot handle this position (occupied, missing resources, etc.).
+
+
REJECT_CONTINUE - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
This element has no survivalPlaceBlock implementation (default fallback), or otherwise cannot place but is +not an error condition.
+
+
resetA() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
resetB() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
resetC() - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
Rotation - Enum Class in com.gtnewhorizon.structurelib.alignment.enumerable
+
 
+
ROTATIONS_COUNT - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
+

S

+
+
sendAlignment(IAlignmentProvider) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send the ExtendedFacing of this Tile Entity to all players.
+
+
sendAlignment(IAlignmentProvider, NetworkRegistry.TargetPoint) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send the ExtendedFacing of this Tile Entity to all players around target point.
+
+
sendAlignment(IAlignmentProvider, EntityPlayerMP) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send the ExtendedFacing of this Tile Entity to given player.
+
+
sendAlignment(IAlignmentProvider, World) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Send the ExtendedFacing of this Tile Entity to all players in that dimension.
+
+
setBlock(World, int, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.ICustomBlockSetting
+
+
Default block setting calls World.setBlock(int x, int y, int z, Block block, int meta, int updateType) +like: world.setBlock(x,y,z,this/block,meta,2) where updateType 2 means to update lighting and stuff
+
+
setChannelData(ItemStack, String, int) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Set the subchannel data on given trigger item
+
+
setDebugEnabled(boolean) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
setDirection(ForgeDirection) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
setExtendedFacing(ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
+
Set the facing without additional checks.
+
+
setFlip(Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
setMeta(int) - Method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
setRotation(Rotation) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
setSeed(long) - Method in class com.gtnewhorizon.structurelib.util.XSTR
+
+
Sets the seed for this pseudo random number generator.
+
+
setTag(ItemStackPredicate.NBTMode, NBTTagCompound) - Method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
Side effect - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
Simple Block Element - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
size() - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
SKIP - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
The element's check passed, the position is already valid.
+
+
skipBlockUnloaded(IStructureWalker) - Static method in interface com.gtnewhorizon.structurelib.structure.IStructureWalker
+
 
+
SortedRegistry<V> - Class in com.gtnewhorizon.structurelib.util
+
 
+
SortedRegistry() - Constructor for class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
SOUTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
SOUTH_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
SOUTH_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
spawnHint(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
 
+
spawnHint(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
spawnHint(T, World, int, int, int, ItemStack) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly
+
 
+
Spawn hint particle - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
spliterator() - Method in class com.gtnewhorizon.structurelib.util.SortedRegistry
+
 
+
startHinting(World) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Start a batch of hinting.
+
+
STATES_COUNT - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
STATES_COUNT - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
step(int, int, int) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Used internally, to generate skips for structure definitions
+
+
step(Vec3Impl) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Used internally, to generate skips for structure definitions
+
+
STOP - Enum constant in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
Autoplace cannot proceed within this tick.
+
+
StructureDefinition<T> - Class in com.gtnewhorizon.structurelib.structure
+
 
+
StructureDefinition.Builder<T> - Class in com.gtnewhorizon.structurelib.structure
+
 
+
StructureEvent - Class in com.gtnewhorizon.structurelib
+
+
Subscribers are required to not keep reference to these events, nor to depend on values of these events after +the method call returns.
+
+
StructureEvent.StructureElementVisitedEvent - Class in com.gtnewhorizon.structurelib
+
+
Fired just before any structure element is visited.
+
+
StructureLibAPI - Class in com.gtnewhorizon.structurelib
+
+
A stable interface into the structure lib's internals.
+
+
StructureLibAPI() - Constructor for class com.gtnewhorizon.structurelib.StructureLibAPI
+
 
+
StructureUtility - Class in com.gtnewhorizon.structurelib.structure
+
+
A brief index of everything contained
+
+
sub(int, int, int) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
sub(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Deprecated.
+
+
survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureDefinition
+
+
Cause a survival build.
+
+
survivalConstruct(ItemStack, int, IItemSource, EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable
+
+
Deprecated.
+
+
survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable
+
+ +
+
survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment, T, ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
+ +
+
survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayerMP) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayerMP, Consumer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayer, Consumer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayerMP) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayerMP, Consumer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+ +
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
Try place the block by taking resource from given IItemSource.
+
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly
+
 
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementNoPlacement
+
 
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElement
+
+
Deprecated. +
caller should call the non deprecated overload. implementor for reusable IStructureElement + should still implement this. implementor for private implementations can freely ignore this as long + as you know the caller will not call this overload.
+
+
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementChain
+
 
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly
+
 
+
survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureElementNoPlacement
+
 
+
Switch block - Section in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
 
+
+

T

+
+
take(Predicate, boolean, int) - Method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Retrieve some amount of items from this item source matching given filter.
+
+
takeAll(Predicate, boolean, int) - Method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Take exactly count amount of items matching predicate.
+
+
takeAll(ItemStack, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Take some item.
+
+
takeFromInventory(Iterable, Predicate, boolean, int, boolean) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
+
take count amount of stacks that matches given filter.
+
+
takeFromInventory(EntityPlayerMP, Predicate, boolean, int) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
+
take count amount of stacks that matches given filter.
+
+
takeFromInventory(EntityPlayerMP, ItemStack, boolean) - Static method in class com.gtnewhorizon.structurelib.util.InventoryUtility
+
+
take count amount of stacks that matches given filter.
+
+
takeFromStack(Predicate, boolean, int, InventoryUtility.ItemStackCounter, ItemStack, ItemStack, EntityPlayerMP) - Method in interface com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor
+
+
Extract a particular type of item.
+
+
takeOne(Predicate, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Take exactly one item that matches the predicate.
+
+
takeOne(ItemStack, boolean) - Method in interface com.gtnewhorizon.structurelib.structure.IItemSource
+
+
Take exactly one item.
+
+
test(ItemStack) - Method in class com.gtnewhorizon.structurelib.util.ItemStackPredicate
+
 
+
toConstructable(T, ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer
+
 
+
toolSetDirection(ForgeDirection) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
toolSetExtendedFacing(ExtendedFacing) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
toolSetFlip(Flip) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
toolSetRotation(Rotation) - Method in interface com.gtnewhorizon.structurelib.alignment.IAlignment
+
 
+
toString() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
toString() - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
toString() - Method in class com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent
+
 
+
toString() - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
translate(double[], double[]) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
translate(int[], int[]) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
translate(Vec3Impl) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
translate(Vec3) - Method in class com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap
+
 
+
transpose(String[][]) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Transposes shape (swaps B and C axis, can be used to un-transpose transposed shape) WARNING! Do not use on old +api...
+
+
Trigger Item - Section in Overview
+
 
+
+

U

+
+
UNLIMITED - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
+
Can be placed in any orientation.
+
+
unsetChannelData(ItemStack, String) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Clear the given subchannel from given trigger item, if it exists
+
+
UP - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
UP_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
UP_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
updateHintParticleTint(EntityPlayer, World, int, int, int, short[]) - Static method in class com.gtnewhorizon.structurelib.StructureLibAPI
+
+
Update the tint of given hint particle.
+
+
UPRIGHT - Static variable in interface com.gtnewhorizon.structurelib.alignment.IAlignmentLimits
+
+
Must be standing upright; i.e., top side of the block facing up.
+
+
UPSIDE_DOWN - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
+

V

+
+
V2 - Enum constant in enum class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+
Implements everything so far we have defined.
+
+
validStates - Variable in class com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder
+
 
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
VALUES - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
VALUES - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
VALUES - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
VALUES - Static variable in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Rotation
+
 
+
Vec3Impl - Class in com.gtnewhorizon.structurelib.util
+
 
+
Vec3Impl(int, int, int) - Constructor for class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Flip
+
 
+
visit(IStructureElement, World, int, int, int, int, int, int) - Method in interface com.gtnewhorizon.structurelib.structure.IStructureWalker
+
+
Called once per structure element.
+
+
+

W

+
+
WARNING - Section in com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function)
+
 
+
WEST - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.Direction
+
 
+
WEST_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_COUNTER_CLOCKWISE_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_COUNTER_CLOCKWISE_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_COUNTER_CLOCKWISE_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_COUNTER_CLOCKWISE_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_NORMAL_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_NORMAL_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_NORMAL_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_NORMAL_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_UPSIDE_DOWN_BOTH - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_UPSIDE_DOWN_HORIZONTAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_UPSIDE_DOWN_NONE - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
WEST_UPSIDE_DOWN_VERTICAL - Enum constant in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
why is this called channel? - Section in Overview
+
 
+
wipeChannelData(ItemStack) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Wipe all subchannel data on given trigger item
+
+
with(Flip) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
with(Rotation) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
with(ForgeDirection) - Method in enum class com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing
+
 
+
withActor(EntityPlayer) - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
Return a new instance with actor modified to given value.
+
+
withChannel(String, IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
See channels.md in docs folder
+
+
withChannel(ItemStack, String) - Static method in class com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor
+
+
Return a trigger item that + +Still carry all the subchannel in some unspecified ways +Have its master channel data replaced with specified subchannel's data + + +If given subchannel does not exist, masterStack may or may not be returned to save performance.
+
+
withChatter(Consumer) - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
Return a new instance with chatter modified to given value.
+
+
withContext(IStructureElement) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Switch to the extended context object in the downstream element
+
+
withDescription(List, B) - Static method in class com.gtnewhorizon.structurelib.structure.StructureUtility
+
+
Wraps an element and overrides its description.
+
+
withinDistance(Vec3Impl, double) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
withinDistance(IPosition, double) - Method in class com.gtnewhorizon.structurelib.util.Vec3Impl
+
 
+
withSource(IItemSource) - Method in class com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment
+
+
Return a new instance with source modified to given value.
+
+
+

X

+
+
XSTR - Class in com.gtnewhorizon.structurelib.util
+
+
XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4
+
+
XSTR() - Constructor for class com.gtnewhorizon.structurelib.util.XSTR
+
+
Creates a new pseudo random number generator.
+
+
XSTR(long) - Constructor for class com.gtnewhorizon.structurelib.util.XSTR
+
+
Creates a new pseudo random number generator, starting with the specified seed, using +setSeed(seed);.
+
+
XSTR_INSTANCE - Static variable in class com.gtnewhorizon.structurelib.util.XSTR
+
 
+
+

_

+
+
__get_player() - Static method in interface com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable
+
+
Deprecated.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W X _ 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/1.4.42/javadoc/index.html b/1.4.42/javadoc/index.html new file mode 100644 index 00000000..16cac154 --- /dev/null +++ b/1.4.42/javadoc/index.html @@ -0,0 +1,429 @@ + + + + +Overview (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

StructureLib 1.4.42 API

+
+
StructureLib API documentation. + +

Key API class outline

+

+ Here we outline a few key API classes/interfaces. +

+ +

IStructureDefinition

+

+ This is the structure definition of your multi. + You will have one `IStructureDefinition` for each multi. +

+ +

IStructureElement

+

+ These are how you define which block will be accepted. +

+ +

StructureUtility

+

+ This is the standard library of IStructureElements. + The Standard Library contains structure elements that handle basic block element and elements that allow composing + these basic elements. +

+ +

IConstructable

+

+ This interface should be implemented by tile entities that support creative autoplacing and hint particle emitting. + You will usually want to have a backing IStructureDefinition + and call its build() + or hints() method here. +

+ +

ISurvivalConstructable

+

+ This interface is an enhancement over IConstructable. + If your tile entities also support survival autoplacing then you should implement this. + You will usually want to have a backing IStructureDefinition + and call its survivalBuild(). +

+ +

IConstructableProvider

+

+ This interface should be implemented on tile entities that will delegate all constructable or survival construable + functionality to some other class. + This is mostly only to support gregtech meta tile entity system. +

+

+ Return null if the delegate does not exist. +

+ +

InventoryUtility

+

+ This class backs the standard implementations of IItemSource. + You might want to register new inventory provider or inventory extractor there to facilitate survival auto place. +

+ +

IAlignmentProvider, IAlignment and IAlignmentLimits

+

+ These interfaces will be used to implement rotation. + Provide a framework to rotate the block. + You can skip this if you store ExtendedFacing and do rotation in other means. +

+ +

ChannelDataAccessor

+

+ This class contains the accessors for channel data held on a trigger item. See below for more + information. +

+ +

StructureLibAPI

+

+ This class contains the low level utility used for implementing new IStructureElement. + You will also need methods in this class to while implementing rotation. +

+

+ IF THERE IS A SAME NAMED METHOD IN OTHER CLASS, ONLY USE METHODS FOUND IN THIS CLASS, NOT OTHER CLASS. + This abstraction is necessary so we can change how underlying code work (e.g. how hint particles are rendered) + without + breaking client code. +

+ +

StructureEvent

+

+ This class is the base class of all events that will be posted while a IStructureDefinition are visited. + These events are disabled by default, and can be enabled by calling StructureLibAPI.enableInstrument(Object). + To receive these events, register an event handler to MinecraftForge.EVENT_BUS. + Handlers should filter the events received by StructureEvent.getInstrumentIdentifier(). +

+

+ These events are intended for third party tools to inspect structure details. Normal users should not use + these at all. +

+ +

Important Concepts

+

Context Object

+

+ Context Object are what you pass to IStructureDefinition.check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean) and alike as first parameter. It will hold the necessary states for IStructureElement. It's usually, but not necessarily, the multiblock controller. +

+

+ Standard structure element library offers method to switch context objects if needed. +

+ +

Trigger Item

+

+ Trigger Item is the item used to trigger hint spawn, creative build and survival auto place. + The trigger item will be passed to relevant classes as an indicator of structure tier. + The item type and stack tag compound of this item stack are opaque objects that should not be parsed. +

+

+ StructureLib comes with a trigger item implementation. + It does register it to the game registries, but does not come with a recipe. + Usually there is no reason to reimplement this on your own. +

+ +

Channels

+ +

+ Trigger item carries the player's choice of structure tier by its stack size. + When one multi have multiple tiered component that can have interleaving tier, this becomes an obnoxious + restriction, as one ItemStack cannot have two stack sizes at the same time. + Here we use the channels to bypass this restriction. +

+ +

+ Basically, channels are information stored on the trigger item's NBT tags. + One trigger item can carry multiple channels. + Each channel can be identified with lower case strings and has the value being one positive Java int. + There will be one and only one master channel and 0 or more sub channel. + When a non-existent sub channel is queried, master channel will be used instead to fill its place. +

+ +

+ Structure Definition Author and/or Structure Element Author can choose whether they use a channel and which channel + to use. +

+ +

+ Structure Element Author will usually not need to consider channels, i.e. proceed as if this concept does not exist, + unless it must take input from multiple channels. +

+ +

+ Structure Definition Author will consider how to map each channel to each tiered component. + He will be using `com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel` to direct structure element + on which channel to use. + Conceptually, it will return an ItemStack with the master channel being the value of selected channel. + In implementation, withChannel will return a new ItemStack with same item, nbt but different stack size. +

+ +

+ It's worth mentioning that the returned new ItemStack will still have all the channel data on it, so a multi-channel + structure element can still query the channel it wants just fine. It is however impossible to recover the original + master channel. +

+ +

why is this called channel?

+ +Just give me a better name and I'd do the renaming. + +

Channel Descriptions

+

+ Each channel can have one description associated with it per mod. + Channel description should briefly describe how a specific channel is used for inside a specific mod. + They will be displayed to player in channel editor GUI that comes with StructureLib. + The registration process can be done either via direct method call to StructureLibAPI.registerChannelDescription(String, String, String), + or by sending an IMC message. + After registration, the channel will also show up as autocomplete options when players are editing channels. +

+ +

+ Here is an example of sending an IMC message to register two channels and their description. + In this example, we assume your modid is my_mod and your mod will ship with localization entries for + localization key channels.my_mod.channel_1 and channels.my_mod.channel_2 +

+ +
+        NBTTagCompound command = new NBTTagCompound();
+        NBTTagList tags = new NBTTagList();
+        String[] channels = {"channel_1", "channel_2"};
+        for (String channel : channels) {
+            NBTTagCompound tag = new NBTTagCompound();
+            tag.setString("Channel", channel);
+            tag.setString("Description", "channels.my_mod." + channel);
+            tags.appendTag(tag);
+        }
+        command.setTag("Channels", tags);
+        FMLInterModComms.sendMessage("structurelib", "register_channel", command);
+
+ +

+ There is no strict rules over whether you should do direct API method call or send IMC messages. + You can choose whichever you prefer. +

+ +

Channel Indicator Items

+

+ You can associate an ItemStack with a given (channel, value) pair. + It is usually (but not required to be) the ItemBlock for the blocks to be placed by this (channel, value) pair. + Player will be able to drag and drop this item to the builtin channel configuration GUI. + The registration process can be done either via direct method call to StructureLibAPI.registerChannelItem(String, String, int, net.minecraft.item.ItemStack), + or by sending an IMC message. + After registration, the channel will also show up as autocomplete options when players are editing channels. +

+ +

+ Here is an example of sending an IMC message to register 3 vanilla sandstone as different indicator for channel "sandstone", with block metadata plus 1 as channel value. + In this example, we assume your modid is my_mod. +

+ +
+        NBTTagCompound command = new NBTTagCompound();
+        NBTTagList items = new NBTTagList();
+        int[] metas = {0, 1, 2};
+        for (int meta : metas) {
+            NBTTagCompound tag = new NBTTagCompound();
+            tag.setTag("Item", new ItemStack(Blocks.sandstone, 1, meta).writeToNBT(new NBTTagCompound()));
+            NBTTagList channels = new NBTTagList();
+            NBTTagCompound channel = new NBTTagCompound();
+            channel.setString("Channel", "sandstone");
+            channel.setInteger("Value", meta + 1);
+            channels.appendTag(channel);
+            tag.setTag("Channels", channels);
+            items.appendTag(tag);
+        }
+        command.setTag("Items", items);
+        FMLInterModComms.sendMessage("structurelib", "register_channel_item", command);
+
+ +

+ There is no strict rules over whether you should do direct API method call or send IMC messages. + You can choose whichever you prefer. +

+ +

Examples

+ +

For Structure Definition Author

+ +

GT++ Chemical Plant is a multi with 4 distinctly tiered component.

+ +

It will use +

    +
  • master channel for its outer shell
  • +
  • channel `"casing"` for machine casings
  • +
  • channel `"pipe"` for pipe casings
  • +
  • channel `"coil"` for heating coils
  • +
+Its structure code will then look like +
+.addElement('a', shellStructureElement())
+.addElement('b', withChannel("casing", machineCasingStructureElement()))
+.addElement('c', withChannel("pipe", pipeCasingStructureElement()))
+.addElement('d', withChannel("coil", coilStructureElement()))
+
+whereas all these structure elements are designed without considering channels whatsoever + +

Multi channel input Structure Element

+ +

+ Suppose your hatch element has a required facing and can accept arbitrary meta tile entity, so it will need both + meta id + and facing input. +

+ +

+ It will use +

    +
  • master channel for its facing
  • +
  • channel `"id"` for meta tile entity id
  • +
+

+ Its code will then look like +

+import com.gtnewhorizon.structurelib.structure.IStructureElement;
+
+public class MyHatchElement<T> implements IStructureElement<T> {
+    //...
+   @Override
+    public PlaceResult survivalPlaceBlock(
+            Object o,
+            World world,
+            int x,
+            int y,
+            int z,
+            ItemStack trigger,
+            IItemSource s,
+            EntityPlayerMP actor,
+            Consumer chatter) {
+        if (shouldSkip(o, world, x, y, z)) return PlaceResult.SKIP;
+        if (!StructureLibAPI.isBlockTriviallyReplaceable(world, x, y, z, actor)) return PlaceResult.REJECT;
+        ItemStack taken = s.takeOne(filterByID(ChannelDataAccessor.getChannelData(trigger, "id")).andThen(filterByFacing(trigger.stackSize)));
+        if (taken == null) return PlaceResult.REJECT;
+        return StructureUtility.survivalPlaceBlock(taken, ItemStackPredicate.NBTMode.IGNORE, null, true, world, x, y, z, s, actor);
+    }
+}
+
+ +The code for placeBlock() and spawnHint() will be left as an exercise for the reader. + +

Instrumenting StructureLib

+

+ StructureLib support third party tools to poke into structure's internals via events. This is done by listening to StructureEvent + and its subclasses on the forge main event bus. +

+

+ Please refer to StructureEvent to see what events are available. +

+

Extending Inventory Utility

+InventoryUtility is how structurelib survival autoplace pulls item for autoplacing. +It has two key concepts: inventory providers and stack extractors. +

+ Inventory Providers are classes that retrieve an Iterable of ItemStacks for examination, given an EntityPlayerMP as identifier. + They are also responsible for marking the relevant item container as dirty, so changes can be commited to disk properly when world save happens. + Examples include: main player inventory, vanilla ender chest, baubles inventory. StructureLib comes with main player inventory and vanilla ender chest built in. +

+

+ Stack Extractors are classes that retrieve items from another item. + Examples include: Forestry backpacks, ME network over ME Wireless Terminals. +

+

+Both of these are managed internally by SortedRegistry. +By default, elements registered will be sorted in lexicographical order in ascending order. +However, facilities in StructureLib will allow an end user to tweak these registries as their wish. +They can disable, reorder, reenable any element within the registry, either in game, at main menu or with the game stopped, +Their changes will be synced to server as well, should they be playing on a dedicated server. +

+

+ This has the following important implications +

+
    +
  • Not all inventory providers or stack extractors may be called during a survival autoplace session
  • +
  • One player could have stack extractor 001 ordered before 002, while the other having a completely reversed order
  • +
+Therefore, if your stack extractor can somehow correlate with aonther one, make sure it still works if the calling order is inverted. +At the very least, inform the player about this ordering constraint. +A future StructrueLib refactor to specify this dependency info is possible, but the chance is low. +

Localization

+Both of these would show up in config GUI of StructureLib. Structurelib uses the following localization keys in that GUI. +
    +
  • structurelib.sortedregistry.inventoryproviders.<registry_key>: This is the name shown on the button for inventory providers. If this is not provided, then registry_key will be used instead.
  • +
  • structurelib.sortedregistry.inventoryproviders.<registry_key>.tooltip: This is the tooltip shown when user hover over the button for inventory providers. If this is not provided, then no explicit tooltip will be shown.
  • +
  • structurelib.sortedregistry.stackextractors.<registry_key>: This is the name shown on the button for stack extractors. If this is not provided, then registry_key will be used instead.
  • +
  • structurelib.sortedregistry.stackextractors.<registry_key>.tooltip: This is the tooltip shown when user hover over the button for stack extractors. If this is not provided, then no explicit tooltip will be shown.
  • +
+
+
Packages
+
+
Package
+
Description
+ +
 
+ +
+
This package provide a framework for rotating a given block, or a multiblock structure.
+
+ +
+
This package contains interfaces and utility methods for autobuilding a structure.
+
+ +
 
+ +
+
This package provide support for multiblock structure checking.
+
+ +
+
Adder interfaces used in various standard structure elements.
+
+ +
 
+
+
+
+
+ + diff --git a/1.4.42/javadoc/legal/ADDITIONAL_LICENSE_INFO b/1.4.42/javadoc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/1.4.42/javadoc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/1.4.42/javadoc/legal/ASSEMBLY_EXCEPTION b/1.4.42/javadoc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..42966666 --- /dev/null +++ b/1.4.42/javadoc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + https://openjdk.org/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/1.4.42/javadoc/legal/LICENSE b/1.4.42/javadoc/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/1.4.42/javadoc/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/1.4.42/javadoc/legal/dejavufonts.md b/1.4.42/javadoc/legal/dejavufonts.md new file mode 100644 index 00000000..8c9e3cf3 --- /dev/null +++ b/1.4.42/javadoc/legal/dejavufonts.md @@ -0,0 +1,191 @@ +## DejaVu fonts v2.37 + +### DejaVu License +
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
+
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org.
+
+Arev Fonts Copyright
+------------------------------
+
+Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and
+associated documentation files (the "Font Software"), to reproduce
+and distribute the modifications to the Bitstream Vera Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Tavmjong Bah" or the word "Arev".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the
+"Tavmjong Bah Arev" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the name of Tavmjong Bah shall not
+be used in advertising or otherwise to promote the sale, use or other
+dealings in this Font Software without prior written authorization
+from Tavmjong Bah. For further information, contact: tavmjong @ free
+. fr.
+
+TeX Gyre DJV Math
+-----------------
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+
+Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
+(on behalf of TeX users groups) are in public domain.
+
+Letters imported from Euler Fraktur from AMSfonts are (c) American
+Mathematical Society (see below).
+Bitstream Vera Fonts Copyright
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
+is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute,
+and/or sell copies of the Font Software, and to permit persons  to whom
+the Font Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional
+glyphs or characters may be added to the Fonts, only if the fonts are
+renamed
+to names not containing either the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts or
+Font Software
+that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but
+no copy
+of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
+SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE
+THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+Except as contained in this notice, the names of GNOME, the GNOME
+Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the GNOME Foundation or Bitstream Inc., respectively.
+For further information, contact: fonts at gnome dot org.
+
+AMSFonts (v. 2.2) copyright
+
+The PostScript Type 1 implementation of the AMSFonts produced by and
+previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
+available for general use. This has been accomplished through the
+cooperation
+of a consortium of scientific publishers with Blue Sky Research and Y&Y.
+Members of this consortium include:
+
+Elsevier Science IBM Corporation Society for Industrial and Applied
+Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
+
+In order to assure the authenticity of these fonts, copyright will be
+held by
+the American Mathematical Society. This is not meant to restrict in any way
+the legitimate use of the fonts, such as (but not limited to) electronic
+distribution of documents containing these fonts, inclusion of these fonts
+into other public domain or commercial font collections or computer
+applications, use of the outline data to create derivative fonts and/or
+faces, etc. However, the AMS does require that the AMS copyright notice be
+removed from any derivative versions of the fonts which have been altered in
+any way. In addition, to ensure the fidelity of TeX documents using Computer
+Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
+has requested that any alterations which yield different font metrics be
+given a different name.
+
+
diff --git a/1.4.42/javadoc/legal/jquery.md b/1.4.42/javadoc/legal/jquery.md new file mode 100644 index 00000000..a763ec6f --- /dev/null +++ b/1.4.42/javadoc/legal/jquery.md @@ -0,0 +1,26 @@ +## jQuery v3.7.1 + +### jQuery License +``` +jQuery v 3.7.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/1.4.42/javadoc/legal/jqueryUI.md b/1.4.42/javadoc/legal/jqueryUI.md new file mode 100644 index 00000000..46bfbaa5 --- /dev/null +++ b/1.4.42/javadoc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.14.1 + +### jQuery UI License +``` +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/1.4.42/javadoc/member-search-index.js b/1.4.42/javadoc/member-search-index.js new file mode 100644 index 00000000..34cfa12d --- /dev/null +++ b/1.4.42/javadoc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ISurvivalConstructable","l":"__get_player()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"abs()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"ACCEPT","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"ACCEPT_STOP","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"add(int, int, int)","u":"add(int,int,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackCounter","l":"add(ItemStack, int)","u":"add(net.minecraft.item.ItemStack,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"add(Vec3Impl)","u":"add(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addElement(char, IStructureElement)","u":"addElement(char,com.gtnewhorizon.structurelib.structure.IStructureElement)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addElement(Character, IStructureElement)","u":"addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addShape(String, String[][])","u":"addShape(java.lang.String,java.lang.String[][])"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"addThrottledChat(Object, EntityPlayer, IChatComponent, short)","u":"addThrottledChat(java.lang.Object,net.minecraft.entity.player.EntityPlayer,net.minecraft.util.IChatComponent,short)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"addThrottledChat(Object, EntityPlayer, IChatComponent, short, boolean)","u":"addThrottledChat(java.lang.Object,net.minecraft.entity.player.EntityPlayer,net.minecraft.util.IChatComponent,short,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(ExtendedFacing)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(Flip)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(ForgeDirection)","u":"allow(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(Rotation)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allowAll()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"allowOnly(ExtendedFacing...)","u":"allowOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure.adders","c":"IBlockAdder","l":"apply(T, Block, int)","u":"apply(T,net.minecraft.block.Block,int)"},{"p":"com.gtnewhorizon.structurelib.structure.adders","c":"ITileAdder","l":"apply(T, TileEntity)","u":"apply(T,net.minecraft.tileentity.TileEntity)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"AutoPlaceEnvironment(AutoPlaceEnvironment)","u":"%3Cinit%3E(com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)","k":"3"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureWalker","l":"blockNotLoaded(IStructureElement, World, int, int, int, int, int, int)","u":"blockNotLoaded(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"build()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"build()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"build(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)","u":"build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"builder()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"builder()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"buildOrHints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)","u":"buildOrHints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"byIndex(int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"byIndex(int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"byIndex(int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"byName(String)","u":"byName(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"byName(String)","u":"byName(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"byName(String)","u":"byName(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"canSetToDirectionAny(ForgeDirection)","u":"canSetToDirectionAny(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"CHANNEL_SHOW_ERROR","k":"2"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"check(T, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)","u":"check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"check(T, World, int, int, int)","u":"check(T,net.minecraft.world.World,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"check(T, World, int, int, int)","u":"check(T,net.minecraft.world.World,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"checkedSetDirection(ForgeDirection)","u":"checkedSetDirection(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"checkedSetExtendedFacing(ExtendedFacing)","u":"checkedSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"checkedSetFlip(Flip)","u":"checkedSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"checkedSetRotation(Rotation)","u":"checkedSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"CLOCKWISE","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"clone()"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"compareTo(Vec3Impl)","u":"compareTo(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IConstructable","l":"construct(ItemStack, boolean)","u":"construct(net.minecraft.item.ItemStack,boolean)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"construct(ItemStack, boolean, T, ExtendedFacing)","u":"construct(net.minecraft.item.ItemStack,boolean,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IBlockPosConsumer","l":"consume(World, int, int, int)","u":"consume(net.minecraft.world.World,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"contains(Class)","u":"contains(java.lang.Class)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"containsKey(String)","u":"containsKey(java.lang.String)"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"containsValue(V)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ITierConverter","l":"convert(Block, int)","u":"convert(net.minecraft.block.Block,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"couldBeValid(T, World, int, int, int, ItemStack)","u":"couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"couldBeValid(T, World, int, int, int, ItemStack)","u":"couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementCheckOnly","l":"couldBeValid(T, World, int, int, int, ItemStack)","u":"couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"countChannelData(ItemStack)","u":"countChannelData(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"COUNTER_CLOCKWISE","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(Block, int)","u":"create(net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ISurvivalBuildEnvironment","l":"create(IItemSource, EntityPlayer)","u":"create(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(Item, int)","u":"create(net.minecraft.item.Item,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(ItemStack)","u":"create(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(ItemStack...)","u":"create(net.minecraft.item.ItemStack...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(Iterable)","u":"create(java.lang.Iterable)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"create(Predicate)","u":"create(java.util.function.Predicate)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"createEmpty()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor","l":"createOnlyOptimized(InventoryUtility.OptimizedExtractor)","u":"createOnlyOptimized(com.gtnewhorizon.structurelib.util.InventoryUtility.OptimizedExtractor)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"crossProduct(Vec3Impl)","u":"crossProduct(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DEFAULT","k":"2"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(BiFunction)","u":"defer(java.util.function.BiFunction)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(BiFunction, IStructureElement...)","u":"defer(java.util.function.BiFunction,com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(BiFunction, List)","u":"defer(java.util.function.BiFunction,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(BiFunction, Map)","u":"defer(java.util.function.BiFunction,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(BiFunction, Map, IStructureElement)","u":"defer(java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function)","u":"defer(java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, BiFunction)","u":"defer(java.util.function.Function,java.util.function.BiFunction)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, BiFunction, IStructureElement...)","u":"defer(java.util.function.Function,java.util.function.BiFunction,com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, BiFunction, List)","u":"defer(java.util.function.Function,java.util.function.BiFunction,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, BiFunction, Map)","u":"defer(java.util.function.Function,java.util.function.BiFunction,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, BiFunction, Map, IStructureElement)","u":"defer(java.util.function.Function,java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, IStructureElement...)","u":"defer(java.util.function.Function,com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, List)","u":"defer(java.util.function.Function,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, Map)","u":"defer(java.util.function.Function,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Function, Map, IStructureElement)","u":"defer(java.util.function.Function,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"defer(Supplier)","u":"defer(java.util.function.Supplier)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"deny(ExtendedFacing)","u":"deny(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"deny(Flip)","u":"deny(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"deny(ForgeDirection)","u":"deny(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"deny(Rotation)","u":"deny(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"denyAll()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"denyOnly(ExtendedFacing...)","u":"denyOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"DIRECTIONS_COUNT","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ISurvivalConstructable","l":"DISABLE_HACKY_MIGRATION_CODE","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"disableInstrument()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"distanceSq(double, double, double, boolean)","u":"distanceSq(double,double,double,boolean)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"distanceSq(IPosition, boolean)","u":"distanceSq(net.minecraft.dispenser.IPosition,boolean)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"distanceSq(Vec3Impl)","u":"distanceSq(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"DOWN","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"DOWN_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"EAST","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"EAST_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"enableInstrument(Object)","u":"enableInstrument(java.lang.Object)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"endHinting(World)","u":"endHinting(net.minecraft.world.World)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"ensureDuplicates()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"ensureNoDuplicates(Flip)","u":"ensureNoDuplicates(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"error()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"errored","k":"2"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"EXACT","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor.APIType","l":"EXTRACT_ONE_STACK","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.OptimizedExtractor","l":"extract(ItemStack, ItemStack, boolean, EntityPlayerMP)","u":"extract(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"FACING_UP","k":"2"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"fallbacks()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"filter(Function)","u":"filter(java.util.function.Function)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"fireEvent(World, int, int, int, int, int, int, IStructureElement)","u":"fireEvent(net.minecraft.world.World,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"FLIPS_COUNT","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"FOR_FACING","k":"2"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"forEach(Consumer)","u":"forEach(java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"from(Block)","u":"from(net.minecraft.block.Block)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"from(Item)","u":"from(net.minecraft.item.Item)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"from(ItemStack)","u":"from(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"from(ItemStack, ItemStackPredicate.NBTMode)","u":"from(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"fromInventory(IInventory)","u":"fromInventory(net.minecraft.inventory.IInventory)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"fromLegacy(IItemSource, EntityPlayer, Consumer)","u":"fromLegacy(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"fromPlayer(EntityPlayerMP)","u":"fromPlayer(net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"get(Class)","u":"get(java.lang.Class)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"get(int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"get0()"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"get1()"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"get2()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getA()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"getActor()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ISurvivalBuildEnvironment","l":"getActor()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getAlignment()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentProvider","l":"getAlignment()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getAlignmentIndex(ForgeDirection, Rotation, Flip)","u":"getAlignmentIndex(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getAlignmentLimits()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getAllWith(Flip)","u":"getAllWith(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getAllWith(ForgeDirection)","u":"getAllWith(net.minecraftforge.common.util.ForgeDirection)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getAllWith(Rotation)","u":"getAllWith(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"getAPILevel()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"getAxisVector()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"getAxisVector(ForgeDirection)","u":"getAxisVector(net.minecraftforge.common.util.ForgeDirection)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getB()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"getBlockHint()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"getByAxisVector(Vec3Impl)","u":"getByAxisVector(com.gtnewhorizon.structurelib.util.Vec3Impl)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getC()"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"getChannelData(ItemStack, String)","u":"getChannelData(net.minecraft.item.ItemStack,java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"getChatter()"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IConstructableProvider","l":"getConstructable()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IWithExtendedContext","l":"getCurrentContext()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"getDefaultHologramItem()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"getDescription(ItemStack)","u":"getDescription(net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"getDescription(T)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"getDescription(T)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getDirection()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getDirection()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getDuplicate()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getElement()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"getElements()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"getElements()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getExtendedFacing()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"getFacing()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getFlip()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getFlip()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"getForgeDirection()"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"getFromPool(int, int, int)","u":"getFromPool(int,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getIndex()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"getIndex()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"getIndex()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent","l":"getInstrumentIdentifier()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getIntegerAxisSwap()"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryIterable","l":"getInventory()"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.InventoryProvider","l":"getInventory(EntityPlayerMP)","u":"getInventory(net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor","l":"getItem(ItemStack, ItemStack, boolean, EntityPlayerMP)","u":"getItem(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"getItemBlockHint()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ISpecialItemBlock","l":"getItemMetaFromBlockMeta(Block, int)","u":"getItemMetaFromBlockMeta(net.minecraft.block.Block,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getLocalizedName()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"getName()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"getName()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getName2()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"getName2()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"getName2()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOffsetABC(double[], double[])","u":"getOffsetABC(double[],double[])"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOffsetABC(int[], int[])","u":"getOffsetABC(int[],int[])"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOffsetABC(Vec3)","u":"getOffsetABC(net.minecraft.util.Vec3)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOffsetABC(Vec3Impl)","u":"getOffsetABC(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"getOpposite()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"getOpposite()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOppositeDirection()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOppositeFlip()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getOppositeRotation()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"getPredicate()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"getPseudoJavaCode(World, ExtendedFacing, int, int, int, int, int, int, Function, int, int, int, boolean)","u":"getPseudoJavaCode(net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,java.util.function.Function,int,int,int,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeBackInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeDownInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeForwardInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeLeftInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeRightInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRelativeUpInWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getRotation()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"getRotation()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"getSeed()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"getShapes()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"getShapes()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"getSource()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ISurvivalBuildEnvironment","l":"getSource()"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"getStackExtractors(EntityPlayerMP)","u":"getStackExtractors(net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.BlocksToPlace","l":"getStacks()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"getStepA()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"getStepB()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"getStepC()"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IConstructable","l":"getStructureDefinition()"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IConstructable","l":"getStructureDescription(ItemStack)","u":"getStructureDescription(net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"getStructureFor(String)","u":"getStructureFor(java.lang.String)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"getStructureFor(String)","u":"getStructureFor(java.lang.String)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"getStructures()"},{"p":"com.gtnewhorizon.structurelib.util","c":"MiscUtils","l":"getTagKeys(NBTTagCompound)","u":"getTagKeys(net.minecraft.nbt.NBTTagCompound)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getWorld()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getWorldDirection(ForgeDirection)","u":"getWorldDirection(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getWorldOffset(double[], double[])","u":"getWorldOffset(double[],double[])"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getWorldOffset(int[], int[])","u":"getWorldOffset(int[],int[])"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getWorldOffset(Vec3)","u":"getWorldOffset(net.minecraft.util.Vec3)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"getWorldOffset(Vec3Impl)","u":"getWorldOffset(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getX()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getY()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"getZ()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"AlignmentUtility","l":"handle(EntityPlayer, World, int, int, int)","u":"handle(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ConstructableUtility","l":"handle(ItemStack, EntityPlayer, World, int, int, int, int)","u":"handle(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"hashCode()"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"hasSubChannel(ItemStack)","u":"hasSubChannel(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"hasSubChannel(ItemStack, String)","u":"hasSubChannel(net.minecraft.item.ItemStack,java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_AIR","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_DEFAULT","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_ERROR","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_0","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_1","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_10","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_11","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_2","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_3","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_4","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_5","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_6","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_7","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_8","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_GENERIC_9","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"HINT_BLOCK_META_NOT_AIR","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"hintParticle(World, int, int, int, Block, int)","u":"hintParticle(net.minecraft.world.World,int,int,int,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"hintParticle(World, int, int, int, IIcon[])","u":"hintParticle(net.minecraft.world.World,int,int,int,net.minecraft.util.IIcon[])","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"hintParticleTinted(World, int, int, int, Block, int, short[])","u":"hintParticleTinted(net.minecraft.world.World,int,int,int,net.minecraft.block.Block,int,short[])","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"hintParticleTinted(World, int, int, int, IIcon[], short[])","u":"hintParticleTinted(net.minecraft.world.World,int,int,int,net.minecraft.util.IIcon[],short[])","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"hints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)","u":"hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"IGNORE","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"IGNORE_KNOWN_INSIGNIFICANT_TAGS","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureWalker","l":"ignoreBlockUnloaded(IStructureWalker)","u":"ignoreBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"ignoreMeta()"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"IN","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"init()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"IntegerAxisSwap(ForgeDirection, ForgeDirection, ForgeDirection)","u":"%3Cinit%3E(net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection)","k":"3"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryIterable","l":"InventoryIterable(Inv)","u":"%3Cinit%3E(Inv)","k":"3"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"InventoryUtility()","u":"%3Cinit%3E()","k":"3"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"inverseTranslate(double[], double[])","u":"inverseTranslate(double[],double[])"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"inverseTranslate(int[], int[])","u":"inverseTranslate(int[],int[])"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"inverseTranslate(Vec3)","u":"inverseTranslate(net.minecraft.util.Vec3)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"inverseTranslate(Vec3Impl)","u":"inverseTranslate(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor.APIType","l":"IS_VALID_SOURCE","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"isAir()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor","l":"isAPIImplemented(InventoryUtility.ItemStackExtractor.APIType)","u":"isAPIImplemented(com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"isBlockTriviallyReplaceable(World, int, int, int, EntityPlayer)","u":"isBlockTriviallyReplaceable(net.minecraft.world.World,int,int,int,net.minecraft.entity.player.EntityPlayer)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"isBlockTriviallyReplaceable(World, int, int, int, EntityPlayerMP)","u":"isBlockTriviallyReplaceable(net.minecraft.world.World,int,int,int,net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"isBothFlipped()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"isClockwise()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"isContainedInPiece(int, int, int)","u":"isContainedInPiece(int,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"isContainedInStructure(String, int, int, int)","u":"isContainedInStructure(java.lang.String,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition","l":"isContainedInStructure(String, int, int, int)","u":"isContainedInStructure(java.lang.String,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"isCounterClockwise()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"isDebugEnabled()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"isEmpty()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isExtendedFacingValid()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isFlipChangeAllowed()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"isHorizontallyFlipped()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"isInstrumentEnabled()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"isNavigating()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isNewDirectionValid(ForgeDirection)","u":"isNewDirectionValid(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isNewExtendedFacingValid(ExtendedFacing)","u":"isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"isNewExtendedFacingValid(ExtendedFacing)","u":"isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isNewExtendedFacingValid(ForgeDirection, Rotation, Flip)","u":"isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"isNewExtendedFacingValid(ForgeDirection, Rotation, Flip)","u":"isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isNewFlipValid(Flip)","u":"isNewFlipValid(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isNewRotationValid(Rotation)","u":"isNewRotationValid(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"isNotFlipped()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"isNotRotated()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"isRotationChangeAllowed()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"isUpsideDown()"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor","l":"isValidSource(ItemStack, EntityPlayerMP)","u":"isValidSource(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"isVerticallyFliped()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"iterate(String, World, ExtendedFacing, int, int, int, int, int, int, IStructureWalker)","u":"iterate(java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureWalker)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"iterate(T, ItemStack, IStructureElement[], World, ExtendedFacing, int, int, int, int, int, int, boolean, Boolean)","u":"iterate(T,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement[],net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"iterate(World, ExtendedFacing, int, int, int, int, int, int, boolean, int, int, int, IBlockPosConsumer, Runnable, Runnable)","u":"iterate(net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,int,int,int,com.gtnewhorizon.structurelib.structure.IBlockPosConsumer,java.lang.Runnable,java.lang.Runnable)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"iterate(World, ExtendedFacing, int, int, int, int, int, int, int, int, int, IBlockPosConsumer)","u":"iterate(net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IBlockPosConsumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"iterateChannelData(ItemStack)","u":"iterateChannelData(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryIterable","l":"iterator()"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"iterator()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"lazy(Function)","u":"lazy(java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"lazy(Supplier)","u":"lazy(java.util.function.Supplier)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment.APILevel","l":"Legacy","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment.APILevel","l":"LegacyRelaxed","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor.APIType","l":"MAIN","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"manhattanDistance(Vec3Impl)","u":"manhattanDistance(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.InventoryProvider","l":"markDirty(R)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"markHintParticleError(EntityPlayer, World, int, int, int)","u":"markHintParticleError(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"MOD_ID","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"MULTIBLOCK_MAP","k":"2"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"newInventoryProvider(Function)","u":"newInventoryProvider(java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"newItemStackProvider(Function)","u":"newItemStackProvider(java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"next(int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextBoolean()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextBytes(byte[])"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextDouble()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextFloat()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextGaussian()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextInt()"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextInt(int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"nextLong()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"noPlacement()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementNoPlacement","l":"noPlacement()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"NORMAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"NORTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"NORTH_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"NOT_UPSIDE_DOWN","k":"2"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"notAir()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"NULL_VECTOR","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"of(ForgeDirection)","u":"of(net.minecraftforge.common.util.ForgeDirection)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"of(ForgeDirection, Rotation, Flip)","u":"of(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlock(Block, int)","u":"ofBlock(net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlock(Block, int, Block, int)","u":"ofBlock(net.minecraft.block.Block,int,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAdder(IBlockAdder, Block, int)","u":"ofBlockAdder(com.gtnewhorizon.structurelib.structure.adders.IBlockAdder,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAdder(IBlockAdder, int)","u":"ofBlockAdder(com.gtnewhorizon.structurelib.structure.adders.IBlockAdder,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAdderHint(IBlockAdder, Block, int)","u":"ofBlockAdderHint(com.gtnewhorizon.structurelib.structure.adders.IBlockAdder,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAnyMeta(Block)","u":"ofBlockAnyMeta(net.minecraft.block.Block)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAnyMeta(Block, Block, int)","u":"ofBlockAnyMeta(net.minecraft.block.Block,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockAnyMeta(Block, int)","u":"ofBlockAnyMeta(net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockHint(Block, int)","u":"ofBlockHint(net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockHint(Block, int, Block, int)","u":"ofBlockHint(net.minecraft.block.Block,int,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksFlat(Map, Block, int)","u":"ofBlocksFlat(java.util.Map,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksFlatHint(Map, Block, int)","u":"ofBlocksFlatHint(java.util.Map,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksMap(Map, Block, int)","u":"ofBlocksMap(java.util.Map,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksMapHint(Map, Block, int)","u":"ofBlocksMapHint(java.util.Map,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function)","u":"ofBlocksTiered(com.gtnewhorizon.structurelib.structure.ITierConverter,java.util.List,TIER,java.util.function.BiConsumer,java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksTiered(ITierConverter, List, TIER, BiConsumer, Function, List)","u":"ofBlocksTiered(com.gtnewhorizon.structurelib.structure.ITierConverter,java.util.List,TIER,java.util.function.BiConsumer,java.util.function.Function,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlocksTiered(ITierConverter, TIER, BiConsumer, Function)","u":"ofBlocksTiered(com.gtnewhorizon.structurelib.structure.ITierConverter,TIER,java.util.function.BiConsumer,java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockUnlocalizedName(String, String, int)","u":"ofBlockUnlocalizedName(java.lang.String,java.lang.String,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockUnlocalizedName(String, String, int, boolean)","u":"ofBlockUnlocalizedName(java.lang.String,java.lang.String,int,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofBlockUnlocalizedName(String, String, int, IStructureElement)","u":"ofBlockUnlocalizedName(java.lang.String,java.lang.String,int,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofChain(IStructureElement...)","u":"ofChain(com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofChain(List)","u":"ofChain(java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"offset(ForgeDirection, int)","u":"offset(net.minecraftforge.common.util.ForgeDirection,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofHint(int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofHintDeferred(Supplier)","u":"ofHintDeferred(java.util.function.Supplier)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofHintDeferred(Supplier, short[])","u":"ofHintDeferred(java.util.function.Supplier,short[])","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofSpecificTileAdder(BiPredicate, Class, Block, int)","u":"ofSpecificTileAdder(java.util.function.BiPredicate,java.lang.Class,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"ofTileAdder(ITileAdder, Block, int)","u":"ofTileAdder(com.gtnewhorizon.structurelib.structure.adders.ITileAdder,net.minecraft.block.Block,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"onElementFail(Consumer, B)","u":"onElementFail(java.util.function.Consumer,B)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"onElementPass(Consumer, B)","u":"onElementPass(java.util.function.Consumer,B)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"onlyIf(Predicate, IStructureElement)","u":"onlyIf(java.util.function.Predicate,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"onlyIf(Predicate, IStructureElement, IStructureElement.PlaceResult)","u":"onlyIf(java.util.function.Predicate,com.gtnewhorizon.structurelib.structure.IStructureElement,com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(BiFunction, Map)","u":"partitionBy(java.util.function.BiFunction,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(BiFunction, Map, IStructureElement)","u":"partitionBy(java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, BiFunction, IStructureElement...)","u":"partitionBy(java.util.function.Function,java.util.function.BiFunction,com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, BiFunction, List)","u":"partitionBy(java.util.function.Function,java.util.function.BiFunction,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, BiFunction, Map)","u":"partitionBy(java.util.function.Function,java.util.function.BiFunction,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, BiFunction, Map, IStructureElement)","u":"partitionBy(java.util.function.Function,java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, IStructureElement...)","u":"partitionBy(java.util.function.Function,com.gtnewhorizon.structurelib.structure.IStructureElement...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, List)","u":"partitionBy(java.util.function.Function,java.util.List)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, Map)","u":"partitionBy(java.util.function.Function,java.util.Map)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"partitionBy(Function, Map, IStructureElement)","u":"partitionBy(java.util.function.Function,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"placeBlock(T, World, int, int, int, ItemStack)","u":"placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"placeBlock(T, World, int, int, int, ItemStack)","u":"placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementCheckOnly","l":"placeBlock(T, World, int, int, int, ItemStack)","u":"placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementNoPlacement","l":"placeBlock(T, World, int, int, int, ItemStack)","u":"placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"queryAlignment(IAlignmentProvider)","u":"queryAlignment(com.gtnewhorizon.structurelib.alignment.IAlignmentProvider)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"random(Random)","u":"random(java.util.Random)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"random(Random)","u":"random(java.util.Random)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"random(Random)","u":"random(java.util.Random)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"register(String, V)","u":"register(java.lang.String,V)"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"registerChannelDescription(String, String, String)","u":"registerChannelDescription(java.lang.String,java.lang.String,java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"registerChannelItem(String, String, int, ItemStack)","u":"registerChannelItem(java.lang.String,java.lang.String,int,net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"registerEnableEnderCondition(Predicate)","u":"registerEnableEnderCondition(java.util.function.Predicate)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"registerInventoryProvider(String, Function)","u":"registerInventoryProvider(java.lang.String,java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"registerInventoryProvider(String, InventoryUtility.InventoryProvider)","u":"registerInventoryProvider(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"registerStackExtractor(String, Function)","u":"registerStackExtractor(java.lang.String,java.util.function.Function)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"registerStackExtractor(String, InventoryUtility.ItemStackExtractor)","u":"registerStackExtractor(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"registerTileClass(Class, IMultiblockInfoContainer)","u":"registerTileClass(java.lang.Class,com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"REJECT","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"REJECT_CONTINUE","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"resetA()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"resetB()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"resetC()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"ROTATIONS_COUNT","k":"2"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"sendAlignment(IAlignmentProvider)","u":"sendAlignment(com.gtnewhorizon.structurelib.alignment.IAlignmentProvider)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"sendAlignment(IAlignmentProvider, EntityPlayerMP)","u":"sendAlignment(com.gtnewhorizon.structurelib.alignment.IAlignmentProvider,net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"sendAlignment(IAlignmentProvider, NetworkRegistry.TargetPoint)","u":"sendAlignment(com.gtnewhorizon.structurelib.alignment.IAlignmentProvider,cpw.mods.fml.common.network.NetworkRegistry.TargetPoint)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"sendAlignment(IAlignmentProvider, World)","u":"sendAlignment(com.gtnewhorizon.structurelib.alignment.IAlignmentProvider,net.minecraft.world.World)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"ICustomBlockSetting","l":"setBlock(World, int, int, int, int)","u":"setBlock(net.minecraft.world.World,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"setChannelData(ItemStack, String, int)","u":"setChannelData(net.minecraft.item.ItemStack,java.lang.String,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"setDebugEnabled(boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"setDirection(ForgeDirection)","u":"setDirection(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"setExtendedFacing(ExtendedFacing)","u":"setExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"setFlip(Flip)","u":"setFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"setMeta(int)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"setRotation(Rotation)","u":"setRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"setSeed(long)"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"setTag(ItemStackPredicate.NBTMode, NBTTagCompound)","u":"setTag(com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound)"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"size()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"SKIP","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureWalker","l":"skipBlockUnloaded(IStructureWalker)","u":"skipBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"SortedRegistry()","u":"%3Cinit%3E()","k":"3"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"SOUTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"SOUTH_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"spawnHint(T, World, int, int, int, ItemStack)","u":"spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"spawnHint(T, World, int, int, int, ItemStack)","u":"spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementCheckOnly","l":"spawnHint(T, World, int, int, int, ItemStack)","u":"spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.util","c":"SortedRegistry","l":"spliterator()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"startHinting(World)","u":"startHinting(net.minecraft.world.World)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"STATES_COUNT","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"STATES_COUNT","k":"2"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"step(int, int, int)","u":"step(int,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"step(Vec3Impl)","u":"step(com.gtnewhorizon.structurelib.util.Vec3Impl)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"STOP","k":"0"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"StructureLibAPI()","u":"%3Cinit%3E()","k":"3"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"sub(int, int, int)","u":"sub(int,int,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"sub(Vec3Impl)","u":"sub(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean)","u":"survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)","u":"survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ISurvivalConstructable","l":"survivalConstruct(ItemStack, int, IItemSource, EntityPlayerMP)","u":"survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ISurvivalConstructable","l":"survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment)","u":"survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment, T, ExtendedFacing)","u":"survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayer)","u":"survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayer, Consumer)","u":"survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayerMP)","u":"survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer)","u":"survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer)","u":"survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayerMP)","u":"survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"survivalPlaceBlock(ItemStack, ItemStackPredicate.NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementCheckOnly","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementNoPlacement","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementChain","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementCheckOnly","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElementNoPlacement","l":"survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)","u":"survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"take(Predicate, boolean, int)","u":"take(java.util.function.Predicate,boolean,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"takeAll(ItemStack, boolean)","u":"takeAll(net.minecraft.item.ItemStack,boolean)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"takeAll(Predicate, boolean, int)","u":"takeAll(java.util.function.Predicate,boolean,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"takeFromInventory(EntityPlayerMP, ItemStack, boolean)","u":"takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,net.minecraft.item.ItemStack,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"takeFromInventory(EntityPlayerMP, Predicate, boolean, int)","u":"takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,java.util.function.Predicate,boolean,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility","l":"takeFromInventory(Iterable, Predicate, boolean, int, boolean)","u":"takeFromInventory(java.lang.Iterable,java.util.function.Predicate,boolean,int,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor","l":"takeFromStack(Predicate, boolean, int, InventoryUtility.ItemStackCounter, ItemStack, ItemStack, EntityPlayerMP)","u":"takeFromStack(java.util.function.Predicate,boolean,int,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackCounter,net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"takeOne(ItemStack, boolean)","u":"takeOne(net.minecraft.item.ItemStack,boolean)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IItemSource","l":"takeOne(Predicate, boolean)","u":"takeOne(java.util.function.Predicate,boolean)"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate","l":"test(ItemStack)","u":"test(net.minecraft.item.ItemStack)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"IMultiblockInfoContainer","l":"toConstructable(T, ExtendedFacing)","u":"toConstructable(T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"toolSetDirection(ForgeDirection)","u":"toolSetDirection(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"toolSetExtendedFacing(ExtendedFacing)","u":"toolSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"toolSetFlip(Flip)","u":"toolSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignment","l":"toolSetRotation(Rotation)","u":"toolSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"toString()"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"toString()"},{"p":"com.gtnewhorizon.structurelib","c":"StructureEvent.StructureElementVisitedEvent","l":"toString()"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"toString()"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"translate(double[], double[])","u":"translate(double[],double[])"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"translate(int[], int[])","u":"translate(int[],int[])"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"translate(Vec3)","u":"translate(net.minecraft.util.Vec3)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IntegerAxisSwap","l":"translate(Vec3Impl)","u":"translate(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"transpose(String[][])","u":"transpose(java.lang.String[][])","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"UNLIMITED","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"unsetChannelData(ItemStack, String)","u":"unsetChannelData(net.minecraft.item.ItemStack,java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"UP","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"UP_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"updateHintParticleTint(EntityPlayer, World, int, int, int, short[])","u":"updateHintParticleTint(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int,short[])","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"UPRIGHT","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"UPSIDE_DOWN","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment.APILevel","l":"V2","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"validStates","k":"1"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment.APILevel","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor.APIType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"VALUES","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"VALUES","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"VALUES","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"VALUES","k":"2"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Rotation","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment.APILevel","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackExtractor.APIType","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"ItemStackPredicate.NBTMode","l":"values()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"Vec3Impl(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureWalker","l":"visit(IStructureElement, World, int, int, int, int, int, int)","u":"visit(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Direction","l":"WEST","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_COUNTER_CLOCKWISE_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_COUNTER_CLOCKWISE_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_COUNTER_CLOCKWISE_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_COUNTER_CLOCKWISE_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_NORMAL_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_NORMAL_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_NORMAL_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_NORMAL_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_UPSIDE_DOWN_BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_UPSIDE_DOWN_HORIZONTAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_UPSIDE_DOWN_NONE","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"WEST_UPSIDE_DOWN_VERTICAL","k":"0"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"wipeChannelData(ItemStack)","u":"wipeChannelData(net.minecraft.item.ItemStack)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"with(Flip)","u":"with(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"with(ForgeDirection)","u":"with(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"ExtendedFacing","l":"with(Rotation)","u":"with(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"withActor(EntityPlayer)","u":"withActor(net.minecraft.entity.player.EntityPlayer)"},{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ChannelDataAccessor","l":"withChannel(ItemStack, String)","u":"withChannel(net.minecraft.item.ItemStack,java.lang.String)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"withChannel(String, IStructureElement)","u":"withChannel(java.lang.String,com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"withChatter(Consumer)","u":"withChatter(java.util.function.Consumer)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"withContext(IStructureElement)","u":"withContext(com.gtnewhorizon.structurelib.structure.IStructureElement)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureUtility","l":"withDescription(List, B)","u":"withDescription(java.util.List,B)","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"withinDistance(IPosition, double)","u":"withinDistance(net.minecraft.dispenser.IPosition,double)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"withinDistance(Vec3Impl, double)","u":"withinDistance(com.gtnewhorizon.structurelib.util.Vec3Impl,double)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"withSource(IItemSource)","u":"withSource(com.gtnewhorizon.structurelib.structure.IItemSource)"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"XSTR_INSTANCE","k":"2"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"XSTR()","u":"%3Cinit%3E()","k":"3"},{"p":"com.gtnewhorizon.structurelib.util","c":"XSTR","l":"XSTR(long)","u":"%3Cinit%3E(long)","k":"3"}];updateSearchResults(); \ No newline at end of file diff --git a/1.4.42/javadoc/module-search-index.js b/1.4.42/javadoc/module-search-index.js new file mode 100644 index 00000000..0d59754f --- /dev/null +++ b/1.4.42/javadoc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/1.4.42/javadoc/overview-summary.html b/1.4.42/javadoc/overview-summary.html new file mode 100644 index 00000000..3d181076 --- /dev/null +++ b/1.4.42/javadoc/overview-summary.html @@ -0,0 +1,25 @@ + + + + +StructureLib 1.4.42 API + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/1.4.42/javadoc/overview-tree.html b/1.4.42/javadoc/overview-tree.html new file mode 100644 index 00000000..755a6bb7 --- /dev/null +++ b/1.4.42/javadoc/overview-tree.html @@ -0,0 +1,172 @@ + + + + +Class Hierarchy (StructureLib 1.4.42 API) + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/1.4.42/javadoc/package-search-index.js b/1.4.42/javadoc/package-search-index.js new file mode 100644 index 00000000..0988d7e7 --- /dev/null +++ b/1.4.42/javadoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html","k":"18"},{"l":"com.gtnewhorizon.structurelib"},{"l":"com.gtnewhorizon.structurelib.alignment"},{"l":"com.gtnewhorizon.structurelib.alignment.constructable"},{"l":"com.gtnewhorizon.structurelib.alignment.enumerable"},{"l":"com.gtnewhorizon.structurelib.structure"},{"l":"com.gtnewhorizon.structurelib.structure.adders"},{"l":"com.gtnewhorizon.structurelib.util"}];updateSearchResults(); \ No newline at end of file diff --git a/1.4.42/javadoc/resource-files/copy.svg b/1.4.42/javadoc/resource-files/copy.svg new file mode 100644 index 00000000..b07ac7e8 --- /dev/null +++ b/1.4.42/javadoc/resource-files/copy.svg @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff new file mode 100644 index 00000000..63a79c04 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff2 new file mode 100644 index 00000000..06655540 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Bold.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff new file mode 100644 index 00000000..dead2908 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 new file mode 100644 index 00000000..89328f3c Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff new file mode 100644 index 00000000..6c62443d Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 new file mode 100644 index 00000000..8a50fa15 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff new file mode 100644 index 00000000..a0f1efa9 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff2 new file mode 100644 index 00000000..fecdbd87 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSans.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff new file mode 100644 index 00000000..9f646ba0 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 new file mode 100644 index 00000000..346de2da Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff new file mode 100644 index 00000000..7a6b3ac0 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 new file mode 100644 index 00000000..ede24ef6 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff new file mode 100644 index 00000000..892833b9 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 new file mode 100644 index 00000000..9e905143 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff new file mode 100644 index 00000000..e94e844d Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff2 new file mode 100644 index 00000000..9460c050 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSansMono.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff new file mode 100644 index 00000000..0f38846c Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 new file mode 100644 index 00000000..d65a5e95 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff new file mode 100644 index 00000000..63fd5e38 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 new file mode 100644 index 00000000..e29307ea Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff new file mode 100644 index 00000000..5df6d001 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 new file mode 100644 index 00000000..61ff1463 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff new file mode 100644 index 00000000..280e3783 Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff differ diff --git a/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff2 b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff2 new file mode 100644 index 00000000..bbd32cde Binary files /dev/null and b/1.4.42/javadoc/resource-files/fonts/DejaVuLGCSerif.woff2 differ diff --git a/1.4.42/javadoc/resource-files/fonts/dejavu.css b/1.4.42/javadoc/resource-files/fonts/dejavu.css new file mode 100644 index 00000000..b450caa3 --- /dev/null +++ b/1.4.42/javadoc/resource-files/fonts/dejavu.css @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ + */ + +/* DejaVu fonts v2.37 */ + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono.woff2') format('woff2'), + url('DejaVuLGCSansMono.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-Oblique.woff2') format('woff2'), + url('DejaVuLGCSansMono-Oblique.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-Bold.woff2') format('woff2'), + url('DejaVuLGCSansMono-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-BoldOblique.woff2') format('woff2'), + url('DejaVuLGCSansMono-BoldOblique.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans.woff2') format('woff2'), + url('DejaVuLGCSans.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-Oblique.woff2') format('woff2'), + url('DejaVuLGCSans-Oblique.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-Bold.woff2') format('woff2'), + url('DejaVuLGCSans-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-BoldOblique.woff2') format('woff2'), + url('DejaVuLGCSans-BoldOblique.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif.woff2') format('woff2'), + url('DejaVuLGCSerif.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-Italic.woff2') format('woff2'), + url('DejaVuLGCSerif-Italic.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-Bold.woff2') format('woff2'), + url('DejaVuLGCSerif-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-BoldItalic.woff2') format('woff2'), + url('DejaVuLGCSerif-BoldItalic.woff') format('woff'); + font-weight: bold; + font-style: italic; +} diff --git a/1.4.42/javadoc/resource-files/glass.svg b/1.4.42/javadoc/resource-files/glass.svg new file mode 100644 index 00000000..ff7df85e --- /dev/null +++ b/1.4.42/javadoc/resource-files/glass.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/1.4.42/javadoc/resource-files/jquery-ui.min.css b/1.4.42/javadoc/resource-files/jquery-ui.min.css new file mode 100644 index 00000000..7e0692dc --- /dev/null +++ b/1.4.42/javadoc/resource-files/jquery-ui.min.css @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.14.1 - 2025-01-13 +* https://jqueryui.com +* Includes: core.css, autocomplete.css, menu.css +* Copyright OpenJS Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/1.4.42/javadoc/resource-files/left.svg b/1.4.42/javadoc/resource-files/left.svg new file mode 100644 index 00000000..11a93ff0 --- /dev/null +++ b/1.4.42/javadoc/resource-files/left.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/1.4.42/javadoc/resource-files/link.svg b/1.4.42/javadoc/resource-files/link.svg new file mode 100644 index 00000000..58d38ac9 --- /dev/null +++ b/1.4.42/javadoc/resource-files/link.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/1.4.42/javadoc/resource-files/right.svg b/1.4.42/javadoc/resource-files/right.svg new file mode 100644 index 00000000..4b54939c --- /dev/null +++ b/1.4.42/javadoc/resource-files/right.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/1.4.42/javadoc/resource-files/stylesheet.css b/1.4.42/javadoc/resource-files/stylesheet.css new file mode 100644 index 00000000..f7994c7f --- /dev/null +++ b/1.4.42/javadoc/resource-files/stylesheet.css @@ -0,0 +1,1667 @@ +/* + * Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ + */ + +/* + * Javadoc style sheet + */ + +@import url('fonts/dejavu.css'); + +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14.2px; + --block-font-size: 14.4px; + --code-font-size: 14px; + --nav-font-size: 13.4px; + /* Line height for continuous text blocks */ + --block-line-height: 1.5; + --code-line-height: 1.6; + /* Text colors for body and block elements */ + --body-text-color: #181818; + --block-text-color: #181818; + /* Background colors for various elements */ + --body-background-color: #ffffff; + --section-background-color: var(--body-background-color); + --detail-background-color: #ffffff; + --code-background-color: #f5f5f5; + --mark-background-color: #f7f7f7; + --detail-block-color: #f4f4f4; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + --subnav-link-color: #47688a; + --member-heading-background-color: var(--subnav-background-color); + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #4a698a; + /* Background colors for generated tables */ + --table-header-color: #ebeff4; + --even-row-color: #ffffff; + --odd-row-color: #f0f0f2; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #437291; + --link-color-active: #bb7a2a; + /* Table of contents */ + --toc-background-color: #f8f8f8; + --toc-highlight-color: var(--subnav-background-color); + --toc-hover-color: #e9ecf0; + /* Snippet and pre colors */ + --snippet-background-color: #f2f2f4; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + --pre-background-color: var(--snippet-background-color); + --pre-text-color: var(--snippet-text-color); + /* Border colors for structural elements and user defined tables */ + --border-color: #e6e6e6; + --table-border-color: #000000; + /* Styles for table tabs */ + --tab-border-radius: 2px 2px 0 0; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff66; + /* Copy button colors and filters */ + --button-border-color: #b0b8c8; + --button-active-filter: brightness(96%); + --button-focus-filter: brightness(104%); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; + /* Navigation bar dimensions */ + --top-nav-height: 44px; + --sub-nav-height: 36px; + --nav-height: calc(var(--top-nav-height) + var(--sub-nav-height)); + --max-content-width: 1500px; + --content-margin: 0 auto; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ +body { + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); + margin:0; + padding:0; + height:100%; + width:100%; +} +main [id] { + scroll-margin-top: calc(var(--nav-height) + 6px); +} +div.main-grid { + max-width: var(--max-content-width); + margin: var(--content-margin); +} +a:link, a:visited { + text-decoration:none; + color:var(--link-color); +} +nav a:link, nav a:visited { + color: var(--subnav-link-color); +} +a[href]:hover, a[href]:active { + text-decoration:none; + color:var(--link-color-active); +} +pre { + font-family:var(--code-font-family); + font-size:var(--code-font-size); + line-height: var(--code-line-height); + background-color: var(--pre-background-color); + color: var(--pre-text-color); + padding: 10px; + overflow-x:auto; +} +h1 { + font-size:1.425em; +} +h2 { + font-size:1.28em; +} +h3 { + font-size:1.14em; +} +h4 { + font-size:1.072em; +} +h5 { + font-size:1.001em; +} +h6 { + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature, div.member-signature > span { + max-height: 1000em; +} +ul { + list-style-type:disc; +} +tt { + font-family:var(--code-font-family); +} +code { + font-family:var(--code-font-family); + font-size:var(--code-font-size); +} +button { + font-family: var(--body-font-family); + font-size: 1em; +} +hr { + border-color: #aaa; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { + flex: 0 0 auto; + padding:0 20px; + margin:0; + font-size:0.915em; + max-width: 50%; + white-space: nowrap; +} +.legal-copy { + font-family: var(--body-font-family); + line-height: normal; +} +/* + * Styles for navigation bar. + */ +@media screen { + header { + position:sticky; + top:0; + z-index:2; + background: var(--body-background-color); + } +} +.nav-content { + display:flex; + flex-direction: row; + align-items: center; + width: 100%; + height: 100%; + max-width: var(--max-content-width); + margin: var(--content-margin); +} +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + width:100%; + height:var(--top-nav-height); + overflow:visible; + font-size:0.857em; + position:relative; +} +.top-nav nav.toc { + display: none; + flex-direction: column; +} +.top-nav nav.toc button.show-sidebar, +.top-nav nav.toc button.hide-sidebar { + display: none; +} +button#navbar-toggle-button { + display:none; +} +ul.nav-list { + display:inline-flex; + margin:0; + padding-left:4px; + flex: 1 1 auto; + white-space: nowrap; +} +ul.nav-list li { + list-style:none; + padding: 5px 6px; + text-transform:uppercase; + height: 1.2em; +} +div.sub-nav { + background-color:var(--subnav-background-color); + width:100%; + overflow:hidden; + font-size:var(--nav-font-size); + height: var(--sub-nav-height); +} +ol.sub-nav-list { + flex: 1 1 90%; + line-height: 1.8; + display: inline-flex; + overflow: auto; + scroll-snap-type: x mandatory; + scroll-padding-left: 13px; + scrollbar-width: none; + padding-left:6px; + white-space: nowrap; + margin:0; +} +ol.sub-nav-list::-webkit-scrollbar { + display: none; +} +ol.sub-nav-list li { + list-style:none; + scroll-snap-align: start; +} +ol.sub-nav-list li:not(:first-child) { + background: url("right.svg") no-repeat 3px; + background-size: 10px; + padding-left: 17px; + list-style: none; +} +ol.sub-nav-list a { + padding: 3px; +} +ol.sub-nav-list a.current-selection { + background-color: var(--toc-background-color); + border-radius: 3px; +} +.sub-nav .nav-list-search { + flex: 1 1 10%; + margin: 0 15px; + position:relative; + white-space: nowrap; +} +.top-nav .nav-list a:link, .top-nav .nav-list a:active, .top-nav .nav-list a:visited { + color:var(--navbar-text-color); + text-decoration:none; + text-transform:uppercase; +} +.top-nav .nav-list a:hover { + color:var(--link-color-active); +} +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); + margin: 0 5px; + border-radius: 1px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0 12px 0; +} +.sub-title { + margin:5px 0 0 0; +} +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; + overflow-x:auto; +} +body.class-use-page h2 { + margin-top: 20px; +} +body.class-declaration-page .details h3 { + background-color:var(--member-heading-background-color); + border:1px solid var(--border-color); + margin:6px 0; + padding:7px; + overflow-x:auto; + font-size: 1.08em; +} +body.class-declaration-page section.detail:target > h3, +body.class-declaration-page section.detail > h3:target { + background-color: var(--navbar-background-color); + color: var(--navbar-text-color); +} +body.class-declaration-page section.detail:target > h3 > a.anchor-link > img, +body.class-declaration-page section.detail > h3:target > a.anchor-link > img { + filter: invert(100%) sepia(4%) saturate(98%) hue-rotate(212deg) brightness(160%) contrast(160%); +} +h1 > sup { + font-size: small; +} +/* + * Styles for page layout containers. + */ +.main-grid { + display: flex; + flex-direction: row; +} +.main-grid main { + flex: 3.2 1 0; + min-width: 240px +} +.main-grid nav.toc { + flex: 1 1 0; + min-width: 240px; +} +main { + padding:10px 25px; + position:relative; +} +/* Compensate for non-collapsing margins between element description and summary tables */ +div.horizontal-scroll > section[id$=-description] > :is(dl, ol, ul, p, div, blockquote, pre):last-child, +div.horizontal-scroll > section[id$=-description] > :last-child > :is(li, dd):last-child, +section.class-description > div.horizontal-scroll > :is(dl, ol, ul, p, div, blockquote, pre):last-child, +section.class-description > div.horizontal-scroll > :last-child > :is(li, dd):last-child { + margin-bottom:4px; +} +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; + font-weight:bold; + margin:10px 0 0 0; + color:var(--body-text-color); +} +dl.notes > dd { + margin:6px 10px 10px 15px; + font-size:var(--block-font-size); + font-family:var(--block-font-family); + line-height:var(--block-line-height); +} +dl.notes > dd > ul, dl.notes > dd > ol { + margin-bottom: 1em; + margin-top: 1em; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for table of contents. + */ +.main-grid nav.toc { + background-color: var(--toc-background-color); + position: sticky; + top: calc(var(--nav-height)); + max-height: calc(100vh - var(--nav-height)); + display: flex; + flex-direction: column; + font-family: var(--body-font-family); + z-index: 1; +} +.main-grid nav.toc div.toc-header { + top: var(--nav-height); + z-index: 1; + padding: 15px 20px; +} +.main-grid nav.toc > ol.toc-list { + max-height: calc(100vh - var(--nav-height) - 100px); + padding-left: 12px; +} +.main-grid nav.toc button { + position: absolute; + bottom: 16px; + z-index: 3; + background-color: var(--toc-background-color); + color: #666666; + font-size: 0.76rem; + border: none; + cursor: pointer; + padding: 6px 10px; + white-space: nowrap; +} +.main-grid nav.toc button > img { + vertical-align: middle; + width: 16px; + height: 16px; +} +.main-grid nav.toc button.hide-sidebar { + right: 0; +} +.main-grid nav.toc button.show-sidebar { + left: 0; + display: none; +} +.main-grid nav.toc button span { + display: none; +} +.main-grid nav.toc button:hover, +.main-grid nav.toc button:focus { + color: var(--body-text-color); + border: 1px solid var(--subnav-background-color); +} +.main-grid nav.toc button:active { + background-color: var(--subnav-background-color); + color: var(--link-color-active); +} +.main-grid nav.toc button:hover span, +.main-grid nav.toc button:focus span { + display: inline; +} +.main-grid nav.toc button:hover, +.main-grid nav.toc button:focus { + box-shadow: 1px 1px 5px rgba(0,0,0,0.2); +} +.main-grid nav.toc.hide-sidebar { + min-width: revert; + background-color: var(--body-background-color); + max-width: 20px; +} +.main-grid nav.toc.hide-sidebar div.toc-header, +.main-grid nav.toc.hide-sidebar ol.toc-list, +.main-grid nav.toc.hide-sidebar button.hide-sidebar { + display: none; +} +.main-grid nav.toc.hide-sidebar button.show-sidebar { + display: inline; +} +nav.toc div.toc-header { + padding: 15px; + display: inline-flex; + align-items: center; + color: var(--body-text-color); + font-size: 0.856em; + font-weight: bold; + white-space: nowrap; + overflow-x: hidden; + position: sticky; + min-height: 20px; +} +nav.toc > ol.toc-list { + overflow: hidden auto; + overscroll-behavior: contain; +} +nav.toc ol.toc-list { + list-style: none; + font-size: var(--nav-font-size); + padding-left: 0; + margin: 0; +} +a.current-selection { + font-weight: bold; +} +nav.toc a { + display: block; + padding: 8px; + overflow: hidden; + text-overflow: ellipsis; +} +nav.toc ol.toc-list ol.toc-list a { + padding-left: 24px; +} +nav.toc ol.toc-list ol.toc-list ol.toc-list a { + padding-left: 40px; +} +nav.toc a:hover { + background-color: var(--toc-hover-color); +} +nav.toc a.current-selection { + background-color: var(--toc-highlight-color); +} +nav.toc a:focus-visible { + background-color: var(--selected-background-color); + color: var(--selected-text-color); + outline: none; +} +/* + * Styles for lists. + */ +ul.details-list .block > ul, +ul.details-list .notes dd > ul { + margin: 12px 0; +} +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance div.inheritance { + margin-left:2em; +} +main > div.inheritance { + overflow-x:auto; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:4px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.ref-list { + padding:0; + margin:0; +} +ul.ref-list > li { + list-style:none; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +dl.notes > dd > ul.tag-list, dl.notes > dd > ul.tag-list-long { + padding-left: 0; + margin: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6; +} +ul.preview-feature-list input { + margin-right: 8px; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + border:1px solid var(--border-color); + border-top:0; + padding:0; + margin-bottom: 14px; +} +.caption { + overflow: auto hidden; + padding: 8px 0 0 1px; +} +.caption span, +.inherited-list h3 { + font-size: 0.98em; + font-weight:bold; + white-space:nowrap; + border-radius: var(--tab-border-radius); + margin: 0; +} +.caption span { + background-color: var(--navbar-background-color); + padding:5px 12px 7px 12px; + height:16px; + color:var(--navbar-text-color); + display:inline-block; +} +.inherited-list h3 { + background-color: var(--subnav-background-color); + padding:6px 12px 7px 12px; + height:17px; + width: fit-content; + max-width: 93%; +} +/* Background required for captions with links */ +.class-use-page .caption span, +.package-use-page .caption span, +.constants-summary-page .caption span, +.inherited-list h3 { + background-color: var(--subnav-background-color); + color: var(--block-text-color); +} +.caption a:link, +.caption a:visited, +.inherited-list h3 a:link, +.inherited-list h3 a:visited { + color:var(--subnav-link-color); +} +div.table-tabs { + padding: 8px 0 0 1px; + white-space: nowrap; + overflow-x: auto; +} +div.table-tabs > button { + font-size: 0.98em; + border: none; + cursor: pointer; + padding: 6px 12px; + font-weight: bold; + margin-right: 8px; + border-radius: var(--tab-border-radius); +} +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); +} +div.checkboxes { + line-height: 2; +} +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 6px 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { + font-size: var(--nav-font-size); + line-height: 1.6; + padding: 8px 3px 3px 7px; + overflow: auto hidden; +} +.summary-table > div.table-header, .details-table > div.table-header { + font-size: 0.92em; + line-height: 1.2; + height: 18px; +} +.table-header { + background: var(--table-header-color); + font-weight: bold; + border-bottom: 1px solid var(--border-color); +} +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; +} +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; +} +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + +} +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-second, .col-constructor-name { + overflow: auto; +} +body:not(.class-declaration-page) .col-first a:link, +.col-summary-item-name a:link { + font-weight:bold; +} +.even-row-color { + background-color:var(--even-row-color); +} +.odd-row-color { + background-color:var(--odd-row-color); +} +/* + * Styles for contents. + */ +div.block { + font-size:var(--block-font-size); + font-family:var(--block-font-family); + line-height:var(--block-line-height); +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:var(--code-font-size); + margin:8px 0 14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre-wrap; +} +.member-signature .type-parameters { + white-space: pre-wrap; +} +:is(h1, h2, h3, h4, h5, h6, sup, sub, small, big) code, +[style*=font-size] code { + font-size: inherit; +} +.doc-file-page main { + font-family: var(--block-font-family); + font-size: var(--block-font-size); + line-height: var(--block-line-height); +} +.doc-file-page main footer { + font-family: var(--body-font-family); + font-size: var(--body-font-size); +} +.tree-page .hierarchy, +.package-tree-page .hierarchy { + line-height: 1.4; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; +} +.block { + display:block; + margin:0 10px 5px 0; + color:var(--block-text-color); +} +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label, +.restricted-label { + font-weight:bold; +} +sup.preview-mark, +sup.restricted-mark { + font-family: var(--code-font-family); + font-weight: normal; + font-size: 8px; + background-color: var(--mark-background-color); + padding: 1px; + border-radius: 2px; +} +sup.preview-mark > a:link, +sup.restricted-mark > a:link { + font-weight: normal; +} +.deprecation-comment, .help-footnote, .preview-comment, .restricted-comment { + font-style:italic; +} +.deprecation-block, .preview-block, .restricted-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:6px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.deprecation-block code, .preview-block code, .restricted-block code { + font-size: 0.97em; +} +div.block div.deprecation-comment { + font-style:normal; +} +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-menu .ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + color: var(--selected-text-color); + /* Workaround for browser bug, see JDK-8275889 */ + margin: -1px 0; + border-top: 1px solid var(--selected-background-color); + border-bottom: 1px solid var(--selected-background-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 8px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + box-sizing: border-box; +} +.ui-autocomplete { + max-height:calc(98vh - var(--nav-height)); + max-width:min(75vw, calc(var(--max-content-width) * 0.748)); + overflow-y:auto; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + overscroll-behavior: contain; +} +ul.ui-autocomplete { + position:fixed; + z-index:10; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; + box-sizing: border-box; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bold; + z-index: 10; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete > li.result-item:nth-child(even) { + background-color: var(--even-row-color) +} +.ui-autocomplete > li.result-item:nth-child(odd) { + background-color: var(--odd-row-color) +} +.ui-autocomplete { + display: grid; + grid-template-columns: auto auto; +} +.ui-autocomplete > li, +.ui-autocomplete > li > div { + grid-column: 1 / 3; +} +.ui-autocomplete > li.result-item, +.ui-autocomplete > li.result-item > div { + display: grid; + grid-template-columns: subgrid; +} +.ui-autocomplete > li.result-item { + font-family: var(--body-font-family); + font-size: var(--body-font-size); + line-height: 1.7; +} +.ui-autocomplete .search-result-label { + padding: 1px 4px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-autocomplete .search-result-desc { + font-size: var(--nav-font-size); + padding: 2px 4px; + color: #404040; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +.ui-menu .ui-state-active .search-result-desc { + color: #383838; +} +.ui-menu .ui-menu-item-wrapper { + padding: 3px 4px; +} +input[type="text"] { + background-image:url('glass.svg'); + background-size:13px; + background-repeat:no-repeat; + background-position:3px 4px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + border-radius: 4px; + padding-left:20px; + padding-right: 18px; + font-size: var(--nav-font-size); + height: 19px; +} +input#page-search-input { + width: calc(180px + 10vw); + margin: 10px 0; +} +input#search-input { + width: 270px; + margin: 0; +} +input.filter-input { + min-width: 40px; + width: 180px; + margin: 0 -8px 0 5px; +} +input#reset-search, input.reset-filter, input#page-search-reset { + background-color: transparent; + background-image:url('x.svg'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + min-width:12px; + min-height:12px; + font-size:0; + visibility:hidden; +} +input#reset-search { + position:absolute; + right:5px; + top:7px; +} +input.reset-filter { + position: relative; + right: 10px; + top: 0; +} +input#page-search-reset { + position: relative; + right: 18px; + top: -5px; +} +input::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +input:focus::placeholder { + color: transparent; +} +select#search-modules { + margin: 0 10px 10px 2px; + font-size: var(--nav-font-size); + padding: 3px 5px; + border-radius: 4px; + background: #f0f0f0; + border: 1px solid #909090; +} +kbd { + background-color: #eeeeee; + border: 1px solid #b0b0b0; + border-radius: 3px; + padding: 0 4px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.6) inset; + font-size: 0.9em; + font-weight: bold; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +dd > span:target, +h1 > span:target { + background-color: var(--search-tag-highlight-color); +} +section.class-description dd > span:target, +section.class-description h1 > span:target { + scroll-margin-top: 20em; +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +#result-container .result-highlight { + font-weight:bold; +} +#result-container div.result-table { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); +} +#result-container div.result-table > div.table-header, +#result-container div.result-table > a.search-result-link { + display: grid; + grid-template-columns: subgrid; + grid-column: 1 / 3; + margin: 0; +} +#result-container div.result-table > div.table-header > span { + padding: 5px 12px; + font-size: 0.93em; + background-color: var(--subnav-background-color); +} +#result-container div.result-table > a.search-result-link > span { + padding: 8px 12px; +} +#result-container div.result-table > a.search-result-link:nth-child(odd) { + background-color: var(--odd-row-color) +} +#result-container div.result-table > a.search-result-link:nth-child(even) { + background-color: var(--even-row-color) +} +#result-container div.result-table > a.search-result-link { + color: var(--block-text-color); + white-space: nowrap; +} +#result-container div.result-table > a.search-result-link:focus-visible, +#result-container div.result-table > a.search-result-link.selected { + background-color: var(--selected-background-color); + outline: none; +} +#result-container div.result-table > a.search-result-link .search-result-label { + overflow: hidden; + text-overflow: ellipsis; +} +#result-container div.result-table > a.search-result-link .search-result-desc { + font-size: var(--nav-font-size); + color: #404040; + overflow: hidden; + text-overflow: ellipsis; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + margin: 8px 0; + overflow: hidden; + display: none; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 5; +} +.horizontal-scroll { + overflow: auto hidden; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"] { + margin-bottom: 24px; + background-color: var(--section-background-color); +} +body.class-uses section.detail { + padding: 0 25px 5px 10px; + margin: 25px 0; +} +section.serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--detail-block-color); +} +section.serialized-class-details .detail { + overflow: auto; + padding-left: 12px; +} +section[class$="-details"] .detail { + background-color:var(--detail-background-color); +} +section[class$="-details"] .detail > div { + padding-left: 8px; +} +.inherited-list { + margin: 20px 0; + background-color:var(--detail-background-color); +} +.inherited-list > code { + padding: 8px; + display: block; + background-color: var(--code-background-color); + border-radius: 0; + line-height: var(--code-line-height); +} +.vertical-separator { + padding: 0 5px; +} +.help-section { + font-size: var(--block-font-size); + line-height: var(--block-line-height); +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s 0.1s; +} +:hover > a.anchor-link { + opacity: 90%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + font-size: var(--nav-font-size); + line-height: 1.2; + padding:0.3em; + background-color: transparent; + border: 1px solid transparent; + border-radius: 3px; + position: relative; + opacity: 80%; + transition: all 0.1s ease; + cursor: pointer; +} +button.copy:hover, +button.copy:active, +button.copy:focus, +button.copy.visible { + opacity: 100%; + background-color: inherit; + border-color: var(--button-border-color); + filter: var(--button-focus-filter); +} +button.copy:active { + filter: var(--button-active-filter); +} +button.copy img { + position: relative; +} +button.copy span { + color: var(--body-text-color); + position: relative; + padding: 0.2em; + top: -0.1em; + transition: opacity 0.1s ease; + opacity: 0; +} +button.copy:hover span, +button.copy:focus span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + top: -0.18em; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 4px; + right: 1px; + height: 32px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 2px 0; +} +button.snippet-copy span { + top: -7px; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Media queries for responsive design + */ +@media (prefers-reduced-motion: reduce) { + :root { + scroll-behavior: auto; + } +} +@media screen and (max-width: 1200px) { + input#search-input { + width: 22.5vw; + } +} +@media screen and (max-width: 1000px) { + .main-grid nav.toc { + display: none; + } + .top-nav nav.toc { + display: none; + position: absolute; + top: var(--top-nav-height); + left: 40vw; + width: 60vw; + z-index: 7; + background-color: var(--toc-background-color); + box-sizing: border-box; + } + .top-nav nav.toc div.toc-header { + padding: 6px 15px; + font-size: 0.94em; + background-color: var(--toc-background-color); + top: calc(var(--top-nav-height) + 10px); + } + .top-nav nav.toc ol.toc-list li { + font-size: 1.04em; + } + nav.toc a:link, nav.toc a:visited { + text-decoration:none; + color:var(--link-color); + } + nav.toc a[href]:hover, nav.toc a[href]:focus { + text-decoration:none; + color:var(--link-color-active); + } + :root { + scroll-behavior: auto; + } + header { + max-height: 100vh; + overflow-y: visible; + overscroll-behavior: contain; + } + nav { + overflow: visible; + } + ul.nav-list { + display: none; + position: absolute; + top: var(--top-nav-height); + overflow: auto; + z-index: 7; + background-color: var(--navbar-background-color); + width: 40%; + padding: 0; + box-sizing: border-box; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + .top-nav div.nav-menu-button { + flex: 1 1 auto; + } + .sub-nav ol.sub-nav-list { + margin-left: 4px; + padding-left: 4px; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 4px 0; + border-radius: 2px; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } + .ui-autocomplete { + display: block; + grid-template-columns: none; + } + .ui-autocomplete > li, + .ui-autocomplete > li > div, + .ui-autocomplete > li.result-item, + .ui-autocomplete > li.result-item > div { + grid-column: unset; + display: block; + grid-template-columns: none; + } + .ui-autocomplete > li.result-item { + line-height: 1.45; + } + .ui-autocomplete .search-result-label { + display: block; + } + .ui-autocomplete .search-result-desc { + display: block; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding: 0 16px; + max-width: 90%; + } + ul.nav-list li { + margin-left: 5px; + } + main { + padding: 10px 12px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 600px) { + .nav-list-search > a { + display: none; + } + .member-signature { + white-space: pre-line; + } + .member-signature .annotations { + white-space: pre-wrap; + } + input#search-input { + width: 18vw; + } + .inherited-list h3 { + overflow: auto clip; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0; + } +} +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 12px; +} +div.snippet-container { + position: relative; + padding-right: 30px; + background-color: var(--snippet-background-color); +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav, .main-grid nav.toc, button.copy { + display:none; + } +} diff --git a/1.4.42/javadoc/resource-files/x.svg b/1.4.42/javadoc/resource-files/x.svg new file mode 100644 index 00000000..1efb4109 --- /dev/null +++ b/1.4.42/javadoc/resource-files/x.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/1.4.42/javadoc/script-files/jquery-3.7.1.min.js b/1.4.42/javadoc/script-files/jquery-3.7.1.min.js new file mode 100644 index 00000000..7f37b5d9 --- /dev/null +++ b/1.4.42/javadoc/script-files/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0{"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(x){x.ui=x.ui||{};x.ui.version="1.14.1";var n,s,C,k,o,l,a,r,u,i,h=0,c=Array.prototype.hasOwnProperty,d=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var s,n,o,l,a={},r=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?x.error("Invalid widget name: "+t):(l=r+"-"+t,e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[l.toLowerCase()]=function(t){return!!x.data(t,l)},x[r]=x[r]||{},s=x[r][t],n=x[r][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}a[e]="function"!=typeof s?s:function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},a,{constructor:n,namespace:r,widgetName:t,widgetFullName:l}),s?(x.each(s._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n)},x.widget.extend=function(t){for(var e,i,s=d.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n{var i=[];n.element.each(function(t,e){x.map(l.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),l._on(x(i),{remove:"_untrackClassesElement"})})(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),l.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,e={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return e.element.toggleClass(this._classes(e),s),this},_on:function(n,o,t){var l,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=l=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,l=this.widget()),x.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),s=t[1]+a.eventNamespace,t=t[2];t?l.on(s,t,i):o.on(s,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,l){x.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||l:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}}),x.widget;function E(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function T(t,e){return parseInt(x.css(t,e),10)||0}function W(t){return null!=t&&t===t.window}C=Math.max,k=Math.abs,o=/left|center|right/,l=/top|center|bottom/,a=/[\+\-]\d+(\.[\d]+)?%?/,r=/^\w+/,u=/%$/,i=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==s?s:(i=(e=x("
")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(k(s),k(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})):i.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,s=s.width,o=t.left-e.collisionPosition.marginLeft,l=n-o,a=o+e.collisionWidth-s-n;s",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(this.document[0].activeElement);!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active)&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]!==i[0])||i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),t=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(t,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),e=(i=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(i,"ui-menu-item")._addClass(e,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(e=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,i=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-e-i,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&"true"===this.element.prop("contentEditable"),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault();else if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){n?(n=!1,t.preventDefault()):this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("