mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 13:07:29 +00:00
i fucking give up, this will not hold up.
This commit is contained in:
1 parent
289baf4131
commit
17eb003a12
3 files changed
+50
-7
No files matched your search
@@ -19,6 +19,7 @@ import noppes.npcs.client.gui.util.IAbilityConfigCallback;
|
||||
import noppes.npcs.entity.EntityNPCInterface;
|
||||
|
||||
import noppes.npcs.api.ability.type.IAbilitySlam;
|
||||
import somehussar.gui.annotationHandling.GuiEditable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,6 +32,7 @@ import java.util.List;
|
||||
* - Landing: When NPC hits ground, deal AOE damage
|
||||
* - RECOVERY: Landing recovery animation
|
||||
*/
|
||||
@GuiEditable
|
||||
public class AbilitySlam extends Ability implements IAbilitySlam {
|
||||
|
||||
// Type-specific config
|
||||
|
||||
@@ -1,19 +1,28 @@
|
||||
package somehussar.gui;
|
||||
|
||||
import noppes.npcs.client.gui.util.GuiNPCInterface;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import noppes.npcs.client.gui.util.GuiNpcLabel;
|
||||
import noppes.npcs.client.gui.util.SubGuiInterface;
|
||||
import somehussar.gui.annotationHandling.GuiFieldHandler;
|
||||
import somehussar.gui.annotationHandling.field.EditableField;
|
||||
|
||||
public class AnnotatedGui extends GuiNPCInterface {
|
||||
public class AnnotatedGui<T> extends SubGuiInterface {
|
||||
private final GuiFieldHandler.ClassMetadata metadata;
|
||||
|
||||
public AnnotatedGui(Class<?> type) {
|
||||
metadata = GuiFieldHandler.getMetadata(type);
|
||||
public AnnotatedGui(T object, String[] groups, GuiScreen parent) {
|
||||
this(object, groups, parent, 256, 216);
|
||||
}
|
||||
|
||||
public AnnotatedGui(T object, String[] groups, GuiScreen parent, int xSize, int ySize) {
|
||||
if (object != null)
|
||||
metadata = GuiFieldHandler.getMetadata(object.getClass());
|
||||
else
|
||||
metadata = null;
|
||||
setBackground("menubg.png");
|
||||
xSize = 256;
|
||||
ySize = 216;
|
||||
this.xSize = xSize;
|
||||
this.ySize = ySize;
|
||||
closeOnEsc = true;
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -23,7 +32,7 @@ public class AnnotatedGui extends GuiNPCInterface {
|
||||
return;
|
||||
|
||||
int i = 0;
|
||||
for (EditableField field : metadata.getDeclaredFields()) {
|
||||
for (EditableField field : metadata.getParent().getDeclaredFields()) {
|
||||
addLabel(new GuiNpcLabel(i++, field.getName(), guiLeft+8, guiTop+i*15+5));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package somehussar.gui;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import noppes.npcs.client.gui.util.GuiNpcTextField;
|
||||
import somehussar.gui.annotationHandling.field.EditableField;
|
||||
|
||||
public class ImmediateTextField extends GuiNpcTextField{
|
||||
private final EditableField editableField;
|
||||
//
|
||||
// private final GuiNpcTextField encapsulatedField;
|
||||
|
||||
public ImmediateTextField(int id, EditableField field, int xPos, int yPos) {
|
||||
this(id, field, Minecraft.getMinecraft().fontRenderer, xPos, yPos);
|
||||
}
|
||||
public ImmediateTextField(int id, EditableField field, FontRenderer fontRenderer, int xPos, int yPos) {
|
||||
super(id, null, fontRenderer, xPos, yPos, 0, 0, null);
|
||||
|
||||
this.editableField = field;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawTextBox(int mousX, int mousY) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(int xPos, int yPos, int k) {
|
||||
xPos -= this.xPosition;
|
||||
yPos -= this.yPosition;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user