001/* 002 * Forge Mod Loader 003 * Copyright (c) 2012-2013 cpw. 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser Public License v2.1 006 * which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 008 * 009 * Contributors: 010 * cpw - implementation 011 */ 012 013package cpw.mods.fml.common.modloader; 014 015import java.lang.reflect.Field; 016import java.util.Map; 017 018/** 019 * @author cpw 020 * 021 */ 022public class ModProperty 023{ 024 private String info; 025 private double min; 026 private double max; 027 private String name; 028 private Field field; 029 030 public ModProperty(Field f, String info, Double min, Double max, String name) 031 { 032 this.field = f; 033 this.info = info; 034 this.min = min != null ? min : Double.MIN_VALUE; 035 this.max = max != null ? max : Double.MAX_VALUE; 036 this.name = name; 037 } 038 public ModProperty(Field field, Map<String, Object> annotationInfo) 039 { 040 this(field, (String)annotationInfo.get("info"), (Double)annotationInfo.get("min"), (Double)annotationInfo.get("max"), (String)annotationInfo.get("name")); 041 } 042 043 public String name() 044 { 045 return name; 046 } 047 048 public double min() 049 { 050 return min; 051 } 052 053 public double max() 054 { 055 return max; 056 } 057 058 public String info() 059 { 060 return info; 061 } 062 063 public Field field() 064 { 065 return field; 066 } 067}