GlobalRegionScheduler

This commit is contained in:
MidnightTale 2023-04-25 01:18:05 +07:00
commit e3e25227f6

View file

@ -7,6 +7,7 @@ import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.data.type.Slab; import org.bukkit.block.data.type.Slab;
import org.bukkit.command.CommandException;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.FallingBlock; import org.bukkit.entity.FallingBlock;
@ -79,16 +80,30 @@ public class FoliaFlow extends JavaPlugin implements Listener {
}), 0L, 1L, TimeUnit.MILLISECONDS); }), 0L, 1L, TimeUnit.MILLISECONDS);
} catch (UnsupportedOperationException ignored) { } catch (UnsupportedOperationException ignored) {
} }
getServer().dispatchCommand(Bukkit.getConsoleSender(), "summon minecraft:block_display 100.0005 48 -0.0005 {block_state:{Name:\"minecraft:obsidian\"},Tags:[\"FoliaFlow_FakeBlock\"]}"); GlobalRegionScheduler scheduler = getServer().getGlobalRegionScheduler();
getServer().getLogger().info("Removed Fake Block Display"); scheduler.execute(this, () -> {
try {
getServer().dispatchCommand(Bukkit.getConsoleSender(), "summon minecraft:block_display 100.0005 48 -0.0005 {block_state:{Name:\"minecraft:obsidian\"},Tags:[\"FoliaFlow_FakeBlock\"]}");
getServer().getLogger().info("Installed fake block display");
} catch (CommandException e) {
getLogger().warning("Error while installing Fake Block Display: " + e.getMessage());
}
});
getServer().getPluginManager().registerEvents(this, this); getServer().getPluginManager().registerEvents(this, this);
} }
@Override @Override
public void onDisable() { public void onDisable() {
getServer().dispatchCommand(getServer().getConsoleSender(), "kill @e[tag=FoliaFlow_FakeBlock]"); GlobalRegionScheduler scheduler = getServer().getGlobalRegionScheduler();
getServer().getLogger().info("Removed Fake Block Display"); scheduler.execute(this, () -> {
try {
getServer().dispatchCommand(getServer().getConsoleSender(), "kill @e[tag=FoliaFlow_FakeBlock]");
getLogger().info("Removed Fake Block Display");
} catch (CommandException e) {
getLogger().warning("Error while removing Fake Block Display: " + e.getMessage());
}
});
task.cancel(); task.cancel();
blockktask.cancel(); blockktask.cancel();
super.onDisable(); super.onDisable();