1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-10-25 10:57:57 +00:00

Extract required textures from models instead

This ensures we will not get missing texture errors in the future, and
allows resource pack artists to use additional textures.
This commit is contained in:
SquidDev
2018-01-19 13:04:50 +00:00
parent 2e7302e654
commit 80b1170b63

View File

@@ -20,6 +20,7 @@ import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.IResourceManager; import net.minecraft.client.resources.IResourceManager;
import net.minecraft.client.resources.SimpleReloadableResourceManager; import net.minecraft.client.resources.SimpleReloadableResourceManager;
@@ -115,8 +116,23 @@ public class CCTurtleProxyClient extends CCTurtleProxyCommon
MinecraftForge.EVENT_BUS.register( handlers ); MinecraftForge.EVENT_BUS.register( handlers );
} }
public class ForgeHandlers public static class ForgeHandlers
{ {
private static final String[] TURTLE_UPGRADES = {
"turtle_modem_off_left",
"turtle_modem_on_left",
"turtle_modem_off_right",
"turtle_modem_on_right",
"turtle_crafting_table_left",
"turtle_crafting_table_right",
"advanced_turtle_modem_off_left",
"advanced_turtle_modem_on_left",
"advanced_turtle_modem_off_right",
"advanced_turtle_modem_on_right",
"turtle_speaker_upgrade_left",
"turtle_speaker_upgrade_right",
};
private TurtleSmartItemModel m_turtleSmartItemModel; private TurtleSmartItemModel m_turtleSmartItemModel;
public ForgeHandlers() public ForgeHandlers()
@@ -142,25 +158,27 @@ public class CCTurtleProxyClient extends CCTurtleProxyCommon
@SubscribeEvent @SubscribeEvent
public void onTextureStitchEvent( TextureStitchEvent.Pre event ) public void onTextureStitchEvent( TextureStitchEvent.Pre event )
{ {
event.getMap().registerSprite( new ResourceLocation( "computercraft", "blocks/crafty_upgrade" ) ); // Load all textures for upgrades
event.getMap().registerSprite( new ResourceLocation( "computercraft", "blocks/turtle_speaker_face" ) ); TextureMap map = event.getMap();
for( String upgrade : TURTLE_UPGRADES )
{
IModel model = ModelLoaderRegistry.getModelOrMissing( new ResourceLocation( "computercraft", "block/" + upgrade ) );
for( ResourceLocation texture : model.getTextures() )
{
map.registerSprite( texture );
}
}
} }
@SubscribeEvent @SubscribeEvent
public void onModelBakeEvent( ModelBakeEvent event ) public void onModelBakeEvent( ModelBakeEvent event )
{ {
loadModel( event, "turtle_modem_off_left" ); // Load all upgrade models
loadModel( event, "turtle_modem_on_left" ); for( String upgrade : TURTLE_UPGRADES )
loadModel( event, "turtle_modem_off_right" ); {
loadModel( event, "turtle_modem_on_right" ); loadModel( event, upgrade );
loadModel( event, "turtle_crafting_table_left" ); }
loadModel( event, "turtle_crafting_table_right" );
loadModel( event, "advanced_turtle_modem_off_left" );
loadModel( event, "advanced_turtle_modem_on_left" );
loadModel( event, "advanced_turtle_modem_off_right" );
loadModel( event, "advanced_turtle_modem_on_right" );
loadModel( event, "turtle_speaker_upgrade_left" );
loadModel( event, "turtle_speaker_upgrade_right" );
loadSmartModel( event, "turtle_dynamic", m_turtleSmartItemModel ); loadSmartModel( event, "turtle_dynamic", m_turtleSmartItemModel );
} }