Skip to content

Commit 975d1c0

Browse files
Made ready for release
- Changed from plugin to API - Fixed some minor problems - Text is working fine
1 parent a23d60c commit 975d1c0

File tree

7 files changed

+58
-63
lines changed

7 files changed

+58
-63
lines changed

src/main/java/de/littleprogrammer/guiapi/GuiApi.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package de.littleprogrammer.guiapi;
22

3-
import de.littleprogrammer.guiapi.commands.SpawnCommand;
43
import de.littleprogrammer.guiapi.enums.ServerVersion;
54
import de.littleprogrammer.guiapi.listeners.GuiEvents;
65
import de.littleprogrammer.guiapi.listeners.MoveListener;
@@ -14,15 +13,21 @@
1413
import java.util.Map;
1514
import java.util.UUID;
1615

17-
public final class GuiApi extends JavaPlugin {
16+
public final class GuiApi {
1817

1918
private JavaPlugin plugin;
2019
private static GuiApi instance;
2120
private ServerVersion version;
2221
private final Listener listener = new GuiEvents();
22+
private final Listener moveListener = new MoveListener();
2323
private Map<UUID, SimpleGui> guis = new HashMap<>();
2424

25-
@Override
25+
public GuiApi(JavaPlugin plugin) {
26+
this.plugin = plugin;
27+
instance = this;
28+
}
29+
30+
/*@Override
2631
public void onEnable() {
2732
// Plugin startup logic
2833
this.plugin = this;
@@ -34,9 +39,10 @@ public void onEnable() {
3439
@Override
3540
public void onDisable() {
3641
// Plugin shutdown logic
37-
}
42+
}*/
3843

3944
public void init() {
45+
//This method checks the server version, to determine weather it should use the new 1.20.2 teleport interpolation or my own teleport interpolation
4046
String secIndicator = plugin.getServer().getBukkitVersion().split("\\.")[1];
4147
String preTrdIndicator = plugin.getServer().getBukkitVersion().split("\\.")[2];
4248
String trdIndicator = preTrdIndicator.split("-")[0];
@@ -55,10 +61,9 @@ public void init() {
5561
}
5662
}
5763

58-
Bukkit.getPluginManager().registerEvents(this.listener, this.plugin);
59-
Bukkit.getPluginManager().registerEvents(new MoveListener(), this.plugin);
60-
61-
getCommand("spawnGui").setExecutor(new SpawnCommand());
64+
//register the two listeners needed
65+
getPlugin().getServer().getPluginManager().registerEvents(this.listener, this.plugin);
66+
getPlugin().getServer().getPluginManager().registerEvents(this.moveListener, this.plugin);
6267
}
6368

6469
public JavaPlugin getPlugin() {return this.plugin;}

src/main/java/de/littleprogrammer/guiapi/commands/SpawnCommand.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/main/java/de/littleprogrammer/guiapi/components/Button.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ public class Button implements Component {
2626
private Consumer<HoverButtonEvent> hoverAction;
2727
private Consumer<UnHoverButtonEvent> unHoverAction;
2828
private int slot;
29-
private int size = 2;
29+
private float size = 2;
3030
private SimpleGui simpleGui;
31+
private boolean hover = false;
3132

3233
public Button(String texture, String hoverTexture, int slot) {
3334
this.texture = texture;
@@ -137,8 +138,17 @@ public int getSlot() {
137138
public void setGui(SimpleGui gui) {
138139
simpleGui = gui;
139140
}
140-
public Button setSize(int size) {
141+
142+
public Button setSize(float size) {
141143
this.size = size;
142144
return this;
143145
}
146+
147+
public void setHover(boolean hover) {
148+
this.hover = hover;
149+
}
150+
151+
public boolean isHover() {
152+
return hover;
153+
}
144154
}

src/main/java/de/littleprogrammer/guiapi/components/Text.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class Text implements Component {
1212

1313
private String text;
1414
private UUID uuid;
15-
private int size = 2;
15+
private float size = 2;
1616
private TextDisplay textDisplay;
1717
private SimpleGui simpleGui;
1818

@@ -57,15 +57,15 @@ public SimpleGui getGui() {
5757
return simpleGui;
5858
}
5959

60-
public int getSize() {
60+
public float getSize() {
6161
return size;
6262
}
6363

6464
public void setGui(SimpleGui simpleGui) {
6565
this.simpleGui = simpleGui;
6666
}
6767

68-
public Text setSize(int size) {
68+
public Text setSize(float size) {
6969
this.size = size;
7070
return this;
7171
}

src/main/java/de/littleprogrammer/guiapi/listeners/GuiEvents.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,28 @@ public class GuiEvents implements Listener {
1818

1919
@EventHandler
2020
public void onPlayerInteractEvent(PlayerInteractEvent event) {
21-
System.out.println(event.getAction());
21+
final SimpleGui simpleGui = GuiApi.getInstance().getGUI(event.getPlayer());
22+
23+
if (simpleGui == null) return;
24+
25+
Entity awaitenEntity = null;
26+
for (Entity entity : event.getPlayer().getNearbyEntities(7, 7, 7)) {
27+
if (entity instanceof Display && entity.getCustomName() != null) {
28+
if (Calculations.playerLookingAtEntity(event.getPlayer(), entity)) {
29+
awaitenEntity = entity;
30+
break;
31+
}
32+
}
33+
}
34+
35+
if (awaitenEntity == null) { return; }
36+
37+
UUID uuid = UUID.fromString(awaitenEntity.getCustomName());
38+
Component component = simpleGui.getComponent(uuid);
39+
if (!(component instanceof Button)) return;
40+
41+
Button button = (Button) component;
42+
//System.out.println("Click on button: " + button.getUniqueId());
43+
button.getClickAction().accept(new PlayerInteractEntityEvent(event.getPlayer(), button.getEntity()));
2244
}
2345
}

src/main/java/de/littleprogrammer/guiapi/listeners/MoveListener.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void onPlayerMove(PlayerMoveEvent event) {
3030
}
3131

3232
Entity hoveredEntity = null;
33-
for (Entity entity : event.getPlayer().getNearbyEntities(5, 5, 5)) {
33+
for (Entity entity : event.getPlayer().getNearbyEntities(8, 8, 8)) {
3434
if (entity instanceof Display && entity.getCustomName() != null) {
3535
if (Calculations.isInRange(event.getPlayer().getEyeLocation(), entity.getLocation(), 7)) {
3636
hoveredEntity = entity;
@@ -43,12 +43,16 @@ public void onPlayerMove(PlayerMoveEvent event) {
4343
if (simpleGui.getComponent(UUID.fromString(hoveredEntity.getCustomName())) instanceof Button) {
4444
Button button = (Button) simpleGui.getComponent(UUID.fromString(hoveredEntity.getCustomName()));
4545
button.getHoverAction().accept(new HoverButtonEvent(simpleGui, event.getPlayer(), button, button.getHoverText(), button.getText()));
46+
button.setHover(true);
4647
}
4748
} else {
4849
for (Component component : simpleGui.getComponents()) {
4950
if (component instanceof Button) {
5051
Button button = (Button) component;
51-
button.getUnHoverAction().accept(new UnHoverButtonEvent(simpleGui, event.getPlayer(), button, button.getHoverText(), button.getText()));
52+
if (button.isHover()) {
53+
button.getUnHoverAction().accept(new UnHoverButtonEvent(simpleGui, event.getPlayer(), button, button.getHoverText(), button.getText()));
54+
button.setHover(false);
55+
}
5256
}
5357
}
5458
}

src/main/java/de/littleprogrammer/guiapi/utils/Calculations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static Location calculateComponentLocation(SimpleGui simpleGui, Component
5050
}
5151
} else {
5252
//Is content
53-
return centerLoc.clone().add(0, 0.5, 0);
53+
return centerLoc.clone().add(0, 1.5, 0);
5454
}
5555
return null;
5656
}

0 commit comments

Comments
 (0)