Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. public class TeaMakerModel extends SimpleModel{
  2. public static final List<SpriteIdentifier> TEXTURES = OmenaMaitoTeeClient.REGISTRAR.spriteIdList(SpriteAtlasTexture.BLOCK_ATLAS_TEX,
  3. "block/chalcedony");
  4. protected final Sprite innerSide;
  5. protected final Sprite innerTop;
  6. protected final Sprite[] outerSprite = new Sprite[TEXTURES.size()];
  7. protected final Renderer renderer = RendererAccess.INSTANCE.getRenderer();
  8. protected final RenderMaterial outerMaterial = renderer.materialFinder().blendMode(0, BlendMode.TRANSLUCENT).find();
  9.  
  10. protected TeaMakerModel(Sprite sprite, Function<SpriteIdentifier, Sprite> spriteMap) {
  11. super(sprite, ModelHelper.MODEL_TRANSFORM_BLOCK);
  12. innerSide = spriteMap.apply(new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEX, new Identifier("minecraft:block/water_flow")));
  13. innerTop = spriteMap.apply(new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEX, new Identifier("minecraft:block/water_still")));
  14. for (int i = 0; i < outerSprite.length; i++) {
  15. outerSprite[i] = spriteMap.apply(TEXTURES.get(i));
  16. }
  17. }
  18.  
  19. @Override
  20. protected Mesh createMesh() {
  21. final MeshBuilder mb = renderer.meshBuilder();
  22. emitFace(mb.getEmitter(), Direction.UP);
  23. return mb.build();
  24. }
  25.  
  26. protected void emitFace(QuadEmitter qe, Direction face) {
  27. qe.material(outerMaterial)
  28. .square(face, 0, 0, 1, 1, 0)
  29. .spriteColor(0, -1, -1, -1, -1)
  30. .emit();
  31. }
  32. public static TeaMakerModel create(Function<SpriteIdentifier, Sprite> spriteMap) {
  33. return new TeaMakerModel(spriteMap.apply(TEXTURES.get(0)), spriteMap);
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement