Implemented item models for cables.
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package appeng.items.parts;
|
||||
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@@ -21,13 +24,19 @@ public class ItemMultipartRendering extends ItemRenderingCustomizer
|
||||
@Override
|
||||
public void customize( IItemRendering rendering )
|
||||
{
|
||||
|
||||
rendering.meshDefinition( this::getItemMeshDefinition );
|
||||
|
||||
// Register all item models as variants so they get loaded
|
||||
rendering.variants( Arrays.stream( PartType.values() )
|
||||
.flatMap( part -> part.getItemModels().stream() )
|
||||
.collect( Collectors.toList() ) );
|
||||
}
|
||||
|
||||
private ModelResourceLocation getItemMeshDefinition( ItemStack is )
|
||||
{
|
||||
// TODO: Avoid object creation here. This happens every frame
|
||||
return new ModelResourceLocation( item.getTypeByStack( is ).getModel(), null );
|
||||
PartType partType = item.getTypeByStack( is );
|
||||
int variant = item.variantOf( is.getItemDamage() );
|
||||
return partType.getItemModels().get( variant );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user