/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.pepsoft.worldpainter.layers.renderers;
import static org.pepsoft.minecraft.Constants.*;
import org.pepsoft.minecraft.Material;
import org.pepsoft.worldpainter.ColourScheme;
import static org.pepsoft.worldpainter.layers.GardenCategory.*;
/**
*
* @author pepijn
*/
public class GardenCategoryRenderer implements NibbleLayerRenderer, ColourSchemeRenderer {
public ColourScheme getColourScheme() {
return colourScheme;
}
@Override
public void setColourScheme(ColourScheme colourScheme) {
this.colourScheme = colourScheme;
cobblestoneColour = colourScheme.getColour(BLK_COBBLESTONE);
grassColour = colourScheme.getColour(BLK_GRASS);
dirtColour = colourScheme.getColour(BLK_DIRT);
bricksColour = colourScheme.getColour(BLK_BRICKS);
woodColour = colourScheme.getColour(BLK_WOODEN_PLANK);
waterColour = colourScheme.getColour(BLK_WATER);
objectColour = colourScheme.getColour(Material.WOOL_MAGENTA);
}
@Override
public int getPixelColour(int x, int y, int underlyingColour, int value) {
switch (value) {
case CATEGORY_UNOCCUPIED:
return underlyingColour;
case CATEGORY_ROAD:
return cobblestoneColour;
case CATEGORY_FIELD:
if ((x + y) % 2 == 0) {
return grassColour;
} else {
return dirtColour;
}
case CATEGORY_BUILDING:
return bricksColour;
case CATEGORY_STREET_FURNITURE:
return woodColour;
case CATEGORY_WATER:
return waterColour;
case CATEGORY_OBJECT:
return objectColour;
default:
throw new IllegalArgumentException(Integer.toString(value));
}
}
private ColourScheme colourScheme;
private int cobblestoneColour, grassColour, dirtColour, bricksColour, torchColour, woodColour, waterColour, objectColour;
}