Skip to content
This repository was archived by the owner on Jan 3, 2020. It is now read-only.

Commit ee314b0

Browse files
committed
GuiBookBridge
1 parent 99c33b9 commit ee314b0

File tree

5 files changed

+61
-8
lines changed

5 files changed

+61
-8
lines changed

src/main/java/org/devinprogress/YAIF/Bridges/CommonBridgeNoField.java

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,19 @@ public void bindKeys(JTextField tf){
4646
@Override
4747
public void actionPerformed(ActionEvent e) {
4848
final String str=wrapper.getText();
49-
//textChangedByBridge=true;
49+
if(str.equals("")){
50+
dispatch(new Runnable() {
51+
@Override
52+
public void run() {
53+
try{
54+
keyTypedMethod.invoke(gui,'\n',28);
55+
}catch(Exception e){
56+
e.printStackTrace();
57+
}
58+
}
59+
});
60+
return;
61+
}
5062
wrapper.setText("");
5163
dispatch(new Runnable() {
5264
@Override
@@ -69,5 +81,28 @@ public void actionPerformed(ActionEvent e) {
6981
wrapper.bridgeQuit();
7082
}
7183
});
84+
85+
bindKey(tf, KeyEvent.VK_BACK_SPACE, "backsp", new AbstractAction() {
86+
@Override
87+
public void actionPerformed(ActionEvent e) {
88+
String t=wrapper.getText();
89+
if(t.equals("")){
90+
dispatch(new Runnable() {
91+
@Override
92+
public void run() {
93+
try{
94+
keyTypedMethod.invoke(gui,' ',14);
95+
}catch(Exception e){
96+
e.printStackTrace();
97+
}
98+
}
99+
});
100+
return;
101+
}
102+
int pos=wrapper.getCaretPosition();
103+
t=t.substring(0,pos-1)+t.substring(pos);
104+
wrapper.setText(t,pos-1);
105+
}
106+
});
72107
}
73108
}

src/main/java/org/devinprogress/YAIF/Bridges/CommonBridgeTextField.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,14 @@ public void run() {
9191
dispatch(new Runnable() {
9292
@Override
9393
public void run() {
94-
txt.setText(finStr.substring(0, finStr.length() - 1));
9594
try {
96-
keyTypedMethod.invoke(scr, finStr.charAt(finStr.length() - 1), -1);
95+
if(finStr.equals("")){
96+
txt.setText("X");
97+
keyTypedMethod.invoke(scr, ' ',14);
98+
}else {
99+
txt.setText(finStr.substring(0, finStr.length() - 1));
100+
keyTypedMethod.invoke(scr, finStr.charAt(finStr.length() - 1), -1);
101+
}
97102
} catch (Exception e) {
98103
e.printStackTrace();
99104
}
Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
package org.devinprogress.YAIF.Bridges;
22

3-
import net.minecraft.client.gui.GuiScreen;
3+
import net.minecraft.client.gui.GuiScreenBook;
44
import org.devinprogress.YAIF.InputFieldWrapper;
55

66
/**
77
* Created by recursiveg on 14-11-13.
88
*/
99
public class GuiBookBridge extends CommonBridgeNoField{
10+
private GuiScreenBook bookScr=null;
1011

11-
public GuiBookBridge(GuiScreen screen, InputFieldWrapper wrapper) {
12+
public GuiBookBridge(GuiScreenBook screen, InputFieldWrapper wrapper) {
1213
super(screen, wrapper);
14+
bookScr=screen;
1315
}
1416

17+
@Override
18+
public boolean needShow(){
19+
return bookScr.bookIsUnsigned;
20+
//return true;
21+
}
22+
23+
1524
}

src/main/java/org/devinprogress/YAIF/GuiStateManager.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,10 @@ public void TextFieldFocusChanged(GuiScreen screen, GuiTextField textField, bool
7575
bridge = null;
7676
currentTextField=null;
7777
}
78-
if(currentScreen instanceof GuiContainerCreative)
78+
if(currentScreen instanceof GuiContainerCreative) {
7979
wrapper.closeInputField();
80+
bridge=null;
81+
}
8082
}
8183
}
8284

@@ -88,7 +90,7 @@ else if(currentScreen instanceof GuiEditSign)
8890
else if(currentScreen instanceof GuiContainerCreative)
8991
return new CreativeInventoryBridge((GuiContainerCreative)currentScreen,currentTextField,wrapper);
9092
else if(currentScreen instanceof GuiScreenBook)
91-
return new GuiBookBridge(currentScreen,wrapper);
93+
return new GuiBookBridge((GuiScreenBook)currentScreen,wrapper);
9294
else if(hasGuiTextField(currentScreen))
9395
return new CommonBridgeTextField(currentScreen,currentTextField,wrapper);
9496
else//How could this be possible?!
@@ -110,6 +112,7 @@ public void preInitGuiEvent(GuiScreen gui){
110112
else {
111113
incomingScreen = null;
112114
wrapper.closeInputField();
115+
bridge=null;
113116
}
114117
}
115118

@@ -145,7 +148,7 @@ public void postInitGuiEvent(GuiScreen screen) {
145148

146149
public void nullGuiOpenEvent(GuiScreen currentScreen) {
147150
wrapper.closeInputField();
148-
if(currentScreen instanceof GuiEditSign)
151+
if(currentScreen instanceof GuiEditSign||currentScreen instanceof GuiScreenBook)
149152
YetAnotherInputFix.needFocus=true;
150153
bridge=null;
151154
this.currentScreen=null;

src/main/resources/inputfix_at.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ public net.minecraft.client.gui.GuiChat func_73869_a(CI)V #keyTyped
44
public net.minecraft.client.gui.GuiSleepMP func_73869_a(CI)V #keyTyped
55
public net.minecraft.client.gui.GuiChat field_146409_v #defaultInputFieldText
66
public net.minecraft.client.gui.inventory.GuiContainerCreative func_147053_i()V #updateCreativeSearch
7+
public net.minecraft.client.gui.GuiScreenBook field_146475_i #bookIsUnsigned

0 commit comments

Comments
 (0)