Solved Syntax error, insert "AssignmentOperator Expression" to complete Expression

Discussion in 'Plugin Development' started by Xp10d3, Jan 26, 2020.

Thread Status:
Not open for further replies.
  1. Offline

    Xp10d3

    I get an error at this part of my onEnable"
    Code:
          ((HashMap<String, List<String>>) getConfig().getValues(true).forEach((name, plugins) -> {
            WorldCreator name;
            final World world = Bukkit.createWorld(name);
            plugins.forEch(plugin -> supress(Bukkit.getPlugin(name), world));
          }));
    
    I am confused on how to fix this error...
    I just ran the plugin for then sake of getting the console error so here it is:
    Code:
    [16:35:37] [Server thread/ERROR]: Error occurred while enabling DisablePlugin v0.1 (Is it up to date?)
    java.lang.Error: Unresolved compilation problem:
            Syntax error, insert "AssignmentOperator Expression" to complete Expression
            at play.corelia.online.Core.onEnable(Core.java:43) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[server.jar:git-Spigot-f39a89e-4633e6c]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352) [server.jar:git-Spigot-f39a89e-4633e6c]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417) [server.jar:git-Spigot-f39a89e-4633e6c]
            at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:462) [server.jar:git-Spigot-f39a89e-4633e6c]
            at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:376) [server.jar:git-Spigot-f39a89e-4633e6c]
            at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:456) [server.jar:git-Spigot-f39a89e-4633e6c]
            at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:266) [server.jar:git-Spigot-f39a89e-4633e6c]
            at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:783) [server.jar:git-Spigot-f39a89e-4633e6c]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
    
    And my full class:
    Code:
    package play.corelia.online;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import java.util.function.BiPredicate;
    import java.util.logging.Level;
    import org.bukkit.Bukkit;
    import org.bukkit.World;
    import org.bukkit.WorldCreator;
    import org.bukkit.configuration.ConfigurationSection;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.event.HandlerList;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerPortalEvent;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.RegisteredListener;
    import org.bukkit.plugin.java.JavaPlugin;
    public class Core extends JavaPlugin implements Listener {
      
        FileConfiguration config = getConfig();
      
        @Override
        public void onEnable() {
          saveDefaultConfig();
          /*
          ((map<String, List<String>>) getConfig().getValues(true)).forEach((name, plugins) -> {
              final World world = Bukkit.createWorld(name);
              plugins.forEach(plugin -> supress(Bukkit.getPlugin(name), world));
          });
          */
          ((HashMap<String, List<String>>) getConfig().getValues(true).forEach((name, plugins) -> {
            WorldCreator name;
            final World world = Bukkit.createWorld(name);
            plugins.forEch(plugin -> supress(Bukkit.getPlugin(name), world));
          }));
        }
      
        @SuppressWarnings("unchecked")
        static <Type extends Event> void filter(Class<Type> type, BiPredicate<Plugin, Type> filter) {
              HandlerList handler;
            try {
                handler = (HandlerList) type.getDeclaredMethod("getHandlerList").invoke(null);
            } catch (Throwable e) {
                throw new RuntimeException(e);
            }
              Arrays.asList(handler.getRegisteredListeners()).forEach(listener -> {
                handler.unregister(listener);
                handler.register(new RegisteredListener(listener.getListener(), ($, event) -> {
                  if (filter.test(listener.getPlugin(), (Type) event)) listener.callEvent(event);
                }, listener.getPriority(), listener.getPlugin(), false));
              });
        }
        /*
        static <Type extends Event> void filter(HandlerList type, BiPredicate<Plugin, Type> filter) {
            for (final RegisteredListener listener : type.getRegisteredListeners()) {
                HandlerList handler = ;
                handler.unregister(listener);
                handler.register(new RegisteredListener(listener.getListener(), ($, event) -> {
                    if (filter.test(listener.getPlugin(), (Type) event)) listener.callEvent(event);
                }, listener.getPriority(), listener.getPlugin(), false));
            }
        }
        */
      
        /*
        @SuppressWarnings("unlikely-arg-type")
        @EventHandler
        public void supress() {
            ConfigurationSection targetPlugin = config.getConfigurationSection("location.world");
            for (String key : targetPlugin.getKeys(false)) {
                List<String> targetWorld = targetPlugin.getStringList(key);
                filter(PlayerInteractEvent.class, (plugin, event) -> plugin == targetPlugin && event.getPlayer().getWorld().equals(targetWorld));
            }
        }
        */
        @SuppressWarnings("unlikely-arg-type")
        public void supress(PlayerPortalEvent e) {
            Player player = (Player) e.getPlayer();
            ConfigurationSection targetPlugin = config.getConfigurationSection("location.world");
            for (String key : targetPlugin.getKeys(false)) {
                List<String> targetWorld = targetPlugin.getStringList(key);
                if (targetWorld != null) {
                    for (int i = 0; i < targetWorld.size(); i++) {
                        if (targetWorld.contains(player.getWorld())) {
                            filter(PlayerInteractEvent.class, (plugin, event) -> plugin == targetPlugin && event.getPlayer().getWorld().equals(targetWorld));
                        }
                    }
                } else {
                    Bukkit.getServer().getLogger().info(Level.SEVERE + "ERROR! Target World is possibly null! This may crash the server.");
                }
            }
        }
      
    }
    
    
    EDIT: never mind solved
     
    Last edited: Jan 27, 2020
Thread Status:
Not open for further replies.

Share This Page