Add compatibility for xp-gain plugins for generators

This commit is contained in:
Esophose 2019-03-24 03:56:39 -06:00
parent 1875ae6738
commit e867b00e58
2 changed files with 13 additions and 7 deletions

View File

@ -5,10 +5,10 @@ import me.goodandevil.skyblock.config.FileManager.Config;
import me.goodandevil.skyblock.utils.version.Materials;
import me.goodandevil.skyblock.utils.version.NMSUtil;
import me.goodandevil.skyblock.utils.version.Sounds;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.Levelled;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.inventory.ItemStack;
@ -230,12 +230,12 @@ public class GeneratorManager {
}
@SuppressWarnings("deprecation")
public void generateBlock(Generator generator, Block block) {
public BlockState generateBlock(Generator generator, Block block) {
block.setType(Material.AIR);
Materials materials = getRandomMaterials(generator);
if (materials == null) return;
if (materials == null) return block.getState();
skyblock.getSoundManager().playSound(block.getLocation(), Sounds.FIZZ.bukkitSound(),
1.0F, 10.0F);
@ -253,6 +253,8 @@ public class GeneratorManager {
e.printStackTrace();
}
}
return block.getState();
}
public Materials getRandomMaterials(Generator generator) {

View File

@ -295,8 +295,10 @@ public class Block implements Listener {
}
}
event.setCancelled(true);
generatorManager.generateBlock(generator, block);
org.bukkit.block.BlockState genState = generatorManager.generateBlock(generator, block);
event.getToBlock().getState().setType(genState.getType());
event.getToBlock().getState().setData(genState.getData());
return;
}
}
@ -468,8 +470,10 @@ public class Block implements Listener {
}
}
event.setCancelled(true);
generatorManager.generateBlock(generator, block);
org.bukkit.block.BlockState genState = generatorManager.generateBlock(generator, block);
event.getNewState().setType(genState.getType());
event.getNewState().setData(genState.getData());
return;
}
}