Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Building Minecraft Server Modifications

You're reading from   Building Minecraft Server Modifications Discover how to program your own server plugins and augment your Minecraft server with Bukkit

Arrow left icon
Product type Paperback
Published in Sep 2013
Publisher Packt
ISBN-13 9781849696005
Length 142 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
Cody M. Sommer Cody M. Sommer
Author Profile Icon Cody M. Sommer
Cody M. Sommer
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Building Minecraft Server Modifications
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Deploying a CraftBukkit Server FREE CHAPTER 2. Learning the Bukkit API 3. Creating Your First Bukkit Plugin 4. Testing on the CraftBukkit Server 5. Plugin Commands 6. Player Permissions 7. The Bukkit Event System 8. Making Your Plugin Configurable 9. Saving Your Data 10. The Bukkit Scheduler Index

Executing a code asynchronously


We can improve the Warper plugin even more by writing its data to file asynchronously. This will help keep the main thread of the server running smoothly and lag free.

Look at the current save method. We add the data to a YamlConfiguration and then write the configuration to the file. Not all of this method can be run asynchronously. Adding the data to the configuration must be done synchronously to ensure that it is not modified while it is being added. However, the save method call on the configuration may be called asynchronously. We will place the entire try/catch block within a new BukkitRunnable. We will then run it as a task asynchronously. This task will be stored as a static variable in the Warper class. This is shown in the following code:

BukkitRunnable saveRunnable = new BukkitRunnable() {
  @Override
  public void run() {
    try {
      //Write the configuration to our save file
      config.save(new File(plugin.getDataFolder(), "warps.yml"));...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image