Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
erikzimmermann committed May 28, 2024
2 parents 6b5cfa5 + e036c4b commit ab3b357
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -58,7 +59,7 @@ public void onInteract(PlayerInteractEntityEvent e) {
if (!other.isOnline()) return; //npc
if (!p.canSee(other)) return;

RequestManager.request(p, other);
RequestManager.request(p, other, other.getName());
}
}

Expand Down Expand Up @@ -90,4 +91,14 @@ public void onPickup(PlayerPickupItemEvent e) {
}
}

@EventHandler(ignoreCancelled = true)
public void onItemConsume(PlayerItemConsumeEvent event) {
Player player = event.getPlayer();
Trade trade = TradeSystem.handler().getTrade(player);

if(trade == null)
return;

event.setCancelled(true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ private void accept(@NotNull Player sender, @NotNull Invitation invitation) {
return;
}

if (RuleManager.isViolatingRules(sender, other)) return;
if (RuleManager.isViolatingRules(sender, other, invitation.getName())) return;

//call event
Bukkit.getScheduler().runTask(TradeSystem.getInstance(), () -> Bukkit.getPluginManager().callEvent(new TradeRequestResponseEvent(sender.getName(), sender.getUniqueId(), sender, other.getName(), other.getUniqueId(), other, true)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public static void request(@NotNull Player sender, @NotNull String receiver) {
if (InvitationManager.processInvitation(sender, null, invited)) return;
sendRequest(sender, invited);
} else {
request(sender, other);
request(sender, other, receiver);
}
}

Expand All @@ -48,10 +48,10 @@ private static void sendRequest(@NotNull Player sender, @NotNull String invited)
});
}

public static void request(@NotNull Player sender, @Nullable Player other) {
public static void request(@NotNull Player sender, @Nullable Player other, String otherName) {
if (other != null && !other.isOnline()) return; //npc

if (RuleManager.isViolatingRules(sender, other)) return;
if (RuleManager.isViolatingRules(sender, other, otherName)) return;
assert other != null; //already sent a message if other == null

//call event
Expand Down Expand Up @@ -83,11 +83,11 @@ public static void sendRequest(String player, Player recipient) {

SimpleMessage message = new SimpleMessage(recipient, base, TradeSystem.getInstance());

TextComponent accept = new TextComponent(Lang.get("Want_To_Trade_Accept", recipient));
TextComponent accept = new TextComponent(Lang.get("Want_To_Trade_Accept", recipient, new Lang.P("player", player)));
accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, commandAccept + " " + player));
accept.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new net.md_5.bungee.api.chat.BaseComponent[] {new TextComponent(Lang.get("Want_To_Trade_Hover", recipient))}));

TextComponent deny = new TextComponent(Lang.get("Want_To_Trade_Deny", recipient));
TextComponent deny = new TextComponent(Lang.get("Want_To_Trade_Deny", recipient, new Lang.P("player", player)));
deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, commandDeny + " " + player));
deny.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new net.md_5.bungee.api.chat.BaseComponent[] {new TextComponent(Lang.get("Want_To_Trade_Hover", recipient))}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,12 @@ public static TradeInvitePacket.Result isOtherViolatingRules(@NotNull Player oth
return TradeInvitePacket.Result.INVITED;
}

public static boolean isViolatingRules(Player player, Player other) {
public static boolean isViolatingRules(Player player, Player other, String otherName) {
if (isViolatingRules(player)) return true;

//pre rules
if (other == null || !player.canSee(other)) {
Lang.send(player, "Player_Not_Online");
Lang.send(player, "Player_Not_Online", new Lang.P("player", otherName));
return true;
}

Expand Down

0 comments on commit ab3b357

Please sign in to comment.