Идея Плагин ред бул

  • Автор темы Автор темы yanderu2
  • Дата начала Дата начала

yanderu2

Активный участник
Пользователь
Баллы
78
Имя в Minecraft
adampearson
Создать крафт зелей который дают fly на 1 минуту и скорость, на 1.6.4 поможете, там 2 немного вроде, может 30 рублей не больше стоит запрос. И помощь со временен перевести на 1.7.2
 
Это уже будет мод, если с крафтом.
Можно на зелье наложить эффект
 
Бесплатно это никто делать не будет, на bukkit.org - возможно бесплатно
 
Написал тебе бесплатно с крафтом на варскрипте.
Установка:
1) установить VarScript
2) установить скриптовый движок Groovy
3) установить модуль metaclasses.groovy
4) поставить этот модуль. (создать файл plugins/VarScript/scripts/groovy/modules/RedBull.groovy)
Код:
import org.bukkit.event.player.PlayerItemConsumeEvent
import org.bukkit.event.EventPriority
import org.bukkit.event.player.PlayerQuitEvent
import org.bukkit.event.entity.PlayerDeathEvent
import org.*********ventory.ShapelessRecipe
import org.*********ventory.ItemStack

import static org.bukkit.Material.*



def params = [
    time:30,  // Длительность эффекта в секундах
    itemName:+"&r&k...&4&lRedBull&r&k..." // название предмета
]

def metaclasses = program.require("metaclasses")
if(!metaclasses) return null

listen (EventPriority.HIGHEST) { PlayerItemConsumeEvent event ->
    def item = event.item
    def player = event.player
    def speed = player.flySpeed

    if (item.typeId != 373) return
    if (item.data.data != 0) return
    if (item.itemMeta.displayName != params.itemName) return
    if ( !player.hasPermission("redbull.drink") ) return event.cancelled = true
    if (player.allowFlight) return event.cancelled = true

    player.allowFlight = true
    player.flySpeed = 0.3
    player.walkSpeed = 0.8

    def trigger

    def stop = {
        player.allowFlight = false
        player.flySpeed = speed
        player.fallDistance = 0
        player.walkSpeed = 0.2
        trigger.stop()
        triggerTwo.stop()
    }
    def timer = onTicks(params.time*20){
        stop()
    }
    trigger = listen { PlayerQuitEvent e ->
        def p = e.player
        if (player != p) return
        stop()
        timer.stop()
    }
    triggerTwo = listen {PlayerDeathEvent e ->
        def p = e.entity
        if (player != p) return
        stop()
        timer.stop()
    }
}

ItemStack redbull = new ItemStack(373)
def meta = redbull.itemMeta
meta.displayName = params.itemName
redbull.itemMeta = meta

ShapelessRecipe recipe = new ShapelessRecipe(redbull)
recipe.addIngredient(LEATHER)
recipe.addIngredient(POTION)
recipe.addIngredient(GOLD_NUGGET)
recipe.addIngredient(NETHER_STALK)
recipe.addIngredient(RAW_BEEF)
recipe.addIngredient(FEATHER)

Server.addRecipe(recipe)

return [ name:"RedBull",version:[0,1],params:params ]
Для зелья нужен пермит redbull.drink
 
Написал тебе бесплатно с крафтом на варскрипте.
Установка:
1) установить VarScript
2) установить скриптовый движок Groovy
3) установить модуль metaclasses.groovy
4) поставить этот модуль. (создать файл plugins/VarScript/scripts/groovy/modules/RedBull.groovy)
Код:
import org.bukkit.event.player.PlayerItemConsumeEvent
import org.bukkit.event.EventPriority
import org.bukkit.event.player.PlayerQuitEvent
import org.bukkit.event.entity.PlayerDeathEvent
import org.*********ventory.ShapelessRecipe
import org.*********ventory.ItemStack

import static org.bukkit.Material.*



def params = [
    time:30,  // Длительность эффекта в секундах
    itemName:+"&r&k...&4&lRedBull&r&k..." // название предмета
]

def metaclasses = program.require("metaclasses")
if(!metaclasses) return null

listen (EventPriority.HIGHEST) { PlayerItemConsumeEvent event ->
    def item = event.item
    def player = event.player
    def speed = player.flySpeed

    if (item.typeId != 373) return
    if (item.data.data != 0) return
    if (item.itemMeta.displayName != params.itemName) return
    if ( !player.hasPermission("redbull.drink") ) return event.cancelled = true
    if (player.allowFlight) return event.cancelled = true

    player.allowFlight = true
    player.flySpeed = 0.3
    player.walkSpeed = 0.8

    def trigger

    def stop = {
        player.allowFlight = false
        player.flySpeed = speed
        player.fallDistance = 0
        player.walkSpeed = 0.2
        trigger.stop()
        triggerTwo.stop()
    }
    def timer = onTicks(params.time*20){
        stop()
    }
    trigger = listen { PlayerQuitEvent e ->
        def p = e.player
        if (player != p) return
        stop()
        timer.stop()
    }
    triggerTwo = listen {PlayerDeathEvent e ->
        def p = e.entity
        if (player != p) return
        stop()
        timer.stop()
    }
}

