Вверх ↑
Этот топик читают: Гость
Ответов: 132
Mafia
Консильери
#1: 2019-12-19 06:34:56 ЛС | профиль | цитата
Анимированная ёлочка в ожидании Нового Года) Попробуйте сделать свои, либо воспользуйтесь этой)

Код 2019 года для вставки в игровой блокнот (обновлён 2019-12-19 20:43)

function init(){
 d = display
 c = color
 c0 = c.rgb(000, 170, 000)
 c1 = c.rgb(255, 000, 000)
 c2 = c.rgb(000, 255, 000)
 c3 = c.rgb(000, 000, 255)
 c4 = c.rgb(255, 255, 000)
 c5 = c.rgb(000, 255, 255)
 c6 = c.rgb(255, 000, 255)
 circles = []
 colors = [
  c0, c0, c0, c0, c0, c0,
  c0, c0, c0, c0, c0, c0,
  c1, c2, c3, c4, c5, c6]
 for(var i = 0; i ‹ 16; i++){
  add_circle(8 - 8 / 15 * i, i * 2, 31 - i * 2, 1 / 5000 * (i % 2 ? 1 : -1))
 }
}
function add_circle(radius, height, number, speed){
 circle = {
  radius : radius,
  speed : speed,
  voxels : []
 }
 for(var i = 0; i ‹ number; i++){
  circle.voxels.push(d.voxel(0, height, 0, c0))
 }
 circles.push(circle)
}
function update(time){
 circles.forEach(function(circle){
  solo_angle = 360 / circle.voxels.length * (Math.PI / 180)
  circle.voxels.forEach(function(voxel, i){
   angle = (solo_angle * i + time * circle.speed) % 360
   x = Math.cos(angle) - Math.sin(angle)
   z = Math.sin(angle) + Math.cos(angle)
   voxel.cursorX = x * circle.radius + 7.5
   voxel.cursorZ = z * circle.radius + 7.5
   if(Math.random() › 0.99){
    voxel.color = colors[Math.floor(Math.random() * colors.length)]
   }
  })
 })
}

Код 2020 года для вставки в игровой блокнот (обновлён 2020-10-30 19:42)

function init(){
    VOXELS_COUNT  = 5000   // количество вокселей
    CIRCLES_COUNT = 16     // количество кругов
    DISPERSION    = 0.5    // радиус разброса в круге
    CHANGE_CHANCE = 0.01   // шанс смены цвета вокселя
    DIRECTION     = 0      // направление вращения: 0 - оба, 1 - по часовой, -1 - против часовой
    HEIGHT        = 31     // высота ёлки, 31 = 2 куба
    CIRCLE_SPEED  = 0.0001 // шаг вращения, больше - быстрее
    MIN_R         = 0.5    // радиус верхнего круга
    MAX_R         = 8      // радиус нижнего круга
    MIN_CUBE      = 0.1    // минимальный размер вокселя
    MAX_CUBE      = 0.3    // максимальный размер вокселя
    POS_X         = 7.5    // влево-вправо
    POS_Z         = 7.5    // назад-вперёд
    POS_Y         = 0      // вверх-вниз
    LIMIT_SPEED   = 0      // торможение: 0 - максимальная скорость, больше - медленнее
    
    // параметры для старой ёлочки
    //VOXELS_COUNT = 240
    //CIRCLES_COUNT = 16
    //DISPERSION = 0
    //CIRCLE_SPEED  = 0.0002
    //MIN_R = 0
    //MAX_R = 8
    //MIN_CUBE = 1
    //MAX_CUBE = 1
    
    // цвета
    c0 = color.rgb( 000 , 170 , 000 )
    c1 = color.rgb( 255 , 000 , 000 )
    c2 = color.rgb( 000 , 255 , 000 )
    c3 = color.rgb( 000 , 000 , 255 )
    c4 = color.rgb( 255 , 255 , 000 )
    c5 = color.rgb( 000 , 255 , 255 )
    c6 = color.rgb( 255 , 000 , 255 )
    // шансы цветов
    colors = [
    c0 , c0 , c0 , c0 , c0 , c0 ,
    c0 , c0 , c0 , c0 , c0 , c0 ,
    c1 , c2 , c3 , c4 , c5 , c6 ]
    // массив кругов
    circles = []
    // подсчёт общей длины кругов
    ALL_CIRCLES_LENGTH = 0    
    for( i = 0 ; i ‹ CIRCLES_COUNT ; i++ ){
        radius = MIN_R + ( MAX_R - MIN_R ) / CIRCLES_COUNT * i
        ALL_CIRCLES_LENGTH += 2 * Math.PI * radius
    }
    // вокселей на единицу расстояния, на основании длины кругов и лимита вокселей
    VOXELS_PER_LENGTH = VOXELS_COUNT / ALL_CIRCLES_LENGTH
    // задание параметров кругов
    for( i = 0 ; i ‹ CIRCLES_COUNT ; i++ ){
        radius = MIN_R + ( MAX_R - MIN_R ) / CIRCLES_COUNT * i
        length = 2 * Math.PI * radius
        height = HEIGHT - HEIGHT / ( CIRCLES_COUNT - 1 ) * i
        number = 1 + Math.floor( length * VOXELS_PER_LENGTH )
        speed  = CIRCLE_SPEED
        speed *= DIRECTION == 0 ? ( i % 2 ? 1 : -1 ) : DIRECTION
        add_circle( radius , height , number , speed )
    }
    // переменная для реализации торможения
    last_time = 0
}

