示例#1
0
    def onPortalCreateEvent(self, event):

        #Check to make sure that it's a portal being lit, not one automatically created by a teleport.
        if event.getReason() == PortalCreateEvent.CreateReason.FIRE:

            #Check if the player near has the permission to light, if so light it.
            for player in Bukkit.getServer().getOnlinePlayers():
                if player.hasPermission("omneity.portal.light"):
                    distance = player.getLocation().distanceSquared(event.getBlocks()[0].getLocation())
                    if 5 <= distance <= 25:
                        event.setCancelled(True)
                        player.sendMessage("-")
                        player.sendMessage(chatcolor.YELLOW + "You, or someone quite near, tried to light a portal.")
                        player.sendMessage(chatcolor.GREEN + "You were able to light that portal!")
                        player.sendMessage(chatcolor.RED + "If it was you that tried to light the portal,")
                        player.sendMessage(chatcolor.RED + "stand inside the portal and light it.")
                        player.sendMessage(chatcolor.GRAY + "This is very finicky - you might have to move up or sideways,")
                        player.sendMessage(chatcolor.GRAY + "especially for really large portals.")
                        player.sendMessage(chatcolor.GRAY + str(distance) + " square meters off - need to be under 5.")
                        player.sendMessage(chatcolor.YELLOW + "Otherwise, ask them to request your assistance in lighting it.")
                        player.sendMessage("-")
                        return
                    player.sendMessage(chatcolor.GREEN + "Portal successfully lit.")
                    return

            #Not able to light - continue on.
            event.setCancelled(True)

            for player in Bukkit.getServer().getOnlinePlayers():
                if player.getLocation().distanceSquared(event.getBlocks()[0].getLocation()) <= 25:
                    player.sendMessage("-")
                    player.sendMessage(chatcolor.YELLOW + "You, or someone quite near, tried to light a portal.")
                    player.sendMessage(chatcolor.RED + "You'll have to modreq for one, as lighting your own is disabled.")
                    player.sendMessage("-")
                    return
示例#2
0
    def onPayGem(self, sender, args):
        if self.iconomy is None:
            sender.sendMessage("Vault not found!")
            return

        if not sender.isOp():
            sender.sendMessage("Only for OP!")
            return

        if len(args) < 3:
            sender.sendMessage("Usage: paygem <player> <cost> <gemname>")
            return

        namePlayer = args[0]
        cost = float(args[1])
        nameGem = args[2]

        player = Bukkit.getPlayer(namePlayer)

        if not self.iconomy.has(namePlayer, cost):
            player.sendMessage(u"%sНе хватает денег на покупку. Требуется %d голд." % (ChatColor.RED, cost))
            return

        self.iconomy.withdrawPlayer(namePlayer, cost)
        server = Bukkit.getServer()
        server.dispatchCommand(server.getConsoleSender(), "md gem %s -a 1 -g %s" % (namePlayer, nameGem))
示例#3
0
	def OnChanMsg(self, name, message):
		if name in self.Muted:
			return

		alias = self.GetAlias(name)

		if alias.IsServer:
			args = message.split()

			if args[0].endswith(':'):
				Bukkit.broadcastMessage(alias.GetTag(args[0][:-1]) + " ".join(args[1:]))
			else:
				Bukkit.broadcastMessage(str(ChatColor.YELLOW) + " ".join(args[:2]) + " " + alias.Name.lower())
		else:
			args = message.split(' ')
			
			if args[0].startswith('%'):
				channel = args[0][1:]

				ChannelChat.GetChan().ChanMsgIRC('&1[&3IRC&1]&f'+name, channel, ' '.join(args[1:]))
			elif args[0].startswith('@'):
				reciever = args[0][1:]
				
				for player in Bukkit.getServer().getOnlinePlayers():
					if player.getName() == reciever:
						player.sendMessage(str(ChatColor.BLUE) + "[" + str(ChatColor.AQUA) + "IRC " + name + " -> me" + str(ChatColor.BLUE) + "]" + str(ChatColor.WHITE) + " " + " ".join(args[1:]))
			else:
				Bukkit.broadcastMessage(alias.GetTag(name) + message)		
示例#4
0
    def onEnable(self):
        try:
            self.pheroes = Bukkit.getServer().getPluginManager().getPlugin("Heroes")
        except:
            print "Heroes plugin ploblems!"

        self.iconomy = PluginVault.setupEconomy()
        if self.iconomy is None:
            print "Vault not found!"
示例#5
0
def spawn(dispname, sender, x, y, z):
    """
    Sends the actual player to sender
    """
    server  = bukkit.getServer().getServer()
    world   = server.getWorldServer(0)                      # main world
    profile = GameProfile(dispname, dispname)               # set player details
    manager = PlayerInteractManager(world)
    entity  = EntityPlayer(server, world, profile, manager) # create Player's entity
    entity.setPosition(x, y, z)
    packet  = PacketPlayOutNamedEntitySpawn(entity)         # create packet for entity spawn
    sender.getHandle().playerConnection.sendPacket(packet)  # send packet