ItemStack redbull = new ItemStack(373)
def meta = redbull.itemMeta
meta.displayName = params.itemName
redbull.itemMeta = meta

ShapelessRecipe recipe = new ShapelessRecipe(redbull)
recipe.addIngredient(LEATHER)
recipe.addIngredient(POTION)
recipe.addIngredient(GOLD_NUGGET)
recipe.addIngredient(NETHER_STALK)
recipe.addIngredient(RAW_BEEF)
recipe.addIngredient(FEATHER)

Server.addRecipe(recipe)

return [ name:"RedBull",version:[0,1],params:params ]
Для зелья нужен пермит redbull.drink
Четно не понел что делать помоги
 
Четно не понел что делать помоги
Тебе же всё по пунктам объяснили!

Вот на "лёгком" языке:

1. Установить плагин VarScript
2. Установить Groovy (найди в гугле или где-нить ещё)
3. Установи metaclasses.groovy (Его кинуть по пути: plugins/VarScript/scripts/groovy/modules/ )
4. Поставить этот модуль.создать файл RedBull.groovy (Создаёшь файл текстовый документ, туда вставляешь :
Код:
import org.bukkit.event.player.PlayerItemConsumeEvent
import org.bukkit.event.EventPriority
import org.bukkit.event.player.PlayerQuitEvent
import org.bukkit.event.entity.PlayerDeathEvent
import org.*********ventory.ShapelessRecipe
import org.*********ventory.ItemStack
import static org.bukkit.Material.*
def params = [
    time:30,  // Длительность эффекта в секундах
    itemName:+"&r&k...&4&lRedBull&r&k..." // название предмета
]
def metaclasses = program.require("metaclasses")
if(!metaclasses) return null
listen (EventPriority.HIGHEST) { PlayerItemConsumeEvent event ->
    def item = event.item
    def player = event.player
    def speed = player.flySpeed
    if (item.typeId != 373) return
    if (item.data.data != 0) return
    if (item.itemMeta.displayName != params.itemName) return
    if ( !player.hasPermission("redbull.drink") ) return event.cancelled = true
    if (player.allowFlight) return event.cancelled = true
    player.allowFlight = true
    player.flySpeed = 0.3
    player.walkSpeed = 0.8
    def trigger
    def stop = {
        player.allowFlight = false
        player.flySpeed = speed
        player.fallDistance = 0
        player.walkSpeed = 0.2
        trigger.stop()
        triggerTwo.stop()
    }
    def timer = onTicks(params.time*20){
        stop()
    }
    trigger = listen { PlayerQuitEvent e ->
        def p = e.player
        if (player != p) return
        stop()
        timer.stop()
    }
    triggerTwo = listen {PlayerDeathEvent e ->
        def p = e.entity
        if (player != p) return
        stop()
        timer.stop()
    }
}
ItemStack redbull = new ItemStack(373)
def meta = redbull.itemMeta
meta.displayName = params.itemName
redbull.itemMeta = meta
ShapelessRecipe recipe = new ShapelessRecipe(redbull)
recipe.addIngredient(LEATHER)
recipe.addIngredient(POTION)
recipe.addIngredient(GOLD_NUGGET)
recipe.addIngredient(NETHER_STALK)
recipe.addIngredient(RAW_BEEF)
recipe.addIngredient(FEATHER)
Server.addRecipe(recipe)
return [ name:"RedBull",version:[0,1],params:params ]
, нажимаешь "Сохранить как.." , ставить "Все файлы" и в названии файла пишешь: RedBull.groovy , дальше этот файл кидаешь в plugins/VarScript/scripts/groovy/modules/ )

Теперь-то всё понятно?!

В принципе - это тоже самое, что и там сказали.. просто в развёрнутом варианте..
 
Groovy можно найти тут
Из архива нужен файл groovy-all-2.1.9.jar. Он находится в \groovy-x.x.x\embeddable\.
Его кинуть в папка_с_сервером\lib
 
DPOH-VAR, тебе однозначно нужно какой-то автоинсталлятор и репозитарий скриптов делать ;)
Нет уж!
Будем работать по старинке, используя README.TXT
Пусть шкопользователи учатся читать инструкции. Того гляди и программировать скоро начнут!
(это есть мой коварный план, мухахахаха!)

UPD:
хотя репозиторий пригодился бы, это правда.
 
Кстати, может сделать на github репозиторий со скриптами на varscript?
Если честно, у меня припаркован varscript.ru, где я планировал создать репо и вики.
Но всё руки не доходят, влом, не хватает опыта, усидчивости и еще куча отмазок.

Да и git мне еще нужно научиться юзать)
 
Назад
Верх