function add_circle( radius, height, number, speed ){
    // структура с параметрами круга
    circle = {
        radius : radius ,
        speed  : speed ,
        voxel : [] ,
        voxel_angle : 0,
        voxel_radius : []
    }
    // угол между вокселями
    circle.voxel_angle = 360 / number * ( Math.PI / 180 )
    // наполнение круга вокселями
    for( c = 0 ; c ‹ number ; c++ ){
        voxel = display.voxel( POS_X , POS_Y + rc( height - DISPERSION , height + DISPERSION ) , POS_Z , c0 )
        voxel.scale = rc( MIN_CUBE , MAX_CUBE )
        circle.voxel.push( voxel )
        circle.voxel_radius.push( rc( radius - DISPERSION , radius + DISPERSION ) )
    }
    // добавление круга
    circles.push( circle )
}

function rc( min , max ){
    // случайное число в заданных пределах
    return min + Math.random() * ( max - min )
}

function update( time_now ){
    // торможение выполнения
    if( time_now - last_time ‹ LIMIT_SPEED ) return
    last_time = time_now
    // проход по кругам
    for( c = 0 ; c ‹ circles.length ; c++ ){
        circle = circles[c]
        // обновление позиций вокселей
        for( v = 0 ; v ‹ circle.voxel.length ; v++ ){
            voxel = circle.voxel[v]
            // актуальный угол на основании времени
            angle = ( circle.voxel_angle * v + time_now * circle.speed ) % 360
            // множители угла для отступа на радиус
            x = Math.cos( angle ) - Math.sin( angle )
            z = Math.sin( angle ) + Math.cos( angle )
            // смена позиции
            voxel.cursorX = POS_X + x * circle.voxel_radius[v]
            voxel.cursorZ = POS_Z + z * circle.voxel_radius[v]
            // смена цвета
            if( Math.random() ‹ CHANGE_CHANCE ){
                voxel.color = colors[ Math.floor( Math.random() * colors.length ) ]
            }
        }
    }
}

Снегопад можно взять в другой теме)

Решение возможных проблем (обновлено 2019-12-20 00:53)

Клиент по-умолчанию может использовать свою версию JAVA, игнорируя установленную в системе, и обе они могут быть не те, потому обновите JAVA и подключите в лаунчере именно установленную:
Загрузите и установите новую, если не уверены, какая у вас
● В лаунчере выберите нужный аккаунт, настройка сохраняется для каждого отдельно
● "Изменить профиль" (карандашик)
● "Дополнительные настройки" (вкладки сверху)
● "Указать путь до java"
● Перейдите в место установки java, обычно C:/Program Files/Java
● Выберите там каталог с JRE (не JDK) версией постарше, если их несколько
● Далее каталог bin, и указываем java.exe
● Кнопка "ОК" в окне настройке профиля, чтобы сохранить (справа снизу)

Запустите игру с консолью. Посмотрите, что пишется в консоли, в момент вставки MCGL9 в проектор.
● "Destroy thread TextDisplay" - не ошибка, нормальное сообщение
● "Cannot convert 4290465319 to java.lang.Integer" - на компе не подходящая версия JAVA
● Если другая ошибка, скопируйте сюда

