Идея Ссылки на табличках

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

savakms

Старожил
Пользователь
Баллы
153
Имя в Minecraft
savakmsRus
Как выяснилось, в версии 1.2.5 можно переходить по ссылкам которые написаны в чат.
Есть идея сделать тоже самое для табличек, Пример таблички:
-------------------
Наш сайт:
#l:sayt.ru
-------------------
#l: - это код для вставки ссылки, #l: = Введите URL
Если кто - то может реализовать плагин, то жду)
При клике на табличку правой кнопкой, предлагается перейти по ссылке (это уже реализовано в Minecraft, так что "изобретать велосипед" не надо, нужна только "обёртка")
 
Как выяснилось, в версии 1.2.5 можно переходить по ссылкам которые написаны в чат.
Есть идея сделать тоже самое для табличек, Пример таблички:
-------------------
Наш сайт:
#l:sayt.ru
-------------------
#l: - это код для вставки ссылки, #l: = Введите URL
Если кто - то может реализовать плагин, то жду)
При клике на табличку правой кнопкой, предлагается перейти по ссылке (это уже реализовано в Minecraft, так что "изобретать велосипед" не надо, нужна только "обёртка")
http://rubukkit.org/threads/linksender-плагин-мод.14458/
 
Это МОД-плагин, он требует модификации клиента, а мне нужен просто плагин, ведь сделать его не так сложно, просто написать Обёртку, которая при клике на табличку, считывала с неё текст и открывало окно перехода по ссылке. Сам в Jav'ой не работал поэтому сам написать не могу!
 
Да, было бы хорошо открывать ссылки через браузер, который находится у вас на компьютере, без дополнительной модификации клиента.
 
А не проще ли сделать так: игрок юзает готовую табличку и если в ней есть ссылка, то пишет лично этому игроку в чат, а уж он решает: надо ли ему по ней проходить или нет.
 
А не проще ли сделать так: игрок юзает готовую табличку и если в ней есть ссылка, то пишет лично этому игроку в чат, а уж он решает: надо ли ему по ней проходить или нет.
Это отмазка. Нужно именно по клику по табличке переход в браузере и открытие ссылки. Было бы замечательно.
 
Это отмазка. Нужно именно по клику по табличке переход в браузере и открытие ссылки. Было бы замечательно.
Это не отмазка, это возможно только через мод или плагин на spout.
 
Но это же не выход, сказать "это невозможно" может каждый. Например, Максвелла не сразу брали в серьез.
Это НЕЛЬЗЯ реализовать средствами сервера, ОБЯЗАТЕЛЬНО НУЖНО МОДИФИЦИРОВАТЬ КЛИЕНТ!
Переход по ссылке происходит на клиенте, сервер этой части пока не касается!
 
Это НЕЛЬЗЯ реализовать средствами сервера, ОБЯЗАТЕЛЬНО НУЖНО МОДИФИЦИРОВАТЬ КЛИЕНТ!
Переход по ссылке происходит на клиенте, сервер этой части пока не касается!
И если я в чат пишу ссылку и кликаю по ней, то мне даётся выбор, перейти или остаться играть (Это уже реализовано в игре) Достаточно лиш написать обработку которая брала ссылку не из чата а с таблички!
 
И если я в чат пишу ссылку и кликаю по ней, то мне даётся выбор, перейти или остаться играть (Это уже реализовано в игре) Достаточно лиш написать обработку которая брала ссылку не из чата а с таблички!
Это невозможно реализовать! Переход идет через чат, так что хватит!
 
И если я в чат пишу ссылку и кликаю по ней, то мне даётся выбор, перейти или остаться играть (Это уже реализовано в игре) Достаточно лиш написать обработку которая брала ссылку не из чата а с таблички!
Обработка - мод.
 
Обработка - мод.
тогда так, что если совместить табличку и чат ? именно ту табличку где будет url, ведь если в чате жмешь на ссылку, то она открывается, такой же принцип, как я дума, можно построить и в табличках.
Либо сделать оповещение в чат при нажатии на табличку.
 
простейший плагин
Кликаем по блоку - получаем ссылку в чат. (если есть пермит signlink.use)
Сорцы:
Java:
package me.dpohvar.signlink;
public class SignLinkPlugin extends org.bukkit.plugin.java.JavaPlugin implements org.bukkit.event.Listener{
    public void onEnable() {
        org.bukkit.plugin.PluginManager pm = getServer().getPluginManager();
        pm.registerEvents(this, this);
    }
    @org.bukkit.event.EventHandler
    public void click(org.bukkit.event.player.PlayerInteractEvent e){
        org.bukkit.block.BlockState b = e.getClickedBlock().getState();
        if (!(b instanceof org.bukkit.block.Sign)) return;
        if (!e.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK)) return;
        org.bukkit.block.Sign g = (org.bukkit.block.Sign) b;
        java.lang.String s = g.getLine(0).concat(g.getLine(1)).concat(g.getLine(2)).concat(g.getLine(3));
        if (!(s.startsWith("http://")||s.startsWith("https://")||s.startsWith("ftp://"))) return;
        org.bukkit.entity.Player p = e.getPlayer();
        if (!p.hasPermission("signlink.use")) return;     
p.sendRawMessage(org.bukkit.ChatColor.BLUE.toString()+org.bukkit.ChatColor.UNDERLINE.toString()+s);
    }
}
ПС: отправить игроку с сервера окно с предложениеи открыть браузер невозможно.
Протокол клиента и сервера - читаем тут.
Так что либо мод, либо ссылки в чат.
 
простейший плагин
Кликаем по блоку - получаем ссылку в чат. (если есть пермит signlink.use)
Сорцы:
Java:
package me.dpohvar.signlink;
public class SignLinkPlugin extends org.bukkit.plugin.java.JavaPlugin implements org.bukkit.event.Listener{
    public void onEnable() {
        org.bukkit.plugin.PluginManager pm = getServer().getPluginManager();
        pm.registerEvents(this, this);
    }
    @org.bukkit.event.EventHandler
    public void click(org.bukkit.event.player.PlayerInteractEvent e){
        org.bukkit.block.BlockState b = e.getClickedBlock().getState();
        if (!(b instanceof org.bukkit.block.Sign)) return;
        if (!e.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK)) return;
        org.bukkit.block.Sign g = (org.bukkit.block.Sign) b;
        java.lang.String s = g.getLine(0).concat(g.getLine(1)).concat(g.getLine(2)).concat(g.getLine(3));
        if (!(s.startsWith("http://")||s.startsWith("https://")||s.startsWith("ftp://"))) return;
        org.bukkit.entity.Player p = e.getPlayer();
        if (!p.hasPermission("signlink.use")) return;     
p.sendRawMessage(org.bukkit.ChatColor.BLUE.toString()+org.bukkit.ChatColor.UNDERLINE.toString()+s);
    }
}
Ты почти полностью прав, мною выше уже было сказано это, но они хотят чтобы не в чат сбрасывалась ссылка, а сразу по ней переходило.
 
Назад
Верх