Вверх ↑
Этот топик читают: Гость
Ответов: 126
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 работает на клиенте игрока, и другой игрок, с большой вероятностью, может не видеть того, что видите вы.



карма: -4
18
Голосовали:Letopisec, Monza, Moonlight_420, BOBAH, 1352478, InnoooK, papasid, iShaman, tauras, player$607974, apl, miratvorech, Green_ed_Wald, -ChappiE-, admin, OTBETCTBEHHblN, .SumraK., OSNOVA_BOGA
Ответов: 1827
Monte Carlo
Пираты Стью
#2: 2019-12-19 09:05:18 ЛС | профиль | цитата
Выглядит прикольно, спасибочки, за код
карма: 5
0
Ответов: 13
#3: 2019-12-19 10:38:14 ЛС | профиль | цитата
Ща поставлю себе такую же
карма: 0
0
Ответов: 1726
#4: 2019-12-19 10:49:53 ЛС | профиль | цитата
Ёлочка мне нравится
карма: -41
Мой Ютуб канал "Ниок о тебе ходят легенды" @ Shelby
0
Ответов: 683
#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
Ответов: 144
Revelations
third class soldier
#7: 2019-12-19 16:36:45 ЛС | профиль | цитата
Прикольно
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 167
#8: 2019-12-19 19:17:45 ЛС | профиль | цитата
Какая красивая, спасибо
карма: 41
Miners Club - расчистка территорий.
0
Ответов: 4330
TRoN
Creator
#9: 2019-12-19 19:58:00 ЛС | профиль | цитата
kriponeko писал(а):
Не забудьте заменить символы ‹ и › на нормальные.

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

Кстати, даже при разрешении в настройках показа везде, мне потребовалось вписать твинка в город, чтобы он увидел анимацию MCGL9, установленного в доме, где был прописан.
карма: -4
0
Ответов: 4330
TRoN
Creator
#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
карма: -200
0
Ответов: 126
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)]
}
})
})
}
карма: -4
0
Ответов: 4330
TRoN
Creator
#15: 2019-12-19 20:41:03 ЛС | профиль | цитата
Во круто. Заработало!!! Спасибо.
карма: -200
0
Ответов: 126
Mafia
Консильери
#16: 2019-12-19 20:46:42 ЛС | профиль | цитата
tauras, у тебя часом не 32 бита система?)

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

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

У меня 64. Но стоит 7-ка.
карма: -200
0
Ответов: 126
Mafia
Консильери
#18: 2019-12-19 20:53:48 ЛС | профиль | цитата
tauras, ну и ладненько. Я не эксперт в вопросах подобной совместимости. Быть может версия JAVA другая, или ещё чего. Через color.rgb записывать в целом правильнее, но через на порядок удобнее. Не думалось, что оно может вызвать проблемы)
карма: -4
0
Ответов: 2863
Monte Carlo
Твинки
#19: 2019-12-19 21:32:12 ЛС | профиль | цитата
Постарался и еще для всех, хорош
карма: -38
В гулэг, товарищи
0
Ответов: 126
Mafia
Консильери
#20: 2019-12-20 00:51:48 ЛС | профиль | цитата
Как выяснилось, виновата таки версия JAVA. Всем рекомендуется обновить её, и указать именно установленную, а не ту что идёт в комплекте с клиентом. Впрочем, если использовать color.rgb, то и в старой всё норм, но вдруг там ещё какие проблемы неведомые. Получается, результат конвертера моделей тоже не у всех отображался, так что он теперь обновлён.
карма: -4
0
Ответов: 144
Revelations
third class soldier
#21: 2019-12-20 12:49:51 ЛС | профиль | цитата
А можно изменить положение на 5- 10 блоков вправо или что-то такое? Или вверх)
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 1130
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
Ответов: 144
Revelations
third class soldier
#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
Ответов: 63
Aogiri
Ghoul
#24: 2019-12-21 10:33:13 ЛС | профиль | цитата
Ошибок в консоли нет.
Версия Java last, путь указан к ней.

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

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


У тебя то же что и у меня было. Кол-во частиц в проекторе 5000 поставь. Это в настройках -› Прочее.
карма: 0
Minecraft galaxy - наш проект не отдадим его! Живи .
0
Ответов: 63
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
Ответов: 114
Ancients
Tranquillitas
#29: 2019-12-23 11:27:18 ЛС | профиль | цитата
Вообще топ))) С мкгл 9 лет и с норм программистами и обнов не надо)))
карма: 0
0
Ответов: 675
#30: 2019-12-31 10:44:28 ЛС | профиль | цитата
Я человек простой. Вижу полезную тему - апаю. С наступающим, дорогие кубоёбы!
карма: -13
0
Ответов: 126
Mafia
Консильери
#31: 2020-10-30 19:59:31 ЛС | профиль | цитата
Немного обновлённая ёлочка для Нового Года) Код в первом сообщении, теперь с легко настраиваемыми параметрами, не забудьте поиграться с ними) Снегопад можно взять в другой теме)


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

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

А я и не сомневался, что тебе нравится эта ёлочка
карма: -7
Там где ты учился, я преподавал
0
Ответов: 1130
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
Demon
#38: 2020-10-30 22:07:34 ЛС | профиль | цитата
Дофигалион из 10
Код елочки я пожалуй притырю, на новый год воткну...
карма: -19
0
Ответов: 22
TRoN
TRoN
#39: 2020-12-27 12:11:02 ЛС | профиль | цитата
Уже поставили) Снег шикарен)
карма: 3
0
39
Сообщение
...