Настройки - Прочие:
● Автозапуск - Везде (ходить так по миру не рекомендуется)
● Частиц в проекторе - 5000

Пропишите персонажа в зоне, где стоит проектор, и возможно в городе, если зона в нём.

Помните, что MCGL9 работает на клиенте игрока, и другой игрок, с большой вероятностью, может не видеть того, что видите вы.



карма: -1
19
Голосовали:Letopisec, Monza, Moonlight_420, BOBAH, 1352478, InnoooK, papasid, iShaman, tauras, player$607974, apl, miratvorech, Green_ed_Wald, -ChappiE-, admin, OTBETCTBEHHblN, .SumraK., OSNOVA_BOGA, Samuel
Ответов: 1924
Monte Carlo
Пираты Стью
#2: 2019-12-19 09:05:18 ЛС | профиль | цитата
Выглядит прикольно, спасибочки, за код
карма: 0
0
Ответов: 13
#3: 2019-12-19 10:38:14 ЛС | профиль | цитата
Ща поставлю себе такую же
карма: 0
0
Ответов: 1728
#4: 2019-12-19 10:49:53 ЛС | профиль | цитата
Ёлочка мне нравится
карма: -41
Мой Ютуб канал "Ниок о тебе ходят легенды" @ Shelby
0
Ответов: 683
StarFall
Proxima
#5: 2019-12-19 15:34:37 ЛС | профиль | цитата
adminNekit писал(а):
Ща поставлю себе такую же

С бана выйди.
Niok писал(а):
Ёлочка мне нравится

+ . Тоже хочу такую.
карма: -34
Remember me for centuries
0
Ответов: 887
#6: 2019-12-19 15:38:09 ЛС | профиль | цитата
Красиво)
карма: -39
Noir Villar
0
Ответов: 151
#7: 2019-12-19 16:36:45 ЛС | профиль | цитата
Прикольно
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 167
Noir Villar
Гефест
#8: 2019-12-19 19:17:45 ЛС | профиль | цитата
Какая красивая, спасибо
карма: 41
Miners Club - расчистка территорий.
0
Ответов: 4330
TRoN
Не платит за КМ
#9: 2019-12-19 19:58:00 ЛС | профиль | цитата
kriponeko писал(а):
Не забудьте заменить символы ‹ и › на нормальные.

А где и о чем речь?
карма: -201
0
Ответов: 132
Mafia
Консильери
#10: 2019-12-19 20:14:56 ЛС | профиль | цитата
tauras, хмм.. да, действительно, и просто копипастом в игровой блокнот работает. Думалось, будет ругаться на угловые скобочки, они в посте заменяются на спецсимволы, но при вставке в блокнот похоже предусмотрена замена обратно. Значит, ту строчку из поста можно убрать)
карма: -1
0
Ответов: 4330
TRoN
Не платит за КМ
#11: 2019-12-19 20:16:46 ЛС | профиль | цитата
kriponeko, просто у меня не работает. Пользовался копипастом.
карма: -201
0
Ответов: 132
Mafia
Консильери
#12: 2019-12-19 20:19:28 ЛС | профиль | цитата
tauras, а если с консолью игру запустить, пишет там что-нибудь в момент установки MCGL9 в проектор? В той зоне отображение MCGL9 включено? Частиц достаточно в настройках выставлено?

