1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.config.ConfigManager;
4 import com.irtimaled.bbor.common.models.BoundingBoxVillage;
5 import com.irtimaled.bbor.common.models.Coords;
6 import org.lwjgl.opengl.GL11;
10 public class VillageRenderer extends AbstractRenderer<BoundingBoxVillage> {
12 public void render(BoundingBoxVillage boundingBox) {
13 renderBoundingBoxVillageAsSphere(boundingBox);
14 if (ConfigManager.drawIronGolemSpawnArea.get() &&
15 boundingBox.getSpawnsIronGolems()) {
16 renderIronGolemSpawnArea(boundingBox);
18 if (ConfigManager.drawVillageDoors.get()) {
19 renderVillageDoors(boundingBox);
23 private void renderIronGolemSpawnArea(BoundingBoxVillage boundingBox) {
24 OffsetPoint offsetCenter = new OffsetPoint(boundingBox.getCenter())
25 .offset(boundingBox.getCenterOffsetX(), 0.0, boundingBox.getCenterOffsetZ());
26 OffsetBox bb = new OffsetBox(offsetCenter, offsetCenter)
29 renderOutlinedCuboid(bb.nudge(), boundingBox.getColor());
32 private void renderVillageDoors(BoundingBoxVillage boundingBox) {
33 OffsetPoint center = new OffsetPoint(boundingBox.getCenter())
34 .offset(boundingBox.getCenterOffsetX(), 0.0, boundingBox.getCenterOffsetZ());
35 Color color = boundingBox.getColor();
37 GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
38 Renderer renderer = Renderer.startLines()
40 for (Coords door : boundingBox.getDoors()) {
41 OffsetPoint point = new OffsetPoint(door).offset(0.5, 0, 0.5);
43 renderer.addPoint(point)
49 private void renderBoundingBoxVillageAsSphere(BoundingBoxVillage boundingBox) {
50 OffsetPoint center = new OffsetPoint(boundingBox.getCenter())
51 .offset(boundingBox.getCenterOffsetX(), 0.0, boundingBox.getCenterOffsetZ());
52 int radius = boundingBox.getRadius();
53 Color color = boundingBox.getColor();
54 int density = ConfigManager.villageSphereDensity.get();
55 int dotSize = ConfigManager.villageSphereDotSize.get();
57 renderSphere(center, radius, color, density, dotSize);