Initial RS-ItemMagnet repository

This commit is contained in:
BigPappa committed 2026-08-13 02:14:48 -05:00
commit a642ec43e7
47 files changed
+7344

No files matched your search

@@ -0,0 +1,157 @@
package com.rsscripting.itemmagnet.managers;
import com.rsscripting.itemmagnet.config.ConfigManager;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.block.Block;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class RSConversionManager {
private static final Map<UUID, PendingConversion>
pendingConversions =
new HashMap<>();
private static final Map<UUID, PendingTargetAssignment>
pendingTargetAssignments =
new HashMap<>();
public static boolean containsFilterItem(
Block block,
ItemStack item
) {
Map<Integer, ItemStack> filterItems =
MachineManager.getAllFilterItems(
block
);
for (ItemStack filterItem
: filterItems.values()) {
if (filterItem == null) {
continue;
}
if (filterItem.isSimilar(
item
)) {
return true;
}
}
return false;
}
/*
|--------------------------------------------------------------------------
| PENDING CONVERSION
|--------------------------------------------------------------------------
*/
public static void startPendingConversion(
Player player,
Block lodestone
) {
long timeoutMillis =
ConfigManager.getConversionTimeout()
* 1000L;
pendingConversions.put(
player.getUniqueId(),
new PendingConversion(
lodestone,
System.currentTimeMillis()
+ timeoutMillis
)
);
}
public static PendingConversion getPendingConversion(
Player player
) {
return pendingConversions.get(
player.getUniqueId()
);
}
public static void removePendingConversion(
Player player
) {
pendingConversions.remove(
player.getUniqueId()
);
}
/*
|--------------------------------------------------------------------------
| PENDING TARGET ASSIGNMENT
|--------------------------------------------------------------------------
*/
public static void startPendingTargetAssignment(
Player player,
Block lodestone
) {
long timeoutMillis =
ConfigManager.getConversionTimeout()
* 1000L;
pendingTargetAssignments.put(
player.getUniqueId(),
new PendingTargetAssignment(
lodestone,
System.currentTimeMillis()
+ timeoutMillis
)
);
}
public static PendingTargetAssignment getPendingTargetAssignment(
Player player
) {
return pendingTargetAssignments.get(
player.getUniqueId()
);
}
public static void removePendingTargetAssignment(
Player player
) {
pendingTargetAssignments.remove(
player.getUniqueId()
);
}
}