1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.config.ConfigManager;
4 import com.irtimaled.bbor.client.models.BoundingBoxBiomeBorder;
5 import com.irtimaled.bbor.common.models.Coords;
9 public class BiomeBorderRenderer extends AbstractRenderer<BoundingBoxBiomeBorder> {
11 public void render(BoundingBoxBiomeBorder boundingBox) {
12 Coords coords = boundingBox.getCoords();
13 OffsetPoint northWest = new OffsetPoint(coords).offset(0, 0.001F, 0);
14 OffsetPoint northEast = northWest.offset(1, 0, 0);
15 OffsetPoint southWest = northWest.offset(0, 0, 1);
17 Color color = Color.GREEN;
18 if (boundingBox.renderNorth()) {
19 render(northWest, northEast, color);
21 if (boundingBox.renderWest()) {
22 render(northWest, southWest, color);
24 if(ConfigManager.renderOnlyCurrentBiome.get()) {
25 OffsetPoint southEast = southWest.offset(1, 0, 0);
26 if (boundingBox.renderSouth()) {
27 render(southWest, southEast, color);
29 if (boundingBox.renderEast()) {
30 render(northEast, southEast, color);
35 private void render(OffsetPoint topCorner1, OffsetPoint topCorner2, Color color) {
38 if(topCorner1.getX() == topCorner2.getX())
40 xOffset = getOffset(topCorner1.getX());
44 zOffset = getOffset(topCorner1.getZ());
47 topCorner1 = topCorner1.offset(xOffset, 0, zOffset);
48 topCorner2 = topCorner2.offset(xOffset, 0, zOffset);
50 renderLine(topCorner1, topCorner2, color);
51 OffsetPoint bottomCorner2 = topCorner2.offset(0, 1, 0);
52 renderFilledFaces(topCorner1, bottomCorner2, color, 30);
53 OffsetPoint bottomCorner1 = topCorner1.offset(0, 1, 0);
54 renderLine(bottomCorner1, bottomCorner2, color);
57 private double getOffset(double value) {
58 return value > 0 ? -0.001F : 0.001F;