]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxMobSpawner.java
d7573f29bd94b91b14e3324aa833256117b41fab
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxMobSpawner.java
1 package com.irtimaled.bbor.client.models;
2
3 import com.irtimaled.bbor.client.ClientRenderer;
4 import com.irtimaled.bbor.client.renderers.AbstractRenderer;
5 import com.irtimaled.bbor.client.renderers.MobSpawnerRenderer;
6 import com.irtimaled.bbor.common.BoundingBoxType;
7 import com.irtimaled.bbor.common.models.BoundingBoxCuboid;
8 import com.irtimaled.bbor.common.models.Coords;
9
10 public class BoundingBoxMobSpawner extends BoundingBoxCuboid {
11     private static final AbstractRenderer<BoundingBoxMobSpawner> RENDERER = ClientRenderer.registerRenderer(BoundingBoxMobSpawner.class, () -> new MobSpawnerRenderer());
12
13     private final Coords coords;
14
15     private BoundingBoxMobSpawner(Coords coords, Coords minCoords, Coords maxCoords) {
16         super(minCoords, maxCoords, BoundingBoxType.MobSpawner);
17         this.coords = coords;
18     }
19
20     public static BoundingBoxMobSpawner from(Coords coords) {
21         Coords minCoords = new Coords(coords.getX() - 5,
22                 coords.getY() - 1,
23                 coords.getZ() - 5);
24         Coords maxCoords = new Coords(coords.getX() + 5,
25                 coords.getY() + 2,
26                 coords.getZ() + 5);
27         return new BoundingBoxMobSpawner(coords, minCoords, maxCoords);
28     }
29
30     public Coords getCoords() {
31         return coords;
32     }
33
34     @Override
35     public AbstractRenderer<?> getRenderer() {
36         return RENDERER;
37     }
38 }