Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Мод [Решено]Дополнение к WorldGuard(1.7.10)

Тема в разделе "Модификации клиента", создана пользователем Dethvale, 5 сен 2014.

  1. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    А как иначе написать не подскажешь?[DOUBLEPOST=1415535067,1415444044][/DOUBLEPOST]
    UP
     
  2. Хостинг MineCraft
    <
  3. General

    General Старожил Пользователь

    Баллы:
    123
    Столько идей каждый день появляется, а времени на реализацию так мало.
     
  4. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    ап!
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Просто нужно создать и оформить свою тему, тогда убирание копирайтов им ничего не даст. Зайдут на ведро и увидят твой мод. Вот как мой минимод фикс скинов, все знают что он от меня.
     
  6. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    Поменял шапку.. Дописал плагин на запрет пкм, но он выполняет туже функцию, что и запрет в wg..
    Код:
    package UltraBuild;
    
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.entity.Fireball;
    import org.bukkit.event.EventHandler;
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import java.util.Iterator;
    import org.bukkit.entity.Player;
    import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
    import com.sk89q.worldguard.protection.ApplicableRegionSet;
    import com.sk89q.worldguard.protection.regions.ProtectedRegion;
    public class OnInteract extends JavaPlugin implements Listener {
        WorldGuardPlugin wg = (WorldGuardPlugin) Bukkit.getPluginManager().getPlugin("WorldGuard");   
        public void onEnable(){
            Bukkit.getPluginManager().registerEvents(this, this);
            getLogger().info("plugin enabling");
        }
        public void onDisable(){
            getLogger().info("plugin disabling");
        }
        @EventHandler
        public void onIntercact(PlayerInteractEvent e) {
            Player p = e.getPlayer();
               String can = this.wg.canBuild(p,p.getLocation()) ? "yes" : "no";
                if(can.equals("no")){
                if (e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_AIR) {
                e.setCancelled(true);
                p.sendMessage("Вы не имеете прав!");
            }
          }
        }
        
    }
     
  7. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Если я не ошибаюсь, то scheduleSyncRepeatingTask запускается в основном потоке, не стоит ли вынести sendPackets в отдельный?
     
  8. VaNnOrus

    VaNnOrus Старожил Пользователь

    Баллы:
    123
    В чем смысл не использовать true : false ?
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Быдлокодертсво пропадает :D.
     
  10. VaNnOrus

    VaNnOrus Старожил Пользователь

    Баллы:
    123
    Вообще слишком просто и глупо запретить все нажатия в привате.
    Зачем запрещать нажатие на воздух? Игрок даже поесть не сможет в чужом привате.
    К тому же нужно предусмотреть блоки-исключения, которые плагин будет игнорировать. Те же кнопки/плиты/двери/сундуки. Для них у wg есть флаги.
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    И вообще зачем перенадувать булен, если он и так булен
    if(this.wg.canBuild(p,p.getLocation()))
     
  12. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Лучше не стоит. Т.к. может выскочить ConcurrentModificationException, если в момент запроса регионов был добавлен/удален регион в регионменеджере.
     
  13. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    Дописать плагин удалось... Но я изобрел велосипед:confused: Этот плагин делает то же самое, что и WG.. Одним словом блоки написанные на forge'вских эвентах все равно открываются... Так и приходится использовать MG/
     
  14. VaNnOrus

    VaNnOrus Старожил Пользователь

    Баллы:
    123
    Не понял о каких Вы блоках говорите. У меня все отлично работает и с блоками из модов.
     
  15. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    К примеру шины, мониторы.. и остальные механизмы из AE не приватит wg...
     
  16. NikihenkoAD

    NikihenkoAD Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    zombi
    Доброго времени суток.
    А для 1.7.10 это чудо не кто не реализовал?
     
  17. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    Приветствую! Плагин и так на 1.7.10 пойдет.. А мод перекомпилируй(исходники в шапке)
     
  18. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    Ничерта у вас не получится, читайте ченджлоги сперва.
    В 1,7 перелопатили всю систему пакетов, так-что днём работы тут не обойдёшься.. Ну и прямыми руками ;)
     
  19. GusevVasily

    GusevVasily Активный участник Пользователь

    Баллы:
    88
    Skype:
    Gusev.Vasily
    Имя в Minecraft:
    gusevvasily
  20. Автор темы
    Dethvale

    Dethvale Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DethVale
    У вас не полные исходник...
    Нужно было брать из шапки..
    Код:
    package net.k773;
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.gui.ScaledResolution;
    import net.minecraft.network.INetworkManager;
    import net.minecraft.network.packet.Packet250CustomPayload;
    import net.minecraftforge.client.event.RenderGameOverlayEvent;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.event.EventPriority;
    import net.minecraftforge.event.ForgeSubscribe;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.network.IPacketHandler;
    import cpw.mods.fml.common.network.NetworkMod;
    import cpw.mods.fml.common.network.Player;
    @Mod(modid = "WG", name = "WG Region by K773", version = "0.1")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"wg_rg","wg_build"}, packetHandler = WgMod.class)
    public class WgMod implements IPacketHandler{
        static boolean build = false;
        static String region = "GLOBAL";
        static Minecraft mc = Minecraft.getMinecraft();
        @Mod.EventHandler
        public void load(FMLInitializationEvent event) {
            MinecraftForge.EVENT_BUS.register(this);
        }
        @ForgeSubscribe(priority=EventPriority.HIGH)
        public void eventHandler(RenderGameOverlayEvent.Post event) {
              if(event.type==RenderGameOverlayEvent.ElementType.ALL){
                  mc.ingameGUI.drawCenteredString(mc.fontRenderer, (build ? "§f[§2" : "§f[§c")+region+"§f]", event.resolution.getScaledWidth()/2, 4, 0xFFFFFF);
              }
        }
        @Override
        public void onPacketData(INetworkManager manager,Packet250CustomPayload packet, Player player) {
            if(packet.channel.equals("wg_rg")) region = new String(packet.data);
            if(packet.channel.equals("wg_build")) {
                build = Boolean.valueOf(new String(packet.data));
            }
        }
    }
     
  21. GusevVasily

    GusevVasily Активный участник Пользователь

    Баллы:
    88
    Skype:
    Gusev.Vasily
    Имя в Minecraft:
    gusevvasily
    Извини за тупость, но это мод или плагин выше? :D
     

Поделиться этой страницей