Кстати, даже при разрешении в настройках показа везде, мне потребовалось вписать твинка в город, чтобы он увидел анимацию MCGL9, установленного в доме, где был прописан.
карма: -1
0
Ответов: 4330
TRoN
Не платит за КМ
#13: 2019-12-19 20:22:11 ЛС | профиль | цитата
[ERROR]: sun.org.mozilla.javascript.internal.EvaluatorException: Cannot convert 4278233600 to java.lang.Integer (‹Unknown source›#19) in ‹Unknown source› at line number 19
карма: -201
0
Ответов: 132
Mafia
Консильери
#14: 2019-12-19 20:34:27 ЛС | профиль | цитата
tauras, попробуй этот:

Код

function init(){
 d = display
 c = color
 c0 = c.rgb(000, 170, 000)
 c1 = c.rgb(255, 000, 000)
 c2 = c.rgb(000, 255, 000)
 c3 = c.rgb(000, 000, 255)
 c4 = c.rgb(255, 255, 000)
 c5 = c.rgb(000, 255, 255)
 c6 = c.rgb(255, 000, 255)
 circles = []
 colors = [
  c0, c0, c0, c0, c0, c0,
  c0, c0, c0, c0, c0, c0,
  c1, c2, c3, c4, c5, c6]
 for(var i = 0; i ‹ 16; i++){
  add_circle(8 - 8 / 15 * i, i * 2, 31 - i * 2, 1 / 5000 * (i % 2 ? 1 : -1))
 }
}
function add_circle(radius, height, number, speed){
 circle = {
  radius : radius,
  speed : speed,
  voxels : []
 }
 for(var i = 0; i ‹ number; i++){
  circle.voxels.push(d.voxel(0, height, 0, c0))
 }
 circles.push(circle)
}
function update(time){
 circles.forEach(function(circle){
  solo_angle = 360 / circle.voxels.length * (Math.PI / 180)
  circle.voxels.forEach(function(voxel, i){
   angle = (solo_angle * i + time * circle.speed) % 360
   x = Math.cos(angle) - Math.sin(angle)
   z = Math.sin(angle) + Math.cos(angle)
   voxel.cursorX = x * circle.radius + 7.5
   voxel.cursorZ = z * circle.radius + 7.5
   if(Math.random() › 0.99){
    voxel.color = colors[Math.floor(Math.random() * colors.length)]
   }
  })
 })
}
карма: -1
0
Ответов: 4330
TRoN
Не платит за КМ
#15: 2019-12-19 20:41:03 ЛС | профиль | цитата
Во круто. Заработало!!! Спасибо.
карма: -201
0
Ответов: 132
Mafia
Консильери
#16: 2019-12-19 20:46:42 ЛС | профиль | цитата
tauras, у тебя часом не 32 бита система?)

Если у кого ещё не работало, код в верхнем посте обновлён.

Если у вас не работает - пишите.
карма: -1
0
Ответов: 4330
TRoN
Не платит за КМ
#17: 2019-12-19 20:48:53 ЛС | профиль | цитата
kriponeko писал(а):
у тебя часом не 32 бита система?)

У меня 64. Но стоит 7-ка.
карма: -201
0
Ответов: 132
Mafia
Консильери
#18: 2019-12-19 20:53:48 ЛС | профиль | цитата
tauras, ну и ладненько. Я не эксперт в вопросах подобной совместимости. Быть может версия JAVA другая, или ещё чего. Через color.rgb записывать в целом правильнее, но через на порядок удобнее. Не думалось, что оно может вызвать проблемы)
карма: -1
0
Ответов: 3122
Monte Carlo
Твинки КМ
#19: 2019-12-19 21:32:12 ЛС | профиль | цитата
Постарался и еще для всех, хорош
карма: -40
Мухрад/Мурад - семнадцатый султан Османской империи. означает «желанный», «цель» или «замысел».
0
Ответов: 132
Mafia
Консильери
#20: 2019-12-20 00:51:48 ЛС | профиль | цитата
Как выяснилось, виновата таки версия JAVA. Всем рекомендуется обновить её, и указать именно установленную, а не ту что идёт в комплекте с клиентом. Впрочем, если использовать color.rgb, то и в старой всё норм, но вдруг там ещё какие проблемы неведомые. Получается, результат конвертера моделей тоже не у всех отображался, так что он теперь обновлён.
карма: -1
0
Ответов: 151
#21: 2019-12-20 12:49:51 ЛС | профиль | цитата
А можно изменить положение на 5- 10 блоков вправо или что-то такое? Или вверх)
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 1129
Tomorrow
Яблочный
#22: 2019-12-20 15:06:48 ЛС | профиль | цитата
Kolesosik,
По Z в плюс
voxel.cursorZ = z * circle.radius + 7.5 + 10

По Y - 10
add_circle(8 - 8 / 15 * i, i * 2 - 10, 31 - i * 2, 1 / 5000 * (i % 2 ? 1 : -1))

карма: -27
0
Ответов: 151
#23: 2019-12-20 17:10:33 ЛС | профиль | цитата
apl писал(а):
Kolesosik,
По Z в плюс
voxel.cursorZ = z * circle.radius + 7.5 + 10

