1.20.5+ bug fix

This commit is contained in:
Xanadu13
2024-07-31 14:58:57 +08:00
parent 5b23515782
commit 1f8cc45f32
3 changed files with 18 additions and 5 deletions
@@ -34,6 +34,7 @@ import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import static pers.xanadu.enderdragon.util.UpdateChecker.checkUpdate;
@@ -203,8 +204,11 @@ public final class EnderDragon extends JavaPlugin {
Objects.requireNonNull(getCommand("enderdragon")).setTabCompleter(new TabCompleter());
}
private void unregisterCommands(){
Objects.requireNonNull(getCommand("enderdragon")).setExecutor(null);
Objects.requireNonNull(getCommand("enderdragon")).setTabCompleter(null);
Optional.ofNullable(getCommand("enderdragon"))
.ifPresent(command -> {
command.setExecutor(null);
command.setTabCompleter(null);
});
}
private void loadConfig(){
saveDefaultConfig();
@@ -12,6 +12,7 @@ import org.bukkit.potion.PotionEffect;
import pers.xanadu.enderdragon.manager.DragonManager;
import pers.xanadu.enderdragon.manager.WorldManager;
import pers.xanadu.enderdragon.metadata.MyDragon;
import pers.xanadu.enderdragon.util.Version;
import static pers.xanadu.enderdragon.manager.DragonManager.getSpecialKey;
@@ -34,6 +35,7 @@ public class DragonFireballListener implements Listener {
// }
//
// }
private static final Particle ILLEGAL_SPELL_MOB = Version.NBT_UPDATE?null:Particle.valueOf("SPELL_MOB");
@EventHandler(priority = EventPriority.HIGH)
public void OnEffectCloudSpawn(final EntitySpawnEvent e){
@@ -51,8 +53,14 @@ public class DragonFireballListener implements Listener {
effectCloud.setRadiusPerTick((float) myDragon.effect_cloud_expand_speed/20f);
effectCloud.setDuration(myDragon.effect_cloud_duration * 20);
if(myDragon.effect_cloud_color_R != -1){
effectCloud.setParticle(Particle.SPELL_MOB);
effectCloud.setColor(Color.fromRGB(myDragon.effect_cloud_color_R,myDragon.effect_cloud_color_G,myDragon.effect_cloud_color_B));
Color color = Color.fromRGB(myDragon.effect_cloud_color_R,myDragon.effect_cloud_color_G,myDragon.effect_cloud_color_B);
if (Version.NBT_UPDATE){
effectCloud.setParticle(Particle.ENTITY_EFFECT, color);
}
else{
effectCloud.setParticle(ILLEGAL_SPELL_MOB);
}
effectCloud.setColor(color);
}
effectCloud.clearCustomEffects();
for(PotionEffect effect : myDragon.effect_cloud_potion){
@@ -15,6 +15,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
import pers.xanadu.enderdragon.config.Config;
import pers.xanadu.enderdragon.manager.DragonManager;
import pers.xanadu.enderdragon.manager.GlowManager;
import java.util.Collection;
@@ -57,7 +58,7 @@ public class PlayerListener implements Listener {
int amount = item.getAmount();
e.getItem().setAmount(amount-1);
}
EnderCrystal crystal = (EnderCrystal) world.spawnEntity(cen,EntityType.ENDER_CRYSTAL);
EnderCrystal crystal = (EnderCrystal) world.spawnEntity(cen, DragonManager.getENDER_CRYSTAL());
crystal.setShowingBottom(false);
}