1414
1515public class GuiNewOre extends GuiScreen {
1616 private GuiTextField oreName ;
17+ private GuiTextField oreMeta ;
1718 private GuiTextField oreIdent ;
1819 private GuiSlider redSlider ;
1920 private GuiSlider greenSlider ;
@@ -22,15 +23,16 @@ public class GuiNewOre extends GuiScreen {
2223
2324 private boolean oreNameCleared = false ;
2425 private boolean oreIdentCleared = false ;
25-
26+ private boolean oreMetaCleared = false ;
27+
2628 @ Override
2729 public void initGui ()
28- {
29- // Called when the gui should be (re)created
30+ {
31+ // Called when the gui should be (re)created
3032 this .buttonList .add ( new GuiButton ( 98 , width / 2 + 5 , height / 2 + 58 , 108 , 20 , "Add" ) ); // Add button
3133 this .buttonList .add ( new GuiButton ( 99 , width / 2 - 108 , height / 2 + 58 , 108 , 20 , "Cancel" ) ); // Cancel button
3234
33- //this.buttonList.add( new GuiButton( 8, width / 2 - 102, height / 2 + 80, 105, 20, "test" ) ); // Cancel button
35+ //this.buttonList.add( new GuiButton( 8, width / 2 - 102, height / 2 + 80, 105, 20, "test" ) ); // Cancel button
3436
3537 this .buttonList .add ( new GuiSlider ( 1 , width / 2 - 108 , height / 2 - 63 , "Red" , 0 , 255 ) );
3638 this .buttonList .add ( new GuiSlider ( 2 , width / 2 - 108 , height / 2 - 40 , "Green" , 0 , 255 ) );
@@ -57,13 +59,15 @@ public void initGui()
5759 redSlider .sliderValue = 0.0F ;
5860 greenSlider .sliderValue = 1.0F ;
5961 blueSlider .sliderValue = 0.0F ;
60-
62+
6163 oreName = new GuiTextField ( 1 , this .fontRenderer , width / 2 - 108 , height / 2 + 8 , 220 , 20 );
62- oreIdent = new GuiTextField ( 0 , this .fontRenderer , width / 2 - 108 , height / 2 + 32 , 220 , 20 );
63- oreName .setText ( "Block Name" );
64- oreIdent .setText ( "ID:META" ); // TODO: oreName
64+ oreIdent = new GuiTextField ( 0 , this .fontRenderer , width / 2 - 108 , height / 2 + 32 , 185 , 20 );
65+ oreMeta = new GuiTextField ( 3 , this .fontRenderer , width / 2 + 82 , height / 2 + 32 , 30 , 20 );
66+ oreName .setText ( "Gui Name" );
67+ oreIdent .setText ( "minecraft:grass" );
68+ oreMeta .setText ( "Meta" );
6569 }
66-
70+
6771 @ Override
6872 public void actionPerformed ( GuiButton button ) // Called on left click of GuiButton
6973 {
@@ -72,22 +76,22 @@ public void actionPerformed( GuiButton button ) // Called on left click of GuiBu
7276 case 98 : // Add
7377 int [] rgb = {(int )(redSlider .sliderValue * 255 ), (int )(greenSlider .sliderValue * 255 ), (int )(blueSlider .sliderValue * 255 )};
7478
75- OresSearch .add (oreIdent .getText (), oreName .getText (), rgb );
76-
79+ OresSearch .add (oreIdent .getText (), oreMeta . getText (), oreName .getText (), rgb );
80+
7781 mc .player .closeScreen ();
7882 mc .displayGuiScreen ( new GuiSettings () );
7983 break ;
80-
84+
8185 case 99 : // Cancel
8286 mc .player .closeScreen ();
8387 mc .displayGuiScreen ( new GuiSettings () );
8488 break ;
85-
89+
8690 default :
8791 break ;
8892 }
8993 }
90-
94+
9195 @ Override
9296 protected void keyTyped ( char par1 , int par2 ) // par1 is char typed, par2 is ascii hex (tab=15 return=28)
9397 {
@@ -112,6 +116,17 @@ protected void keyTyped( char par1, int par2 ) // par1 is char typed, par2 is as
112116 else if ( oreIdent .isFocused () )
113117 {
114118 oreIdent .textboxKeyTyped ( par1 , par2 );
119+ if ( par2 == 15 )
120+ {
121+ oreIdent .setFocused ( false );
122+ if ( !oreMetaCleared )
123+ oreMeta .setText ("" );
124+ oreMeta .setFocused ( true );
125+ }
126+ }
127+ else if ( oreMeta .isFocused () )
128+ {
129+ oreMeta .textboxKeyTyped ( par1 , par2 );
115130 if ( par2 == 28 )
116131 this .actionPerformed ( addButton );
117132 }
@@ -125,25 +140,26 @@ else if( oreIdent.isFocused() )
125140 oreName .setFocused ( true );
126141 break ;
127142 case 1 : // Exit on escape
128- mc .displayGuiScreen ( new GuiSettings () );
143+ mc .displayGuiScreen ( new GuiSettings () );
129144 mc .player .closeScreen ();
130145 default :
131146 break ;
132147 }
133148 }
134149 }
135-
150+
136151 @ Override
137152 public boolean doesGuiPauseGame () // Dont pause the game in single player.
138153 {
139154 return false ;
140155 }
141-
156+
142157 @ Override
143158 public void updateScreen ()
144- {
159+ {
145160 oreName .updateCursorCounter ();
146161 oreIdent .updateCursorCounter ();
162+ oreMeta .updateCursorCounter ();
147163 }
148164
149165 @ Override
@@ -158,6 +174,7 @@ public void drawScreen( int x, int y, float f )
158174
159175 oreName .drawTextBox ();
160176 oreIdent .drawTextBox ();
177+ oreMeta .drawTextBox ();
161178
162179 Tessellator tessellator = Tessellator .getInstance ();
163180 BufferBuilder tessellate = tessellator .getBuffer ();
@@ -182,7 +199,7 @@ public void drawScreen( int x, int y, float f )
182199 // IIcon icon = net.minecraft.block.Block.getBlockById(3).getIcon( 1, 2 );
183200 // renderItem.renderIcon(50, 50, icon, 16, 16);
184201 }
185-
202+
186203 @ Override
187204 public void mouseClicked ( int x , int y , int mouse )
188205 {
@@ -191,9 +208,11 @@ public void mouseClicked( int x, int y, int mouse )
191208 } catch (IOException e ) {
192209 e .printStackTrace ();
193210 }
211+
194212 oreName .mouseClicked ( x , y , mouse );
195213 oreIdent .mouseClicked ( x , y , mouse );
196-
214+ oreMeta .mouseClicked ( x , y , mouse );
215+
197216 if ( oreName .isFocused () && !oreNameCleared )
198217 {
199218 oreName .setText ( "" );
@@ -204,19 +223,29 @@ public void mouseClicked( int x, int y, int mouse )
204223 oreIdent .setText ( "" );
205224 oreIdentCleared = true ;
206225 }
226+ if ( oreMeta .isFocused () && !oreMetaCleared )
227+ {
228+ oreMeta .setText ( "" );
229+ oreMetaCleared = true ;
230+ }
207231
208- // TODO: fix bug where if you type then remove it the text will not be put back.
209- if ( !oreName .isFocused () && oreNameCleared && Objects .equals (oreName .getText (), "" ))
210- {
211- oreNameCleared = false ;
212- oreName .setText ( "Name of block" );
213- }
214-
215- if ( !oreIdent .isFocused () && oreIdentCleared && Objects .equals (oreIdent .getText (), "" ))
216- {
217- oreIdentCleared = false ;
218- oreIdent .setText ( "ID:META" );
219- }
232+ if ( !oreName .isFocused () && oreNameCleared && Objects .equals (oreName .getText (), "" ))
233+ {
234+ oreNameCleared = false ;
235+ oreName .setText ( "Gui Name" );
236+ }
237+
238+ if ( !oreIdent .isFocused () && oreIdentCleared && Objects .equals (oreIdent .getText (), "" ))
239+ {
240+ oreIdentCleared = false ;
241+ oreIdent .setText ( "minecraft:grass" );
242+ }
243+
244+ if ( !oreMeta .isFocused () && oreMetaCleared && Objects .equals (oreMeta .getText (), "" ))
245+ {
246+ oreMetaCleared = false ;
247+ oreMeta .setText ( "Meta" );
248+ }
220249//
221250// if( mouse == 1 ) // Right clicked
222251// {
0 commit comments