2017-05-07 00:18:59 +00:00
|
|
|
/*
|
2017-05-01 13:32:39 +00:00
|
|
|
* This file is part of ComputerCraft - http://www.computercraft.info
|
2019-01-01 01:10:18 +00:00
|
|
|
* Copyright Daniel Ratcliffe, 2011-2019. Do not distribute without permission.
|
2017-05-01 13:32:39 +00:00
|
|
|
* Send enquiries to dratcliffe@gmail.com
|
|
|
|
*/
|
|
|
|
|
|
|
|
package dan200.computercraft.client.render;
|
|
|
|
|
|
|
|
import com.google.common.base.Objects;
|
|
|
|
import dan200.computercraft.api.turtle.ITurtleUpgrade;
|
|
|
|
import dan200.computercraft.api.turtle.TurtleSide;
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
import dan200.computercraft.shared.turtle.items.ItemTurtle;
|
2017-05-01 13:32:39 +00:00
|
|
|
import dan200.computercraft.shared.util.Holiday;
|
|
|
|
import dan200.computercraft.shared.util.HolidayUtil;
|
2017-05-01 13:51:26 +00:00
|
|
|
import net.minecraft.block.state.IBlockState;
|
2017-05-01 13:32:39 +00:00
|
|
|
import net.minecraft.client.Minecraft;
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
import net.minecraft.client.renderer.model.*;
|
2017-05-01 13:32:39 +00:00
|
|
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
2017-05-01 13:51:26 +00:00
|
|
|
import net.minecraft.entity.EntityLivingBase;
|
2017-05-01 13:32:39 +00:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.util.EnumFacing;
|
|
|
|
import net.minecraft.util.ResourceLocation;
|
2017-05-01 13:51:26 +00:00
|
|
|
import net.minecraft.world.World;
|
2019-06-02 16:23:33 +00:00
|
|
|
import net.minecraftforge.client.model.data.IModelData;
|
2017-05-01 13:32:39 +00:00
|
|
|
import org.apache.commons.lang3.tuple.Pair;
|
|
|
|
|
2017-05-06 23:07:42 +00:00
|
|
|
import javax.annotation.Nonnull;
|
2017-05-08 23:54:15 +00:00
|
|
|
import javax.annotation.Nullable;
|
2017-05-01 13:32:39 +00:00
|
|
|
import javax.vecmath.Matrix4f;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
import java.util.Random;
|
2017-05-01 13:32:39 +00:00
|
|
|
|
2019-02-10 09:45:15 +00:00
|
|
|
public class TurtleSmartItemModel implements IBakedModel
|
2017-05-01 13:32:39 +00:00
|
|
|
{
|
2017-11-21 00:34:35 +00:00
|
|
|
private static final Matrix4f s_identity, s_flip;
|
|
|
|
|
|
|
|
static
|
|
|
|
{
|
|
|
|
s_identity = new Matrix4f();
|
|
|
|
s_identity.setIdentity();
|
|
|
|
|
|
|
|
s_flip = new Matrix4f();
|
|
|
|
s_flip.setIdentity();
|
|
|
|
s_flip.m11 = -1; // Flip on the y axis
|
|
|
|
s_flip.m13 = 1; // Models go from (0,0,0) to (1,1,1), so push back up.
|
|
|
|
}
|
|
|
|
|
2017-05-01 13:32:39 +00:00
|
|
|
private static class TurtleModelCombination
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
final boolean m_colour;
|
|
|
|
final ITurtleUpgrade m_leftUpgrade;
|
|
|
|
final ITurtleUpgrade m_rightUpgrade;
|
|
|
|
final ResourceLocation m_overlay;
|
|
|
|
final boolean m_christmas;
|
|
|
|
final boolean m_flip;
|
|
|
|
|
|
|
|
TurtleModelCombination( boolean colour, ITurtleUpgrade leftUpgrade, ITurtleUpgrade rightUpgrade, ResourceLocation overlay, boolean christmas, boolean flip )
|
2017-05-01 13:32:39 +00:00
|
|
|
{
|
|
|
|
m_colour = colour;
|
|
|
|
m_leftUpgrade = leftUpgrade;
|
|
|
|
m_rightUpgrade = rightUpgrade;
|
|
|
|
m_overlay = overlay;
|
|
|
|
m_christmas = christmas;
|
2017-11-21 00:34:35 +00:00
|
|
|
m_flip = flip;
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean equals( Object other )
|
|
|
|
{
|
2018-12-29 16:42:02 +00:00
|
|
|
if( other == this ) return true;
|
|
|
|
if( !(other instanceof TurtleModelCombination) ) return false;
|
|
|
|
|
|
|
|
TurtleModelCombination otherCombo = (TurtleModelCombination) other;
|
2019-02-10 09:45:15 +00:00
|
|
|
return otherCombo.m_colour == m_colour &&
|
2018-12-29 16:42:02 +00:00
|
|
|
otherCombo.m_leftUpgrade == m_leftUpgrade &&
|
|
|
|
otherCombo.m_rightUpgrade == m_rightUpgrade &&
|
|
|
|
Objects.equal( otherCombo.m_overlay, m_overlay ) &&
|
|
|
|
otherCombo.m_christmas == m_christmas &&
|
|
|
|
otherCombo.m_flip == m_flip;
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int hashCode()
|
|
|
|
{
|
|
|
|
final int prime = 31;
|
2019-02-10 09:45:15 +00:00
|
|
|
int result = 0;
|
2017-05-11 17:44:02 +00:00
|
|
|
result = prime * result + (m_colour ? 1 : 0);
|
2017-05-01 13:32:39 +00:00
|
|
|
result = prime * result + (m_leftUpgrade != null ? m_leftUpgrade.hashCode() : 0);
|
|
|
|
result = prime * result + (m_rightUpgrade != null ? m_rightUpgrade.hashCode() : 0);
|
|
|
|
result = prime * result + (m_overlay != null ? m_overlay.hashCode() : 0);
|
|
|
|
result = prime * result + (m_christmas ? 1 : 0);
|
2017-11-21 00:34:35 +00:00
|
|
|
result = prime * result + (m_flip ? 1 : 0);
|
2017-05-01 13:32:39 +00:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
2017-11-21 00:34:35 +00:00
|
|
|
|
2019-02-10 09:45:15 +00:00
|
|
|
private final IBakedModel familyModel;
|
|
|
|
private final IBakedModel colourModel;
|
|
|
|
|
2017-05-01 13:32:39 +00:00
|
|
|
private HashMap<TurtleModelCombination, IBakedModel> m_cachedModels;
|
2017-05-01 13:51:26 +00:00
|
|
|
private ItemOverrideList m_overrides;
|
2017-05-01 13:32:39 +00:00
|
|
|
|
2019-02-10 09:45:15 +00:00
|
|
|
public TurtleSmartItemModel( IBakedModel familyModel, IBakedModel colourModel )
|
2017-05-01 13:32:39 +00:00
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
this.familyModel = familyModel;
|
|
|
|
this.colourModel = colourModel;
|
|
|
|
|
2017-06-12 20:08:35 +00:00
|
|
|
m_cachedModels = new HashMap<>();
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
m_overrides = new ItemOverrideList()
|
2017-05-01 13:51:26 +00:00
|
|
|
{
|
2017-05-06 23:07:42 +00:00
|
|
|
@Nonnull
|
2017-05-01 13:51:26 +00:00
|
|
|
@Override
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
public IBakedModel getModelWithOverrides( @Nonnull IBakedModel originalModel, @Nonnull ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity )
|
2017-05-01 13:51:26 +00:00
|
|
|
{
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
ItemTurtle turtle = (ItemTurtle) stack.getItem();
|
2017-05-11 17:44:02 +00:00
|
|
|
int colour = turtle.getColour( stack );
|
2017-05-01 13:51:26 +00:00
|
|
|
ITurtleUpgrade leftUpgrade = turtle.getUpgrade( stack, TurtleSide.Left );
|
|
|
|
ITurtleUpgrade rightUpgrade = turtle.getUpgrade( stack, TurtleSide.Right );
|
|
|
|
ResourceLocation overlay = turtle.getOverlay( stack );
|
|
|
|
boolean christmas = HolidayUtil.getCurrentHoliday() == Holiday.Christmas;
|
2017-11-21 00:34:35 +00:00
|
|
|
String label = turtle.getLabel( stack );
|
|
|
|
boolean flip = label != null && (label.equals( "Dinnerbone" ) || label.equals( "Grumm" ));
|
2019-02-10 09:45:15 +00:00
|
|
|
TurtleModelCombination combo = new TurtleModelCombination( colour != -1, leftUpgrade, rightUpgrade, overlay, christmas, flip );
|
|
|
|
|
|
|
|
IBakedModel model = m_cachedModels.get( combo );
|
|
|
|
if( model == null ) m_cachedModels.put( combo, model = buildModel( combo ) );
|
|
|
|
return model;
|
2017-05-01 13:51:26 +00:00
|
|
|
}
|
|
|
|
};
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
2017-05-06 23:07:42 +00:00
|
|
|
@Nonnull
|
2017-05-01 13:32:39 +00:00
|
|
|
@Override
|
2017-05-01 13:51:26 +00:00
|
|
|
public ItemOverrideList getOverrides()
|
2017-05-01 13:32:39 +00:00
|
|
|
{
|
2017-05-01 13:51:26 +00:00
|
|
|
return m_overrides;
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private IBakedModel buildModel( TurtleModelCombination combo )
|
|
|
|
{
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
Minecraft mc = Minecraft.getInstance();
|
|
|
|
ModelManager modelManager = mc.getItemRenderer().getItemModelMesher().getModelManager();
|
2019-02-10 09:45:15 +00:00
|
|
|
ModelResourceLocation overlayModelLocation = TileEntityTurtleRenderer.getTurtleOverlayModel( combo.m_overlay, combo.m_christmas );
|
|
|
|
|
|
|
|
IBakedModel baseModel = combo.m_colour ? colourModel : familyModel;
|
2019-03-29 21:21:39 +00:00
|
|
|
IBakedModel overlayModel = overlayModelLocation != null ? modelManager.getModel( overlayModelLocation ) : null;
|
2017-11-21 00:34:35 +00:00
|
|
|
Matrix4f transform = combo.m_flip ? s_flip : s_identity;
|
2019-03-29 21:21:39 +00:00
|
|
|
Pair<IBakedModel, Matrix4f> leftModel = combo.m_leftUpgrade != null ? combo.m_leftUpgrade.getModel( null, TurtleSide.Left ) : null;
|
|
|
|
Pair<IBakedModel, Matrix4f> rightModel = combo.m_rightUpgrade != null ? combo.m_rightUpgrade.getModel( null, TurtleSide.Right ) : null;
|
2017-05-01 13:32:39 +00:00
|
|
|
if( leftModel != null && rightModel != null )
|
|
|
|
{
|
2017-11-21 00:34:35 +00:00
|
|
|
return new TurtleMultiModel( baseModel, overlayModel, transform, leftModel.getLeft(), leftModel.getRight(), rightModel.getLeft(), rightModel.getRight() );
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
else if( leftModel != null )
|
|
|
|
{
|
2017-11-21 00:34:35 +00:00
|
|
|
return new TurtleMultiModel( baseModel, overlayModel, transform, leftModel.getLeft(), leftModel.getRight(), null, null );
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
else if( rightModel != null )
|
|
|
|
{
|
2017-11-21 00:34:35 +00:00
|
|
|
return new TurtleMultiModel( baseModel, overlayModel, transform, null, null, rightModel.getLeft(), rightModel.getRight() );
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2017-11-21 00:34:35 +00:00
|
|
|
return new TurtleMultiModel( baseModel, overlayModel, transform, null, null, null, null );
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-05-06 23:07:42 +00:00
|
|
|
@Nonnull
|
2017-05-01 13:32:39 +00:00
|
|
|
@Override
|
2019-06-02 16:23:33 +00:00
|
|
|
@Deprecated
|
Update CC: Tweaked to 1.13
Look, I originally had this split into several commits, but lots of
other cleanups got mixed in. I then backported some of the cleanups to
1.12, did other tidy ups there, and eventually the web of merges was
unreadable.
Yes, this is a horrible mess, but it's still nicer than it was. Anyway,
changes:
- Flatten everything. For instance, there are now three instances of
BlockComputer, two BlockTurtle, ItemPocketComputer. There's also no
more BlockPeripheral (thank heavens) - there's separate block classes
for each peripheral type.
- Remove pretty much all legacy code. As we're breaking world
compatibility anyway, we can remove all the code to load worlds from
1.4 days.
- The command system is largely rewriten to take advantage of 1.13's
new system. It's very fancy!
- WidgetTerminal now uses Minecraft's "GUI listener" system.
- BREAKING CHANGE: All the codes in keys.lua are different, due to the
move to LWJGL 3. Hopefully this won't have too much of an impact.
I don't want to map to the old key codes on the Java side, as there
always ends up being small but slight inconsistencies. IMO it's
better to make a clean break - people should be using keys rather
than hard coding the constants anyway.
- commands.list now allows fetching sub-commands. The ROM has already
been updated to allow fancy usage such as commands.time.set("noon").
- Turtles, modems and cables can be waterlogged.
2019-04-02 12:27:27 +00:00
|
|
|
public List<BakedQuad> getQuads( IBlockState state, EnumFacing facing, @Nonnull Random rand )
|
2017-05-01 13:32:39 +00:00
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.getQuads( state, facing, rand );
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
2019-06-02 16:23:33 +00:00
|
|
|
@Nonnull
|
|
|
|
@Override
|
|
|
|
@Deprecated
|
|
|
|
public List<BakedQuad> getQuads( IBlockState state, EnumFacing facing, @Nonnull Random rand, @Nonnull IModelData data )
|
|
|
|
{
|
|
|
|
return familyModel.getQuads( state, facing, rand, data );
|
|
|
|
}
|
|
|
|
|
2017-05-01 13:32:39 +00:00
|
|
|
@Override
|
|
|
|
public boolean isAmbientOcclusion()
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.isAmbientOcclusion();
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isGui3d()
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.isGui3d();
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isBuiltInRenderer()
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.isBuiltInRenderer();
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
2017-05-06 23:07:42 +00:00
|
|
|
@Nonnull
|
2017-05-01 13:32:39 +00:00
|
|
|
@Override
|
|
|
|
public TextureAtlasSprite getParticleTexture()
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.getParticleTexture();
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
2017-05-06 23:07:42 +00:00
|
|
|
@Nonnull
|
2017-05-01 13:32:39 +00:00
|
|
|
@Override
|
2017-05-07 00:42:32 +00:00
|
|
|
@Deprecated
|
2017-05-01 13:32:39 +00:00
|
|
|
public ItemCameraTransforms getItemCameraTransforms()
|
|
|
|
{
|
2019-02-10 09:45:15 +00:00
|
|
|
return familyModel.getItemCameraTransforms();
|
2017-05-01 13:32:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|