Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidOut03 committed Jun 17, 2024
1 parent 5b19ee2 commit eca5194
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 22 deletions.
8 changes: 8 additions & 0 deletions src/main/java/mcapi/davidout/manager/gui/IGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import mcapi.davidout.utils.TextUtils;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
Expand Down Expand Up @@ -44,7 +45,14 @@ public void updateInventory(Inventory inventory) {
}

public void fillInventory(Inventory inventory, ItemStack itemStack) {
fillInventory(inventory, itemStack, true);
}

public void fillInventory(Inventory inventory, ItemStack itemStack, boolean ignoreItems) {
for(int i = 0; i < (this.getRows() * 9); i++) {
if(!ignoreItems && inventory.getItem(i) != null && inventory.getItem(i).getType() != Material.AIR) {
continue;
}
inventory.setItem(i, itemStack);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public String getMessageFromBundle(IMessageBundle bundle, String key) {
entry -> entry.getKey().equalsIgnoreCase(key)
).findFirst()
.map(Map.Entry::getValue)
.orElse("&cCould not find the %message.".replace("%message", key))
.orElse("&cCould not find the message: %message.".replace("%message", key))

.replace("%prefix", bundle.getPrefix())
);
Expand Down
18 changes: 18 additions & 0 deletions src/main/java/mcapi/davidout/utils/ItemCreator.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,23 @@ public static ItemStack createItem(Material material, String displayName, String
, displayName, lore);
}

public static Material getTypeItem(String materialName, String legacyMaterialName) {
return (ServerUtils.versionLowerThan("1.13")) ? Material.getMaterial(legacyMaterialName) : Material.getMaterial(materialName);
}

public static ItemStack getTypeItem(String materialName, String legacyMaterialName, int number) {
Material mat = getTypeItem(materialName, legacyMaterialName);
return (ServerUtils.versionLowerThan("1.13")) ? new ItemStack(mat, 1, (short) number) : new ItemStack(mat);
}

public static ItemStack getTypeItem(Material material, String legacyMaterialName, int number) {
return getTypeItem(material.name(), legacyMaterialName, number);
}

public static ItemStack getTypeItem(String materialName, Material legacyMaterial, int number) {
return getTypeItem(materialName, legacyMaterial.name(), number);
}



}
66 changes: 45 additions & 21 deletions src/main/java/mcapi/davidout/utils/ServerUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,65 @@
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;

import java.util.Arrays;
import java.util.Objects;

public class ServerUtils {

public static String getBukkitVersion() {
String[] parts = Bukkit.getBukkitVersion().split("-|\\."); // Split by hyphen or dot
return parts[0] + "." + parts[1];
public static String getBukkitVersion(int numbers) {
return normalizeVersion(Bukkit.getBukkitVersion(), numbers);
}

public static boolean isVersion(String version) {
return Objects.equals(version, getBukkitVersion());
}

public static boolean isVersion(double versionNumber) {
String serverVersion = getBukkitVersion();
public static String normalizeVersion(String version, int numbers) {
String[] parts = version.split("-|\\.");
StringBuilder s = new StringBuilder(parts[0]);

try {
return Double.parseDouble(
serverVersion
) == versionNumber;
} catch (NumberFormatException ex) {
return false;
for (int i = 1; i < parts.length; i++) {
if (i >= numbers && numbers != -1) {
break;
}
s.append(".").append(parts[i]);
}

return s.toString();
}

public static String normalizeVersion(String version) {
return normalizeVersion(version, -1);
}

public static boolean isVersion(String version) {
return normalizeVersion(getBukkitVersion(version.split("\\.").length)).equalsIgnoreCase(version);
}

public static boolean versionGreaterThan(double versionNumber) {
String serverVersion = getBukkitVersion();
public static boolean versionGreaterThan(String versionNumber) {
String[] serverVersionNumbers = normalizeVersion(Bukkit.getBukkitVersion(), versionNumber.split("\\.").length).split("\\.");
String[] versionNumbers = versionNumber.split("\\.");

try {
double serverVersionNumber = Double.parseDouble(serverVersion);
return serverVersionNumber > versionNumber;
} catch (NumberFormatException ex) {
return false;
for (int i = 0; i < versionNumbers.length; i++) {
if (i >= serverVersionNumbers.length) {
return false;
}

int requestedVersionPart = Integer.parseInt(versionNumbers[i]);
int serverVersionPart = Integer.parseInt(serverVersionNumbers[i]);

if (serverVersionPart < requestedVersionPart) {
return false;
} else if (serverVersionPart > requestedVersionPart) {
return true;
}
}

return false;
}

public static boolean versionLowerThan(String versionNumber) {
return !versionGreaterThan(versionNumber) && !isVersion(versionNumber);
}




}
22 changes: 22 additions & 0 deletions src/test/java/mcapi/davidout/utils/ServerUtilsTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package mcapi.davidout.utils;

import org.bukkit.Bukkit;
import org.junit.Assert;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class ServerUtilsTest {

@Test
void normalizeVersionTest() {
String version = "1.8.8.R0.1.SNAPSHOT";
Assertions.assertEquals(version, ServerUtils.normalizeVersion(version));
Assertions.assertEquals("1.8.8", ServerUtils.normalizeVersion(version, 3));
Assertions.assertEquals("1.8", ServerUtils.normalizeVersion(version, 2));
}


}

0 comments on commit eca5194

Please sign in to comment.