Skip to content

Commit

Permalink
Some data work
Browse files Browse the repository at this point in the history
  • Loading branch information
Fureniku committed Mar 29, 2024
1 parent b4f2f5d commit 6272d6d
Show file tree
Hide file tree
Showing 5 changed files with 329 additions and 9 deletions.
105 changes: 105 additions & 0 deletions src/main/java/com/fureniku/roads/data/PaintType.java
@@ -0,0 +1,105 @@
package com.fureniku.roads.data;

import com.fureniku.roads.FurenikusRoads;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.Resource;

import java.awt.*;

public class PaintType {

public static final PaintType WHITE_PAINT = new PaintType("white", new Color(255, 255, 255));
public static final PaintType YELLOW_PAINT = new PaintType("yellow", new Color(255, 255, 0));
public static final PaintType RED_PAINT = new PaintType("red", new Color(255, 0, 0));

private String _name;
private Color _rgbCol;
private int _rCost;
private int _gCost;
private int _bCost;
private ResourceLocation _textureLocation = new ResourceLocation(FurenikusRoads.MODID, "paint_white");
private boolean _recolourWhite = false;

/**
* Construct a paint type, providing the name, colour, and location of the texture.
* This will use the built-in white texture and recolour according to your provided colour.
* @param name The unlocalized name of your paint
* @param col A Java.AWT colour for your paint. Used to calculate costs in this case.
*/
public PaintType(String name, Color col) {
_name = name;
_rgbCol = col;
parseColourToCost(col);
_recolourWhite = true;
}

/**
* Construct a paint type, providing the name, colour, and location of the texture.
* @param name The unlocalized name of your paint
* @param col A Java.AWT colour for your paint. Used to calculate costs in this case.
* @param textureLocation A resource location for the texture. Include your modID!
*/
public PaintType(String name, Color col, ResourceLocation textureLocation) {
_name = name;
_rgbCol = col;
parseColourToCost(col);
_textureLocation = textureLocation;
}

/**
* Construct a paint type, providing the name, colour, and costs.
* This will use the built-in white texture and recolour according to your provided colour.
* the three ints should add up to between 8 and 10 - the total cost of paint units in the paint gun.
* @param name The unlocalized name of your paint
* @param col A Java.AWT colour for your paint. Used to calculate costs in this case.
* @param rCost The unit cost for red paint
* @param gCost The unit cost for green paint
* @param bCost The unit cost for white paint
*/
public PaintType(String name, Color col, int rCost, int gCost, int bCost) {
_name = name;
_rgbCol = col;
_rCost = rCost;
_gCost = gCost;
_bCost = bCost;
_recolourWhite = true;
}

/**
* Construct a paint type, providing the name, colour, and location of the texture.
* @param name The unlocalized name of your paint
* @param col A Java.AWT colour for your paint. Used to calculate costs in this case.
* @param textureLocation A resource location for the texture. Include your modID!
*/
public PaintType(String name, Color col, int rCost, int gCost, int bCost, ResourceLocation textureLocation) {
_name = name;
_rgbCol = col;
_rCost = rCost;
_gCost = gCost;
_bCost = bCost;
}

public String getUnlocalizedName() {
return _name;
}

public String getLocalizedName() {
return "[" + _name + "]"; //TODO
}

public ResourceLocation getTexture() {
return _textureLocation;
}

private void parseColourToCost(Color colIn) {
int sum = colIn.getRed() + colIn.getGreen() + colIn.getBlue();

double percentR = (double)colIn.getRed() / sum * 90;
double percentG = (double)colIn.getGreen() / sum * 90;
double percentB = (double)colIn.getBlue() / sum * 90;

_rCost = (int)Math.round(percentR);
_gCost = (int)Math.round(percentG);
_bCost = (int)Math.round(percentB);
}
}
176 changes: 176 additions & 0 deletions src/main/java/com/fureniku/roads/registrations/PaintStrings.java
@@ -0,0 +1,176 @@
package com.fureniku.roads.registrations;

