9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-26 02:29:14 +00:00

Use direct types

This commit is contained in:
cyberpwn
2021-09-09 08:35:41 -04:00
parent e3a5da64a5
commit c3b1d6735e
4 changed files with 28 additions and 30 deletions

View File

@@ -23,9 +23,11 @@ import com.volmit.iris.util.plugin.PluginRegistryGroup;
import lombok.Data;
import org.bukkit.block.data.BlockData;
import java.util.function.Supplier;
@Data
public class RegistrySVC implements IrisService {
private PluginRegistryGroup<BlockData> customBlockRegistry;
private PluginRegistryGroup<Supplier<BlockData>> customBlockRegistry;
@Override
public void onEnable() {

View File

@@ -40,6 +40,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import static org.bukkit.Material.*;
@@ -448,7 +449,12 @@ public class B {
if(ix.contains(":"))
{
String[] v = ix.toLowerCase().split("\\Q:\\E");
bx = Iris.service(RegistrySVC.class).getCustomBlockRegistry().resolve(v[0], v[1]);
Supplier<BlockData> b = Iris.service(RegistrySVC.class).getCustomBlockRegistry().resolve(v[0], v[1]);
if(b != null)
{
bx = b.get();
}
}
}

View File

@@ -18,18 +18,14 @@
package com.volmit.iris.util.plugin;
import com.volmit.iris.engine.object.annotations.Required;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.collection.KMap;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.bukkit.plugin.Plugin;
import java.util.function.Supplier;
@RequiredArgsConstructor
public class PluginRegistry<T> {
private final KMap<String, Supplier<T>> registry = new KMap<>();
private final KMap<String, T> registry = new KMap<>();
@Getter
private final String namespace;
@@ -50,10 +46,10 @@ public class PluginRegistry<T> {
return null;
}
return registry.get(s).get();
return registry.get(s);
}
public void register(String s, Supplier<T> t)
public void register(String s, T t)
{
registry.put(s, t);
}
@@ -69,13 +65,6 @@ public class PluginRegistry<T> {
return null;
}
Supplier<T> m = registry.get(id);
if(m == null)
{
return null;
}
return m.get();
return registry.get(id);
}
}