По Y - 10
add_circle(8 - 8 / 15 * i, i * 2 - 10, 31 - i * 2, 1 / 5000 * (i % 2 ? 1 : -1))


Спасибо) Лоес в карму)
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 64
Aogiri
Ghoul
#24: 2019-12-21 10:33:13 ЛС | профиль | цитата
Ошибок в консоли нет.
Версия Java last, путь указан к ней.

Выглядит вот так
елка.png
карма: -10
0
Ответов: 151
#25: 2019-12-21 10:46:03 ЛС | профиль | цитата
presfer писал(а):
Ошибок в консоли нет.
Версия Java last, путь указан к ней.

Выглядит вот так
елка.png


У тебя то же что и у меня было. Кол-во частиц в проекторе 5000 поставь. Это в настройках -› Прочее.
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 64
Aogiri
Ghoul
#26: 2019-12-21 10:51:32 ЛС | профиль | цитата
Kolesosik писал(а):
presfer писал(а):
Ошибок в консоли нет.
Версия Java last, путь указан к ней.

Выглядит вот так
елка.png


У тебя то же что и у меня было. Кол-во частиц в проекторе 5000 поставь. Это в настройках -› Прочее.


Спасибо!
карма: -10
0
Ответов: 2966
Mafia
Актёр
#27: 2019-12-23 03:06:49 ЛС | профиль | цитата
Админы дали инструмент и сказали развлекайтесь.
карма: -29
0
Ответов: 227
#28: 2019-12-23 04:14:30 ЛС | профиль | цитата
Очень круто! Продолжайте создавать в том же духе!
карма: -17
0
Ответов: 115
Ancients
Obstructionum
#29: 2019-12-23 11:27:18 ЛС | профиль | цитата
Вообще топ))) С мкгл 9 лет и с норм программистами и обнов не надо)))
карма: -1
0
Ответов: 675
#30: 2019-12-31 10:44:28 ЛС | профиль | цитата
Я человек простой. Вижу полезную тему - апаю. С наступающим, дорогие кубоёбы!
карма: -13
0
Ответов: 132
Mafia
Консильери
#31: 2020-10-30 19:59:31 ЛС | профиль | цитата
Немного обновлённая ёлочка для Нового Года) Код в первом сообщении, теперь с легко настраиваемыми параметрами, не забудьте поиграться с ними) Снегопад можно взять в другой теме)


карма: -1
2
Голосовали:player$75159, MorfiuS
Ответов: 4330
TRoN
Не платит за КМ
#32: 2020-10-30 21:21:52 ЛС | профиль | цитата
18+
карма: -201
2
Голосовали:mira, DeMoNo5060
Ответов: 1728
#33: 2020-10-30 21:24:30 ЛС | профиль | цитата
tauras писал(а):
18+

Ëлочка тебе нравится?????
карма: -41
Мой Ютуб канал "Ниок о тебе ходят легенды" @ Shelby
2
Голосовали:tauras, mira
Ответов: 13
#34: 2020-10-30 21:48:18 ЛС | профиль | цитата
Ёлочка топ, мне понравилась
карма: 0
0
Ответов: 530
#35: 2020-10-30 21:53:40 ЛС | профиль | цитата
Embr0n писал(а):
Ёлочка топ, мне понравилась

А я и не сомневался, что тебе нравится эта ёлочка
карма: -8
Там где ты учился, я преподавал
0
Ответов: 1129
Tomorrow
Яблочный
#36: 2020-10-30 21:58:43 ЛС | профиль | цитата
Embr0n, v3sel,

18+ Контент не для всех.

карма: -27
0
Ответов: 149
#37: 2020-10-30 22:03:49 ЛС | профиль | цитата
11/10 очень круто
карма: -8
When Targaryen is born,the gods toss a coin,and people pray that the coin will lay its best side
0
Ответов: 640
TRoN
Не платит за КМ
#38: 2020-10-30 22:07:34 ЛС | профиль | цитата
Дофигалион из 10
Код елочки я пожалуй притырю, на новый год воткну...
карма: -19
0
Ответов: 22
TRoN
Не платит за КМ
#39: 2020-12-27 12:11:02 ЛС | профиль | цитата
Уже поставили) Снег шикарен)
карма: 3
0
39
Сообщение
...