Advertisement
Naitenne

TrackSmartModel

Jul 28th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. package net.railsofwar.row.client.track;
  2.  
  3. import com.google.common.collect.ImmutableMap;
  4. import com.google.common.collect.Lists;
  5. import net.minecraft.block.state.IBlockState;
  6. import net.minecraft.client.renderer.block.model.BakedQuad;
  7. import net.minecraft.client.renderer.block.model.IBakedModel;
  8. import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
  9. import net.minecraft.client.renderer.block.model.ItemOverrideList;
  10. import net.minecraft.client.renderer.texture.TextureAtlasSprite;
  11. import net.minecraft.util.EnumFacing;
  12. import net.minecraftforge.client.model.Attributes;
  13. import net.minecraftforge.client.model.IModel;
  14. import net.minecraftforge.client.model.IRetexturableModel;
  15. import net.minecraftforge.client.model.ModelLoader;
  16. import net.minecraftforge.client.model.obj.OBJModel;
  17. import net.minecraftforge.common.model.IModelState;
  18. import net.minecraftforge.common.model.TRSRTransformation;
  19. import net.minecraftforge.common.property.IExtendedBlockState;
  20.  
  21. import javax.annotation.Nullable;
  22. import javax.vecmath.Vector3f;
  23. import java.util.Collections;
  24. import java.util.List;
  25.  
  26. public class TrackModel implements IBakedModel {
  27.    
  28.     public TrackModel() {
  29.         super();
  30.     }
  31.  
  32.     @Override
  33.     public List<BakedQuad> getQuads(@Nullable IBlockState oldState, @Nullable EnumFacing side, long rand) {
  34.         if (side != null) return Collections.emptyList();
  35.         assert IExtendedBlockState.class.isAssignableFrom(oldState.getClass());
  36.  
  37.         IModel model = null;
  38.         if (TrackSegmentModels.straight8vx != null) model = TrackSegmentModels.straight8vx;
  39.         System.out.println("OLOLO RETEXTURING");
  40.         model = ((IRetexturableModel) model).retexture(ImmutableMap.of("#None", "row:block/blockTrack"));
  41.         if (model == null) {
  42.             System.out.println("OLOLO NULL MODEL");
  43.             return Collections.emptyList();
  44.         }
  45.         IModelState state = new OBJModel.OBJState(
  46.                 Lists.newArrayList(OBJModel.Group.ALL),
  47.                 true,
  48.                 new TRSRTransformation(
  49.                         new Vector3f(.5F, 0, .5F),
  50.                         null,
  51.                         new Vector3f(1.0F, 1.0F, 1.0F),
  52.                         null));
  53.         return model.bake(state, Attributes.DEFAULT_BAKED_FORMAT, ModelLoader.defaultTextureGetter()).getQuads(oldState, side, rand);
  54.     }
  55.  
  56.     @Override
  57.     public TextureAtlasSprite getParticleTexture() {
  58.         return null;
  59.     }
  60.  
  61.     @Override
  62.     public boolean isAmbientOcclusion() {
  63.         return false;
  64.     }
  65.  
  66.     @Override
  67.     public boolean isGui3d() {
  68.         return false;
  69.     }
  70.  
  71.     @Override
  72.     public boolean isBuiltInRenderer() {
  73.         return false;
  74.     }
  75.  
  76.     @Override
  77.     public ItemCameraTransforms getItemCameraTransforms() {
  78.         return null;
  79.     }
  80.  
  81.     @Override
  82.     public ItemOverrideList getOverrides() {
  83.         return null;
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement