Skip to content

Instantly share code, notes, and snippets.

@BeYkeRYkt
Created March 19, 2016 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BeYkeRYkt/44008ca45d4bca0514b5 to your computer and use it in GitHub Desktop.
Save BeYkeRYkt/44008ca45d4bca0514b5 to your computer and use it in GitHub Desktop.
Example plugin for LightAPI-2.0.0
package ru.BeYkeRYkt.LightTest;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.beykerykt.lightapi.chunks.ChunkInfo;
import ru.beykerykt.lightapi.chunks.Chunks;
import ru.beykerykt.lightapi.light.LightDataRequest;
import ru.beykerykt.lightapi.light.Lights;
/**
*
* Test plugin for LightAPI
* LightAPI version: 2.0.0
*
* @author BeYkeRYkt
*
*/
public class LightTest extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event) {
String message = event.getMessage();
Player player = event.getPlayer();
Location location = player.getLocation();
int level = 15;
if (message.equals("createasync")) {
LightDataRequest request = Lights.createLight(location, level, true);
Chunks.addChunkToQueue(request);
player.sendMessage(message + ": Async request has been added to queue.");
} else if (message.equals("create")) {
Lights.createLight(location, level, false);
for (ChunkInfo info : Chunks.collectModifiedChunks(location)) {
Chunks.sendChunkUpdate(info);
}
player.sendMessage(message + ": Sync request has been completed");
} else if (message.equals("deleteasync")) {
LightDataRequest request = Lights.deleteLight(location, true);
Chunks.addChunkToQueue(request);
player.sendMessage(message + ": Async request has been added to queue.");
} else if (message.equals("delete")) {
Lights.deleteLight(location, false);
for (ChunkInfo info : Chunks.collectModifiedChunks(location)) {
Chunks.sendChunkUpdate(info);
}
player.sendMessage(message + ": Sync request has been completed");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment