Как создать свой эффект 1.6.2

Статус
В этой теме нельзя размещать новые ответы.
Доброго времени суток уважаемые форумчане, задался вопросом, как создать свой эффект, так как стандартные не слишком обширны. Хотелось бы например сделать эффект кровотечения, который убирал потихоньку здоровье. Если вы знаете, подскажите как это реализовать, буду очень благодарен. Да и другим новичкам будет это интересно.
 
Легко.Берешь мой метод и суешь его куда-то:

Код:
   /**
     * Does not work with arrays of primitives(int[], double[], etc)
     */
    @Beta
    public static void increaseArray(Class<?> clazz, int length, String... args){
        Object[] oldArray = null;
        for(Field field : clazz.getDeclaredFields()){
            try{
                for(String s : args){
                    if(field.getName().equals(s)){
                        field.setAccessible(true);
                        if(Modifier.isFinal(field.getModifiers())){
                            Field modfield = Field.class.getDeclaredField("modifiers");
                            modfield.setAccessible(true);
                            modfield.setInt(field, field.getModifiers() & ~Modifier.FINAL);
                        }
                        oldArray = (Object[])field.get(null);
                        Object newArray = Array.newInstance(field.get(null).getClass().getComponentType(), length);
                        System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
                        field.set(null, newArray);
                    }
                }
            }catch(ReflectiveOperationException e){
                e.printStackTrace();
            }
        }
    }
Потом в preInit пишешь:
increaseArray(Potion.class, 256, "potionTypes", "field_76425_a");
Затем создаешь класс, наследуешь в нем Potion и твой эффект готов =)
Чтобы что-то с ним делать, проверяй entity.isPotionActive(Твой_эффект.id) и там уже делаешь все что надо =)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху