Skip to content

Commit

Permalink
Fix faregate-related bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
Mineshafter61 committed Jan 10, 2025
1 parent dc6e44b commit 3d9a7d2
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 44 deletions.
55 changes: 30 additions & 25 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
plugins {
id 'java'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id "com.gradleup.shadow" version "9.0.0-beta4"
}

group 'mikeshafter'
version '2.20.301'
version '2.20.4'

compileJava.options.encoding 'UTF-8'

Expand Down
5 changes: 2 additions & 3 deletions src/main/java/mikeshafter/iciwi/api/FareGate.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,12 @@ public void onPlayerInteract (PlayerInteractEvent event) {
BlockState signState = clickedLocation.getBlock().getState();

if (!(signState instanceof Sign sign)) {return;}
SignSide side = sign.getSide(sign.getInteractableSideFor(event.getPlayer()));
if (!IciwiUtil.stripColor(IciwiUtil.parseComponent(side.line(0))).contains(header)) {return;}

sign.setWaxed(true);
sign.update(true);

SignSide side = sign.getSide(sign.getInteractableSideFor(event.getPlayer()));
if (!IciwiUtil.stripColor(IciwiUtil.parseComponent(side.line(0))).contains(header)) {return;}

// get sign text
String[] signText = new String[]{
IciwiUtil.parseComponent(side.line(0)).replaceAll("[\\[\\]]", ""),
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/mikeshafter/iciwi/faregate/CardUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@
import mikeshafter.iciwi.api.IcCard;
import java.util.*;
import org.bukkit.Location;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;

public class CardUtil {
private static final Iciwi plugin = Iciwi.getPlugin(Iciwi.class);
Expand Down
9 changes: 7 additions & 2 deletions src/main/java/mikeshafter/iciwi/faregate/Exit.java
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,12 @@ public void onCard (Player player, SignInfo info) {
for (String o : nOwners) railPasses.addAll(owners.getRailPassNames(o));
for (String o : xOwners) railPasses.addAll(owners.getRailPassNames(o));
railPasses.retainAll(cardSql.getAllDiscounts(serial).keySet());
String finalRailPass = Collections.min(railPasses, (r, s) -> Double.compare(owners.getRailPassPercentage(r), owners.getRailPassPercentage(s)));
double pp = owners.getRailPassPercentage(finalRailPass);
double pp = 1f;
String finalRailPass = null;
if (!railPasses.isEmpty()) {
finalRailPass = Collections.min(railPasses, (r, s) -> Double.compare(owners.getRailPassPercentage(r), owners.getRailPassPercentage(s)));
pp = owners.getRailPassPercentage(finalRailPass);
}

// Set final base fare
fare *= pp;
Expand All @@ -125,6 +129,7 @@ public void onCard (Player player, SignInfo info) {
}

// Prepare each company's earnings
// TODO: Case where owners are not found
double nEarning = fare / (2 * nOwners.size());
double xEarning = fare / (2 * xOwners.size());

Expand Down
19 changes: 9 additions & 10 deletions src/main/java/mikeshafter/iciwi/util/IciwiUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public static String parseComponent (final Component c) {
* @return a list of Strings from the list of Components
*/
public static List<String> parseComponents (List<Component> cList) {
return cList.stream().map(IciwiUtil::parseComponent).toList();
return new ArrayList<>(cList.stream().map(IciwiUtil::parseComponent).toList());
}

/**
Expand All @@ -57,7 +57,7 @@ public static List<String> parseComponents (List<Component> cList) {
* @return a list of Components from the list of Strings
*/
public static List<Component> toComponents (List<String> sList) {
return sList.stream().map(c -> (Component) Component.text(c)).toList();
return new ArrayList<>(sList.stream().map(c -> (Component) Component.text(c)).toList());
}

/* UNUSED
Expand Down Expand Up @@ -138,14 +138,13 @@ public static ItemStack makeItem (final Material material, final int customModel
* @param line line of lore to punch (starting from Line 0)
*/
public static void punchTicket (ItemStack ticket, int line) {
if (loreCheck(ticket)) {
var meta = ticket.getItemMeta();
List<String> lore = parseComponents(Objects.requireNonNull(meta.lore()));
if (line < lore.size() && !lore.get(line).contains("•")) {
lore.set(line, lore.get(line) + " •");
meta.lore(toComponents(lore));
ticket.setItemMeta(meta);
}
if (!loreCheck(ticket)) {return;}
var meta = ticket.getItemMeta();
List<String> lore = parseComponents(Objects.requireNonNull(meta.lore()));
if (line < lore.size() && !lore.get(line).contains("•")) {
lore.set(line, lore.get(line) + " •");
meta.lore(toComponents(lore));
ticket.setItemMeta(meta);
}
}

Expand Down

0 comments on commit 3d9a7d2

Please sign in to comment.