Add namespace/path to generic rendering (including F3 piechart)
This commit is contained in:
+43
-3
@@ -20,8 +20,48 @@ import java.util.List;
|
||||
*/
|
||||
public interface IDhApiCustomRenderObjectFactory
|
||||
{
|
||||
IDhApiRenderableBoxGroup createForSingleBox(DhApiRenderableBox cube);
|
||||
IDhApiRenderableBoxGroup createRelativePositionedGroup(DhApiVec3d originBlockPos, List<DhApiRenderableBox> cubeList);
|
||||
IDhApiRenderableBoxGroup createAbsolutePositionedGroup(List<DhApiRenderableBox> cubeList);
|
||||
/**
|
||||
* Creates a {@link IDhApiRenderableBoxGroup} from for the given {@link DhApiRenderableBox}
|
||||
* where the box is positioned relative to the level's origin.
|
||||
*
|
||||
* @param resourceLocation A colon separated Resource Location string, similar to vanilla Minecraft, for example: "DistantHorizons:Clouds"
|
||||
*
|
||||
* @see DhApiRenderableBox
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationNamespace()
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationPath()
|
||||
*
|
||||
* @throws IllegalArgumentException if <code>resourceLocation</code> is null, isn't separated by a colon, or has multiple colons.
|
||||
*/
|
||||
IDhApiRenderableBoxGroup createForSingleBox(String resourceLocation, DhApiRenderableBox cube) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Creates a {@link IDhApiRenderableBoxGroup} from the given list of {@link DhApiRenderableBox} where each
|
||||
* one is positioned relative to given <code>originBlockPos</code>, which in turn is relative to the level's origin.
|
||||
*
|
||||
* @param resourceLocation A colon separated Resource Location string, similar to vanilla Minecraft, for example: "DistantHorizons:Clouds"
|
||||
* @param originBlockPos The starting position for this {@link IDhApiRenderableBoxGroup}, can be changed during runtime.
|
||||
*
|
||||
*
|
||||
* @see DhApiRenderableBox
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationNamespace()
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationPath()
|
||||
*
|
||||
* @throws IllegalArgumentException if <code>resourceLocation</code> is null, isn't separated by a colon, or has multiple colons.
|
||||
*/
|
||||
IDhApiRenderableBoxGroup createRelativePositionedGroup(String resourceLocation, DhApiVec3d originBlockPos, List<DhApiRenderableBox> cubeList);
|
||||
|
||||
/**
|
||||
* Creates a {@link IDhApiRenderableBoxGroup} from the given list of {@link DhApiRenderableBox} where each
|
||||
* one is positioned relative to the level's origin.
|
||||
*
|
||||
* @param resourceLocation A colon separated Resource Location string, similar to vanilla Minecraft, for example: "DistantHorizons:Clouds"
|
||||
*
|
||||
* @see DhApiRenderableBox
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationNamespace()
|
||||
* @see IDhApiRenderableBoxGroup#getResourceLocationPath()
|
||||
*
|
||||
* @throws IllegalArgumentException if <code>resourceLocation</code> is null, isn't separated by a colon, or has multiple colons.
|
||||
*/
|
||||
IDhApiRenderableBoxGroup createAbsolutePositionedGroup(String resourceLocation, List<DhApiRenderableBox> cubeList);
|
||||
|
||||
}
|
||||
|
||||
+28
-1
@@ -23,9 +23,36 @@ import java.util.function.Consumer;
|
||||
*/
|
||||
public interface IDhApiRenderableBoxGroup extends List<DhApiRenderableBox>
|
||||
{
|
||||
/** @return the ID for this specific group */
|
||||
/**
|
||||
* A unique numerical ID used by DH during rendering.
|
||||
* This can also be used to bind/unbind specific {@link IDhApiRenderableBoxGroup}'s from the renderer.
|
||||
* @return the ID for this specific group
|
||||
*/
|
||||
long getId();
|
||||
|
||||
/**
|
||||
* Used to determine which mods have added what to the DH renderer.
|
||||
* This can be used both by the F3 pie chart so you as a mod developer can profile your code
|
||||
* or by shader developers who want to render your objects differently. <br><br>
|
||||
*
|
||||
* Should be used the same as a vanilla Minecraft ResourceLocation.
|
||||
* For example if your mod named "Heavy Thunder" adds additional clouds named "Storm Front",
|
||||
* your Resource Location would be something like "HeavyThunder:StormFront"
|
||||
* and this method would return "HeavyThunder".
|
||||
*/
|
||||
String getResourceLocationNamespace();
|
||||
/**
|
||||
* Used to determine what type of object mods have added what to the DH renderer.
|
||||
* This can be used both by the F3 pie chart so you as a mod developer can profile your code
|
||||
* or by shader developers who want to render your objects differently. <br><br>
|
||||
*
|
||||
* Should be used the same as a vanilla Minecraft ResourceLocation.
|
||||
* For example if your mod named "Heavy Thunder" adds additional clouds named "Storm Front",
|
||||
* your Resource Location would be something like "HeavyThunder:StormFront"
|
||||
* and this method would return "StormFront".
|
||||
*/
|
||||
String getResourceLocationPath();
|
||||
|
||||
/** Sets whether this group should render or not. */
|
||||
void setActive(boolean active);
|
||||
/** @return if active this group will render. */
|
||||
|
||||
Reference in New Issue
Block a user