Skip to content

Commit

Permalink
backwards compatibility for magnet
Browse files Browse the repository at this point in the history
  • Loading branch information
pop4959 committed May 19, 2024
1 parent e109021 commit d611397
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/main/java/com/griefcraft/modules/flag/MagnetModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.griefcraft.model.Protection;
import com.griefcraft.scripting.JavaModule;
import com.griefcraft.scripting.event.LWCMagnetPullEvent;
import com.griefcraft.util.EnumUtil;
import com.griefcraft.util.config.Configuration;
import org.bukkit.Bukkit;
import org.bukkit.Location;
Expand All @@ -54,6 +55,10 @@
import java.util.Queue;

public class MagnetModule extends JavaModule {
@SuppressWarnings("ExcessiveLambdaUsage")
private static final EntityType ITEM_ENTITY_TYPE = EnumUtil
.valueOf(EntityType.class, "DROPPED_ITEM") // 1.20.4 and prior
.orElseGet(() -> EntityType.ITEM); // 1.20.5 and above

private Configuration configuration = Configuration.load("magnet.yml");

Expand Down Expand Up @@ -235,7 +240,7 @@ public void run() {

public static boolean isDisplay(Entity entity) {
try {
if (entity.getType() == EntityType.ITEM) {
if (entity.getType() == ITEM_ENTITY_TYPE) {
ItemMeta itemMeta = ((Item) entity).getItemStack().getItemMeta();
if (itemMeta != null && containsLocation(itemMeta.getDisplayName())) {
return true;
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/griefcraft/util/EnumUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.griefcraft.util;

import java.util.Optional;

public class EnumUtil {
public static <T extends Enum<T>> Optional<T> valueOf(final Class<T> enumClass, final String name) {
try {
return Optional.of(Enum.valueOf(enumClass, name));
} catch (IllegalArgumentException | NullPointerException e) {
return Optional.empty();
}
}
}

0 comments on commit d611397

Please sign in to comment.