Новые рыбы в Minecraft 1.6.2

Всем привет, мне кажется никто не задавал этот вопрос. И так, можете сказать пожалуйста, как создать итем рыбу, которая будет ловиться удочкой, обычно выпадает один вид рыбы, а я хочу его немного сделать обширнее. Подскажите если знаете как это сделать. Буду благодарен
 
Никак, вроде.
Только в последних билдах форджа на 1.7.10 появились хуки.
 
У тебя только 1 вариант. Заменять рыбу в инвентаре на свою. Или же вообще нафиг заменить удочку своим итемом.
 
Dragon2488 написал(а):
У тебя только 1 вариант. Заменять рыбу в инвентаре на свою. Или же вообще нафиг заменить удочку своим итемом.
Создать свою удочку, которой можно ловить новых рыб? Хм... Сложно реализовать?
 
Можно создать свою удочку разной длины и прочности, для разных рыб и по возможности млекопитающих.
Не сложно реализовать, если делать по исходникам и по урокам создании Entity.
 
Есть подобный мод уже Aquaculture.
Там новая рыба ловится только с помощью новых удочек.Играл на версии 1.6.4
Вывод: Только создание нового предмета
 
Dragon2488 написал(а):
Вообще мод называется Maricalture
Значит их несколько.
Но я точно помню что мод называется Aquaculture
Вот этот мод - http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1283907-aquaculture
 
Можно и без новой удочки, но с использованием эвента:
Создаём свой предмет рыбы. Эвент - сущность вошла мир. Проверяем сущность: предмет ли сущность и рыба ли предмет. Если да - то ещё пара проверок (не критичных), убиваем предмет и спавнем предмет нужный нам.

Код:
@ForgeSubscribe
    public void onJoin(EntityJoinWorldEvent event) {
        Entity entity = event.entity;
        World world = event.world;
        if (entity.getClass()== EntityItem.class && ((EntityItem)entity).getDataWatcher().getWatchableObjectItemStack(10) !=null ){//(entity instanceof EntityItem) {
            EntityItem item = (EntityItem) entity;
            if (item.func_92014_d().getItem().shiftedIndex == Item.fishRaw.shiftedIndex && item.func_92014_d().getItemDamage() == 0) {
                item.func_92013_a(mod_nw.randomFromArray().copy());
                /*
                                  EntityItem entityitem = new EntityItem(item.worldObj,     (double) item.posX, (double) item.posY + 1d, (double) item.posZ, mod_nw.randomFromArray());
                 entityitem.delayBeforeCanPickup = 10;
                 item.worldObj.spawnEntityInWorld(entityitem);
                 item.item = new ItemStack(Item.fishRaw, item.item.stackSize, mod_nw.rand.nextInt(13) + 1);
*/
            }
        } else {
            return;
        }

    }
mod_nw.randomFromArray() - функция выбора случайной рыбы.
mod_nw.rand - просто переменная рандома
Item.fishRaw - я переопределял обычную рыбу
((EntityItem)entity).getDataWatcher().getWatchableObjectItemStack(10) !=null - я не помню, но это не обязательная проверка.

Но есть одна проблема - если старую простую рыбу выбросить, то она тоже заменится.
 
Назад
Сверху