Extend IContent by IGuiEventListener and implement method hooks
This commit is contained in:
@@ -15,12 +15,18 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
|||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public abstract class Container extends Screen implements IContainer
|
public abstract class Container extends Screen implements IContainer
|
||||||
{
|
{
|
||||||
|
protected final List<IMenu> menus = new ArrayList<IMenu>();
|
||||||
|
|
||||||
protected Container(ITextComponent title)
|
protected Container(ITextComponent title)
|
||||||
{
|
{
|
||||||
super(title);
|
super(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final List<IMenu> menus = new ArrayList<IMenu>();
|
@Override
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
super.init();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T extends Widget> T add(T button)
|
public <T extends Widget> T add(T button)
|
||||||
@@ -34,12 +40,6 @@ public abstract class Container extends Screen implements IContainer
|
|||||||
return textfield;
|
return textfield;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
super.init();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(Menu menu)
|
public void add(Menu menu)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -535,14 +535,9 @@ public class GuiWorldHandler extends Container
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean charTyped(char charTyped, int keyCode)
|
public void mouseMoved(double xPos, double mouseY)
|
||||||
{
|
{
|
||||||
if(this.nameField.isFocused())
|
this.content.mouseMoved(xPos, mouseY);
|
||||||
{
|
|
||||||
this.nameField.setCursorPositionEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.charTyped(charTyped, keyCode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -553,9 +548,47 @@ public class GuiWorldHandler extends Container
|
|||||||
this.nameField.setCursorPositionEnd();
|
this.nameField.setCursorPositionEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.content.mouseClicked(mouseX, mouseY, keyCode))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return super.mouseClicked(mouseX, mouseY, keyCode);
|
return super.mouseClicked(mouseX, mouseY, keyCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseReleased(double mouseX, double mouseY, int keyCode)
|
||||||
|
{
|
||||||
|
if(this.content.mouseReleased(mouseX, mouseY, keyCode))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.mouseReleased(mouseX, mouseY, keyCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseDragged(double mouseX, double mouseY, int keyCode, double deltaX, double deltaY)
|
||||||
|
{
|
||||||
|
if(this.content.mouseDragged(mouseX, mouseY, keyCode, deltaX, deltaY))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.mouseDragged(mouseX, mouseY, keyCode, deltaX, deltaY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseScrolled(double mouseX, double mouseY, double distance)
|
||||||
|
{
|
||||||
|
if(this.content.mouseScrolled(mouseX, mouseY, distance))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.mouseScrolled(mouseX, mouseY, distance);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers)
|
public boolean keyPressed(int keyCode, int scanCode, int modifiers)
|
||||||
{
|
{
|
||||||
@@ -572,9 +605,63 @@ public class GuiWorldHandler extends Container
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.content.keyPressed(keyCode, scanCode, modifiers))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return super.keyPressed(keyCode, scanCode, modifiers);
|
return super.keyPressed(keyCode, scanCode, modifiers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean keyReleased(int keyCode, int scanCode, int modifiers)
|
||||||
|
{
|
||||||
|
if(this.content.keyReleased(keyCode, scanCode, modifiers))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.keyReleased(keyCode, scanCode, modifiers);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean charTyped(char charTyped, int keyCode)
|
||||||
|
{
|
||||||
|
if(this.nameField.isFocused())
|
||||||
|
{
|
||||||
|
this.nameField.setCursorPositionEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.content.charTyped(charTyped, keyCode))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.charTyped(charTyped, keyCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean changeFocus(boolean focus)
|
||||||
|
{
|
||||||
|
if(this.content.changeFocus(focus))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.changeFocus(focus);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMouseOver(double mouseX, double mouseY)
|
||||||
|
{
|
||||||
|
if(this.content.isMouseOver(mouseX, mouseY))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.isMouseOver(mouseX, mouseY);
|
||||||
|
}
|
||||||
|
|
||||||
private void defaultColor()
|
private void defaultColor()
|
||||||
{
|
{
|
||||||
this.defaultColor(1.0F);
|
this.defaultColor(1.0F);
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ import javax.annotation.Nullable;
|
|||||||
import exopandora.worldhandler.builder.ICommandBuilder;
|
import exopandora.worldhandler.builder.ICommandBuilder;
|
||||||
import exopandora.worldhandler.gui.category.Category;
|
import exopandora.worldhandler.gui.category.Category;
|
||||||
import exopandora.worldhandler.gui.container.Container;
|
import exopandora.worldhandler.gui.container.Container;
|
||||||
|
import net.minecraft.client.gui.IGuiEventListener;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public interface IContent
|
public interface IContent extends IGuiEventListener
|
||||||
{
|
{
|
||||||
default void init(Container container)
|
default void init(Container container)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user