示例#6
0
def spawn(dispname, sender, x, y, z):
    """
    Sends the actual player to sender
    """
    server = bukkit.getServer().getServer()
    world = server.getWorldServer(0)  # main world
    profile = GameProfile(dispname, dispname)  # set player details
    manager = PlayerInteractManager(world)
    entity = EntityPlayer(server, world, profile,
                          manager)  # create Player's entity
    entity.setPosition(x, y, z)
    packet = PacketPlayOutNamedEntitySpawn(
        entity)  # create packet for entity spawn
    sender.getHandle().playerConnection.sendPacket(packet)  # send packet
示例#7
0
	def OnPrivMsg(self, name, message):
		Helper.Info("Private IRC message from %s: %s" % (name, message))

		alias = self.GetAlias(name)
		args = message.split(' ')

		if args[0].startswith('%'):
			channel = args[0][1:]

			ChannelChat.GetChan().ChanMsgIRC('&1[&3IRC&1]&f'+name, channel, ' '.join(args[1:]))
		elif args[0].startswith('@'):
			reciever = args[0][1:]

			for player in Bukkit.getServer().getOnlinePlayers():
				if player.getName() == reciever:
					player.sendMessage(str(ChatColor.BLUE) + "[" + str(ChatColor.AQUA) + "IRC " + name + " -> me" + str(ChatColor.BLUE) + "]" + str(ChatColor.WHITE) + " " + " ".join(args[1:]))
def Severe(Message):
	Bukkit.getServer().getLogger().log(Level.SEVERE, Message)
def Info(Message):
	Bukkit.getServer().getLogger().log(Level.INFO, Message)
示例#10
0
print('Importing command definitions...')

from jycraft.plugin.interpreter import PyContext

from org.bukkit import Bukkit
from org.bukkit import Location
from org.bukkit import Material
from org.bukkit import Effect
from org.bukkit.command import Command
from org.bukkit.event import Listener, EventPriority

from random import *

SERVER = Bukkit.getServer()
WORLD = SERVER.getWorlds().get(0)
MORNING = 2000
NOON = 6000
EVENING = 14000
NIGHT = 18000

# reflection to get command map
_commandMapField = SERVER.getClass().getDeclaredField("commandMap")
_commandMapField.setAccessible(True)
_commandMap = _commandMapField.get(SERVER)

#full list of BlockTypes available in JavaDocs on canarymod.net
AIR = Material.AIR
STONE = Material.STONE
GRASS = Material.GRASS
DIRT = Material.DIRT
COBBLESTONE = Material.COBBLESTONE
示例#11
0
from org.bukkit.command import Command
from org.bukkit.event import Listener, EventPriority, HandlerList
from org.bukkit.scheduler import BukkitRunnable
from org.bukkit.FireworkEffect import Type as FireworkEffectType

from functools import wraps
from threading import Thread

from random import *
from time import sleep

import sys
import traceback


SERVER = Bukkit.getServer()
WORLD  = SERVER.getWorlds().get(0)
PLUGIN = SERVER.getPluginManager().getPlugin('MinecraftPyServer')

_commandMapField = SERVER.getClass().getDeclaredField("commandMap")
_commandMapField.setAccessible(True)
_commandMap = _commandMapField.get(SERVER)

class SpigotRunnable(BukkitRunnable):
    def __init__(self, execfunc):
        super(BukkitRunnable, self).__init__()
        self.execfunc = execfunc
        self.returnval = None
        self.done = False
    def run(self):
        try:
示例#12
0
def severe(message):
    Bukkit.getServer().getLogger().log(Level.SEVERE, message)
示例#13
0
def info(message):
    Bukkit.getServer().getLogger().log(Level.INFO, message)
示例#14
0
 def __init__(self):
     self.bukkit = Bukkit.getServer()
示例#15
0
def Info(Message):
    Bukkit.getServer().getLogger().log(Level.INFO, Message)
示例#16
0
 def write(self, text):
     # TODO: Remove duplication for print()
     Bukkit.getServer().getLogger().info("[PyPlugins] [PRINT]: {}".format(
         text.rstrip()))
示例#17
0
文件: main.py 项目: ulmc/PluginPack
__author__ = 'stsouko'
__plugin_name__ = "UlmcRP-weather"
__plugin_version__ = "0.2"
__plugin_mainclass__ = "ulmc"

from boiler import Logger
from seasoneditor import SeasonEditor

from java.lang import Runnable
from java.io import File
from time import strftime

import org.bukkit.Bukkit as Bukkit

server = Bukkit.getServer()
logs = Logger(__plugin_name__)


class NewChunkTimer(Runnable):
    def __init__(self, world):
        self.world = world
        self.chunks = []

    def add(self, chunk):
        self.chunks += [[chunk.getX(), chunk.getZ(), 2]]

    def run(self):
        for chunk in self.chunks:
            if chunk[2] == 0:
                timer.change(self.world.getChunkAt(chunk[0], chunk[1]))
示例#18
0
def Severe(Message):
    Bukkit.getServer().getLogger().log(Level.SEVERE, Message)