]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxBiomeBorder.java
e7b4481c9c9225a18f553d6d258915602c73f5f4
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxBiomeBorder.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.BiomeBorderRenderer;
6 import com.irtimaled.bbor.common.BoundingBoxType;
7 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
8 import com.irtimaled.bbor.common.models.Coords;
9
10 public class BoundingBoxBiomeBorder extends AbstractBoundingBox {
11     private static final AbstractRenderer<BoundingBoxBiomeBorder> RENDERER = ClientRenderer.registerRenderer(BoundingBoxBiomeBorder.class, new BiomeBorderRenderer());
12
13     private final Coords coords;
14     private final boolean north;
15     private final boolean east;
16     private final boolean south;
17     private final boolean west;
18
19     public BoundingBoxBiomeBorder(Coords coords, boolean north, boolean east, boolean south, boolean west) {
20         super(BoundingBoxType.BiomeBorder);
21         this.coords = coords;
22         this.north = north;
23         this.east = east;
24         this.south = south;
25         this.west = west;
26     }
27
28     @Override
29     public Boolean intersectsBounds(int minX, int minZ, int maxX, int maxZ) {
30         return coords.getX() >= minX &&
31                 coords.getZ() >= minZ &&
32                 coords.getX() <= maxX &&
33                 coords.getZ() <= maxZ;
34     }
35
36     @Override
37     protected double getDistanceX(double x) {
38         return x - coords.getX();
39     }
40
41     @Override
42     protected double getDistanceY(double y) {
43         return y - coords.getY();
44     }
45
46     @Override
47     protected double getDistanceZ(double z) {
48         return z - coords.getZ();
49     }
50
51     public Coords getCoords() {
52         return coords;
53     }
54
55     public boolean renderNorth() {
56         return north;
57     }
58
59     public boolean renderEast() {
60         return east;
61     }
62
63     public boolean renderSouth() {
64         return south;
65     }
66
67     public boolean renderWest() {
68         return west;
69     }
70
71     @Override
72     public AbstractRenderer<?> getRenderer() {
73         return RENDERER;
74     }
75 }