public class PaintStrings {

//Datagen sheet: https://docs.google.com/spreadsheets/d/1ptgoOWrSwsQg9-Hvd1qLvxPdK0ak1KIUuXFkC29QGwQ/edit#gid=0
public static final String PAINT_LINE_SINGLE_CENTER = "_line_single_center";
public static final String PAINT_LINE_SINGLE_CENTER_THICK = "_line_single_center_thick";
public static final String PAINT_LINE_DOUBLE_CENTER = "_line_double_center";
public static final String PAINT_LINE_DOUBLE_CENTER_THICK = "_line_double_center_thick";
public static final String PAINT_LINE_SINGLE_CENTER_CONNECTING = "_line_single_center_connecting";
public static final String PAINT_LINE_SINGLE_CENTER_CONNECTING_THICK = "_line_single_center_connecting_thick";
public static final String PAINT_LINE_DOUBLE_CENTER_CONNECTING = "_line_double_center_connecting";
public static final String PAINT_LINE_DOUBLE_CENTER_CONNECTING_THICK = "_line_double_center_connecting_thick";
public static final String PAINT_LINE_SINGLE_SIDE = "_line_single_side";
public static final String PAINT_LINE_SINGLE_SIDE_THICK = "_line_single_side_thick";
public static final String PAINT_LINE_DOUBLE_SIDE = "_line_double_side";
public static final String PAINT_LINE_DOUBLE_SIDE_THICK = "_line_double_side_thick";
public static final String PAINT_LINE_SINGLE_SIDE_CONNECTING = "_line_single_side_connecting";
public static final String PAINT_LINE_SINGLE_SIDE_CONNECTING_THICK = "_line_single_side_connecting_thick";
public static final String PAINT_LINE_DOUBLE_SIDE_CONNECTING = "_line_double_side_connecting";
public static final String PAINT_LINE_DOUBLE_SIDE_CONNECTING_THICK = "_line_double_side_connecting_thick";
public static final String PAINT_LINE_SINGLE_FARSIDE = "_line_single_farside";
public static final String PAINT_LINE_SINGLE_FARSIDE_THICK = "_line_single_farside_thick";
public static final String PAINT_LINE_HALFDOUBLE_CENTER = "_line_halfdouble_center";
public static final String PAINT_LINE_DASHDOUBLE_CENTER = "_line_dashdouble_center";
public static final String PAINT_LINE_SHORT_CENTER = "_line_short_center";
public static final String PAINT_LINE_FILTERLANE_SIDE = "_line_filterlane_side";
public static final String PAINT_LINE_CROSSING_CENTER = "_line_crossing_center";

public static final String PAINT_ICON_WHEELCHAIR = "_icon_wheelchair";
public static final String PAINT_ICON_CHEVRON = "_icon_chevron";
public static final String PAINT_ICON_PEDESTRIAN_1x2 = "_icon_pedestrian_1x2";
public static final String PAINT_ICON_MERGEARROW_1x2 = "_icon_mergearrow_1x2";
public static final String PAINT_ICON_GIVEWAY_1x2 = "_icon_giveway_1x2";
public static final String PAINT_ICON_HATCHBOX = "_icon_hatchbox";
public static final String PAINT_ICON_CROSSINGDIAGONAL = "_icon_crossingdiagonal";
public static final String PAINT_ICON_CROSSINGPAINT = "_icon_crossingpaint";
public static final String PAINT_ICON_ARROW = "_icon_arrow";
public static final String PAINT_ICON_ARROWLINE = "_icon_arrowline";
public static final String PAINT_ICON_ARROWDIAGONAL = "_icon_arrowdiagonal";

public static final String PAINT_JUNCTION_FILTER_LEFT_0x0 = "_junction_filter_left_0x0";
public static final String PAINT_JUNCTION_FILTER_LEFT_THIN_0x0 = "_junction_filter_left_thin_0x0";
public static final String PAINT_JUNCTION_FILTER_LEFT_EMPTY_0x0 = "_junction_filter_left_empty_0x0";
public static final String PAINT_JUNCTION_FILTER_RIGHT_0x0 = "_junction_filter_right_0x0";
public static final String PAINT_JUNCTION_FILTER_RIGHT_THIN_0x0 = "_junction_filter_right_thin_0x0";
public static final String PAINT_JUNCTION_FILTER_RIGHT_EMPTY_0x0 = "_junction_filter_right_empty_0x0";
public static final String PAINT_JUNCTION_FORK_MID_1x4 = "_junction_fork_mid_1x4";
public static final String PAINT_JUNCTION_FORK_MID_THIN_1x4 = "_junction_fork_mid_thin_1x4";
public static final String PAINT_JUNCTION_FORKCHEVRON_MID_1x4 = "_junction_forkchevron_mid_1x4";
public static final String PAINT_JUNCTION_FORKCHEVRON_MID_THIN_1x4 = "_junction_forkchevron_mid_thin_1x4";
public static final String PAINT_JUNCTION_CHEVRON_LEFT_A = "_junction_chevron_left_a";
public static final String PAINT_JUNCTION_CHEVRON_LEFT_B = "_junction_chevron_left_b";
public static final String PAINT_JUNCTION_CHEVRON_LEFT_ATHIN = "_junction_chevron_left_athin";
public static final String PAINT_JUNCTION_CHEVRON_LEFT_BTHIN = "_junction_chevron_left_bthin";
public static final String PAINT_JUNCTION_CHEVRON_RIGHT_A = "_junction_chevron_right_a";
public static final String PAINT_JUNCTION_CHEVRON_RIGHT_B = "_junction_chevron_right_b";
public static final String PAINT_JUNCTION_CHEVRON_RIGHT_ATHIN = "_junction_chevron_right_athin";
public static final String PAINT_JUNCTION_CHEVRON_RIGHT_BTHIN = "_junction_chevron_right_bthin";
public static final String PAINT_JUNCTION_LINE_SIDE_CONNECTION = "_junction_line_side_connection";
public static final String PAINT_JUNCTION_LINE_SIDE_CONNECTIONTHIN = "_junction_line_side_connectionthin";
public static final String PAINT_JUNCTION_LINE_SIDE_CONNECTIONTHICK = "_junction_line_side_connectionthick";
public static final String PAINT_JUNCTION_LINE_MID_CONNECTION = "_junction_line_mid_connection";
public static final String PAINT_JUNCTION_MAIN_A = "_junction_main_a";
public static final String PAINT_JUNCTION_MAIN_B = "_junction_main_b";
public static final String PAINT_JUNCTION_CHEVRON_MID = "_junction_chevron_mid";
public static final String PAINT_JUNCTION_CHEVRON_MIDLEFT = "_junction_chevron_midleft";
public static final String PAINT_JUNCTION_CHEVRON_MIDRIGHT = "_junction_chevron_midright";
public static final String PAINT_JUNCTION_CHEVRONLINE_SIDE = "_junction_chevronline_side";

public static final String PAINT_TEXT_SLOW = "_text_slow";
public static final String PAINT_TEXT_STOP = "_text_stop";
public static final String PAINT_TEXT_BIKE = "_text_bike";
public static final String PAINT_TEXT_BUS = "_text_bus";
public static final String PAINT_TEXT_TAXI = "_text_taxi";
public static final String PAINT_TEXT_LANE = "_text_lane";
public static final String PAINT_TEXT_KEEP = "_text_keep";
public static final String PAINT_TEXT_CLEAR = "_text_clear";
public static final String PAINT_TEXT_TURN = "_text_turn";
public static final String PAINT_TEXT_LEFT = "_text_left";
public static final String PAINT_TEXT_RIGHT = "_text_right";
public static final String PAINT_TEXT_ONLY = "_text_only";
public static final String PAINT_TEXT_NO = "_text_no";
public static final String PAINT_TEXT_ENTRY = "_text_entry";
public static final String PAINT_TEXT_BIKEICON = "_text_bikeicon";
public static final String PAINT_TEXT_TOWN = "_text_town";
public static final String PAINT_TEXT_CITY = "_text_city";
public static final String PAINT_TEXT_CTRE = "_text_ctre";
public static final String PAINT_TEXT_SLOW_3x1 = "_text_slow_3x1";
public static final String PAINT_TEXT_STOP_3x1 = "_text_stop_3x1";
public static final String PAINT_TEXT_BIKE_3x1 = "_text_bike_3x1";
public static final String PAINT_TEXT_BUS_3x1 = "_text_bus_3x1";
public static final String PAINT_TEXT_TAXI_3x1 = "_text_taxi_3x1";
public static final String PAINT_TEXT_LANE_3x1 = "_text_lane_3x1";
public static final String PAINT_TEXT_KEEP_3x1 = "_text_keep_3x1";
public static final String PAINT_TEXT_CLEAR_3x1 = "_text_clear_3x1";
public static final String PAINT_TEXT_TURN_3x1 = "_text_turn_3x1";
public static final String PAINT_TEXT_LEFT_3x1 = "_text_left_3x1";
public static final String PAINT_TEXT_RIGHT_3x1 = "_text_right_3x1";
public static final String PAINT_TEXT_ONLY_3x1 = "_text_only_3x1";
public static final String PAINT_TEXT_NO_3x1 = "_text_no_3x1";
public static final String PAINT_TEXT_ENTRY_3x1 = "_text_entry_3x1";
public static final String PAINT_TEXT_BIKEICON_3x1 = "_text_bikeicon_3x1";
public static final String PAINT_TEXT_TOWN_3x1 = "_text_town_3x1";
public static final String PAINT_TEXT_CITY_3x1 = "_text_city_3x1";
public static final String PAINT_TEXT_CTRE_3x1 = "_text_ctre_3x1";

public static final String PAINT_LETTER_A = "_letter_a"; // A
public static final String PAINT_LETTER_B = "_letter_b"; // B
public static final String PAINT_LETTER_C = "_letter_c"; // C
public static final String PAINT_LETTER_D = "_letter_d"; // D
public static final String PAINT_LETTER_E = "_letter_e"; // E
public static final String PAINT_LETTER_F = "_letter_f"; // F
public static final String PAINT_LETTER_G = "_letter_g"; // G
public static final String PAINT_LETTER_H = "_letter_h"; // H
public static final String PAINT_LETTER_I = "_letter_i"; // I
public static final String PAINT_LETTER_J = "_letter_j"; // J
public static final String PAINT_LETTER_K = "_letter_k"; // K
public static final String PAINT_LETTER_L = "_letter_l"; // L
public static final String PAINT_LETTER_M = "_letter_m"; // M
public static final String PAINT_LETTER_N = "_letter_n"; // N
public static final String PAINT_LETTER_O = "_letter_o"; // O
public static final String PAINT_LETTER_P = "_letter_p"; // P
public static final String PAINT_LETTER_Q = "_letter_q"; // Q
public static final String PAINT_LETTER_R = "_letter_r"; // R
public static final String PAINT_LETTER_S = "_letter_s"; // S
public static final String PAINT_LETTER_T = "_letter_t"; // T
public static final String PAINT_LETTER_U = "_letter_u"; // U
public static final String PAINT_LETTER_V = "_letter_v"; // V
public static final String PAINT_LETTER_W = "_letter_w"; // W
public static final String PAINT_LETTER_X = "_letter_x"; // X
public static final String PAINT_LETTER_Y = "_letter_y"; // Y
public static final String PAINT_LETTER_Z = "_letter_z"; // Z
public static final String PAINT_LETTER_0 = "_letter_0"; // 0
public static final String PAINT_LETTER_1 = "_letter_1"; // 1
public static final String PAINT_LETTER_2 = "_letter_2"; // 2
public static final String PAINT_LETTER_3 = "_letter_3"; // 3
public static final String PAINT_LETTER_4 = "_letter_4"; // 4
public static final String PAINT_LETTER_5 = "_letter_5"; // 5
public static final String PAINT_LETTER_6 = "_letter_6"; // 6
public static final String PAINT_LETTER_7 = "_letter_7"; // 7
public static final String PAINT_LETTER_8 = "_letter_8"; // 8
public static final String PAINT_LETTER_9 = "_letter_9"; // 9
public static final String PAINT_LETTER_QUESTION = "_letter_question"; // ?
public static final String PAINT_LETTER_EXCLAIM = "_letter_exclaim"; // !
public static final String PAINT_LETTER_HASH = "_letter_hash"; // #
public static final String PAINT_LETTER_FWSLASH = "_letter_fwslash"; // /
public static final String PAINT_LETTER_BACKSLASH = "_letter_backslash"; // \
public static final String PAINT_LETTER_COLON = "_letter_colon"; // :
public static final String PAINT_LETTER_SEMICOLON = "_letter_semicolon"; // ;
public static final String PAINT_LETTER_BRACKETOPEN = "_letter_bracketopen"; // (
public static final String PAINT_LETTER_BRACKETCLOSE = "_letter_bracketclose"; // )
public static final String PAINT_LETTER_SQBRACKETOPEN = "_letter_sqbracketopen"; // [
public static final String PAINT_LETTER_SQBRACKETCLOSE = "_letter_sqbracketclose"; // ]
public static final String PAINT_LETTER_QUOTEOPEN = "_letter_quoteopen"; // "
public static final String PAINT_LETTER_QUOTECLOSE = "_letter_quoteclose"; // "
public static final String PAINT_LETTER_DOLLAR = "_letter_dollar"; // $
public static final String PAINT_LETTER_POUND = "_letter_pound"; //
public static final String PAINT_LETTER_EURO = "_letter_euro"; //
public static final String PAINT_LETTER_YEN = "_letter_yen"; //
public static final String PAINT_LETTER_PERCENT = "_letter_percent"; // %
public static final String PAINT_LETTER_LESSTHAN = "_letter_lessthan"; // <
public static final String PAINT_LETTER_GREATERTHAN = "_letter_greaterthan"; // >
public static final String PAINT_LETTER_AT = "_letter_at"; // @
public static final String PAINT_LETTER_PLUS = "_letter_plus"; // +
public static final String PAINT_LETTER_MINUS = "_letter_minus"; // -
public static final String PAINT_LETTER_EQUALS = "_letter_equals"; // =
public static final String PAINT_LETTER_ASTERISK = "_letter_asterisk"; // *
public static final String PAINT_LETTER_BRACEOPEN = "_letter_braceopen"; // {
public static final String PAINT_LETTER_BRACECLOSE = "_letter_braceclose"; // }
public static final String PAINT_LETTER_ACCENT_CEDILLA = "_letter_accent_cedilla"; // ◌̧
public static final String PAINT_LETTER_ACCENT_GRAVE = "_letter_accent_grave"; // `
public static final String PAINT_LETTER_ACCENT_ACUTE = "_letter_accent_acute"; // ´
public static final String PAINT_LETTER_ACCENT_CIRCUMFLEX = "_letter_accent_circumflex"; // ˆ
public static final String PAINT_LETTER_ACCENT_UMLAUT = "_letter_accent_umlaut"; // ◌̈
}

0 comments on commit 6272d6d

Please sign in to comment.