HomeJavaModsPeacefulSkies
PeacefulSkies
ModsJava

PeacefulSkies

A plugin requested by a user in the forums. No commands. No permissions. Config Options: Code (YAML): safeHeight : 110 denyPvP : true…

⬇ Download on Spigot
A plugin requested by a user in the forums.
https://www.spigotmc.org/threads/minimum-pvp-y-level-plugin-request.96389/#post-1056082

No commands. No permissions.

Config Options:
Code (YAML):
safeHeight : 110
denyPvP
: true
denyEntitiesDamagingPlayers
: false
denyPlayersDamagingEntities
: false
denyMessage
: "&4 No fighting here!"
cancelAllDamage
: false
ignoreWorlds
: [ ]

The denyMessage can be disabled by using:
Code (YAML):
denyMessage : ""

Source for anyone that's curious:
Spoiler
Code (Java):

package net.nulll.uso.PeacefulSkies ;

import java.util.ArrayList ;
import java.util.List ;

import org.bukkit.Bukkit ;
import org.bukkit.ChatColor ;
import org.bukkit.entity.Player ;
import org.bukkit.entity.Projectile ;
import org.bukkit.event.entity.EntityDamageByEntityEvent ;
import org.bukkit.event.entity.EntityDamageEvent ;
import org.bukkit.event.EventHandler ;
import org.bukkit.event.EventPriority ;
import org.bukkit.event.Listener ;
import org.bukkit.plugin.java.JavaPlugin ;

public final class PeacefulSkies extends JavaPlugin {
   
    int safeHeight = 0 ;
    boolean denyPvP = false ;
    boolean denyEntitiesDamagingPlayers = false ;
    boolean denyPlayersDamagingEntities = false ;
    boolean cancelAllDamage = false ;
    String denyMessage = null ;
    List <String > ignoredWorlds = null ;
   
    public void onEnable ( ) {
       
        saveDefaultConfig ( ) ;
        reloadConfig ( ) ;
       
        safeHeight = getConfig ( ). getInt ( "safeHeight" ) ;
        denyPvP = getConfig ( ). getBoolean ( "denyPvP" ) ;
        denyEntitiesDamagingPlayers = getConfig ( ). getBoolean ( "denyEntitiesDamagingPlayers" ) ;
        denyPlayersDamagingEntities = getConfig ( ). getBoolean ( "denyPlayersDamagingEntities" ) ;
        cancelAllDamage = getConfig ( ). getBoolean ( "cancelAllDamage" ) ;
        denyMessage = getConfig ( ). getString ( "denyMessage" ) ;
        ignoredWorlds = new ArrayList <String > ( ) ;
        List <String > caseConverter = getConfig ( ). getStringList ( "ignoreWorlds" ) ;
        if (caseConverter == null ) {caseConverter = new ArrayList <String > ( ) ; }
        for ( String worldName : caseConverter ) {
            ignoredWorlds. add (worldName. toLowerCase ( ) ) ;
        }
       
        Bukkit. getPluginManager ( ). registerEvents ( new Listener ( ) {
            @EventHandler (priority = EventPriority. NORMAL )
            private void onPlayerDamaged (EntityDamageByEntityEvent event ) {
                if (event. getEntity ( ). getLocation ( ). getY ( ) > safeHeight && ignoredWorlds. contains (event. getEntity ( ). getWorld ( ). getName ( ). toLowerCase ( ) ) == false ) {
                    if (event. getEntity ( ) instanceof Player ) {
                        if ( (event. getDamager ( ) instanceof Player || (event. getDamager ( ) instanceof Projectile && ( (Projectile )event. getDamager ( ) ). getShooter ( ) instanceof Player ) ) && denyPvP ) {
                            event. setCancelled ( true ) ;
                            if (denyMessage != null && denyMessage. length ( ) > 0 ) {
                                if (event. getDamager ( ) instanceof Player ) {
                                    event. getDamager ( ). sendMessage (format (denyMessage ) ) ;
                                } else if (event. getDamager ( ) instanceof Projectile && ( (Projectile )event. getDamager ( ) ). getShooter ( ) instanceof Player ) {
                                    ( (Player ) ( (Projectile )event. getDamager ( ) ). getShooter ( ) ). sendMessage (format (denyMessage ) ) ;
                                }
                            }
                        } else if ( (event. getDamager ( ) instanceof Player == false && (event. getDamager ( ) instanceof Projectile == false || ( (Projectile )event. getDamager ( ) ). getShooter ( ) instanceof Player == false ) ) && denyEntitiesDamagingPlayers ) {
                            event. setCancelled ( true ) ;
                        }
                    } else if ( (event. getDamager ( ) instanceof Player || (event. getDamager ( ) instanceof Projectile && ( (Projectile )event. getDamager ( ) ). getShooter ( ) instanceof Player ) ) && denyPlayersDamagingEntities ) {
                        event. setCancelled ( true ) ;
                        if (denyMessage != null && denyMessage. length ( ) > 0 ) {
                            if (event. getDamager ( ) instanceof Player ) {
                                event. getDamager ( ). sendMessage (format (denyMessage ) ) ;
                            } else if (event. getDamager ( ) instanceof Projectile && ( (Projectile )event. getDamager ( ) ). getShooter ( ) instanceof Player ) {
                                ( (Player ) ( (Projectile )event. getDamager ( ) ). getShooter ( ) ). sendMessage (format (denyMessage ) ) ;
                            }
                        }
                    }
                }
            }
            @EventHandler (priority = EventPriority. NORMAL )
            private void onPlayerDamaged (EntityDamageEvent event ) {
                if (event. getEntity ( ). getLocation ( ). getY ( ) > safeHeight && ignoredWorlds. contains (event. getEntity ( ). getWorld ( ). getName ( ). toLowerCase ( ) ) == false ) {
                    if (event. getEntity ( ) instanceof Player ) {
                        if (cancelAllDamage ) {
                            event. setCancelled ( true ) ;
                        }
                    }
                }
            }
        }, this ) ;
    }
   
    @Override
    public void onDisable ( ) {
        org. bukkit. event. HandlerList. unregisterAll ( this ) ;
    }
   
    private String format ( String input ) {
        return ChatColor. translateAlternateColorCodes ( '&', input ) ;
    }
}
 

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

PeacefulSkies is a free Minecraft Java mod. Downloaded 150 times (via Spigot). Download it and open it directly in the game.

Explore more