From 5c056abba6700d0f17f5c573959d436930d38134 Mon Sep 17 00:00:00 2001 From: Shellyoung <40469927+Shellyoung@users.noreply.github.com> Date: Sat, 10 Aug 2019 22:59:55 +0300 Subject: [PATCH 1/9] Update ru_ru.lang (#45) --- .../assets/engineersdecor/lang/ru_ru.lang | 194 +++++++++--------- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang index 6c7eea8..42e4b42 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang @@ -7,68 +7,68 @@ itemGroup.tabengineersdecor=Engineer's Decor engineersdecor.tooltip.hint.extended=§6[§9SHIFT§r Больше информации§6]§r engineersdecor.tooltip.hint.help=§6[§9CTRL-SHIFT§r Помощь§6]§r -#engineersdecor.tooltip.slabpickup.help=§rFast pickup by left-clicking while looking up/down and holding this slab. +#engineersdecor.tooltip.slabpickup.help=§rБыстрое поднятие щелчком ЛКМ, смотря вверх/вниз с этой плитой в руках. #----------------------------------------------------------------------------------------------------------- # Stone/"ceramic material" based blocks #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.clinker_brick_block.name=Клинкерный кирпич -tile.engineersdecor.clinker_brick_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. +tile.engineersdecor.clinker_brick_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. tile.engineersdecor.clinker_brick_stained_block.name=Грязный клинкерный кирпич -tile.engineersdecor.clinker_brick_stained_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен. +tile.engineersdecor.clinker_brick_stained_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. Имеет более заметные следы грязи или пятен. tile.engineersdecor.slag_brick_block.name=Шлакоблок tile.engineersdecor.slag_brick_block.help=§6Серо-коричневый кирпичный блок с зависимыми от положения вариациями текстуры. tile.engineersdecor.rebar_concrete.name=Железобетон tile.engineersdecor.rebar_concrete.help=§6Стальной железобетонный блок.§r Дорогой, но взрывоустойчивый, как обсидиан. tile.engineersdecor.panzerglass_block.name=Бронированное стекло -tile.engineersdecor.panzerglass_block.help=§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет темно-серый оттенок, видны слабые структурные линии, мульти текстура для бесшовного отображения. +tile.engineersdecor.panzerglass_block.help=§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет тёмно-серый оттенок, слегка видны структурные линии, мультитекстура для бесшовного отображения. tile.engineersdecor.rebar_concrete_tile.name=Железобетонная плита tile.engineersdecor.rebar_concrete_tile.help=§6Стальная железобетонная плитка.§r Дорогая, но взрывоустойчивая, как обсидиан. #----------------------------------------------------------------------------------------------------------- -tile.engineersdecor.clinker_brick_slab.name=Clinker Brick Slab -#tile.engineersdecor.clinker_brick_slab.help=§6Slab made from a Clinker Block.§r\nLooks slightly darker and more color intensive than the vanilla brick. -tile.engineersdecor.clinker_brick_stained_slab.name=Stained Clinker Brick Slab -#tile.engineersdecor.clinker_brick_stained_slab.help=§6Slab made from a Stained Clinker Block. -tile.engineersdecor.slag_brick_slab.name=Slag Brick Slab -#tile.engineersdecor.slag_brick_slab.help=§6A gray-brown brick slab. -tile.engineersdecor.rebar_concrete_slab.name=Rebar Concrete Slab -#tile.engineersdecor.rebar_concrete_slab.help=§6Steel reinforced concrete slab.§r Expensive but Creeper-proof like obsidian. -tile.engineersdecor.rebar_concrete_tile_slab.name=Rebar Concrete Tile Slab -#tile.engineersdecor.rebar_concrete_tile_slab.help=§6Steel reinforced concrete tile slab.§r Expensive but Creeper-proof like obsidian. -tile.engineersdecor.panzerglass_slab.name=Panzer Glass Slab -#tile.engineersdecor.panzerglass_slab.help=§6Reinforced glass slab.§r Expensive, explosion-proof. Dark gray tint, faint structural lines visible. +tile.engineersdecor.clinker_brick_slab.name=Клинкерная плита +#tile.engineersdecor.clinker_brick_slab.help=§6Плита из клинкерного блока.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. +tile.engineersdecor.clinker_brick_stained_slab.name=Плита из окраженного клинкерного кирпича +#tile.engineersdecor.clinker_brick_stained_slab.help=§6Плита из Окрашенного клинкерного блока. +tile.engineersdecor.slag_brick_slab.name=Плита из шлакоблока +#tile.engineersdecor.slag_brick_slab.help=§6Серо-коричневая кирпичная плита. +tile.engineersdecor.rebar_concrete_slab.name=Железобетонная плита +#tile.engineersdecor.rebar_concrete_slab.help=§6Бетонная плита, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. +tile.engineersdecor.rebar_concrete_tile_slab.name=Железобетонная плитка +#tile.engineersdecor.rebar_concrete_tile_slab.help=§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. +tile.engineersdecor.panzerglass_slab.name=Плита из бронированного стекла +#tile.engineersdecor.panzerglass_slab.help=§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.rebar_concrete_wall.name=Железобетонная стена tile.engineersdecor.rebar_concrete_wall.help=§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан. tile.engineersdecor.concrete_wall.name=Бетонная стена -tile.engineersdecor.concrete_wall.help=§6Стена из твердого бетона. +tile.engineersdecor.concrete_wall.help=§6Стена из твёрдого бетона. tile.engineersdecor.clinker_brick_wall.name=Клинкерная кирпичная стена tile.engineersdecor.clinker_brick_wall.help=§6Обыкновенная клинкерная кирпичная стена. tile.engineersdecor.slag_brick_wall.name=Кирпичная стена из шлакоблока tile.engineersdecor.slag_brick_wall.help=§6Обыкновенная стена из шлакоблока. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.metal_rung_ladder.name=Металлическая лестница -tile.engineersdecor.metal_rung_ladder.help=§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх / вниз, чтобы подняться быстрее. +tile.engineersdecor.metal_rung_ladder.help=§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх/вниз, чтобы подняться быстрее. tile.engineersdecor.metal_rung_steps.name=Настенные металлические ступеньки -tile.engineersdecor.metal_rung_steps.help=§6Металлические ступеньки, крепятся к стене. Позволяют подыматься / спускаться.§r Смотри вверх / вниз, чтобы подняться быстрее. +tile.engineersdecor.metal_rung_steps.help=§6Металлические ступеньки, крепятся к стене. Позволяют подниматься/спускаться.§r Смотри вверх/вниз, чтобы подняться быстрее. tile.engineersdecor.treated_wood_ladder.name=Лестница из обработанного дерева -tile.engineersdecor.treated_wood_ladder.help=§6Погодоустойчивая деревянная лестница.§r Смотри вверх / вниз, чтобы подняться быстрее. +tile.engineersdecor.treated_wood_ladder.help=§6Погодоустойчивая деревянная лестница.§r Смотри вверх/вниз, чтобы подняться быстрее. #----------------------------------------------------------------------------------------------------------- -tile.engineersdecor.clinker_brick_stairs.name=Клинкерная кирпичная лестница -tile.engineersdecor.clinker_brick_stairs.help=§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок -tile.engineersdecor.clinker_brick_stained_stairs.name=Грязная кирпичная лестница -tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен. -tile.engineersdecor.slag_brick_stairs.name=Клинкерная кирпичная лестница -tile.engineersdecor.slag_brick_stairs.help=§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. -tile.engineersdecor.rebar_concrete_stairs.name=Железобетонная лестница -tile.engineersdecor.rebar_concrete_stairs.help=§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан. -tile.engineersdecor.rebar_concrete_tile_stairs.name=Железобетонная лестница -tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан. +tile.engineersdecor.clinker_brick_stairs.name=Клинкерные кирпичные ступеньки +tile.engineersdecor.clinker_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок +tile.engineersdecor.clinker_brick_stained_stairs.name=Грязные кирпичные ступеньки +tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядият немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен. +tile.engineersdecor.slag_brick_stairs.name=Клинкерные кирпичные ступеньки +tile.engineersdecor.slag_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок. +tile.engineersdecor.rebar_concrete_stairs.name=Железобетонные ступеньки +tile.engineersdecor.rebar_concrete_stairs.help=§6Железобетонные ступеньки.§r Дорогие, но взрывоустойчивые, как обсидиан. +tile.engineersdecor.rebar_concrete_tile_stairs.name=Ступеньки из железобетонной плитки +tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Ступеньки из железобетонной плитки.§r Дорогие, но взрывоустойчивые, как обсидиан. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.treated_wood_pole.name=Прямой обработанный деревянный столб tile.engineersdecor.treated_wood_pole.help=§6Надёжный столб с диаметром, схожим с реле.§r\n\ - Может быть полезен в качестве альтернативы электро-столбам, если требуется особая специальная длина, \ + Может быть полезен в качестве альтернативы электростолбам, если требуется особая специальная длина, \ или как опора для конструкций. -tile.engineersdecor.treated_wood_pole_head.name=Прямой обработанный деревянный столб верхняя часть/основание +tile.engineersdecor.treated_wood_pole_head.name=Прямой обработанный деревянный столб (верхняя часть/основание) tile.engineersdecor.treated_wood_pole_head.help=§6Деревянная часть, подходит как основание или наконечник прямых столбов. tile.engineersdecor.treated_wood_pole_support.name=Прямой обработанный деревянный столб tile.engineersdecor.treated_wood_pole_support.help=§6Усиленная деревянная опорная часть, подходит как основание или наконечник прямых столбов. @@ -84,11 +84,11 @@ tile.engineersdecor.steel_double_t_support.name=Стальная двойная tile.engineersdecor.steel_double_t_support.help=§6Фрагмент горизонтальной потолочной опорной балки. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.treated_wood_table.name=Стол из обработанного дерева -tile.engineersdecor.treated_wood_table.help=§6Прочный деревянный стол с четырьмя ножками .§r Для использования в помещении и на улице. -tile.engineersdecor.steel_table.name=Steel Table -#tile.engineersdecor.steel_table.help=§6Robust four-legged steel table. -tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating -#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. +tile.engineersdecor.treated_wood_table.help=§6Прочный деревянный стол с четырьмя ножками.§r Для использования в помещении и на улице. +tile.engineersdecor.steel_table.name=Стальной стол +#tile.engineersdecor.steel_table.help=§6Прочный стол с четырьмя ножками. +tile.engineersdecor.steel_floor_grating.name=Решётка стального пола +#tile.engineersdecor.steel_floor_grating.help=§6Декоративное стальное напольное покрытие.§r Выровнен по верху. tile.engineersdecor.treated_wood_stool.name=Табурет из обработанного дерева tile.engineersdecor.treated_wood_stool.help=§6Крепкий деревянный табурет.§r Для использования в помещении и на улице. tile.engineersdecor.treated_wood_crafting_table.name=Верстак из обработанного дерева @@ -107,39 +107,39 @@ tile.engineersdecor.steel_framed_window.name=Окно со стальной ра tile.engineersdecor.steel_framed_window.help=§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.small_lab_furnace.name=Компактная лабораторная печь -tile.engineersdecor.small_lab_furnace.help=§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива - сверху. Немного горячее чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива. +tile.engineersdecor.small_lab_furnace.help=§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее, чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива. tile.engineersdecor.small_electrical_furnace.name=Компактная конвейерная электрическая печь tile.engineersdecor.small_electrical_furnace.help=§6Компактная конвейерная печь в металлическом корпусе.§r \ Автоматически принимает предметы со стороны ввода и складывает в инвентарь со стороны вывода. \ - Предметы могут быть импортированы/вытянуты со всех сторон с помощью воронок. Без проблем пропускает \ - элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстра, \ - чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует немного энергии. + Предметы можно помещать/забирать со всех сторон с помощью воронок. Без проблем пропускает \ + элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстрая, \ + чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует мало энергии. tile.engineersdecor.small_waste_incinerator.name=Компактный сжигатель отходов -tile.engineersdecor.small_waste_incinerator.help=§6Отходы с слотами очереди.§r Предметы могут помещаться с любой стороны, и храниться \ - до тех пор, пока в очереди не останется свободного места. После этого самый старый стэк \ +tile.engineersdecor.small_waste_incinerator.help=§6Отходы с слотами для очереди.§r Предметы могут помещаться с любой стороны, и храниться \ + до тех пор, пока в очереди не останется свободного места. После этого самый старый стек \ будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. \ Сохраняет инвентарь при перемещении. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.straight_pipe_valve.name=Жидкостный одноканальный клапан -tile.engineersdecor.straight_pipe_valve.help=§6Фрагмент прямой трубы.§r проводит жидкость только в одном направлении. \ +tile.engineersdecor.straight_pipe_valve.help=§6Фрагмент прямой трубы.§r Проводит жидкость только в одном направлении. \ Не соединяется по бокам. Уменьшает пропускную способность. \ SHIFT для размещения в противоположном направлении. -tile.engineersdecor.straight_pipe_valve_redstone.name=Редстоун-контролируемый жидкостный клапан +tile.engineersdecor.straight_pipe_valve_redstone.name=Краснокаменно-контролируемый жидкостный клапан tile.engineersdecor.straight_pipe_valve_redstone.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \ - Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. \ + Не соединяется по бокам. SHIFT для размещения в обратном направлении. \ Блокирует поток, если присутствует сигнал красного камня. tile.engineersdecor.straight_pipe_valve_redstone_analog.name=Редстоун-аналоговый клапан для жидкости tile.engineersdecor.straight_pipe_valve_redstone_analog.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \ - Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. \ - Не пропускает при отсутствии красного сигнала, уменьшает расход линейно с мощности 1 до 14, \ - открывается максимально-возможно при уровне красного сигнала 15. + Не соединяется по бокам. SHIFT для размещения в обратном направлении. \ + Не пропускает при отсутствии сигнала красного камня, уменьшает расход линейно с мощности 1 до 14, \ + открывается максимально-возможно при уровне сигнала красного камня 15. tile.engineersdecor.passive_fluid_accumulator.name=Пассивный жидкостный накопитель -tile.engineersdecor.passive_fluid_accumulator.help=§6Вакуумный всасывающий жидкостный коллектор§r Имеет один выход, все остальные стороны - входные. \ +tile.engineersdecor.passive_fluid_accumulator.help=§6Вакуумный всасывающий жидкостный коллектор.§r Имеет один выход, все остальные стороны входные. \ Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.factory_dropper.name=Фабричный выбрасыватель -tile.engineersdecor.factory_dropper.help=§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет двенадцать выборочных слотов. \ - Сила броска, угол, размер стопки и задержка настраиваются в GUI. Три слота сравнения стека \ +tile.engineersdecor.factory_dropper.help=§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет 12 выборочных слотов. \ + Сила броска, угол, размер стопки и задержка настраиваются в GUI. 3 слота сравнения стека \ с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. \ Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. \ Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, \ @@ -154,7 +154,7 @@ tile.engineersdecor.small_mineral_smelter.name=Small Mineral Melting Furnace tile.engineersdecor.sign_decor.name=Табличка с надписью (Логотип Engineer's decor) tile.engineersdecor.sign_decor.help=§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов. tile.engineersdecor.sign_hotwire.name=Знак «Осторожно, под напряжением» -tile.engineersdecor.sign_hotwire.help=§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить вокруг HV, иначе у вас будет штраф при следующей проверке. +tile.engineersdecor.sign_hotwire.help=§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить около высокого напряжения, иначе у вас будет штраф при следующей проверке. tile.engineersdecor.sign_mindstep.name=Знак «Осторожно, там ступеньки!» tile.engineersdecor.sign_mindstep.help=§6Размещается на стенах (горизонтально) tile.engineersdecor.sign_danger.name=Знак «Осторожно, там опасность» @@ -162,9 +162,9 @@ tile.engineersdecor.sign_danger.help=§6Общее предупреждение tile.engineersdecor.sign_defense.name=Знак «Осторожно, впереди система обороны» tile.engineersdecor.sign_defense.help=§6Предупреждающий знак для турелей, катушек Тесла и ловушек. tile.engineersdecor.sign_factoryarea.name=Знак «Заводская зона» -tile.engineersdecor.sign_factoryarea.help=§6Знак для зданий или областей, где находятся действительно большие машины. -tile.engineersdecor.sign_exit.name=Exit Sign -#tile.engineersdecor.sign_factoryarea.help=§6There's the door, please ... +tile.engineersdecor.sign_factoryarea.help=§6Знак для зданий или областей, где находятся большие машины. +tile.engineersdecor.sign_exit.name=Знак «Выход» +#tile.engineersdecor.sign_factoryarea.help=§6Там дверь, пожалуйста... #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.halfslab_rebar_concrete.name=Арматура для бетона tile.engineersdecor.halfslab_rebar_concrete.help=§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей. @@ -184,49 +184,49 @@ tile.engineersdecor.halfslab_sheetmetal_aluminum.name=Часть алюмини tile.engineersdecor.halfslab_sheetmetal_aluminum.help=§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей. #----------------------------------------------------------------------------------------------------------- -engineersdecor.config.title=Engineer's Decor конфигурация +engineersdecor.config.title=Конфигурация "Engineer's Decor" engineersdecor.config.pattern_excludes=Pattern excludes engineersdecor.config.pattern_includes=Pattern includes -engineersdecor.config.without_clinker_bricks=Without clinker bricks -engineersdecor.config.without_slag_bricks=Without slag bricks -engineersdecor.config.without_rebar_concrete=Without rebar concrete -engineersdecor.config.without_walls=Without walls -engineersdecor.config.without_stairs=Without stairs -engineersdecor.config.without_ie_concrete_wall=Without concrete wall -engineersdecor.config.without_panzer_glass=Without panzer glass -engineersdecor.config.without_crafting_table=Without crafting table -engineersdecor.config.without_lab_furnace=Without lab furnace -engineersdecor.config.without_electrical_furnace=Without electrical furnace -engineersdecor.config.without_treated_wood_furniture=Without tr. wood furniture -engineersdecor.config.without_windows=Without windows -engineersdecor.config.without_light_sources=Without lights -engineersdecor.config.without_ladders=Without ladders -engineersdecor.config.without_chair_sitting=Without chair sitting -engineersdecor.config.without_mob_chair_sitting=Without chair mob sitting -engineersdecor.config.without_ladder_speed_boost=Without ladder speed boost -engineersdecor.config.without_crafting_table_history=Without crafting table history -engineersdecor.config.without_valves=Without valves -engineersdecor.config.without_passive_fluid_accumulator=Without fluid accumulator -engineersdecor.config.without_waste_incinerator=Without waste incinerator -engineersdecor.config.without_sign_plates=Without signs -engineersdecor.config.without_factory_dropper=Without factory dropper -engineersdecor.config.without_slabs=Without slabs -engineersdecor.config.without_halfslabs=Without slab slices -engineersdecor.config.without_direct_slab_pickup=Without slab pickup -engineersdecor.config.without_poles=Without poles -engineersdecor.config.without_hsupports=Without h. supports -engineersdecor.config.without_tooltips=Without tooltips -engineersdecor.config.without_recipes=Without recipes -engineersdecor.config.furnace_smelting_speed_percent=Furnace: Smelting speed % -engineersdecor.config.furnace_fuel_efficiency_percent=Furnace: Fuel efficiency % -engineersdecor.config.furnace_boost_energy_consumption=Furnace: Boost energy -engineersdecor.config.chair_mob_sitting_probability_percent=Chairs: Sitting chance % -engineersdecor.config.chair_mob_standup_probability_percent="Chairs: Stand up chance %" -engineersdecor.config.with_crafting_quickmove_buttons=Crafting table: Move buttons -engineersdecor.config.pipevalve_max_flowrate=Valves: Max flow rate -engineersdecor.config.pipevalve_redstone_gain=Valves: Redstone slope -engineersdecor.config.e_furnace_speed_percent=E-furnace: Smelting speed % -engineersdecor.config.e_furnace_power_consumption=E-furnace: Power consumption +engineersdecor.config.without_clinker_bricks=Без клинкерных кирпичей +engineersdecor.config.without_slag_bricks=Без шлаковых кирпичей +engineersdecor.config.without_rebar_concrete=Без железобетона +engineersdecor.config.without_walls=Без стен +engineersdecor.config.without_stairs=Без ступенек +engineersdecor.config.without_ie_concrete_wall=Без бетонных стен +engineersdecor.config.without_panzer_glass=Без бронированного стекла +engineersdecor.config.without_crafting_table=Без верстака +engineersdecor.config.without_lab_furnace=Без лабораторной печи +engineersdecor.config.without_electrical_furnace=Без электрической печи +engineersdecor.config.without_treated_wood_furniture=Без мебели из обр-ого дерева +engineersdecor.config.without_windows=Без окон +engineersdecor.config.without_light_sources=Без светильников +engineersdecor.config.without_ladders=Без лестниц +engineersdecor.config.without_chair_sitting=Без стульев для сидения +engineersdecor.config.without_mob_chair_sitting=Без стульев для сидения для существ +engineersdecor.config.without_ladder_speed_boost=Без ускорения на лестницах +engineersdecor.config.without_crafting_table_history=Без истории крафта в столе +engineersdecor.config.without_valves=Без клапанов +engineersdecor.config.without_waste_incinerator=Без сжигателя отходов +engineersdecor.config.without_passive_fluid_accumulator=Без жидкостного накопителя +engineersdecor.config.without_sign_plates=Без знаков +engineersdecor.config.without_factory_dropper=Без фабричного выбрасывателя +engineersdecor.config.without_slabs=Без плит +engineersdecor.config.without_halfslabs=Без частей плит +engineersdecor.config.without_direct_slab_pickup=Без поднятия плит +engineersdecor.config.without_poles=Без столбов +engineersdecor.config.without_hsupports=Без опор +engineersdecor.config.without_tooltips=Без подсказок +engineersdecor.config.without_recipes=Без рецептов +engineersdecor.config.furnace_smelting_speed_percent=Печь: скорость плавления % +engineersdecor.config.furnace_fuel_efficiency_percent=Печь: Эффективность топлива % +engineersdecor.config.furnace_boost_energy_consumption=Печь: Энергия ускорения +engineersdecor.config.chair_mob_sitting_probability_percent=Стулья: Шшанс сесть % +engineersdecor.config.chair_mob_standup_probability_percent="Стулья: шанс встать %" +engineersdecor.config.with_crafting_quickmove_buttons=Верстак из обр-ого дерева: движение кнопок +engineersdecor.config.pipevalve_max_flowrate=Клапаны: максимальная скорость потока +engineersdecor.config.pipevalve_redstone_gain=Клапаны: спад красного камня +engineersdecor.config.e_furnace_speed_percent=Электропечь: скорость плавления % +engineersdecor.config.e_furnace_power_consumption=Электропечь: потребление энергии #----------------------------------------------------------------------------------------------------------- # EOF From f481d69c35ebce75c4c685a3d3a55a4dd43f023a Mon Sep 17 00:00:00 2001 From: stfwi Date: Sun, 11 Aug 2019 22:18:54 +0200 Subject: [PATCH 2/9] Steel Table BB fixed. Floor Grating: Items pass through). Lang ru_ru updated by Shellyoung (PR #45). --- 1.12/gradle.properties | 2 +- 1.12/meta/update.json | 3 +- 1.12/readme.md | 4 +++ .../blocks/BlockDecorFloorGrating.java | 32 ++++++++++++++++++- .../wile/engineersdecor/blocks/ModBlocks.java | 2 +- .../assets/engineersdecor/lang/en_us.lang | 2 +- .../assets/engineersdecor/lang/ru_ru.lang | 26 +++++++-------- .../assets/engineersdecor/lang/zh_cn.lang | 2 +- meta/update.json | 3 +- 9 files changed, 56 insertions(+), 20 deletions(-) diff --git a/1.12/gradle.properties b/1.12/gradle.properties index d9c4b97..cc2c952 100644 --- a/1.12/gradle.properties +++ b/1.12/gradle.properties @@ -4,4 +4,4 @@ org.gradle.jvmargs=-Xmx8G version_minecraft=1.12.2 version_forge=14.23.5.2768 version_jei=4.10.0.198 -version_engineersdecor=1.0.10 +version_engineersdecor=1.0.11-b1 diff --git a/1.12/meta/update.json b/1.12/meta/update.json index 9d41106..a7e7d9d 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", "1.0.10-b2": "[A] Steel table added.\n[A] Steel floor grating added.", "1.0.10-b1": "[A] Treated wood side table added.\n[F] Fixed recipe collision of Metal Rung Ladder (issue #37, thx ProsperCraft for reporting).\n[A] Added Exit Sign (texture design by J. Carver).", @@ -51,6 +52,6 @@ }, "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.10" + "1.12.2-latest": "1.0.11-b1" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index 38b57af..ff09e5e 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,6 +10,10 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history + - v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45). + [F] Fixed bounding box of the Steel Table. + [M] Steel Floor Frating: Items fall through. + ------------------------------------------------------------------- - v1.0.10 [R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java index a6b6125..18d0dd3 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java @@ -12,13 +12,17 @@ import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.BlockFaceShape; import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import java.util.List; public class BlockDecorFloorGrating extends BlockDecor { @@ -39,6 +43,32 @@ public class BlockDecorFloorGrating extends BlockDecor @Override public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing face) - { return BlockFaceShape.SOLID; } + { return BlockFaceShape.UNDEFINED; } + @Override + public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List collidingBoxes, @Nullable Entity entity, boolean isActualState) + { if(!(entity instanceof EntityItem)) super.addCollisionBoxToList(state, world, pos, entityBox, collidingBoxes, entity, isActualState); } + + @Override + public void onFallenUpon(World world, BlockPos pos, Entity entity, float fallDistance) + { + if(!(entity instanceof EntityItem)) { + entity.fall(fallDistance, 1.0F); + } else { + entity.setVelocity(0,-0.2,0); + } + } + + @Override + public void onEntityCollision(World world, BlockPos pos, IBlockState state, Entity entity) + { + if(!(entity instanceof EntityItem)) return; + if((entity.posY-pos.getY()) > 0.7) { + if(entity.motionY > -0.2) entity.motionY = -0.2; + entity.setVelocity(0,-0.1,0); + entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ); + } else { + entity.setVelocity(0,entity.motionY,0); + } + } } diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java b/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java index 523c0bd..a4443aa 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/ModBlocks.java @@ -251,7 +251,7 @@ public class ModBlocks "steel_table", BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT, Material.IRON, 1.0f, 15f, SoundType.METAL, - ModAuxiliaries.getPixeledAABB(0,0,0, 16,15.9,16) + ModAuxiliaries.getPixeledAABB(0,0,0, 16,16,16) ); public static final BlockDecorFloorGrating STEEL_FLOOR_GRATING = new BlockDecorFloorGrating( diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang b/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang index 4440508..0715adb 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/en_us.lang @@ -88,7 +88,7 @@ tile.engineersdecor.treated_wood_table.help=§6Robust four-legged wood table.§r tile.engineersdecor.steel_table.name=Steel Table tile.engineersdecor.steel_table.help=§6Robust four-legged steel table. tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating -tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. +tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. Items fall through. tile.engineersdecor.treated_wood_stool.name=Treated Wood Stool tile.engineersdecor.treated_wood_stool.help=§6Robust Wood Stool.§r Indoor and outdoor use. tile.engineersdecor.treated_wood_crafting_table.name=Treated Wood Crafting Table diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang index 42e4b42..dcb4fcf 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang @@ -7,7 +7,7 @@ itemGroup.tabengineersdecor=Engineer's Decor engineersdecor.tooltip.hint.extended=§6[§9SHIFT§r Больше информации§6]§r engineersdecor.tooltip.hint.help=§6[§9CTRL-SHIFT§r Помощь§6]§r -#engineersdecor.tooltip.slabpickup.help=§rБыстрое поднятие щелчком ЛКМ, смотря вверх/вниз с этой плитой в руках. +engineersdecor.tooltip.slabpickup.help=§rБыстрое поднятие щелчком ЛКМ, смотря вверх/вниз с этой плитой в руках. #----------------------------------------------------------------------------------------------------------- # Stone/"ceramic material" based blocks #----------------------------------------------------------------------------------------------------------- @@ -25,17 +25,17 @@ tile.engineersdecor.rebar_concrete_tile.name=Железобетонная пли tile.engineersdecor.rebar_concrete_tile.help=§6Стальная железобетонная плитка.§r Дорогая, но взрывоустойчивая, как обсидиан. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.clinker_brick_slab.name=Клинкерная плита -#tile.engineersdecor.clinker_brick_slab.help=§6Плита из клинкерного блока.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. +tile.engineersdecor.clinker_brick_slab.help=§6Плита из клинкерного блока.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. tile.engineersdecor.clinker_brick_stained_slab.name=Плита из окраженного клинкерного кирпича -#tile.engineersdecor.clinker_brick_stained_slab.help=§6Плита из Окрашенного клинкерного блока. +tile.engineersdecor.clinker_brick_stained_slab.help=§6Плита из Окрашенного клинкерного блока. tile.engineersdecor.slag_brick_slab.name=Плита из шлакоблока -#tile.engineersdecor.slag_brick_slab.help=§6Серо-коричневая кирпичная плита. +tile.engineersdecor.slag_brick_slab.help=§6Серо-коричневая кирпичная плита. tile.engineersdecor.rebar_concrete_slab.name=Железобетонная плита -#tile.engineersdecor.rebar_concrete_slab.help=§6Бетонная плита, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. +tile.engineersdecor.rebar_concrete_slab.help=§6Бетонная плита, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. tile.engineersdecor.rebar_concrete_tile_slab.name=Железобетонная плитка -#tile.engineersdecor.rebar_concrete_tile_slab.help=§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. +tile.engineersdecor.rebar_concrete_tile_slab.help=§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан. tile.engineersdecor.panzerglass_slab.name=Плита из бронированного стекла -#tile.engineersdecor.panzerglass_slab.help=§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии. +tile.engineersdecor.panzerglass_slab.help=§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии. #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.rebar_concrete_wall.name=Железобетонная стена tile.engineersdecor.rebar_concrete_wall.help=§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан. @@ -86,15 +86,15 @@ tile.engineersdecor.steel_double_t_support.help=§6Фрагмент горизо tile.engineersdecor.treated_wood_table.name=Стол из обработанного дерева tile.engineersdecor.treated_wood_table.help=§6Прочный деревянный стол с четырьмя ножками.§r Для использования в помещении и на улице. tile.engineersdecor.steel_table.name=Стальной стол -#tile.engineersdecor.steel_table.help=§6Прочный стол с четырьмя ножками. +tile.engineersdecor.steel_table.help=§6Прочный стол с четырьмя ножками. tile.engineersdecor.steel_floor_grating.name=Решётка стального пола -#tile.engineersdecor.steel_floor_grating.help=§6Декоративное стальное напольное покрытие.§r Выровнен по верху. +tile.engineersdecor.steel_floor_grating.help=§6Декоративное стальное напольное покрытие.§r Выровнен по верху. tile.engineersdecor.treated_wood_stool.name=Табурет из обработанного дерева tile.engineersdecor.treated_wood_stool.help=§6Крепкий деревянный табурет.§r Для использования в помещении и на улице. tile.engineersdecor.treated_wood_crafting_table.name=Верстак из обработанного дерева tile.engineersdecor.treated_wood_crafting_table.help=§6Прочный и устойчивый к погодным условиям. Восемь слотов для хранения. Хранит инвентарь. tile.engineersdecor.treated_wood_side_table.name=Treated Wood Side Table -#tile.engineersdecor.treated_wood_side_table.help=§6Needed after the work's done. +tile.engineersdecor.treated_wood_side_table.help=§6Needed after the work's done. tile.engineersdecor.iron_inset_light.name=Встраиваемый осветитель tile.engineersdecor.iron_inset_light.help=§6Маленький источник света, интегрируемый в стены, пол или потолок.§r\n\ Полезно для освещения мест, где проблематичны электрические осветительные установки.\ @@ -162,9 +162,9 @@ tile.engineersdecor.sign_danger.help=§6Общее предупреждение tile.engineersdecor.sign_defense.name=Знак «Осторожно, впереди система обороны» tile.engineersdecor.sign_defense.help=§6Предупреждающий знак для турелей, катушек Тесла и ловушек. tile.engineersdecor.sign_factoryarea.name=Знак «Заводская зона» -tile.engineersdecor.sign_factoryarea.help=§6Знак для зданий или областей, где находятся большие машины. +tile.engineersdecor.sign_factoryarea.help=§6Там дверь, пожалуйста... tile.engineersdecor.sign_exit.name=Знак «Выход» -#tile.engineersdecor.sign_factoryarea.help=§6Там дверь, пожалуйста... +#tile.engineersdecor.sign_factoryarea.help=§6There's the door, please ... #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.halfslab_rebar_concrete.name=Арматура для бетона tile.engineersdecor.halfslab_rebar_concrete.help=§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей. @@ -206,8 +206,8 @@ engineersdecor.config.without_mob_chair_sitting=Без стульев для с engineersdecor.config.without_ladder_speed_boost=Без ускорения на лестницах engineersdecor.config.without_crafting_table_history=Без истории крафта в столе engineersdecor.config.without_valves=Без клапанов -engineersdecor.config.without_waste_incinerator=Без сжигателя отходов engineersdecor.config.without_passive_fluid_accumulator=Без жидкостного накопителя +engineersdecor.config.without_waste_incinerator=Без сжигателя отходов engineersdecor.config.without_sign_plates=Без знаков engineersdecor.config.without_factory_dropper=Без фабричного выбрасывателя engineersdecor.config.without_slabs=Без плит diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/zh_cn.lang b/1.12/src/main/resources/assets/engineersdecor/lang/zh_cn.lang index 0fa3582..abaa95b 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/zh_cn.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/zh_cn.lang @@ -86,7 +86,7 @@ tile.engineersdecor.treated_wood_table.help=§6坚固的四足木桌. tile.engineersdecor.steel_table.name=Steel Table #tile.engineersdecor.steel_table.help=§6Robust four-legged steel table. tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating -#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. +#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. Items fall through. tile.engineersdecor.treated_wood_stool.name=Treated Wood Stool #tile.engineersdecor.treated_wood_stool.help=§6Robust Wood Stool.§r Indoor and outdoor use. tile.engineersdecor.treated_wood_crafting_table.name=Treated Wood Crafting Table diff --git a/meta/update.json b/meta/update.json index 3bc1ff3..a60f04f 100644 --- a/meta/update.json +++ b/meta/update.json @@ -2,13 +2,14 @@ "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.10", + "1.12.2-latest": "1.0.11-b1", "1.13.2-recommended": "", "1.13.2-latest": "1.0.7-b5", "1.14.4-recommended": "", "1.14.4-latest": "1.0.9-b9" }, "1.12.2": { + "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", "1.0.10-b2": "[A] Steel table added.\n[A] Steel floor grating added.", "1.0.10-b1": "[A] Treated wood side table added.\n[F] Fixed recipe collision of Metal Rung Ladder (issue #37, thx ProsperCraft for reporting).\n[A] Added Exit Sign (texture design by J. Carver).", From aad7d2e607edf2ae1ed16a4a38b4cf5d26953979 Mon Sep 17 00:00:00 2001 From: stfwi Date: Tue, 13 Aug 2019 20:14:41 +0200 Subject: [PATCH 3/9] 1.14: Added Steel Table, Treated Wood Side Table, Exit Sign, Steel Floor Grating. Sign orientation fixed. --- 1.12/gradle.properties | 2 +- 1.12/readme.md | 2 + 1.14/Makefile | 3 +- 1.14/gradle.properties | 2 +- 1.14/meta/update.json | 3 +- 1.14/readme.md | 6 +- .../java/wile/engineersdecor/ModContent.java | 57 ++- .../engineersdecor/blocks/BlockDecor.java | 5 +- .../blocks/BlockDecorFloorGrating.java | 55 +++ .../blockstates/sign_danger.json | 2 +- .../blockstates/sign_decor.json | 2 +- .../blockstates/sign_defense.json | 2 +- .../engineersdecor/blockstates/sign_exit.json | 7 + .../blockstates/sign_factoryarea.json | 2 +- .../blockstates/sign_hotwire.json | 2 +- .../blockstates/sign_mindstep.json | 2 +- .../blockstates/steel_floor_grating.json | 7 + .../blockstates/steel_table.json | 7 + .../blockstates/treated_wood_side_table.json | 9 + .../assets/engineersdecor/lang/en_us.json | 7 +- .../assets/engineersdecor/lang/ru_ru.json | 169 ++++---- .../assets/engineersdecor/lang/zh_cn.json | 3 + .../furniture/steel_floor_grating_model.json | 187 +++++++++ .../block/furniture/steel_table_model.json | 383 ++++++++++++++++++ .../treated_wood_side_table_model.json | 206 ++++++++++ .../models/block/sign/sign_exit_model.json | 45 ++ .../engineersdecor/models/item/sign_exit.json | 1 + .../models/item/steel_floor_grating.json | 1 + .../models/item/steel_table.json | 1 + .../models/item/treated_wood_side_table.json | 1 + .../furniture/steel_table_side_texture.png | Bin 0 -> 384 bytes .../furniture/steel_table_top_texture.png | Bin 0 -> 386 bytes .../textures/block/sign/sign_exit_texture.png | Bin 0 -> 934 bytes 1.14/tasks.js | 13 +- meta/lib/libtask.1.14.js | 350 ++++++++++++++++ meta/update.json | 3 +- 36 files changed, 1438 insertions(+), 109 deletions(-) create mode 100644 1.14/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java create mode 100644 1.14/src/main/resources/assets/engineersdecor/blockstates/sign_exit.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/blockstates/steel_floor_grating.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/blockstates/steel_table.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/blockstates/treated_wood_side_table.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_floor_grating_model.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_side_table_model.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/item/sign_exit.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/item/steel_floor_grating.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/item/steel_table.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/models/item/treated_wood_side_table.json create mode 100644 1.14/src/main/resources/assets/engineersdecor/textures/block/furniture/steel_table_side_texture.png create mode 100644 1.14/src/main/resources/assets/engineersdecor/textures/block/furniture/steel_table_top_texture.png create mode 100644 1.14/src/main/resources/assets/engineersdecor/textures/block/sign/sign_exit_texture.png create mode 100644 meta/lib/libtask.1.14.js diff --git a/1.12/gradle.properties b/1.12/gradle.properties index cc2c952..a283ca0 100644 --- a/1.12/gradle.properties +++ b/1.12/gradle.properties @@ -4,4 +4,4 @@ org.gradle.jvmargs=-Xmx8G version_minecraft=1.12.2 version_forge=14.23.5.2768 version_jei=4.10.0.198 -version_engineersdecor=1.0.11-b1 +version_engineersdecor=1.0.11-b2 diff --git a/1.12/readme.md b/1.12/readme.md index ff09e5e..b8d40fc 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,6 +10,8 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history + ~ v1.0.11-b2 [A] + - v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45). [F] Fixed bounding box of the Steel Table. [M] Steel Floor Frating: Items fall through. diff --git a/1.14/Makefile b/1.14/Makefile index 4874f82..e6cad4f 100644 --- a/1.14/Makefile +++ b/1.14/Makefile @@ -81,4 +81,5 @@ dist: sanatize dist-check clean-all mod assets: @echo "[1.14] Running asset generators ..." @djs tasks.js create-slab-assets - @djs tasks.js create-half-slab-assets \ No newline at end of file + @djs tasks.js create-half-slab-assets + @djs tasks.js assets diff --git a/1.14/gradle.properties b/1.14/gradle.properties index 71965fb..cc146c6 100644 --- a/1.14/gradle.properties +++ b/1.14/gradle.properties @@ -5,7 +5,7 @@ version_minecraft=1.14.4 version_forge_minecraft=1.14.4-28.0.40 version_fml_mappings=20190719-1.14.3 version_jei=1.14.3:6.0.0.8 -version_engineersdecor=1.0.9-b10 +version_engineersdecor=1.0.11-b1 # # jar signing data loaded from signing.properties in the project root. # diff --git a/1.14/meta/update.json b/1.14/meta/update.json index a03895a..6d5f903 100644 --- a/1.14/meta/update.json +++ b/1.14/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.14.4": { + "1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.", "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.", "1.0.9-b7": "[U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3.\n[F] Disabled all early implemented fuild handling of valves and the Fluid Accumulator to prevent world loading hang-ups (issue #42, thx TheOhmegha for reporting). Will be re-enabled after fluid handling released in Forge.\n[F] Fixed blockstate model locations for signs and crafting table (issue #43, thx ProsperCraft for the beta test).", @@ -19,6 +20,6 @@ }, "promos": { "1.14.4-recommended": "", - "1.14.4-latest": "1.0.9-b9" + "1.14.4-latest": "1.0.11-b1" } } \ No newline at end of file diff --git a/1.14/readme.md b/1.14/readme.md index f29ea32..cd7131f 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -10,7 +10,11 @@ Mod sources for Minecraft version 1.14.3. ---- ## Version history - ~ v1.0.9-b10 [U] + - v1.0.11-b1 [A] Added Steel Table + [A] Added Treated Wood Side Table + [A] Added Exit Sign + [A] Added Steel Floor Grating + [M] Sign orientation fixed, only blocked vertical placement. - v1.0.9-b9 [U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing. diff --git a/1.14/src/main/java/wile/engineersdecor/ModContent.java b/1.14/src/main/java/wile/engineersdecor/ModContent.java index 0b29260..6c4376f 100644 --- a/1.14/src/main/java/wile/engineersdecor/ModContent.java +++ b/1.14/src/main/java/wile/engineersdecor/ModContent.java @@ -196,6 +196,12 @@ public class ModContent ModAuxiliaries.getPixeledAABB(4.1,0,4.1, 11.8,8.8,11.8) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_stool")); + public static final BlockDecor TREATED_WOOD_SIDE_TABLE = (BlockDecor)(new BlockDecor( + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD), + ModAuxiliaries.getPixeledAABB(2,0,2, 14,15.9,14) + )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_side_table")); + public static final BlockDecorDirected TREATED_WOOD_WINDOWSILL = (BlockDecorDirected)(new BlockDecorDirected( BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_FACING_PLACEMENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD), @@ -208,6 +214,18 @@ public class ModContent ModAuxiliaries.getPixeledAABB(5.2,5.2,15.7, 10.8,10.8,16.0) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "iron_inset_light")); + public static final BlockDecor STEEL_TABLE = (BlockDecor)(new BlockDecor( + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(2f, 15f).sound(SoundType.WOOD), + ModAuxiliaries.getPixeledAABB(0,0,0, 16,16,16) + )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_table")); + + public static final BlockDecor STEEL_FLOOR_GRATING = (BlockDecorFloorGrating)(new BlockDecorFloorGrating( + BlockDecor.CFG_CUTOUT, + Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL), + ModAuxiliaries.getPixeledAABB(0,14,0, 16,16,16) + )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "steel_floor_grating")); + // ------------------------------------------------------------------------------------------------------------------- public static final BlockDecorWindow TREATED_WOOD_WINDOW = (BlockDecorWindow)(new BlockDecorWindow( @@ -275,35 +293,42 @@ public class ModContent // ------------------------------------------------------------------------------------------------------------------- public static final BlockDecorDirected SIGN_MODLOGO = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1000f).sound(SoundType.WOOD).lightValue(1), ModAuxiliaries.getPixeledAABB(0,0,15.6, 16,16,16.0) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_decor")); public static final BlockDecorDirected SIGN_HOTWIRE = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD), ModAuxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_hotwire")); public static final BlockDecorDirected SIGN_DANGER = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD), ModAuxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_danger")); public static final BlockDecorDirected SIGN_DEFENSE = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD), ModAuxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_defense")); public static final BlockDecorDirected SIGN_FACTORY_AREA = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT|BlockDecor.CFG_OPPOSITE_PLACEMENT, + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD), ModAuxiliaries.getPixeledAABB(2,2,15.6, 14,14,16) )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_factoryarea")); + public static final BlockDecorDirected SIGN_EXIT = (BlockDecorDirected)(new BlockDecorDirected( + BlockDecor.CFG_CUTOUT|BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_HORIZIONTAL, + Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1f, 1f).sound(SoundType.WOOD), + ModAuxiliaries.getPixeledAABB(3,7,15.6, 13,13,16) + )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "sign_exit")); + + // ------------------------------------------------------------------------------------------------------------------- public static final BlockDecorCraftingTable TREATED_WOOD_CRAFTING_TABLE = (BlockDecorCraftingTable)(new BlockDecorCraftingTable( @@ -411,6 +436,7 @@ public class ModContent // ------------------------------------------------------------------------------------------------------------------- private static final Block modBlocks[] = { + TREATED_WOOD_CRAFTING_TABLE, SMALL_LAB_FURNACE, FACTORY_DROPPER, SMALL_ELECTRICAL_FURNACE, @@ -443,31 +469,34 @@ public class ModContent //HALFSLAB_SHEETMETALGOLD, //HALFSLAB_SHEETMETALALUMINIUM, CONCRETE_WALL, + PANZERGLASS_BLOCK, + PANZERGLASS_SLAB, METAL_RUNG_LADDER, METAL_RUNG_STEPS, TREATED_WOOD_LADDER, - TREATED_WOOD_POLE, TREATED_WOOD_TABLE, - PANZERGLASS_BLOCK, - PANZERGLASS_SLAB, - INSET_LIGHT_IRON, TREATED_WOOD_STOOL, + TREATED_WOOD_SIDE_TABLE, TREATED_WOOD_WINDOWSILL, - TREATED_WOOD_CRAFTING_TABLE, - STEEL_FRAMED_WINDOW, TREATED_WOOD_WINDOW, + STEEL_FRAMED_WINDOW, + STEEL_TABLE, + INSET_LIGHT_IRON, + STEEL_FLOOR_GRATING, + TREATED_WOOD_POLE, TREATED_WOOD_POLE_HEAD, TREATED_WOOD_POLE_SUPPORT, - SIGN_MODLOGO, THIN_STEEL_POLE, THIN_STEEL_POLE_HEAD, THICK_STEEL_POLE, THICK_STEEL_POLE_HEAD, + STEEL_DOUBLE_T_SUPPORT, SIGN_HOTWIRE, SIGN_DANGER, - STEEL_DOUBLE_T_SUPPORT, SIGN_DEFENSE, - SIGN_FACTORY_AREA + SIGN_FACTORY_AREA, + SIGN_EXIT, + SIGN_MODLOGO, }; private static final Block devBlocks[] = { diff --git a/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java index 0374051..a4b4ffa 100644 --- a/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java +++ b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java @@ -119,7 +119,10 @@ public class BlockDecor extends Block implements IDecorBlock @Override public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid) - { return dropBlock(state, world, pos, false); } + { + if(player.isCreative()) return true; + return dropBlock(state, world, pos, false); + } @Override public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion) diff --git a/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java new file mode 100644 index 0000000..6a13333 --- /dev/null +++ b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java @@ -0,0 +1,55 @@ +/* + * @file BlockDecorFloorGrating.java + * @author Stefan Wilhelm (wile) + * @copyright (C) 2019 Stefan Wilhelm + * @license MIT (see https://opensource.org/licenses/MIT) + * + * Floor gratings. + */ +package wile.engineersdecor.blocks; + + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockReader; + +public class BlockDecorFloorGrating extends BlockDecor +{ + + public BlockDecorFloorGrating(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB) + { super(config, builder); } + + @Override + public boolean propagatesSkylightDown(BlockState state, IBlockReader reader, BlockPos pos) + { return true; } + + +// @Override +// public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List collidingBoxes, @Nullable Entity entity, boolean isActualState) +// { if(!(entity instanceof EntityItem)) super.addCollisionBoxToList(state, world, pos, entityBox, collidingBoxes, entity, isActualState); } +// +// @Override +// public void onFallenUpon(World world, BlockPos pos, Entity entity, float fallDistance) +// { +// if(!(entity instanceof EntityItem)) { +// entity.fall(fallDistance, 1.0F); +// } else { +// entity.setVelocity(0,-0.2,0); +// } +// } +// +// @Override +// public void onEntityCollision(World world, BlockPos pos, IBlockState state, Entity entity) +// { +// if(!(entity instanceof EntityItem)) return; +// if((entity.posY-pos.getY()) > 0.7) { +// if(entity.motionY > -0.2) entity.motionY = -0.2; +// entity.setVelocity(0,-0.1,0); +// entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ); +// } else { +// entity.setVelocity(0,entity.motionY,0); +// } +// } +} diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_danger.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_danger.json index 5e27252..15986ed 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_danger.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_danger.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_danger_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":-90}, "down": {"x":90} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_decor.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_decor.json index 98c0d41..4962ffe 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_decor.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_decor.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_decor_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":-90}, "down": {"x":90} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_defense.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_defense.json index f1f7abe..712d904 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_defense.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_defense.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_defense_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":0}, "down": {"x":0} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_exit.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_exit.json new file mode 100644 index 0000000..7c43028 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_exit.json @@ -0,0 +1,7 @@ +{ + "forge_marker": 1, + "defaults": { "model": "engineersdecor:block/sign/sign_exit_model" }, + "variants": { + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } + } +} diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_factoryarea.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_factoryarea.json index 946c3f4..9e1538c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_factoryarea.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_factoryarea.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_factoryarea_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":0}, "down": {"x":0} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_hotwire.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_hotwire.json index 5fc71a2..619056f 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_hotwire.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_hotwire.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_hotwire_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":-90}, "down": {"x":90} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_mindstep.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_mindstep.json index df8c489..9505adf 100644 --- a/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_mindstep.json +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/sign_mindstep.json @@ -2,6 +2,6 @@ "forge_marker": 1, "defaults": { "model": "engineersdecor:block/sign/sign_mindstep_model" }, "variants": { - "facing": { "north":{"y":0}, "south":{"y":180}, "west":{"y":270}, "east":{"y":90}, "up": {"x":0}, "down": {"x":0} } + "facing": { "north":{"y":180}, "south":{"y":0}, "west":{"y":90}, "east":{"y":270}, "up": {"x":0}, "down": {"x":0} } } } diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_floor_grating.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_floor_grating.json new file mode 100644 index 0000000..3258777 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_floor_grating.json @@ -0,0 +1,7 @@ +{ + "forge_marker": 1, + "defaults": { "model": "engineersdecor:block/furniture/steel_floor_grating_model" }, + "variants": { + "": [{}] + } +} diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_table.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_table.json new file mode 100644 index 0000000..efa5019 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/steel_table.json @@ -0,0 +1,7 @@ +{ + "forge_marker": 1, + "defaults": { "model": "engineersdecor:block/furniture/steel_table_model" }, + "variants": { + "": [{}] + } +} diff --git a/1.14/src/main/resources/assets/engineersdecor/blockstates/treated_wood_side_table.json b/1.14/src/main/resources/assets/engineersdecor/blockstates/treated_wood_side_table.json new file mode 100644 index 0000000..067391b --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/blockstates/treated_wood_side_table.json @@ -0,0 +1,9 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "engineersdecor:block/furniture/treated_wood_side_table_model" + }, + "variants": { + "": [{}] + } +} diff --git a/1.14/src/main/resources/assets/engineersdecor/lang/en_us.json b/1.14/src/main/resources/assets/engineersdecor/lang/en_us.json index e10e773..f14ff5d 100644 --- a/1.14/src/main/resources/assets/engineersdecor/lang/en_us.json +++ b/1.14/src/main/resources/assets/engineersdecor/lang/en_us.json @@ -115,6 +115,10 @@ "block.engineersdecor.steel_double_t_support.help": "§6Horizontal ceiling support beam fragment.", "block.engineersdecor.treated_wood_table": "Treated Wood Table", "block.engineersdecor.treated_wood_table.help": "§6Robust four-legged wood table.§r Indoor and outdoor use.", + "block.engineersdecor.steel_table": "Steel Table", + "block.engineersdecor.steel_table.help": "§6Robust four-legged steel table.", + "block.engineersdecor.steel_floor_grating": "Steel Floor Grating", + "block.engineersdecor.steel_floor_grating.help": "§6Decorative steel floor covering.§r Top aligned. Items fall through.", "block.engineersdecor.treated_wood_stool": "Treated Wood Stool", "block.engineersdecor.treated_wood_stool.help": "§6Robust Wood Stool.§r Indoor and outdoor use.", "block.engineersdecor.treated_wood_crafting_table": "Treated Wood Crafting Table", @@ -158,7 +162,8 @@ "block.engineersdecor.sign_defense": "Sign \"Caution Defense System Ahead\"", "block.engineersdecor.sign_defense.help": "§6Warning sign for turrets, Tesla Coils, and traps.", "block.engineersdecor.sign_factoryarea": "Sign \"Factory Area\"", - "block.engineersdecor.sign_factoryarea.help": "§6Marker sign for buildings or areas where the really big machines are located.", + "block.engineersdecor.sign_factoryarea.help": "§6There's the door, please ...", + "block.engineersdecor.sign_exit": "Exit Sign", "block.engineersdecor.halfslab_rebar_concrete": "Rebar Concrete Slice", "block.engineersdecor.halfslab_rebar_concrete.help": "§6Vertically stackable slice.§r Right/left click with the slice stack on the top or bottom surface to add/remove slices.", "block.engineersdecor.halfslab_concrete": "Concrete Slice", diff --git a/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json b/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json index d3f55c2..d2882b0 100644 --- a/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json +++ b/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json @@ -3,96 +3,103 @@ "language.code": "ru_ru", "language.region": "Russia", "itemGroup.tabengineersdecor": "Engineer's Decor", - "engineersdecor.config.title": "Engineer's Decor конфигурация", + "engineersdecor.config.title": "Конфигурация \"Engineer's Decor\"", "engineersdecor.tooltip.hint.extended": "§6[§9SHIFT§r Больше информации§6]§r", "engineersdecor.tooltip.hint.help": "§6[§9CTRL-SHIFT§r Помощь§6]§r", + "engineersdecor.tooltip.slabpickup.help": "§rБыстрое поднятие щелчком ЛКМ, смотря вверх/вниз с этой плитой в руках.", "engineersdecor.config.pattern_excludes": "Pattern excludes", "engineersdecor.config.pattern_includes": "Pattern includes", - "engineersdecor.config.without_clinker_bricks": "Without clinker bricks", - "engineersdecor.config.without_slag_bricks": "Without slag bricks", - "engineersdecor.config.without_rebar_concrete": "Without rebar concrete", - "engineersdecor.config.without_walls": "Without walls", - "engineersdecor.config.without_stairs": "Without stairs", - "engineersdecor.config.without_ie_concrete_wall": "Without concrete wall", - "engineersdecor.config.without_panzer_glass": "Without panzer glass", - "engineersdecor.config.without_crafting_table": "Without crafting table", - "engineersdecor.config.without_lab_furnace": "Without lab furnace", - "engineersdecor.config.without_electrical_furnace": "Without electrical furnace", - "engineersdecor.config.without_treated_wood_furniture": "Without tr. wood furniture", - "engineersdecor.config.without_windows": "Without windows", - "engineersdecor.config.without_light_sources": "Without lights", - "engineersdecor.config.without_ladders": "Without ladders", - "engineersdecor.config.without_chair_sitting": "Without chair sitting", - "engineersdecor.config.without_mob_chair_sitting": "Without chair mob sitting", - "engineersdecor.config.without_ladder_speed_boost": "Without ladder speed boost", - "engineersdecor.config.without_crafting_table_history": "Without crafting table history", - "engineersdecor.config.without_valves": "Without valves", - "engineersdecor.config.without_passive_fluid_accumulator": "Without fluid accumulator", - "engineersdecor.config.without_waste_incinerator": "Without waste incinerator", - "engineersdecor.config.without_sign_plates": "Without signs", - "engineersdecor.config.without_factory_dropper": "Without factory dropper", - "engineersdecor.config.without_slabs": "Without slabs", - "engineersdecor.config.without_halfslabs": "Without slab slices", - "engineersdecor.config.without_direct_slab_pickup": "Without slab pickup", - "engineersdecor.config.without_poles": "Without poles", - "engineersdecor.config.without_hsupports": "Without h. supports", - "engineersdecor.config.without_tooltips": "Without tooltips", - "engineersdecor.config.without_recipes": "Without recipes", - "engineersdecor.config.furnace_smelting_speed_percent": "Furnace: Smelting speed %", - "engineersdecor.config.furnace_fuel_efficiency_percent": "Furnace: Fuel efficiency %", - "engineersdecor.config.furnace_boost_energy_consumption": "Furnace: Boost energy", - "engineersdecor.config.chair_mob_sitting_probability_percent": "Chairs: Sitting chance %", - "engineersdecor.config.chair_mob_standup_probability_percent": "\"Chairs: Stand up chance %\"", - "engineersdecor.config.with_crafting_quickmove_buttons": "Crafting table: Move buttons", - "engineersdecor.config.pipevalve_max_flowrate": "Valves: Max flow rate", - "engineersdecor.config.pipevalve_redstone_gain": "Valves: Redstone slope", - "engineersdecor.config.e_furnace_speed_percent": "E-furnace: Smelting speed %", - "engineersdecor.config.e_furnace_power_consumption": "E-furnace: Power consumption", + "engineersdecor.config.without_clinker_bricks": "Без клинкерных кирпичей", + "engineersdecor.config.without_slag_bricks": "Без шлаковых кирпичей", + "engineersdecor.config.without_rebar_concrete": "Без железобетона", + "engineersdecor.config.without_walls": "Без стен", + "engineersdecor.config.without_stairs": "Без ступенек", + "engineersdecor.config.without_ie_concrete_wall": "Без бетонных стен", + "engineersdecor.config.without_panzer_glass": "Без бронированного стекла", + "engineersdecor.config.without_crafting_table": "Без верстака", + "engineersdecor.config.without_lab_furnace": "Без лабораторной печи", + "engineersdecor.config.without_electrical_furnace": "Без электрической печи", + "engineersdecor.config.without_treated_wood_furniture": "Без мебели из обр-ого дерева", + "engineersdecor.config.without_windows": "Без окон", + "engineersdecor.config.without_light_sources": "Без светильников", + "engineersdecor.config.without_ladders": "Без лестниц", + "engineersdecor.config.without_chair_sitting": "Без стульев для сидения", + "engineersdecor.config.without_mob_chair_sitting": "Без стульев для сидения для существ", + "engineersdecor.config.without_ladder_speed_boost": "Без ускорения на лестницах", + "engineersdecor.config.without_crafting_table_history": "Без истории крафта в столе", + "engineersdecor.config.without_valves": "Без клапанов", + "engineersdecor.config.without_passive_fluid_accumulator": "Без жидкостного накопителя", + "engineersdecor.config.without_waste_incinerator": "Без сжигателя отходов", + "engineersdecor.config.without_sign_plates": "Без знаков", + "engineersdecor.config.without_factory_dropper": "Без фабричного выбрасывателя", + "engineersdecor.config.without_slabs": "Без плит", + "engineersdecor.config.without_halfslabs": "Без частей плит", + "engineersdecor.config.without_direct_slab_pickup": "Без поднятия плит", + "engineersdecor.config.without_poles": "Без столбов", + "engineersdecor.config.without_hsupports": "Без опор", + "engineersdecor.config.without_tooltips": "Без подсказок", + "engineersdecor.config.without_recipes": "Без рецептов", + "engineersdecor.config.furnace_smelting_speed_percent": "Печь: скорость плавления %", + "engineersdecor.config.furnace_fuel_efficiency_percent": "Печь: Эффективность топлива %", + "engineersdecor.config.furnace_boost_energy_consumption": "Печь: Энергия ускорения", + "engineersdecor.config.chair_mob_sitting_probability_percent": "Стулья: Шшанс сесть %", + "engineersdecor.config.chair_mob_standup_probability_percent": "\"Стулья: шанс встать %\"", + "engineersdecor.config.with_crafting_quickmove_buttons": "Верстак из обр-ого дерева: движение кнопок", + "engineersdecor.config.pipevalve_max_flowrate": "Клапаны: максимальная скорость потока", + "engineersdecor.config.pipevalve_redstone_gain": "Клапаны: спад красного камня", + "engineersdecor.config.e_furnace_speed_percent": "Электропечь: скорость плавления %", + "engineersdecor.config.e_furnace_power_consumption": "Электропечь: потребление энергии", "block.engineersdecor.clinker_brick_block": "Клинкерный кирпич", - "block.engineersdecor.clinker_brick_block.help": "§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок.", + "block.engineersdecor.clinker_brick_block.help": "§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок.", "block.engineersdecor.clinker_brick_stained_block": "Грязный клинкерный кирпич", - "block.engineersdecor.clinker_brick_stained_block.help": "§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен.", + "block.engineersdecor.clinker_brick_stained_block.help": "§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. Имеет более заметные следы грязи или пятен.", "block.engineersdecor.slag_brick_block": "Шлакоблок", "block.engineersdecor.slag_brick_block.help": "§6Серо-коричневый кирпичный блок с зависимыми от положения вариациями текстуры.", "block.engineersdecor.rebar_concrete": "Железобетон", "block.engineersdecor.rebar_concrete.help": "§6Стальной железобетонный блок.§r Дорогой, но взрывоустойчивый, как обсидиан.", "block.engineersdecor.panzerglass_block": "Бронированное стекло", - "block.engineersdecor.panzerglass_block.help": "§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет темно-серый оттенок, видны слабые структурные линии, мульти текстура для бесшовного отображения.", + "block.engineersdecor.panzerglass_block.help": "§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет тёмно-серый оттенок, слегка видны структурные линии, мультитекстура для бесшовного отображения.", "block.engineersdecor.rebar_concrete_tile": "Железобетонная плита", "block.engineersdecor.rebar_concrete_tile.help": "§6Стальная железобетонная плитка.§r Дорогая, но взрывоустойчивая, как обсидиан.", - "block.engineersdecor.clinker_brick_slab": "Clinker Brick Slab", - "block.engineersdecor.clinker_brick_stained_slab": "Stained Clinker Brick Slab", - "block.engineersdecor.slag_brick_slab": "Slag Brick Slab", - "block.engineersdecor.rebar_concrete_slab": "Rebar Concrete Slab", - "block.engineersdecor.rebar_concrete_tile_slab": "Rebar Concrete Tile Slab", - "block.engineersdecor.panzerglass_slab": "Panzer Glass Slab", + "block.engineersdecor.clinker_brick_slab": "Клинкерная плита", + "block.engineersdecor.clinker_brick_slab.help": "§6Плита из клинкерного блока.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок.", + "block.engineersdecor.clinker_brick_stained_slab": "Плита из окраженного клинкерного кирпича", + "block.engineersdecor.clinker_brick_stained_slab.help": "§6Плита из Окрашенного клинкерного блока.", + "block.engineersdecor.slag_brick_slab": "Плита из шлакоблока", + "block.engineersdecor.slag_brick_slab.help": "§6Серо-коричневая кирпичная плита.", + "block.engineersdecor.rebar_concrete_slab": "Железобетонная плита", + "block.engineersdecor.rebar_concrete_slab.help": "§6Бетонная плита, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан.", + "block.engineersdecor.rebar_concrete_tile_slab": "Железобетонная плитка", + "block.engineersdecor.rebar_concrete_tile_slab.help": "§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан.", + "block.engineersdecor.panzerglass_slab": "Плита из бронированного стекла", + "block.engineersdecor.panzerglass_slab.help": "§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии.", "block.engineersdecor.rebar_concrete_wall": "Железобетонная стена", "block.engineersdecor.rebar_concrete_wall.help": "§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан.", "block.engineersdecor.concrete_wall": "Бетонная стена", - "block.engineersdecor.concrete_wall.help": "§6Стена из твердого бетона.", + "block.engineersdecor.concrete_wall.help": "§6Стена из твёрдого бетона.", "block.engineersdecor.clinker_brick_wall": "Клинкерная кирпичная стена", "block.engineersdecor.clinker_brick_wall.help": "§6Обыкновенная клинкерная кирпичная стена.", "block.engineersdecor.slag_brick_wall": "Кирпичная стена из шлакоблока", "block.engineersdecor.slag_brick_wall.help": "§6Обыкновенная стена из шлакоблока.", "block.engineersdecor.metal_rung_ladder": "Металлическая лестница", - "block.engineersdecor.metal_rung_ladder.help": "§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх / вниз, чтобы подняться быстрее.", + "block.engineersdecor.metal_rung_ladder.help": "§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх/вниз, чтобы подняться быстрее.", "block.engineersdecor.metal_rung_steps": "Настенные металлические ступеньки", - "block.engineersdecor.metal_rung_steps.help": "§6Металлические ступеньки, крепятся к стене. Позволяют подыматься / спускаться.§r Смотри вверх / вниз, чтобы подняться быстрее.", + "block.engineersdecor.metal_rung_steps.help": "§6Металлические ступеньки, крепятся к стене. Позволяют подниматься/спускаться.§r Смотри вверх/вниз, чтобы подняться быстрее.", "block.engineersdecor.treated_wood_ladder": "Лестница из обработанного дерева", - "block.engineersdecor.treated_wood_ladder.help": "§6Погодоустойчивая деревянная лестница.§r Смотри вверх / вниз, чтобы подняться быстрее.", - "block.engineersdecor.clinker_brick_stairs": "Клинкерная кирпичная лестница", - "block.engineersdecor.clinker_brick_stairs.help": "§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок", - "block.engineersdecor.clinker_brick_stained_stairs": "Грязная кирпичная лестница", - "block.engineersdecor.clinker_brick_stained_stairs.help": "§6Выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен.", - "block.engineersdecor.slag_brick_stairs": "Клинкерная кирпичная лестница", - "block.engineersdecor.slag_brick_stairs.help": "§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок.", - "block.engineersdecor.rebar_concrete_stairs": "Железобетонная лестница", - "block.engineersdecor.rebar_concrete_stairs.help": "§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан.", - "block.engineersdecor.rebar_concrete_tile_stairs": "Железобетонная лестница", - "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан.", + "block.engineersdecor.treated_wood_ladder.help": "§6Погодоустойчивая деревянная лестница.§r Смотри вверх/вниз, чтобы подняться быстрее.", + "block.engineersdecor.clinker_brick_stairs": "Клинкерные кирпичные ступеньки", + "block.engineersdecor.clinker_brick_stairs.help": "§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок", + "block.engineersdecor.clinker_brick_stained_stairs": "Грязные кирпичные ступеньки", + "block.engineersdecor.clinker_brick_stained_stairs.help": "§6Выглядият немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен.", + "block.engineersdecor.slag_brick_stairs": "Клинкерные кирпичные ступеньки", + "block.engineersdecor.slag_brick_stairs.help": "§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок.", + "block.engineersdecor.rebar_concrete_stairs": "Железобетонные ступеньки", + "block.engineersdecor.rebar_concrete_stairs.help": "§6Железобетонные ступеньки.§r Дорогие, но взрывоустойчивые, как обсидиан.", + "block.engineersdecor.rebar_concrete_tile_stairs": "Ступеньки из железобетонной плитки", + "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6Ступеньки из железобетонной плитки.§r Дорогие, но взрывоустойчивые, как обсидиан.", "block.engineersdecor.treated_wood_pole": "Прямой обработанный деревянный столб", - "block.engineersdecor.treated_wood_pole.help": "§6Надёжный столб с диаметром, схожим с реле.§r\n Может быть полезен в качестве альтернативы электро-столбам, если требуется особая специальная длина, или как опора для конструкций.", - "block.engineersdecor.treated_wood_pole_head": "Прямой обработанный деревянный столб верхняя часть/основание", + "block.engineersdecor.treated_wood_pole.help": "§6Надёжный столб с диаметром, схожим с реле.§r\n Может быть полезен в качестве альтернативы электростолбам, если требуется особая специальная длина, или как опора для конструкций.", + "block.engineersdecor.treated_wood_pole_head": "Прямой обработанный деревянный столб (верхняя часть/основание)", "block.engineersdecor.treated_wood_pole_head.help": "§6Деревянная часть, подходит как основание или наконечник прямых столбов.", "block.engineersdecor.treated_wood_pole_support": "Прямой обработанный деревянный столб", "block.engineersdecor.treated_wood_pole_support.help": "§6Усиленная деревянная опорная часть, подходит как основание или наконечник прямых столбов.", @@ -107,12 +114,17 @@ "block.engineersdecor.steel_double_t_support": "Стальная двойная Т-образная опора", "block.engineersdecor.steel_double_t_support.help": "§6Фрагмент горизонтальной потолочной опорной балки.", "block.engineersdecor.treated_wood_table": "Стол из обработанного дерева", - "block.engineersdecor.treated_wood_table.help": "§6Прочный деревянный стол с четырьмя ножками .§r Для использования в помещении и на улице.", + "block.engineersdecor.treated_wood_table.help": "§6Прочный деревянный стол с четырьмя ножками.§r Для использования в помещении и на улице.", + "block.engineersdecor.steel_table": "Стальной стол", + "block.engineersdecor.steel_table.help": "§6Прочный стол с четырьмя ножками.", + "block.engineersdecor.steel_floor_grating": "Решётка стального пола", + "block.engineersdecor.steel_floor_grating.help": "§6Декоративное стальное напольное покрытие.§r Выровнен по верху.", "block.engineersdecor.treated_wood_stool": "Табурет из обработанного дерева", "block.engineersdecor.treated_wood_stool.help": "§6Крепкий деревянный табурет.§r Для использования в помещении и на улице.", "block.engineersdecor.treated_wood_crafting_table": "Верстак из обработанного дерева", "block.engineersdecor.treated_wood_crafting_table.help": "§6Прочный и устойчивый к погодным условиям. Восемь слотов для хранения. Хранит инвентарь.", "block.engineersdecor.treated_wood_side_table": "Treated Wood Side Table", + "block.engineersdecor.treated_wood_side_table.help": "§6Needed after the work's done.", "block.engineersdecor.iron_inset_light": "Встраиваемый осветитель", "block.engineersdecor.iron_inset_light.help": "§6Маленький источник света, интегрируемый в стены, пол или потолок.§r\n Полезно для освещения мест, где проблематичны электрические осветительные установки. Уровень света - как факел.", "block.engineersdecor.treated_wood_window": "Обработанное деревянное окно", @@ -122,26 +134,26 @@ "block.engineersdecor.steel_framed_window": "Окно со стальной рамой", "block.engineersdecor.steel_framed_window.help": "§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели.", "block.engineersdecor.small_lab_furnace": "Компактная лабораторная печь", - "block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива - сверху. Немного горячее чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива.", + "block.engineersdecor.small_lab_furnace.help": "§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее, чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива.", "block.engineersdecor.small_electrical_furnace": "Компактная конвейерная электрическая печь", - "block.engineersdecor.small_electrical_furnace.help": "§6Компактная конвейерная печь в металлическом корпусе.§r Автоматически принимает предметы со стороны ввода и складывает в инвентарь со стороны вывода. Предметы могут быть импортированы/вытянуты со всех сторон с помощью воронок. Без проблем пропускает элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстра, чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует немного энергии.", + "block.engineersdecor.small_electrical_furnace.help": "§6Компактная конвейерная печь в металлическом корпусе.§r Автоматически принимает предметы со стороны ввода и складывает в инвентарь со стороны вывода. Предметы можно помещать/забирать со всех сторон с помощью воронок. Без проблем пропускает элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстрая, чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует мало энергии.", "block.engineersdecor.small_waste_incinerator": "Компактный сжигатель отходов", - "block.engineersdecor.small_waste_incinerator.help": "§6Отходы с слотами очереди.§r Предметы могут помещаться с любой стороны, и храниться до тех пор, пока в очереди не останется свободного места. После этого самый старый стэк будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. Сохраняет инвентарь при перемещении.", + "block.engineersdecor.small_waste_incinerator.help": "§6Отходы с слотами для очереди.§r Предметы могут помещаться с любой стороны, и храниться до тех пор, пока в очереди не останется свободного места. После этого самый старый стек будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. Сохраняет инвентарь при перемещении.", "block.engineersdecor.straight_pipe_valve": "Жидкостный одноканальный клапан", - "block.engineersdecor.straight_pipe_valve.help": "§6Фрагмент прямой трубы.§r проводит жидкость только в одном направлении. Не соединяется по бокам. Уменьшает пропускную способность. SHIFT для размещения в противоположном направлении.", - "block.engineersdecor.straight_pipe_valve_redstone": "Редстоун-контролируемый жидкостный клапан", - "block.engineersdecor.straight_pipe_valve_redstone.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. Блокирует поток, если присутствует сигнал красного камня.", + "block.engineersdecor.straight_pipe_valve.help": "§6Фрагмент прямой трубы.§r Проводит жидкость только в одном направлении. Не соединяется по бокам. Уменьшает пропускную способность. SHIFT для размещения в противоположном направлении.", + "block.engineersdecor.straight_pipe_valve_redstone": "Краснокаменно-контролируемый жидкостный клапан", + "block.engineersdecor.straight_pipe_valve_redstone.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT для размещения в обратном направлении. Блокирует поток, если присутствует сигнал красного камня.", "block.engineersdecor.straight_pipe_valve_redstone_analog": "Редстоун-аналоговый клапан для жидкости", - "block.engineersdecor.straight_pipe_valve_redstone_analog.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. Не пропускает при отсутствии красного сигнала, уменьшает расход линейно с мощности 1 до 14, открывается максимально-возможно при уровне красного сигнала 15.", + "block.engineersdecor.straight_pipe_valve_redstone_analog.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT для размещения в обратном направлении. Не пропускает при отсутствии сигнала красного камня, уменьшает расход линейно с мощности 1 до 14, открывается максимально-возможно при уровне сигнала красного камня 15.", "block.engineersdecor.passive_fluid_accumulator": "Пассивный жидкостный накопитель", - "block.engineersdecor.passive_fluid_accumulator.help": "§6Вакуумный всасывающий жидкостный коллектор§r Имеет один выход, все остальные стороны - входные. Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта.", + "block.engineersdecor.passive_fluid_accumulator.help": "§6Вакуумный всасывающий жидкостный коллектор.§r Имеет один выход, все остальные стороны входные. Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта.", "block.engineersdecor.factory_dropper": "Фабричный выбрасыватель", - "block.engineersdecor.factory_dropper.help": "§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет двенадцать выборочных слотов. Сила броска, угол, размер стопки и задержка настраиваются в GUI. Три слота сравнения стека с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, когда выполняются условия внутреннего запуска. Сбрасывает все соответствующие стеки одновременно. Нажмите на все элементы в GUI, чтобы увидеть, как это работает.", + "block.engineersdecor.factory_dropper.help": "§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет 12 выборочных слотов. Сила броска, угол, размер стопки и задержка настраиваются в GUI. 3 слота сравнения стека с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, когда выполняются условия внутреннего запуска. Сбрасывает все соответствующие стеки одновременно. Нажмите на все элементы в GUI, чтобы увидеть, как это работает.", "block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace", "block.engineersdecor.sign_decor": "Табличка с надписью (Логотип Engineer's decor)", "block.engineersdecor.sign_decor.help": "§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов.", "block.engineersdecor.sign_hotwire": "Знак «Осторожно, под напряжением»", - "block.engineersdecor.sign_hotwire.help": "§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить вокруг HV, иначе у вас будет штраф при следующей проверке.", + "block.engineersdecor.sign_hotwire.help": "§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить около высокого напряжения, иначе у вас будет штраф при следующей проверке.", "block.engineersdecor.sign_mindstep": "Знак «Осторожно, там ступеньки!»", "block.engineersdecor.sign_mindstep.help": "§6Размещается на стенах (горизонтально)", "block.engineersdecor.sign_danger": "Знак «Осторожно, там опасность»", @@ -149,7 +161,8 @@ "block.engineersdecor.sign_defense": "Знак «Осторожно, впереди система обороны»", "block.engineersdecor.sign_defense.help": "§6Предупреждающий знак для турелей, катушек Тесла и ловушек.", "block.engineersdecor.sign_factoryarea": "Знак «Заводская зона»", - "block.engineersdecor.sign_factoryarea.help": "§6Знак для зданий или областей, где находятся действительно большие машины.", + "block.engineersdecor.sign_factoryarea.help": "§6Там дверь, пожалуйста...", + "block.engineersdecor.sign_exit": "Знак «Выход»", "block.engineersdecor.halfslab_rebar_concrete": "Арматура для бетона", "block.engineersdecor.halfslab_rebar_concrete.help": "§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.", "block.engineersdecor.halfslab_concrete": "Бетонный срез", diff --git a/1.14/src/main/resources/assets/engineersdecor/lang/zh_cn.json b/1.14/src/main/resources/assets/engineersdecor/lang/zh_cn.json index ca59239..2d3614d 100644 --- a/1.14/src/main/resources/assets/engineersdecor/lang/zh_cn.json +++ b/1.14/src/main/resources/assets/engineersdecor/lang/zh_cn.json @@ -94,6 +94,8 @@ "block.engineersdecor.steel_double_t_support": "Steel Double T Support", "block.engineersdecor.treated_wood_table": "经过处理的木桌", "block.engineersdecor.treated_wood_table.help": "§6坚固的四足木桌.", + "block.engineersdecor.steel_table": "Steel Table", + "block.engineersdecor.steel_floor_grating": "Steel Floor Grating", "block.engineersdecor.treated_wood_stool": "Treated Wood Stool", "block.engineersdecor.treated_wood_crafting_table": "Treated Wood Crafting Table", "block.engineersdecor.treated_wood_side_table": "Treated Wood Side Table", @@ -116,6 +118,7 @@ "block.engineersdecor.sign_danger": "Sign \"Caution Really Dangerous There\"", "block.engineersdecor.sign_defense": "Sign \"Caution Defense System Ahead\"", "block.engineersdecor.sign_factoryarea": "Sign \"Factory Area\"", + "block.engineersdecor.sign_exit": "Exit Sign", "block.engineersdecor.halfslab_rebar_concrete": "Rebar Concrete Slice", "block.engineersdecor.halfslab_concrete": "Concrete Slice", "block.engineersdecor.halfslab_treated_wood": "Treated Wood Slice", diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_floor_grating_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_floor_grating_model.json new file mode 100644 index 0000000..5d6f83d --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_floor_grating_model.json @@ -0,0 +1,187 @@ +{ + "parent": "block/cube", + "textures": { + "s": "engineersdecor:block/furniture/steel_table_side_texture", + "particle": "engineersdecor:block/furniture/steel_table_side_texture", + "t": "engineersdecor:block/furniture/steel_table_top_texture" + }, + "elements": [ + { + "from": [0, 14, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#t"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#t"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 14, 0.75], + "to": [16, 16, 15.25], + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "south": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "up": {"uv": [15, 0.75, 16, 15.25], "texture": "#t"}, + "down": {"uv": [15, 0.75, 16, 15.25], "texture": "#s"} + } + }, + { + "from": [1, 15, 13.625], + "to": [15, 15.875, 14.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "up": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"}, + "down": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 12.125], + "to": [15, 15.875, 12.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "up": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"}, + "down": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 10.625], + "to": [15, 15.875, 11.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "up": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"}, + "down": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 9.125], + "to": [15, 15.875, 9.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "up": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"}, + "down": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 7.625], + "to": [15, 15.875, 8.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "up": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"}, + "down": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 6.125], + "to": [15, 15.875, 6.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "up": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"}, + "down": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 4.625], + "to": [15, 15.875, 5.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "up": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"}, + "down": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 3.125], + "to": [15, 15.875, 3.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "up": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"}, + "down": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 1.625], + "to": [15, 15.875, 2.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "up": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"}, + "down": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"} + } + }, + { + "from": [0, 14, 1], + "to": [1, 16, 15], + "faces": { + "north": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#t"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + } + ], + "display": { + "ground": { + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json new file mode 100644 index 0000000..5092f8e --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json @@ -0,0 +1,383 @@ +{ + "parent": "block/cube", + "textures": { + "s": "engineersdecor:block/furniture/steel_table_side_texture", + "particle": "engineersdecor:block/furniture/steel_table_side_texture", + "t": "engineersdecor:block/furniture/steel_table_top_texture" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 14, 1], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 14, 1], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [14, 0, 15], + "to": [16, 14, 16], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 15], + "to": [2, 14, 16], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 14], + "to": [1, 14, 15], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 14, 2], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [15, 0, 1], + "to": [16, 14, 2], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [15, 0, 14], + "to": [16, 14, 15], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 14, 14], + "to": [16, 15.875, 16], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#s"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 15.875, 2], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#s"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 15.875, 14], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#s"} + } + }, + { + "from": [2, 15.5, 12.75], + "to": [14, 15.875, 13.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 13.75], + "to": [14, 15.875, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 11.75], + "to": [14, 15.875, 12.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 10.75], + "to": [14, 15.875, 11.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 9.75], + "to": [14, 15.875, 10.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 8.75], + "to": [14, 15.875, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 7.75], + "to": [14, 15.875, 8.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 6.75], + "to": [14, 15.875, 7.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 5.75], + "to": [14, 15.875, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 4.75], + "to": [14, 15.875, 5.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 3.75], + "to": [14, 15.875, 4.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 2.75], + "to": [14, 15.875, 3.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [2, 15.5, 2], + "to": [14, 15.875, 2.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#t"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 15.875, 14], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#t"}, + "down": {"texture": "#s"} + } + }, + { + "from": [14, 13.5, 14], + "to": [15, 14, 15], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s"} + } + }, + { + "from": [1, 13.5, 14], + "to": [2, 14, 15], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s"} + } + }, + { + "from": [14, 13.5, 1], + "to": [15, 14, 2], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s"} + } + }, + { + "from": [1, 13.5, 1], + "to": [2, 14, 2], + "faces": { + "north": {"texture": "#s"}, + "east": {"texture": "#s"}, + "south": {"texture": "#s"}, + "west": {"texture": "#s"}, + "up": {"texture": "#s"}, + "down": {"texture": "#s"} + } + } + ], + "display": { + "ground": { + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_side_table_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_side_table_model.json new file mode 100644 index 0000000..f6cf7d1 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_side_table_model.json @@ -0,0 +1,206 @@ +{ + "parent": "block/cube", + "textures": { + "o": "engineersdecor:block/iestyle/treated_wood_framed_texture", + "particle": "engineersdecor:block/iestyle/treated_wood_framed_texture" + }, + "elements": [ + { + "from": [7, 2.5, 7], + "to": [9, 14, 9], + "faces": { + "north": {"uv": [7, 1, 9, 13.5], "texture": "#o"}, + "east": {"uv": [7, 1, 9, 13.5], "texture": "#o"}, + "south": {"uv": [7, 1, 9, 13.5], "texture": "#o"}, + "west": {"uv": [7, 1, 9, 13.5], "texture": "#o"}, + "down": {"uv": [7, 7, 9, 9], "texture": "#o", "cullface": "down"} + } + }, + { + "from": [9.375, 0.375, 7.25], + "to": [10.875, 4.875, 8.75], + "rotation": {"angle": 45, "axis": "z", "origin": [10.5, 2.375, 8]}, + "faces": { + "north": {"uv": [5, 11, 6, 15], "texture": "#o"}, + "east": {"uv": [7.5, 9, 9.5, 15], "texture": "#o"}, + "south": {"uv": [10, 10, 12, 15], "texture": "#o"}, + "west": {"uv": [7.5, 11, 8.5, 15], "texture": "#o"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 15, 13], + "faces": { + "north": {"uv": [3, 1, 13, 2], "texture": "#o"}, + "east": {"uv": [3, 1, 13, 2], "texture": "#o"}, + "south": {"uv": [3, 1, 13, 2], "texture": "#o"}, + "west": {"uv": [3, 1, 13, 2], "texture": "#o"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#o"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#o"} + } + }, + { + "from": [11, 0, 7], + "to": [14, 1.25, 9], + "faces": { + "north": {"uv": [2, 14.75, 5, 16], "texture": "#o"}, + "east": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "south": {"uv": [11, 14.75, 14, 16], "texture": "#o"}, + "west": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "up": {"uv": [11, 7, 14, 9], "texture": "#o"}, + "down": {"uv": [11, 7, 14, 9], "texture": "#o"} + } + }, + { + "from": [2, 0, 7], + "to": [5, 1.25, 9], + "faces": { + "north": {"uv": [11, 14.75, 14, 16], "texture": "#o"}, + "east": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "south": {"uv": [2, 14.75, 5, 16], "texture": "#o"}, + "west": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "up": {"uv": [2, 7, 5, 9], "texture": "#o"}, + "down": {"uv": [2, 7, 5, 9], "texture": "#o"} + } + }, + { + "from": [7, 0, 2], + "to": [9, 1.25, 5], + "faces": { + "north": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "east": {"uv": [11, 14.75, 14, 16], "texture": "#o"}, + "south": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "west": {"uv": [2, 14.75, 5, 16], "texture": "#o"}, + "up": {"uv": [7, 2, 9, 5], "rotation": 270, "texture": "#o"}, + "down": {"uv": [7, 11, 9, 14], "rotation": 90, "texture": "#o"} + } + }, + { + "from": [7, 0, 11], + "to": [9, 1.25, 14], + "faces": { + "north": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "east": {"uv": [2, 14.75, 5, 16], "texture": "#o"}, + "south": {"uv": [7, 14.75, 9, 16], "texture": "#o"}, + "west": {"uv": [11, 14.75, 14, 16], "texture": "#o"}, + "up": {"uv": [7, 11, 9, 14], "rotation": 270, "texture": "#o"}, + "down": {"uv": [7, 2, 9, 5], "rotation": 90, "texture": "#o"} + } + }, + { + "from": [5.125, 0.375, 7.25], + "to": [6.625, 4.875, 8.75], + "rotation": {"angle": -45, "axis": "z", "origin": [5.5, 2.375, 8]}, + "faces": { + "north": {"uv": [5, 11, 6, 15], "texture": "#o"}, + "east": {"uv": [7.5, 9, 9.5, 15], "texture": "#o"}, + "south": {"uv": [10, 10, 12, 15], "texture": "#o"}, + "west": {"uv": [7.5, 11, 8.5, 15], "texture": "#o"} + } + }, + { + "from": [7.25, 0.375, 9.375], + "to": [8.75, 4.875, 10.875], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 2.375, 10.5]}, + "faces": { + "north": {"uv": [5, 11, 6, 15], "texture": "#o"}, + "east": {"uv": [7.5, 9, 9.5, 15], "texture": "#o"}, + "south": {"uv": [10, 10, 12, 15], "texture": "#o"}, + "west": {"uv": [7.5, 11, 8.5, 15], "texture": "#o"} + } + }, + { + "from": [7.25, 0.375, 5.125], + "to": [8.75, 4.875, 6.625], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 2.375, 5.5]}, + "faces": { + "north": {"uv": [5, 11, 6, 15], "texture": "#o"}, + "east": {"uv": [7.5, 9, 9.5, 15], "texture": "#o"}, + "south": {"uv": [10, 10, 12, 15], "texture": "#o"}, + "west": {"uv": [7.5, 11, 8.5, 15], "texture": "#o"} + } + }, + { + "from": [2, 15, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [2, 0, 14, 1], "texture": "#o"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#o"}, + "south": {"uv": [2, 0, 14, 1], "texture": "#o"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#o"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#o"}, + "down": {"uv": [2, 2, 14, 14], "texture": "#o"} + } + }, + { + "from": [1, 15, 3], + "to": [2, 16, 13], + "faces": { + "north": {"uv": [14, 0, 15, 1], "texture": "#o"}, + "east": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "south": {"uv": [1, 0, 2, 1], "texture": "#o"}, + "west": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "up": {"uv": [1, 3, 2, 13], "texture": "#o"}, + "down": {"uv": [1, 3, 2, 13], "texture": "#o"} + } + }, + { + "from": [14, 15, 3], + "to": [15, 16, 13], + "faces": { + "north": {"uv": [1, 0, 2, 1], "texture": "#o"}, + "east": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "south": {"uv": [14, 0, 15, 1], "texture": "#o"}, + "west": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "up": {"uv": [14, 3, 15, 13], "texture": "#o"}, + "down": {"uv": [14, 3, 15, 13], "texture": "#o"} + } + }, + { + "from": [3, 15, 1], + "to": [13, 16, 2], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "east": {"uv": [14, 0, 15, 1], "texture": "#o"}, + "south": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "west": {"uv": [1, 0, 2, 1], "texture": "#o"}, + "up": {"uv": [3, 1, 13, 2], "texture": "#o"}, + "down": {"uv": [3, 14, 13, 15], "texture": "#o"} + } + }, + { + "from": [3, 15, 14], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "east": {"uv": [1, 0, 2, 1], "texture": "#o"}, + "south": {"uv": [3, 0, 13, 1], "texture": "#o"}, + "west": {"uv": [14, 0, 15, 1], "texture": "#o"}, + "up": {"uv": [3, 14, 13, 15], "texture": "#o"}, + "down": {"uv": [3, 1, 13, 2], "texture": "#o"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [24, -27, 10], + "translation": [0.75, -1.25, -0.25], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [-15, 20, 0], + "translation": [0.5, -0.25, 0.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json new file mode 100644 index 0000000..d85001d --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json @@ -0,0 +1,45 @@ +{ + "parent": "block/cube", + "textures": { + "s": "engineersdecor:block/iestyle/treated_wood_rough_texture", + "particle": "engineersdecor:block/iestyle/treated_wood_rough_texture", + "f": "engineersdecor:block/sign/sign_exit_texture" + }, + "elements": [ + { + "from": [3, 7, 0], + "to": [13, 13, 0.5], + "faces": { + "north": {"uv": [3, 3, 13, 9], "texture": "#s"}, + "east": {"uv": [15.5, 3, 16, 9], "texture": "#s"}, + "south": {"uv": [0, 2, 16, 12], "texture": "#f"}, + "west": {"uv": [0, 3, 0.5, 9], "texture": "#s"}, + "up": {"uv": [3, 0, 13, 0.5], "texture": "#s"}, + "down": {"uv": [3, 15.5, 13, 16], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [27, -68, 7], + "translation": [-3, -1, -0.75], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [1, -58, 7], + "translation": [0.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 0, 7], + "scale": [0.7, 0.7, 0.7] + }, + "gui": { + "translation": [0, 0.5, 0] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7.8] + } + } +} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/sign_exit.json b/1.14/src/main/resources/assets/engineersdecor/models/item/sign_exit.json new file mode 100644 index 0000000..03f0798 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/sign_exit.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/sign/sign_exit_model" } \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/steel_floor_grating.json b/1.14/src/main/resources/assets/engineersdecor/models/item/steel_floor_grating.json new file mode 100644 index 0000000..38be511 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/steel_floor_grating.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/furniture/steel_floor_grating_model" } \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/steel_table.json b/1.14/src/main/resources/assets/engineersdecor/models/item/steel_table.json new file mode 100644 index 0000000..b54d0ac --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/steel_table.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/furniture/steel_table_model" } \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/treated_wood_side_table.json b/1.14/src/main/resources/assets/engineersdecor/models/item/treated_wood_side_table.json new file mode 100644 index 0000000..0710aa6 --- /dev/null +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/treated_wood_side_table.json @@ -0,0 +1 @@ +{ "parent": "engineersdecor:block/furniture/treated_wood_side_table_model" } \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/furniture/steel_table_side_texture.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/furniture/steel_table_side_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..758bc245c1e8c23c33ec7c5ea988004094e71d76 GIT binary patch literal 384 zcmV-`0e}99P)3i0LyzrjgZvqe%>R262%?REoTj4?2?)m~l^4%xnSAgaC8SRd)fkM#PdTL%Txluh%PPwtMjTd=73)k(5Z86bZK! z=#rjeW(O6jb)5Dd5k$mFKoR{S6i((3Mb`7xd%GW9MOE>BzxP3^DlV7HfxWxm3C}52 z6+@F35ev|Po$x$Z5wR=C%)_*u-PhVvQbRwp|Keua4 e_bblcOy6If+FJ(kEpC_q00006mV+=1L%$Wn$$J0m zbOCl|(Wf+YSOJkGS$5*}dd-L+B9KH?0Wih@V9p6ZcLN}ah@iWfbCQx6V=(6=A~=qN z?#86RdN&!sd7ixAZ*m8jUD5*je9pNE;=lT6-fDiBc zUf+H!;(T^@DQSVN?y&Cret?bJoyoztzcB_8!F63LG>7bPJpoDI7Jy~ZlW|xsG|@hd z2Z0lJ4t6!?TtZE06*xOwh?5tJwZ+yT*U|%drr0w{?L_63n_E0_c z+|_?A?gSQc;dNaf2V)GXitc{ggP))tx$L9Psv gaSL9mea$WS2Rl13@eR^li2wiq07*qoM6N<$f?U$3zW@LL literal 0 HcmV?d00001 diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/sign/sign_exit_texture.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/sign/sign_exit_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..16c2a6775c014e2f89e77a14e908ffd7f10fbf11 GIT binary patch literal 934 zcmV;X16lluP)Q0&g=qONQa6vRal7yf{&2&q2{7uJxr6fBl1EhZS0wp8k96U784>7>()O&}R# zXWlt3-ZXh_MoT5`auyHX;hyu|d(Qd3d)c}EP9I8G*@y)rNtl6z69x(r0vcduf$G8n zC*)OsCA9L@KrtVv;D5FifE$|Aa_P2p_xXNI$A>-7BcW;}C=#ftLIkQNLKqBCGl3@r zNHx3KRHzvUf-rNQl#*+mbGhMj?ys^=<}a;ICJsN7TE>lU?$57ICQE@j=SfOu4{oiq zrdyT~U?`1r-*2_?n2XHr%~<(LvHP1^7Z3kF`}OOOMvnGx+n1fqZ|L7uslIb8m7S1Q zErWFrREX2NrP^?~1!e&_nLB$tJ2XC*kM2}80N{lGu?U_>Pv-Fck)t(U%%i;Z$nMtL z@6P-&8c_p}D7z@jZ^Fp)mw$ib%*S6o@%B^4Uz;dS4O}?$VDjFU`ZbXgD9l92s+IYt ziY*`<%YNVU*vqr!KPToc*86qeKHanZtJgOjdVX;Q2%t)Ztb2g48=#u*-mpErZtHvJ zJ_qnz%eKvTY|NxT+265uaS05Bkkm-Ju%+5PcwP1-t+p^~WM=%K#Qg_GPncPAeN$UQ zOQb}AnScoN+QTmy8(HGnlx+Pj|I?}b`LWr_4?6bD2c-{(zW@-}VlMGQEi&_$2vQV- zy<4uEfzDNH3F$hq@9|@=B;xfCBwAi=+xh0%PXQP-G6xol9fegSFT|)yf*+^HM(1+b zt^pk`)a6mz)MB^rEB*tx#RnF%d`m;t!v z`QeFpM4;x0m|573vZ)zCBj|e-zmU2}0@74%<=L_VumTX;--A7i@x6I~^Z)<=07*qo IM6N<$f*cXYbN~PV literal 0 HcmV?d00001 diff --git a/1.14/tasks.js b/1.14/tasks.js index f0920ad..c8001a6 100644 --- a/1.14/tasks.js +++ b/1.14/tasks.js @@ -1,15 +1,22 @@ #!/usr/bin/djs // Note for reviewers/clones: This file is a auxiliary script for my setup. It's not needed to build the mod. "use strict"; -const constants = include("../meta/lib/constants.js")(); -const libtask = include("../meta/lib/libtask.js")(constants); -const liblang = include("../meta/lib/liblang.1.13.js")(constants); // 1.14 lang same as 1.13 +const constants = include("../meta/lib/constants.js")(); +constants.options.without_ref_repository_check = true; +const libtask = include("../meta/lib/libtask.js")(constants); +const liblang = include("../meta/lib/liblang.1.13.js")(constants); // 1.14 lang same as 1.13 +const libassets = include("../meta/lib/libassets.js")(constants); +const libtask114 = include("../meta/lib/libtask.1.14.js")(constants, libassets, liblang); var tasks = {}; tasks["sync-languages"] = function() { liblang.sync_languages(); }; +tasks["assets"] = function() { + libtask114.stdtasks["assets"](); +}; + tasks["create-slab-assets"] = function() { const libassets = include("../meta/lib/libassets.js")(constants); const slab_assets = include("meta/lib/slab_assets.js")(constants, libassets); diff --git a/meta/lib/libtask.1.14.js b/meta/lib/libtask.1.14.js new file mode 100644 index 0000000..1393b69 --- /dev/null +++ b/meta/lib/libtask.1.14.js @@ -0,0 +1,350 @@ +#!/usr/bin/djs +"use strict"; + +(function(constants, libassets, liblang){ + const me = {'tasks':{}, 'parsing':{},'sanatizing':{}}; + + const note = function() { + var args = ["[note]"]; + for(var i in arguments) args.push(arguments[i]); + print.apply(this, args); + } + const warn = function() { + var args = ["[warn]"]; + for(var i in arguments) args.push(arguments[i]); + print.apply(this, args); + } + const pass = function() { + var args = ["[pass]"]; + for(var i in arguments) args.push(arguments[i]); + print.apply(this, args); + } + const fail = function() { + var args = ["[fail]"]; + for(var i in arguments) args.push(arguments[i]); + print.apply(this, args); + } + + me.tasks.map_regnames_blockstate_filenames = function() { + const cwd = fs.cwd(); + const rnmap = constants.registryname_map_112_114; + if(rnmap === undefined) { + note("Blockstate file renaming skipped, no mapping defined."); + return; + } + try { + if(!fs.chdir(constants.local_assets_root()+"/blockstates")) throw new Error("Failed to switch to blockstates dir."); + for(var oldname in rnmap) { + const oldfile = oldname+".json"; + const newfile = rnmap[oldname]+".json"; + if(oldfile==newfile) continue; + if(fs.isfile(oldname+".json")) { + if(fs.isfile(newfile)) { + note("blockstate file skipped: '" + oldfile + "' -> '" + newfile + "' (new file already exists)"); + } else if(!fs.rename(oldfile, newfile)) { + note("blockstate file rename failed: '" + oldfile + "' -> '" + newfile + "'"); + } else { + note("blockstate file: '" + oldfile + "' -> '" + newfile + "'"); + } + } + } + pass("Blockstate file renaming done."); + } catch(ex) { + fail("Blockstate file renaming failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.map_regnames_lang_file_keys = function() { + const cwd = fs.cwd(); + const rnmap = constants.registryname_map_112_114; + const block_prefix = "block." + constants.modid + "."; + const item_prefix = "item." + constants.modid + "."; + try { + if(!fs.chdir(constants.local_assets_root()+"/lang")) throw new Error("Failed to switch to lang dir."); + const langfiles = fs.readdir(); + for(var i_langfile in langfiles) { + const original_lang = JSON.parse(fs.readfile(langfiles[i_langfile])); + const replaced_lang = {} + for(var key in original_lang) { + if(key.search(block_prefix)===0) { + const regname = key.replace(block_prefix,"").replace(/[\.].*$/,""); + if(rnmap[regname] !== undefined) { + const sfind = block_prefix + regname; + const srepl = block_prefix + rnmap[regname]; + const newkey = key.replace(sfind, srepl); + replaced_lang[newkey] = original_lang[key]; + continue; + } + } else if(key.search(item_prefix)===0) { + const regname = key.replace(item_prefix,"").replace(/[\.].*$/,""); + if(rnmap[regname] !== undefined) { + const sfind = item_prefix + regname; + const srepl = item_prefix + rnmap[regname]; + const newkey = key.replace(sfind, srepl); + replaced_lang[newkey] = original_lang[key]; + continue; + } + } + // replacements must continue + replaced_lang[key] = original_lang[key]; + } + fs.writefile(langfiles[i_langfile], JSON.stringify(replaced_lang,null,1)); + } + pass("Lang file key mappings done."); + } catch(ex) { + warn("Lang file key mapping failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.patch_texture_paths_in_models = function() { + const cwd = fs.cwd(); + const replacements = {}; + replacements['"' + constants.modid+":blocks/"] = '"' + constants.modid+":block/" + try { + if(!fs.chdir(constants.local_assets_root()+"/models")) throw new Error("Failed to switch to models dir."); + fs.find(".", "*.json", function(path){ + const original_text = fs.readfile(path); + var replaced_text = ""+original_text; + JSON.parse(replaced_text); // to throw on load error + for(var sfind in replacements) replaced_text = replaced_text.split(sfind).join(replacements[sfind]); + if(replaced_text !== original_text) { + note("Replacements in model '"+path+"'"); + fs.writefile(path, replaced_text); + } + return false; + }); + pass("Model file texture paths done."); + } catch(ex) { + fail("Model file texture paths failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.create_missing_block_items = function() { + const cwd = fs.cwd(); + const blockstate_models = {}; + try { + if(!fs.chdir(constants.local_assets_root())) throw new Error("Failed to switch to assets dir."); + fs.find("blockstates", "*.json", function(path){ + const blockstate = fs.basename(path).replace(".json",""); + const json = JSON.parse(fs.readfile(path)); + if(json["forge_marker"] !== undefined) { + var model = json["defaults"]["model"]; + if(model.search(constants.modid+":block/") < 0) { + model = model.replace(constants.modid+":", constants.modid+":block/"); + } + blockstate_models[blockstate] = model; + } + if(blockstate_models[blockstate] === undefined) { + throw new Error("IMPLEMENT use first found model."); + } + return false; + }); + for(var blockstate in blockstate_models) { + const item_model_file = "models/item/"+blockstate+".json"; + if(fs.isfile(item_model_file)) continue; + if(!fs.writefile(item_model_file, JSON.stringify({parent:blockstate_models[blockstate]}))) { + throw new Error("Failed to write item model file '" + item_model_file + "'"); + } + } + pass("Missing item models done."); + } catch(ex) { + fail("Missing item models failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.patch_registry_names_in_java_files = function() { + const cwd = fs.cwd(); + const rnmap = constants.registryname_map_112_114; + if(rnmap === undefined) { + pass("Registry name mapping in java files skipped, no mappings defined."); + return; + } + try { + if(!fs.chdir("src/main/java")) throw new Error("Failed to switch to 'src/main/java'."); + fs.find(".", "*.java", function(path){ + const original_code = fs.readfile(path); + var replaced_code = ""+original_code; + if(original_code===undefined) throw new Error("Failed to read '"+ path +"'."); + for(var oldname in rnmap) { + if(oldname == rnmap[oldname]) { + continue; + } + { + const sfind = '"'+constants.modid+':'+oldname+'"'; + const srepl = '"'+constants.modid+':'+rnmap[oldname]+'"'; + if(replaced_code.search(sfind) >= 0) { + replaced_code = replaced_code.split(sfind).join(srepl); + note(fs.basename(path), ":", sfind, "->" , srepl); + } + } + { + const sfind = '"'+oldname+'"'; + const srepl = '"'+rnmap[oldname]+'"'; + if(replaced_code.search(sfind) >= 0) { + replaced_code = replaced_code.split(sfind).join(srepl); + note(fs.basename(path), ":", sfind, "->" , srepl); + } + } + } + if(replaced_code !== original_code) { + if(!fs.writefile(path, replaced_code)) throw new Error("Failed to write '"+ path +"'."); + } + return false; + }); + pass("Registry name mapping in java files patched."); + } catch(ex) { + fail("Registry name mapping in java files failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.patch_forge_blockstates = function() { + const cwd = fs.cwd(); + try { + if(!fs.chdir(constants.local_assets_root()+"/blockstates")) throw new Error("Failed to switch to blockstates dir."); + const blockstate_files = fs.readdir("."); + for(var fit in blockstate_files) { + const jtxt = fs.readfile(blockstate_files[fit]); + if(!jtxt) throw new Error("Failed read blockstate file '" + blockstate_files[fit] + "'."); + const json = JSON.parse(jtxt); + if(json["forge_marker"] !== 1) continue; + // now simply text replace to keep the formatting + var njtext = jtxt.replace(/"normal"[\s]*:/, '"":'); + njtext = njtext.replace(/"inventory"[\s]*:[\s]*\[[\s]*\{[\s]*\}[\s]*][\s]*[,]?[\s]*/, ''); + njtext = njtext.replace(/"model":[\s]*"/g, '"model": "'); + const pref = '"model": "' + constants.modid + ':'; + njtext = njtext.replace(new RegExp(pref, "g"), pref + 'block/'); // actually faster to simply replace all and correct doubles. + njtext = njtext.replace(new RegExp(pref + 'block/block/', "g"), pref + 'block/'); + njtext = njtext.replace("\n\n", "\n"); + if(jtxt !== njtext) { + fs.writefile(blockstate_files[fit], njtext); + note("Forge blockstate '"+ fs.basename(blockstate_files[fit]) +"' patched."); + } + } + pass("Forge blockstates patched."); + } catch(ex) { + fail("Forge blockstate patching failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.map_recipe_filenames = function() { + const cwd = fs.cwd(); + const rnmap = constants.registryname_map_112_114; + if(rnmap === undefined) { + pass("Recipe file name mapping skipped, no mappings defined."); + return; + } + try { + if(!fs.chdir(constants.local_data_root()+"/recipes")) throw new Error("Failed to switch to recipes dir."); + fs.find(".", "*.json", function(path){ + const file_name = fs.basename(path); + if(file_name.search("_")===0) return; + const oldfile = path; + var newfile = ""; + for(var oldname in rnmap) { + const newname = rnmap[oldname]; + if(file_name.search(oldname)===0) { + newfile = fs.dirname(path) + "/" + fs.basename(path).replace(oldname, newname); + newfile = newfile.replace(".json",""); + if((newfile.search(/_recipe$/)<0) && (newfile.search(/_backcycle$/)<0) && (newfile.search(/_standalone$/)<0)) { + newfile += "_recipe"; + } + newfile += ".json"; + break; + } + } + if(newfile == "") { + // no match + } else if(oldfile === newfile) { + note("skip identical file " + newfile); + } else { + note(oldfile + " -> " + newfile); + fs.rename(oldfile, newfile); + } + }); + pass("Recipe file name mapping done."); + } catch(ex) { + fail("Recipe file name mapping failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.tasks.map_recipe_contents = function() { + const modid = constants.modid; + const cwd = fs.cwd(); + const rnmap = constants.registryname_map_112_114; + if(rnmap === undefined) { + pass("Recipe json data mapping skipped, no mappings defined."); + return; + } + try { + if(!fs.chdir(constants.local_data_root()+"/recipes")) throw new Error("Failed to switch to recipes dir."); + fs.find(".", "*.json", function(path){ + if(fs.basename(path).search("_")===0) return; + const txt = fs.readfile(path); + if(txt === undefined) { + note("Failed to read file '" + path + "'"); + return; + } + // The easy stuff fist, text replace regnames + for(var key in rnmap) { + const oldname = modid+":"+key + const newname = modid+":"+rnmap[key]; + txt = txt.split('"'+oldname+'"').join('"'+newname+'"'); + } + txt = JSON.stringify(JSON.parse(txt)); + txt = txt.replace(/,"data":0/g, ""); + var recipe = JSON.parse(txt); + if(recipe.conditions === undefined) recipe.conditions = {}; + recipe.conditions.type = modid+":grc" + recipe.conditions.result = recipe.result; + fs.writefile(path, JSON.stringify(recipe,null,1)); + if((recipe.result===undefined) || (recipe.result.item===undefined)) { + warn("Recipe '" + path + "': No result item?!"); + return; + } + const filename_check = recipe.result.item.replace(/^.*?:/,""); + if(fs.basename(path).search(filename_check) < 0) { + warn("Recipe filename '" + path + "' does not contain the result '"+ filename_check +"'."); + //const newfile = fs.dirname(path) + "/" + filename_check + "_recipe.json"; + //if(!fs.isfile(newfile)) fs.rename(path, newfile); + } + }); + pass("Recipe json data mappings done."); + } catch(ex) { + fail("Recipe json data mappings failed:"+ex); + } finally { + fs.chdir(cwd); + } + }; + + me.stdtasks = {}; + me.stdtasks["assets"] = function() { + me.tasks.map_regnames_blockstate_filenames(); + me.tasks.patch_texture_paths_in_models(); + me.tasks.create_missing_block_items(); + me.tasks.patch_registry_names_in_java_files(); + me.tasks.patch_forge_blockstates(); + me.tasks.map_recipe_filenames(); + me.tasks.map_recipe_contents(); + me.tasks.map_regnames_lang_file_keys(); + }; + + Object.freeze(me); + Object.freeze(me.tasks); + Object.freeze(me.parsing); + Object.freeze(me.sanatizing); + return me; +}); diff --git a/meta/update.json b/meta/update.json index a60f04f..f1c7c88 100644 --- a/meta/update.json +++ b/meta/update.json @@ -6,7 +6,7 @@ "1.13.2-recommended": "", "1.13.2-latest": "1.0.7-b5", "1.14.4-recommended": "", - "1.14.4-latest": "1.0.9-b9" + "1.14.4-latest": "1.0.11-b1" }, "1.12.2": { "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", @@ -74,6 +74,7 @@ "1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta." }, "1.14.4": { + "1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.", "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.", "1.0.9-b7": "[U] Updated to Forge 1.14.3-27.0.60/20190719-1.14.3.\n[F] Disabled all early implemented fuild handling of valves and the Fluid Accumulator to prevent world loading hang-ups (issue #42, thx TheOhmegha for reporting). Will be re-enabled after fluid handling released in Forge.\n[F] Fixed blockstate model locations for signs and crafting table (issue #43, thx ProsperCraft for the beta test).", From 92247ed4f8fd29c6781f2a70c84b5c9ac2d1e34f Mon Sep 17 00:00:00 2001 From: stfwi Date: Tue, 13 Aug 2019 20:41:55 +0200 Subject: [PATCH 4/9] 1.13: Dropped, refer to tag v1.0.7b5-mc1.13.2-final. --- 1.12/Makefile | 2 +- 1.13/.gitignore | 37 ---- 1.13/Makefile | 77 ------- 1.13/build.gradle | 98 --------- 1.13/gradle.properties | 14 -- 1.13/gradle/wrapper/gradle-wrapper.jar | Bin 54708 -> 0 bytes 1.13/gradle/wrapper/gradle-wrapper.properties | 5 - 1.13/gradlew | 172 ---------------- 1.13/gradlew.bat | 84 -------- 1.13/meta/update.json | 22 -- 1.13/readme.md | 79 -------- .../engineersdecor/ModEngineersDecor.java | 100 --------- .../engineersdecor/blocks/BlockDecor.java | 73 ------- .../blocks/BlockDecorDirected.java | 103 ---------- .../engineersdecor/blocks/BlockDecorFull.java | 49 ----- .../blocks/BlockDecorLadder.java | 69 ------- .../blocks/BlockDecorStairs.java | 45 ----- .../engineersdecor/blocks/BlockDecorWall.java | 75 ------- .../wile/engineersdecor/blocks/ModBlocks.java | 164 --------------- .../engineersdecor/detail/ModAuxiliaries.java | 167 --------------- .../wile/engineersdecor/detail/ModConfig.java | 35 ---- .../detail/RecipeCondModSpecific.java | 71 ------- 1.13/src/main/resources/META-INF/mods.toml | 31 --- .../blockstates/clinker_brick_block.json | 14 -- .../blockstates/clinker_brick_stairs.json | 44 ---- .../blockstates/concrete_wall.json | 9 - .../blockstates/iron_sheet_roof.json | 55 ----- .../blockstates/iron_sheet_roof_block.json | 11 - .../blockstates/metal_rung_ladder.json | 8 - .../blockstates/metal_rung_steps.json | 8 - .../blockstates/rebar_concrete.json | 14 -- .../blockstates/rebar_concrete_stairs.json | 44 ---- .../blockstates/rebar_concrete_wall.json | 9 - .../blockstates/slag_brick_block.json | 14 -- .../blockstates/slag_brick_stairs.json | 44 ---- .../blockstates/treated_wood_ladder.json | 8 - .../blockstates/treated_wood_pole.json | 14 -- .../blockstates/treated_wood_table.json | 5 - .../assets/engineersdecor/lang/en_us.json | 53 ----- .../assets/engineersdecor/lang/zh_cn.json | 53 ----- .../resources/assets/engineersdecor/logo.png | Bin 5496 -> 0 bytes .../block/brick/clinker_brick_model0.json | 1 - .../block/brick/clinker_brick_model1.json | 1 - .../block/brick/clinker_brick_model2.json | 1 - .../block/brick/clinker_brick_model3.json | 1 - .../block/brick/clinker_brick_model4.json | 1 - .../block/brick/clinker_brick_model5.json | 1 - .../block/brick/clinker_brick_model6.json | 1 - .../block/brick/clinker_brick_model7.json | 1 - .../block/brick/clinker_brick_stairs.json | 8 - .../brick/clinker_brick_stairs_inner.json | 8 - .../brick/clinker_brick_stairs_outer.json | 8 - .../models/block/brick/slag_brick_model0.json | 1 - .../models/block/brick/slag_brick_model1.json | 1 - .../models/block/brick/slag_brick_model2.json | 1 - .../models/block/brick/slag_brick_model3.json | 1 - .../models/block/brick/slag_brick_model4.json | 1 - .../models/block/brick/slag_brick_model5.json | 1 - .../models/block/brick/slag_brick_model6.json | 1 - .../models/block/brick/slag_brick_model7.json | 1 - .../models/block/brick/slag_brick_stairs.json | 8 - .../block/brick/slag_brick_stairs_inner.json | 8 - .../block/brick/slag_brick_stairs_outer.json | 8 - .../block/concrete/concrete_wall_default.json | 7 - .../concrete/concrete_wall_inventory.json | 7 - .../block/concrete/concrete_wall_post.json | 7 - .../block/concrete/concrete_wall_side.json | 7 - .../block/concrete/rebar_concrete_model0.json | 1 - .../block/concrete/rebar_concrete_model1.json | 1 - .../block/concrete/rebar_concrete_model2.json | 1 - .../block/concrete/rebar_concrete_model3.json | 1 - .../block/concrete/rebar_concrete_model4.json | 1 - .../block/concrete/rebar_concrete_model5.json | 1 - .../block/concrete/rebar_concrete_model6.json | 1 - .../block/concrete/rebar_concrete_model7.json | 1 - .../block/concrete/rebar_concrete_stairs.json | 8 - .../concrete/rebar_concrete_stairs_inner.json | 8 - .../concrete/rebar_concrete_stairs_outer.json | 8 - .../concrete/rebar_concrete_wall_default.json | 7 - .../rebar_concrete_wall_inventory.json | 7 - .../concrete/rebar_concrete_wall_post.json | 7 - .../concrete/rebar_concrete_wall_side.json | 7 - .../furniture/treated_wood_table_model.json | 190 ------------------ .../block/ladder/metal_rung_ladder_model.json | 159 --------------- .../block/ladder/metal_rung_steps_model.json | 166 --------------- .../ladder/treated_wood_ladder_model.json | 94 --------- .../block/pole/straight_pole_model.json | 75 ------- .../block/pole/straight_pole_up_model.json | 75 ------- .../block/roof/decor_full_block_model.json | 4 - .../block/roof/decor_inner_roof_model.json | 163 --------------- .../block/roof/decor_outer_roof_model.json | 99 --------- .../block/roof/decor_straight_roof_model.json | 114 ----------- .../block/wall/concrete_wall_default.json | 9 - .../block/wall/concrete_wall_inventory.json | 164 --------------- .../models/block/wall/concrete_wall_post.json | 22 -- .../models/block/wall/concrete_wall_side.json | 65 ------ .../models/item/clinker_brick_block.json | 1 - .../models/item/clinker_brick_stairs.json | 1 - .../models/item/concrete_wall.json | 1 - .../models/item/metal_rung_ladder.json | 1 - .../models/item/metal_rung_steps.json | 1 - .../models/item/rebar_concrete.json | 1 - .../models/item/rebar_concrete_stairs.json | 1 - .../models/item/rebar_concrete_wall.json | 1 - .../models/item/slag_brick_block.json | 1 - .../models/item/slag_brick_stairs.json | 1 - .../models/item/treated_wood_ladder.json | 1 - .../models/item/treated_wood_pole.json | 1 - .../models/item/treated_wood_table.json | 1 - .../clinker_brick/clinker_brick_texture0.png | Bin 748 -> 0 bytes .../clinker_brick/clinker_brick_texture1.png | Bin 736 -> 0 bytes .../clinker_brick/clinker_brick_texture2.png | Bin 731 -> 0 bytes .../clinker_brick/clinker_brick_texture3.png | Bin 728 -> 0 bytes .../clinker_brick/clinker_brick_texture4.png | Bin 746 -> 0 bytes .../clinker_brick/clinker_brick_texture5.png | Bin 724 -> 0 bytes .../clinker_brick/clinker_brick_texture6.png | Bin 740 -> 0 bytes .../clinker_brick/clinker_brick_texture7.png | Bin 739 -> 0 bytes .../concrete/rebar_concrete_texture0.png | Bin 607 -> 0 bytes .../concrete/rebar_concrete_texture1.png | Bin 623 -> 0 bytes .../concrete/rebar_concrete_texture2.png | Bin 639 -> 0 bytes .../concrete/rebar_concrete_texture3.png | Bin 618 -> 0 bytes .../concrete/rebar_concrete_texture4.png | Bin 612 -> 0 bytes .../concrete/rebar_concrete_texture5.png | Bin 619 -> 0 bytes .../concrete/rebar_concrete_texture6.png | Bin 611 -> 0 bytes .../concrete/rebar_concrete_texture7.png | Bin 615 -> 0 bytes .../ie_stone_decoration_concrete.png | Bin 1104 -> 0 bytes .../textures/block/iestyle/ironsheet_roof.png | Bin 415 -> 0 bytes .../block/iestyle/ironsheet_roof_top.png | Bin 509 -> 0 bytes .../textures/block/iestyle/steel_texture.png | Bin 527 -> 0 bytes .../textures/block/iestyle/treated_wood.png | Bin 535 -> 0 bytes .../treated_wood_framed_nailed_texture.png | Bin 584 -> 0 bytes .../iestyle/treated_wood_framed_texture.png | Bin 563 -> 0 bytes .../iestyle/treated_wood_pole_texture.png | Bin 596 -> 0 bytes .../iestyle/treated_wood_rough_texture.png | Bin 565 -> 0 bytes .../pole/treated_wood_pole_side_texture.png | Bin 293 -> 0 bytes .../pole/treated_wood_pole_top_texture.png | Bin 197 -> 0 bytes .../block/slag_brick/slag_brick_texture0.png | Bin 734 -> 0 bytes .../block/slag_brick/slag_brick_texture1.png | Bin 707 -> 0 bytes .../block/slag_brick/slag_brick_texture2.png | Bin 728 -> 0 bytes .../block/slag_brick/slag_brick_texture3.png | Bin 748 -> 0 bytes .../block/slag_brick/slag_brick_texture4.png | Bin 723 -> 0 bytes .../block/slag_brick/slag_brick_texture5.png | Bin 729 -> 0 bytes .../block/slag_brick/slag_brick_texture6.png | Bin 751 -> 0 bytes .../block/slag_brick/slag_brick_texture7.png | Bin 742 -> 0 bytes .../engineersdecor/recipes/_constants.json | 89 -------- .../recipes/clinker_brick_recipe.json | 22 -- .../recipes/clinker_brick_stairs_recipe.json | 23 --- ...clinker_brick_stairs_recipe_decompose.json | 22 -- .../recipes/metal_rung_ladder_recipe.json | 22 -- .../recipes/metal_rung_steps_recipe.json | 22 -- .../recipes/rebar_concrete_recipe.json | 22 -- .../recipes/rebar_concrete_stairs_recipe.json | 21 -- .../recipes/rebar_concrete_wall_recipe.json | 23 --- .../recipes/slag_brick_recipe_with_slag.json | 22 -- .../recipes/slag_brick_stairs_recipe.json | 23 --- .../recipes/treated_wood_ladder_recipe.json | 23 --- .../recipes/treated_wood_pole_recipe.json | 23 --- .../recipes/treated_wood_table_recipe.json | 23 --- 1.13/src/main/resources/pack.mcmeta | 7 - 1.13/tasks.js | 13 -- 1.14/build.gradle | 2 +- 1.14/gradle.properties | 2 +- 1.14/readme.md | 2 + Makefile | 4 - meta/update.json | 17 -- readme.md | 2 - tasks.js | 10 - 167 files changed, 5 insertions(+), 3977 deletions(-) delete mode 100644 1.13/.gitignore delete mode 100644 1.13/Makefile delete mode 100644 1.13/build.gradle delete mode 100644 1.13/gradle.properties delete mode 100644 1.13/gradle/wrapper/gradle-wrapper.jar delete mode 100644 1.13/gradle/wrapper/gradle-wrapper.properties delete mode 100644 1.13/gradlew delete mode 100644 1.13/gradlew.bat delete mode 100644 1.13/meta/update.json delete mode 100644 1.13/readme.md delete mode 100644 1.13/src/main/java/wile/engineersdecor/ModEngineersDecor.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecor.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorFull.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/blocks/ModBlocks.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/detail/ModAuxiliaries.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/detail/ModConfig.java delete mode 100644 1.13/src/main/java/wile/engineersdecor/detail/RecipeCondModSpecific.java delete mode 100644 1.13/src/main/resources/META-INF/mods.toml delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_block.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/concrete_wall.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof_block.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_ladder.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_steps.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_wall.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_block.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_ladder.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_pole.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_table.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/lang/en_us.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/lang/zh_cn.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/logo.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model0.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model1.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model2.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model3.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model4.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model5.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model6.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_model7.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_stairs_inner.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/clinker_brick_stairs_outer.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model0.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model1.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model2.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model3.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model4.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model5.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model6.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_model7.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_stairs_inner.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/brick/slag_brick_stairs_outer.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/concrete_wall_default.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/concrete_wall_inventory.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/concrete_wall_post.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/concrete_wall_side.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model0.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model1.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model2.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model3.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model4.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model5.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model6.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_model7.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_stairs_inner.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_stairs_outer.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_wall_default.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_wall_inventory.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_wall_post.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/concrete/rebar_concrete_wall_side.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_table_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/ladder/treated_wood_ladder_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_up_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/roof/decor_full_block_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/roof/decor_inner_roof_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/roof/decor_outer_roof_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/roof/decor_straight_roof_model.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_default.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_inventory.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_post.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/block/wall/concrete_wall_side.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/clinker_brick_block.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/clinker_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/concrete_wall.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/metal_rung_ladder.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/metal_rung_steps.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/rebar_concrete.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/rebar_concrete_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/rebar_concrete_wall.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/slag_brick_block.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/slag_brick_stairs.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/treated_wood_ladder.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/treated_wood_pole.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/models/item/treated_wood_table.json delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture0.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture1.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture2.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture3.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture4.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture5.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture6.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture7.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture0.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture1.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture2.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture3.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture4.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture5.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture6.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture7.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/ieoriginal/ie_stone_decoration_concrete.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/ironsheet_roof.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/ironsheet_roof_top.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/steel_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_framed_nailed_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_framed_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_pole_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_rough_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/pole/treated_wood_pole_side_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/pole/treated_wood_pole_top_texture.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture0.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture1.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture2.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture3.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture4.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture5.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture6.png delete mode 100644 1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture7.png delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/_constants.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_ladder_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_steps_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_stairs_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_wall_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_recipe_with_slag.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_stairs_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_ladder_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_pole_recipe.json delete mode 100644 1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_table_recipe.json delete mode 100644 1.13/src/main/resources/pack.mcmeta delete mode 100644 1.13/tasks.js diff --git a/1.12/Makefile b/1.12/Makefile index 12a5f78..88c2c73 100644 --- a/1.12/Makefile +++ b/1.12/Makefile @@ -101,5 +101,5 @@ dist: sanatize dist-check clean-all mod @djs tasks.js dist port-languages: - @echo "[1.12] Porting language files to 1.13/1.14 ..." + @echo "[1.12] Porting language files to 1.14 ..." @djs tasks.js port-languages diff --git a/1.13/.gitignore b/1.13/.gitignore deleted file mode 100644 index af7450c..0000000 --- a/1.13/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -bin -*.launch -.settings -.metadata -.classpath -.project -out -*.ipr -*.iws -*.iml -.idea -build -.gradle -*.tmp -*.log -*.jks -eclipse -run -tests -/dist -signing.* -src/main/java/archive -src/main/resources/assets/minecraft -.vscode -/classes -/dev -/tmp -/archive -/assets-src -.gimp -*.xcf -desktop.ini -.DS_Store -Thumbs.db -forge*changelog.txt -/*.txt -mcmodsrepo \ No newline at end of file diff --git a/1.13/Makefile b/1.13/Makefile deleted file mode 100644 index 671af46..0000000 --- a/1.13/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -# @file Makefile -# @author Stefan Wilhelm (wile) -# @license MIT -# -# GNU Make makefile based build relay. -# Note for reviewers/clones: This file is a auxiliary script for my setup. -# It's not needed to build the mod. -# -MOD_JAR_PREFIX=engineersdecor- -MOD_JAR=$(filter-out %-sources.jar,$(wildcard build/libs/${MOD_JAR_PREFIX}*.jar)) - -ifeq ($(OS),Windows_NT) -GRADLE=gradlew.bat --no-daemon -GRADLE_STOP=gradlew.bat --stop -DJS=djs -else -GRADLE=./gradlew --no-daemon -GRADLE_STOP=./gradlew --stop -DJS=djs -endif - -wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst *,%,$2),$d)) - -# -# Targets -# -.PHONY: default mod init clean clean-all mrproper all run install sanatize dist-check dist start-server - -default: mod - -all: clean clean-all mod | install - -mod: - @echo "[1.13] Building mod using gradle ..." - @$(GRADLE) build $(GRADLE_OPTS) - -clean: - @echo "[1.13] Cleaning ..." - @rm -f build/libs/* - @$(GRADLE) clean - -clean-all: - @echo "[1.13] Cleaning using gradle ..." - @rm -f dist/* - @rm -rf run/logs/ - @rm -rf run/crash-reports/ - @$(GRADLE) clean cleanCache - -mrproper: clean-all - @rm -f meta/*.* - @rm -rf run/ - @rm -rf out/ - @rm -f .project - @rm -f .classpath - -init: - @echo "[1.13] Initialising eclipse workspace using gradle ..." - @$(GRADLE) eclipse - -sanatize: - @echo "[1.13] Running sanatising tasks ..." - @djs tasks.js trailing-whitespaces - @djs tasks.js tabs-to-spaces - @djs tasks.js sync-languages - @djs tasks.js version-check - @djs tasks.js update-json - @git status -s . - -dist-check: - @echo "[1.13] Running dist checks ..." - @djs tasks.js dist-check - -dist: sanatize dist-check clean-all mod - @echo "[1.13] Distribution files ..." - @mkdir -p dist - @cp build/libs/$(MOD_JAR_PREFIX)* dist/ - @djs tasks.js dist diff --git a/1.13/build.gradle b/1.13/build.gradle deleted file mode 100644 index 9b689b8..0000000 --- a/1.13/build.gradle +++ /dev/null @@ -1,98 +0,0 @@ -// @file build.gradle -// Engineer's decor mod gradle build relay (mc1.13.2) -buildscript { - repositories { - maven { url = 'https://files.minecraftforge.net/maven' } - jcenter() - mavenCentral() - } - dependencies { - classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true - } -} -apply plugin: 'net.minecraftforge.gradle' -apply plugin: 'eclipse' -apply plugin: 'maven-publish' -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' -//----------------------------------------------------------------------------- -version = "${version_engineersdecor}" -group = "wile.engineersdecor" -archivesBaseName = "engineersdecor-${version_minecraft}" - -// def signing = { -> -// def sp = new Properties() -// if(file("signing.properties").exists()) file("signing.properties").withInputStream { sp.load(it) } -// return sp -// }() - -// def git_version = { -> -// def stdout = new ByteArrayOutputStream() -// exec { -// commandLine 'git', 'log', '-1', '--format=%h' -// standardOutput = stdout -// } -// return stdout.toString().trim() -// }() - -minecraft { - mappings channel: 'snapshot', version: '20180921-1.13' - // accessTransformer = file('build/resources/main/META-INF/accesstransformer.cfg') - runs { - client { - workingDirectory project.file('run') - property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' - property 'forge.logging.console.level', 'debug' - mods { - engineersdecor { - source sourceSets.main - } - } - } - server { - workingDirectory project.file('run') - property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' - property 'forge.logging.console.level', 'debug' - mods { - engineersdecor { - source sourceSets.main - } - } - } - } -} - -dependencies { - minecraft "net.minecraftforge:forge:${version_forge_minecraft}" -} - -jar { - manifest { - attributes([ - "Specification-Title": "engineersdecor", - "Specification-Vendor": "wilechaote", - "Specification-Version": "1", // We are version 1 of ourselves - "Implementation-Title": project.name, - "Implementation-Version": "${version_engineersdecor}", - "Implementation-Vendor" :"wilechaote", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") - ]) - } -} - -def reobfFile = file("$buildDir/reobfJar/output.jar") -def reobfArtifact = artifacts.add('default', reobfFile) { - type 'jar' - builtBy 'reobfJar' -} -publishing { - publications { - mavenJava(MavenPublication) { - artifact reobfArtifact - } - } - repositories { - maven { - url "file:///${project.projectDir}/mcmodsrepo" - } - } -} diff --git a/1.13/gradle.properties b/1.13/gradle.properties deleted file mode 100644 index 4f7023e..0000000 --- a/1.13/gradle.properties +++ /dev/null @@ -1,14 +0,0 @@ -# @file gradle.properties -org.gradle.daemon=false -org.gradle.jvmargs=-Xmx8G -version_minecraft=1.13.2 -version_forge_minecraft=1.13.2-25.0.219 -version_engineersdecor=1.0.7-b6 -# -# jar signing data loaded from signing.properties in the project root. -# -#signing.keystore_file= -#signing.keystore_alias= -#signing.keystore_pass= -#signing.keystore_keypass= -#fingerprint_sha1.fp_sha1= diff --git a/1.13/gradle/wrapper/gradle-wrapper.jar b/1.13/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7a3265ee94c0ab25cf079ac8ccdf87f41d455d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54708 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

_x$+l{{cH8$W#CT diff --git a/1.13/gradle/wrapper/gradle-wrapper.properties b/1.13/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 949819d..0000000 --- a/1.13/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip diff --git a/1.13/gradlew b/1.13/gradlew deleted file mode 100644 index cccdd3d..0000000 --- a/1.13/gradlew +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env sh - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" diff --git a/1.13/gradlew.bat b/1.13/gradlew.bat deleted file mode 100644 index e95643d..0000000 --- a/1.13/gradlew.bat +++ /dev/null @@ -1,84 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/1.13/meta/update.json b/1.13/meta/update.json deleted file mode 100644 index 14c8075..0000000 --- a/1.13/meta/update.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", - "1.13.2": { - "1.0.7-b5": "[A] Added translation zh_cn (PR#33, XuyuEre)\n[M] Updated textures.\n[M] Updated 1st/3rd person item model rotations/translations.", - "1.0.7-b4": "[A] Added stained clinker brick block/stairs.", - "1.0.7-b3": "[V] Version assignment: All features of v1.0.7-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-assigned.\n[A] Added \"Factory Area\" sign.\n[M] Sign background colors adapted.\n[M] EN lang file updated (PR#28, Voxelo).", - "1.0.4-b6": "[A] Added Small Electrical Furnace.\n[A] Added Small Waste Incinerator.\n[A] Experimental: Added fluid check valve.\n[A] Experimental: Added fluid redstone controlled valve.\n[A] Experimental: Added fluid redstone analog valve.\n[A] Experimental: Added passive fluid accumulator.", - "1.0.4-b5": "[A] Added Factory Dropper.\n[A] Added \"Caution Defense System Ahead\" sign.", - "1.0.4-b4": "[U] Updated forge dependency: REQUIRES FORGE >= 1.13.2-25.0.214.\n[A] Added sign \"Electrical hazard\"/\"Caution hot wire\".\n[A] Added sign \"Caution dangerous there\" (skull/bones).\n[A] Added horizontal steel double-T support beam with pole connections.", - "1.0.4-b3": "[V] Version assignment: All features of v1.0.4-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-iterated.\n[A] Lab furnace ported to 1.13.\n[A] Treated wood crafting table: Added crafting table history/quick craft.\n[A] Treated wood stool: Sitting on the stool implemented.\n[A] Steel poles (thick/thin) with support heads/foots added.\n[E] Prepared position dependent texture variation for walls (clinker, slag, rebar concrete), missing one forge feature yet for completion.\n[E] Prepared multi-layer rendering for windows, needs forge feature implementation.", - "1.0.2-b3": "[A] Added treated wood window.\n[A] Added treated wood pole support.\n[A] Added treated wood pole head.\n[A] Added steel framed window.", - "1.0.2-b2": "[A] Added wall decomposition recipes.\n[A] Added slag brick wall.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.", - "1.0.2-b1": "[A] Added Treated wood crafting table.\n[A] Added decomposition recipes for stairs and tiles.\n[N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version).\n[N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items.", - "1.0.0-a3": "[A] Added iron inset light.\n[A] Added rebar concrete tile.\n[A] Added rebar concrete tile stairs.\n[A] Added clinker brick wall.\n[A] Added treated wood stool.\n[A] Added treated window sill.", - "1.0.0-a2": "[A] Added panzer glass.", - "1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta." - }, - "promos": { - "1.13.2-recommended": "", - "1.13.2-latest": "1.0.7-b5" - } -} \ No newline at end of file diff --git a/1.13/readme.md b/1.13/readme.md deleted file mode 100644 index 73acc8e..0000000 --- a/1.13/readme.md +++ /dev/null @@ -1,79 +0,0 @@ - -## Engineer's Decor (MC1.13.2) - -Mod sources for Minecraft version 1.13.2. - -- Description, credits, and features: Please see the readme in the repository root. - -- Compiled mod distribution channel is curseforge: https://www.curseforge.com/minecraft/mc-mods/engineers-decor/files. - ----- -## Version history - - ~ v1.0.7-b6 [F] Fixed recipe collision of Metal Rung Ladder (issue #37, - thx ProsperCraft for reporting). - - - v1.0.7-b5 [A] Added translation zh_cn (PR#33, XuyuEre) - [M] Updated textures. - [M] Updated 1st/3rd person item model rotations/translations. - - - v1.0.7-b4 [A] Added stained clinker brick block/stairs. - - - v1.0.7-b3 [V] Version assignment: All features of v1.0.7-b3-1.12.2 that can be ported - to 1.13.2 implemented/prepared, therefore version re-assigned. - [A] Added "Factory Area" sign. - [M] Sign background colors adapted. - [M] EN lang file updated (PR#28, Voxelo). - - - v1.0.4-b6 [A] Added Small Electrical Furnace. - [A] Added Small Waste Incinerator. - [A] Experimental: Added fluid check valve. - [A] Experimental: Added fluid redstone controlled valve. - [A] Experimental: Added fluid redstone analog valve. - [A] Experimental: Added passive fluid accumulator. - - - v1.0.4-b5 [A] Added Factory Dropper. - [A] Added "Caution Defense System Ahead" sign. - - - v1.0.4-b4 [U] Updated forge dependency: REQUIRES FORGE >= 1.13.2-25.0.214. - [A] Added sign "Electrical hazard"/"Caution hot wire". - [A] Added sign "Caution dangerous there" (skull/bones). - [A] Added horizontal steel double-T support beam with pole connections. - - - v1.0.4-b3 [V] Version assignment: All features of v1.0.4-b3-1.12.2 that can be ported - to 1.13.2 implemented/prepared, therefore version re-iterated. - [A] Lab furnace ported to 1.13. - [A] Treated wood crafting table: Added crafting table history/quick craft. - [A] Treated wood stool: Sitting on the stool implemented. - [A] Steel poles (thick/thin) with support heads/foots added. - [E] Prepared position dependent texture variation for walls (clinker, slag, rebar concrete), - missing one forge feature yet for completion. - [E] Prepared multi-layer rendering for windows, needs forge feature implementation. - - - v1.0.2-b3 [A] Added treated wood window. - [A] Added treated wood pole support. - [A] Added treated wood pole head. - [A] Added steel framed window. - - - v1.0.2-b2 [A] Added wall decomposition recipes. - [A] Added slag brick wall. - [M] Climbing/descending mod ladders is faster when looking up or down and not sneaking. - [M] Panzer glass material definition changed. - - - v1.0.2-b1 [A] Added Treated wood crafting table. - [A] Added decomposition recipes for stairs and tiles. - [N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version). - [N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items. - - - v1.0.0-a3 [A] Added iron inset light. - [A] Added rebar concrete tile. - [A] Added rebar concrete tile stairs. - [A] Added clinker brick wall. - [A] Added treated wood stool. - [A] Added treated window sill. - - - v1.0.0-a2 [A] Added panzer glass. - - - v1.0.0-a1 [A] Initial port to 1.13.2 with Forge beta. - ----- diff --git a/1.13/src/main/java/wile/engineersdecor/ModEngineersDecor.java b/1.13/src/main/java/wile/engineersdecor/ModEngineersDecor.java deleted file mode 100644 index 48d24da..0000000 --- a/1.13/src/main/java/wile/engineersdecor/ModEngineersDecor.java +++ /dev/null @@ -1,100 +0,0 @@ -package wile.engineersdecor; - -import net.minecraft.item.ItemGroup; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.crafting.CraftingHelper; -import wile.engineersdecor.blocks.ModBlocks; -import wile.engineersdecor.detail.ModConfig; -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.model.obj.OBJLoader; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; -import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; -import net.minecraftforge.fml.event.server.FMLServerStartingEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import wile.engineersdecor.detail.RecipeCondModSpecific; - - -@Mod("engineersdecor") -public class ModEngineersDecor -{ - public static final String MODID = "engineersdecor"; // fixed name for double checks - private static final Logger LOGGER = LogManager.getLogger(); - - public ModEngineersDecor() - { - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onSetup); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onSendImc); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onRecvImc); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup); - MinecraftForge.EVENT_BUS.register(this); - } - - public static final Logger logger() { return LOGGER; } - - // - // Events - // - - private void onSetup(final FMLCommonSetupEvent event) - { - ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, ModConfig.conf_spec); - LOGGER.info("Registering recipe condition processor ..."); - CraftingHelper.register(new ResourceLocation(MODID, "grc"), new RecipeCondModSpecific()); - } - - private void onClientSetup(final FMLClientSetupEvent event) - {} // Currently not needed: OBJLoader.INSTANCE.addDomain(ModEngineersDecor.MODID); - - private void onSendImc(final InterModEnqueueEvent event) - {} - - private void onRecvImc(final InterModProcessEvent event) - {} - - @SubscribeEvent - public void onServerStarting(FMLServerStartingEvent event) - {} - - @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD) - public static class RegistryEvents - { - @SubscribeEvent - public static void onBlocksRegistry(final RegistryEvent.Register event) - { ModBlocks.registerBlocks(event); } - - @SubscribeEvent - public static void onItemRegistry(final RegistryEvent.Register event) - { ModBlocks.registerItemBlocks(event); } - } - - // - // Sided proxy functionality (skel) - // - public static ISidedProxy proxy = DistExecutor.runForDist(()->ClientProxy::new, ()->ServerProxy::new); - public interface ISidedProxy {} - public static final class ClientProxy implements ISidedProxy {} - public static final class ServerProxy implements ISidedProxy {} - - // - // Item group / creative tab - // - public static final ItemGroup ITEMGROUP = (new ItemGroup("tab" + MODID) { - @OnlyIn(Dist.CLIENT) - public ItemStack createIcon() - { return new ItemStack(ModBlocks.TREATED_WOOD_LADDER); } - }); -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecor.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecor.java deleted file mode 100644 index 5c0018b..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecor.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * @file BlockDecorFull.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Common functionality class for decor blocks. - * Mainly needed for: - * - MC block defaults. - * - Tooltip functionality - * - Model initialisation - */ -package wile.engineersdecor.blocks; - -import wile.engineersdecor.detail.ModAuxiliaries; -import net.minecraft.block.Block; -import net.minecraft.block.material.EnumPushReaction; -import net.minecraft.block.state.IBlockState; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockReader; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.util.*; -import net.minecraft.util.text.ITextComponent; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import javax.annotation.Nullable; -import java.util.List; - -public class BlockDecor extends Block -{ - - // The config combines some aspects of blocks, allowing to define different behaviour at construction time, without excessive polymorphy. - // It's an old school flag set as it is used internally only and shall not have as littlt impact on performance as possible. - public final long config; - public static final long CFG_DEFAULT = 0x0000000000000000L; // no special config - public static final long CFG_CUTOUT = 0x0000000000000001L; // cutout rendering - public static final long CFG_HORIZIONTAL = 0x0000000000000002L; // horizontal block, affects bounding box calculation at construction time - public static final long CFG_HORIZIONTAL_PLACEMENT = 0x0000000000000004L; // placed in the horizontzal direction the player is looking when placing. - public static final long CFG_WALL_DOOR_CONNECTION = 0x0000000000000008L; // wall block connects to fence gates and doors. - - public BlockDecor(long config, Block.Properties properties) - { super(properties); this.config = config; } - - @Override - @OnlyIn(Dist.CLIENT) - public void addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag) - { ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } - - @Override - @OnlyIn(Dist.CLIENT) - public BlockRenderLayer getRenderLayer() - { return ((config & CFG_CUTOUT)!=0) ? BlockRenderLayer.CUTOUT : BlockRenderLayer.SOLID; } - - @Override - @SuppressWarnings("deprecation") - public boolean isFullCube(IBlockState state) - { return ((config & CFG_CUTOUT)==0); } - - @Override - @SuppressWarnings("deprecation") - public boolean isNormalCube(IBlockState state) - { return ((config & CFG_CUTOUT)==0); } - - @Override - public boolean canSpawnInBlock() - { return false; } - - @Override - @SuppressWarnings("deprecation") - public EnumPushReaction getPushReaction(IBlockState state) - { return EnumPushReaction.NORMAL; } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java deleted file mode 100644 index 0801e72..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorDirected.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * @file BlockDecorDirected.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Smaller (cutout) block with a defined facing. - */ -package wile.engineersdecor.blocks; - -import net.minecraft.state.StateContainer; -import net.minecraft.util.math.shapes.VoxelShapes; -import wile.engineersdecor.detail.ModAuxiliaries; -import net.minecraft.item.BlockItemUseContext; -import net.minecraft.state.DirectionProperty; -import net.minecraft.block.Block; -import net.minecraft.block.BlockDirectional; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.world.IBlockReader; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.shapes.VoxelShape; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.Arrays; - - -public class BlockDecorDirected extends BlockDecor -{ - public static final DirectionProperty FACING = BlockDirectional.FACING; - protected final ArrayList AABBs; - - public BlockDecorDirected(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB) - { - super(config, builder); - setDefaultState(stateContainer.getBaseState().with(FACING, EnumFacing.UP)); - final boolean is_horizontal = ((config & BlockDecor.CFG_HORIZIONTAL)!=0); - AABBs = new ArrayList(Arrays.asList( - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.DOWN, is_horizontal)), - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.UP, is_horizontal)), - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.NORTH, is_horizontal)), - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.SOUTH, is_horizontal)), - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.WEST, is_horizontal)), - VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.EAST, is_horizontal)), - VoxelShapes.create(unrotatedAABB), - VoxelShapes.create(unrotatedAABB) - )); - } - - @Override - public boolean isFullCube(IBlockState state) - { return false; } - - @Override - public boolean isNormalCube(IBlockState state) - { return false; } - - @Override - public boolean canSpawnInBlock() - { return false; } - - @Override - @SuppressWarnings("deprecation") - public BlockFaceShape getBlockFaceShape(IBlockReader world, IBlockState state, BlockPos pos, EnumFacing face) - { return BlockFaceShape.UNDEFINED; } - - @Override - @SuppressWarnings("deprecation") - public VoxelShape getShape(IBlockState state, IBlockReader source, BlockPos pos) - { return AABBs.get(((EnumFacing)state.get(FACING)).getIndex() & 0x7); } - - @Override - @SuppressWarnings("deprecation") - public VoxelShape getCollisionShape(IBlockState state, IBlockReader world, BlockPos pos) - { return getShape(state, world, pos); } - - @Override - protected void fillStateContainer(StateContainer.Builder builder) - { builder.add(FACING); } - - @Override - @Nullable - public IBlockState getStateForPlacement(BlockItemUseContext context) { - if((config & CFG_HORIZIONTAL_PLACEMENT)!=0) { - // placement in direction the player is facing - return getDefaultState().with(FACING, context.getPlacementHorizontalFacing()); - } else { - // default: placement on the face the player clicking - return getDefaultState().with(FACING, context.getFace()); - } - } - - @Override - @OnlyIn(Dist.CLIENT) - public BlockRenderLayer getRenderLayer() - { return BlockRenderLayer.CUTOUT; } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorFull.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorFull.java deleted file mode 100644 index f18eabf..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorFull.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * @file BlockDecorFull.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Full block characteristics class. Explicitly overrides some - * `Block` methods to return faster due to exclusive block properties. - */ -package wile.engineersdecor.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.world.IBlockReader; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import wile.engineersdecor.detail.ModAuxiliaries; -import javax.annotation.Nullable; -import java.util.List; - - -public class BlockDecorFull extends BlockDecor -{ - public BlockDecorFull(long config, Block.Properties properties) - { super(config, properties); } - - @Override - @OnlyIn(Dist.CLIENT) - public void addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag) - { ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } - - @Override - @SuppressWarnings("deprecation") - public boolean isFullCube(IBlockState state) - { return true; } - - @Override - @SuppressWarnings("deprecation") - public boolean isNormalCube(IBlockState state) - { return true; } - - @Override - public boolean canSpawnInBlock() - { return false; } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java deleted file mode 100644 index c91a98c..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorLadder.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * @file BlockDecorLadder.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Ladder block. The implementation is based on the vanilla - * net.minecraft.block.BlockLadder. Minor changes to enable - * later configuration (for block list based construction - * time configuration), does not drop when the block behind - * is broken, etc. - */ -package wile.engineersdecor.blocks; - -import wile.engineersdecor.detail.ModAuxiliaries; -import net.minecraft.block.state.IBlockState; -import net.minecraft.block.*; -import net.minecraft.block.material.EnumPushReaction; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.shapes.VoxelShape; -import net.minecraft.util.math.shapes.VoxelShapes; -import net.minecraft.util.text.ITextComponent; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraft.world.IBlockReader; -import net.minecraft.util.*; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import javax.annotation.Nullable; -import java.util.List; - - -public class BlockDecorLadder extends BlockLadder -{ - protected static final AxisAlignedBB EDLADDER_UNROTATED_AABB = ModAuxiliaries.getPixeledAABB(3, 0, 0, 13, 16, 2); - protected static final VoxelShape EDLADDER_SOUTH_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.SOUTH, false)); - protected static final VoxelShape EDLADDER_EAST_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.EAST, false)); - protected static final VoxelShape EDLADDER_WEST_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.WEST, false)); - protected static final VoxelShape EDLADDER_NORTH_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.NORTH, false)); - - public BlockDecorLadder(long config, Block.Properties builder) - { super(builder); } - - @Override - @OnlyIn(Dist.CLIENT) - public void addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag) - { ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } - - public VoxelShape getShape(IBlockState state, IBlockReader worldIn, BlockPos pos) - { - switch ((EnumFacing)state.get(FACING)) { - case NORTH: return EDLADDER_NORTH_AABB; - case SOUTH: return EDLADDER_SOUTH_AABB; - case WEST: return EDLADDER_WEST_AABB; - default: return EDLADDER_EAST_AABB; - } - } - - @Override - public boolean canSpawnInBlock() - { return false; } - - @Override - @SuppressWarnings("deprecation") - public EnumPushReaction getPushReaction(IBlockState state) - { return EnumPushReaction.NORMAL; } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java deleted file mode 100644 index f0433db..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorStairs.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * @file BlockDecorStairs.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Stairs and roof blocks, almost entirely based on vanilla stairs. - */ -package wile.engineersdecor.blocks; - -import net.minecraft.block.*; -import net.minecraft.block.material.EnumPushReaction; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.world.IBlockReader; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import wile.engineersdecor.detail.ModAuxiliaries; - -import javax.annotation.Nullable; -import java.util.List; - - -public class BlockDecorStairs extends BlockStairs -{ - public BlockDecorStairs(long config, IBlockState state, Block.Properties properties) - { super(state, properties); } - - @Override - @OnlyIn(Dist.CLIENT) - public void addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag) - { ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } - - @Override - public boolean canSpawnInBlock() - { return false; } - - @Override - @SuppressWarnings("deprecation") - public EnumPushReaction getPushReaction(IBlockState state) - { return EnumPushReaction.NORMAL; } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java b/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java deleted file mode 100644 index 916a970..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/BlockDecorWall.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * @file BlockDecorWall.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2019 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Wall blocks. - */ -package wile.engineersdecor.blocks; - -import net.minecraft.block.*; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.init.Fluids; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.shapes.VoxelShape; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.world.IBlockReader; -import net.minecraft.world.IWorld; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import wile.engineersdecor.detail.ModAuxiliaries; - -import javax.annotation.Nullable; -import java.util.List; - - -public class BlockDecorWall extends BlockWall -{ - private final VoxelShape[] shape_voxels; - private final VoxelShape[] collision_shape_voxels; - - public BlockDecorWall(long config, Block.Properties builder) - { - super(builder); - this.shape_voxels = buildWallShapes(4.0F, 4.0F, 16.0F, 0.0F, 16.0F); - this.collision_shape_voxels = buildWallShapes(4.0F, 4.0F, 24.0F, 0.0F, 24.0F); - } - - @Override - @OnlyIn(Dist.CLIENT) - public void addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag) - { ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); } - - protected VoxelShape[] buildWallShapes(float pole_width_x, float pole_width_z, float pole_height, float side_min_y, float side_max_y) - { return super.func_196408_a(pole_width_x, pole_width_z, pole_height, side_min_y, side_max_y); } - - @Override - public VoxelShape getShape(IBlockState state, IBlockReader world, BlockPos pos) - { return shape_voxels[this.getIndex(state)]; } - - @Override - public VoxelShape getCollisionShape(IBlockState state, IBlockReader world, BlockPos pos) - { return collision_shape_voxels[this.getIndex(state)]; } - - private boolean attachesTo(IBlockState state, BlockFaceShape shape) - { final Block block = state.getBlock(); return (shape==BlockFaceShape.SOLID) && (!isExcepBlockForAttachWithPiston(block)) || (shape==BlockFaceShape.MIDDLE_POLE_THICK) || ((shape==BlockFaceShape.MIDDLE_POLE) && (block instanceof BlockFenceGate)); } - - @Override - public IBlockState updatePostPlacement(IBlockState state, EnumFacing facing, IBlockState facingState, IWorld world, BlockPos currentPos, BlockPos facingPos) - { - if(state.get(WATERLOGGED)) world.getPendingFluidTicks().scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickRate(world)); - if(facing == EnumFacing.DOWN) return super.updatePostPlacement(state, facing, facingState, world, currentPos, facingPos); - boolean n = (facing==EnumFacing.NORTH) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(NORTH); - boolean e = (facing==EnumFacing.EAST) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(EAST); - boolean s = (facing==EnumFacing.SOUTH) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(SOUTH); - boolean w = (facing==EnumFacing.WEST) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(WEST); - boolean not_straight = (!n || !s || e || w) && (n || s || !e || !w); - return state.with(UP, not_straight).with(NORTH, n).with(EAST, e).with(SOUTH, s).with(WEST, w); - } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/blocks/ModBlocks.java b/1.13/src/main/java/wile/engineersdecor/blocks/ModBlocks.java deleted file mode 100644 index e736ad6..0000000 --- a/1.13/src/main/java/wile/engineersdecor/blocks/ModBlocks.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * @file ModBlocks.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2018 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Definition and initialisation of blocks of this - * module, along with their tile entities if applicable. - * - * Note: Straight forward definition of different blocks/entities - * to make recipes, models and texture definitions easier. - */ -package wile.engineersdecor.blocks; - -import wile.engineersdecor.ModEngineersDecor; -import wile.engineersdecor.detail.ModAuxiliaries; -import net.minecraft.block.material.MaterialColor; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.event.RegistryEvent; -import java.util.ArrayList; -import java.util.List; -import java.util.Collections; -import javax.annotation.Nonnull; - -@SuppressWarnings("unused") -public class ModBlocks -{ - public static final BlockDecorFull CLINKER_BRICK_BLOCK = (BlockDecorFull)(new BlockDecorFull( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_block")); - - public static final BlockDecorStairs CLINKER_BRICK_STAIRS = (BlockDecorStairs)(new BlockDecorStairs( - BlockDecor.CFG_DEFAULT, - CLINKER_BRICK_BLOCK.getDefaultState(), - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stairs")); - - public static final BlockDecorFull SLAG_BRICK_BLOCK = (BlockDecorFull)(new BlockDecorFull( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_block")); - - public static final BlockDecorStairs SLAG_BRICK_STAIRS = (BlockDecorStairs)(new BlockDecorStairs( - BlockDecor.CFG_DEFAULT, - SLAG_BRICK_BLOCK.getDefaultState(), - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_stairs")); - - public static final BlockDecorFull REBAR_CONCRETE_BLOCK = (BlockDecorFull)(new BlockDecorFull( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(6f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete")); - - public static final BlockDecorStairs REBAR_CONCRETE_STAIRS = (BlockDecorStairs)(new BlockDecorStairs( - BlockDecor.CFG_DEFAULT, - REBAR_CONCRETE_BLOCK.getDefaultState(), - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_stairs")); - - public static final BlockDecorWall REBAR_CONCRETE_WALL = (BlockDecorWall)(new BlockDecorWall( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 2000f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_wall")); - - public static final BlockDecorWall CONCRETE_WALL = (BlockDecorWall)(new BlockDecorWall( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "concrete_wall")); - - public static final BlockDecorLadder METAL_RUNG_LADDER = (BlockDecorLadder)(new BlockDecorLadder( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.8f, 25f).sound(SoundType.METAL) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_ladder")); - - public static final BlockDecorLadder METAL_RUNG_STEPS = (BlockDecorLadder)(new BlockDecorLadder( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.8f, 25f).sound(SoundType.METAL) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_steps")); - - public static final BlockDecorLadder TREATED_WOOD_LADDER = (BlockDecorLadder)(new BlockDecorLadder( - BlockDecor.CFG_DEFAULT, - Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.8f, 25f).sound(SoundType.WOOD) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_ladder")); - - public static final BlockDecor TREATED_WOOD_TABLE = (BlockDecor)(new BlockDecor( - BlockDecor.CFG_CUTOUT, - Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 15f).sound(SoundType.WOOD) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_table")); - - public static final BlockDecorDirected TREATED_WOOD_POLE = (BlockDecorDirected)(new BlockDecorDirected( - BlockDecor.CFG_CUTOUT, - Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 15f).sound(SoundType.WOOD), - ModAuxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16) - )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole")); - - // public static final BlockDecorFull IRON_SHEET_ROOF_FULLBLOCK = new BlockDecorFull("iron_sheet_roof_block", 0, Material.IRON, 1.8f, 25f, SoundType.METAL); - // public static final BlockDecorStairs IRON_SHEET_ROOF = new BlockDecorStairs("iron_sheet_roof", IRON_SHEET_ROOF_FULLBLOCK.getDefaultState()); - - private static final Block modBlocks[] = { - CLINKER_BRICK_BLOCK, - CLINKER_BRICK_STAIRS, - SLAG_BRICK_BLOCK, - SLAG_BRICK_STAIRS, - REBAR_CONCRETE_BLOCK, - REBAR_CONCRETE_STAIRS, - REBAR_CONCRETE_WALL, - - METAL_RUNG_LADDER, - METAL_RUNG_STEPS, - TREATED_WOOD_LADDER, - - TREATED_WOOD_POLE, - TREATED_WOOD_TABLE, - }; - - private static final Block ieDependentBlocks[] = { - CONCRETE_WALL - }; - - private static final Block devBlocks[] = { -// IRON_SHEET_ROOF, // model looks not good enough yet - }; - - private static ArrayList registeredBlocks = new ArrayList<>(); - - @Nonnull - public static List getRegisteredBlocks() - { return Collections.unmodifiableList(registeredBlocks); } - - public static final void registerBlocks(RegistryEvent.Register event) - { - ArrayList allBlocks = new ArrayList<>(); - Collections.addAll(allBlocks, modBlocks); - // @todo: find way to remove items from JEI, creative tab, etc instead of omitting registration. - if(ModAuxiliaries.isModLoaded("immersiveengineering")) ModAuxiliaries.logInfo("Immersive Engineering also installed ..."); - Collections.addAll(allBlocks, ieDependentBlocks); - // @todo: config not available yet, other registration control for experimental features needed. - //if(ModConfig.MISC.with_experimental.get()) Collections.addAll(allBlocks, devBlocks); - registeredBlocks.addAll(allBlocks); - for(Block e:registeredBlocks) event.getRegistry().register(e); - ModAuxiliaries.logInfo("Registered " + Integer.toString(registeredBlocks.size()) + " blocks."); - } - - /** - * Registers items for all blocks. Requires registerBlocks() event to be received first. - */ - public static final void registerItemBlocks(RegistryEvent.Register event) - { - int n = 0; - for(Block e:registeredBlocks) { - ResourceLocation rl = e.getRegistryName(); - if(rl == null) continue; - event.getRegistry().register(new ItemBlock(e, (new ItemBlock.Properties().group(ModEngineersDecor.ITEMGROUP))).setRegistryName(rl)); - ++n; - } - } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/detail/ModAuxiliaries.java b/1.13/src/main/java/wile/engineersdecor/detail/ModAuxiliaries.java deleted file mode 100644 index f26125f..0000000 --- a/1.13/src/main/java/wile/engineersdecor/detail/ModAuxiliaries.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * @file ModAuxiliaries.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2018 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * General commonly used functionality. - * - * @TODO KEYBOARD INPUT - */ -package wile.engineersdecor.detail; - -import net.minecraft.util.EnumFacing; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TextComponentString; -import net.minecraft.world.IBlockReader; -import net.minecraftforge.fml.ModList; -import org.lwjgl.glfw.GLFW; -import wile.engineersdecor.ModEngineersDecor; -import net.minecraft.item.ItemStack; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.client.util.InputMappings; -import net.minecraft.util.text.TextComponentTranslation; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - - -import javax.annotation.Nullable; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class ModAuxiliaries -{ - /** - * Text localisation wrapper, implicitly prepends `ModEngineersDecor.MODID` to the - * translation keys. Forces formatting argument, nullable if no special formatting shall be applied.. - */ - public static TextComponentTranslation localizable(String modtrkey, @Nullable TextFormatting color, Object... args) - { - TextComponentTranslation tr = new TextComponentTranslation(ModEngineersDecor.MODID+"."+modtrkey, args); - if(color!=null) tr.getStyle().setColor(color); - return tr; - } - - @OnlyIn(Dist.CLIENT) - public static String localize(String translationKey, Object... args) - { - TextComponentTranslation tr = new TextComponentTranslation(translationKey, args); - tr.getStyle().setColor(TextFormatting.RESET); - final String ft = tr.getFormattedText(); - if(ft.contains("${")) { - // Non-recursive, non-argument lang file entry cross referencing. - Pattern pt = Pattern.compile("\\$\\{([\\w\\.]+)\\}"); - Matcher mt = pt.matcher(ft); - StringBuffer sb = new StringBuffer(); - while(mt.find()) mt.appendReplacement(sb, (new TextComponentTranslation(mt.group(1))).getFormattedText().trim()); - mt.appendTail(sb); - return sb.toString(); - } else { - return ft; - } - } - - /** - * Returns true if a given key is translated for the current language. - */ - @OnlyIn(Dist.CLIENT) - public static boolean hasTranslation(String key) - { return net.minecraft.client.resources.I18n.hasKey(key); } - - public static final class Tooltip - { - @OnlyIn(Dist.CLIENT) - public static boolean extendedTipCondition() - { return InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_SHIFT); } - - @OnlyIn(Dist.CLIENT) - public static boolean helpCondition() - { return extendedTipCondition() && (InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_CONTROL)); } - - /** - * Adds an extended tooltip or help tooltip depending on the key states of CTRL and SHIFT. - * Returns true if the localisable help/tip was added, false if not (either not CTL/SHIFT or - * no translation found). - */ - @OnlyIn(Dist.CLIENT) - public static boolean addInformation(@Nullable String advancedTooltipTranslationKey, @Nullable String helpTranslationKey, List tooltip, ITooltipFlag flag, boolean addAdvancedTooltipHints) - { - // Note: intentionally not using keybinding here, this must be `control` or `shift`. MC uses lwjgl Keyboard, - // so using this also here should be ok. - final boolean help_available = (helpTranslationKey != null) && ModAuxiliaries.hasTranslation(helpTranslationKey + ".help"); - final boolean tip_available = (advancedTooltipTranslationKey != null) && ModAuxiliaries.hasTranslation(helpTranslationKey + ".tip"); - if((!help_available) && (!tip_available)) return false; - if(helpCondition()) { - if(!help_available) return false; - String s = localize(helpTranslationKey + ".help"); - if(s.isEmpty()) return false; - tooltip.add(new TextComponentString(s)); // @todo: check how to optimise that (to use TextComponentTranslation directly without compat losses) - return true; - } else if(extendedTipCondition()) { - if(!tip_available) return false; - String s = localize(advancedTooltipTranslationKey + ".tip"); - if(s.isEmpty()) return false; - tooltip.add(new TextComponentString(s)); - return true; - } else if(addAdvancedTooltipHints) { - String s = ""; - if(tip_available) s += localize(ModEngineersDecor.MODID + ".tooltip.hint.extended") + (help_available ? " " : ""); - if(help_available) s += localize(ModEngineersDecor.MODID + ".tooltip.hint.help"); - tooltip.add(new TextComponentString(s)); - } - return false; - } - - /** - * Adds an extended tooltip or help tooltip for a given stack depending on the key states of CTRL and SHIFT. - * Format in the lang file is (e.g. for items): "item.MODID.REGISTRYNAME.tip" and "item.MODID.REGISTRYNAME.help". - * Return value see method pattern above. - */ - @OnlyIn(Dist.CLIENT) - public static boolean addInformation(ItemStack stack, @Nullable IBlockReader world, List tooltip, ITooltipFlag flag, boolean addAdvancedTooltipHints) - { return addInformation(stack.getTranslationKey(), stack.getTranslationKey(), tooltip, flag, addAdvancedTooltipHints); } - } - - public static final AxisAlignedBB getPixeledAABB(double x0, double y0, double z0, double x1, double y1, double z1) - { return new AxisAlignedBB(x0/16.0, y0/16.0, z0/16.0, x1/16.0, y1/16.0, z1/16.0); } - - public static final AxisAlignedBB getRotatedAABB(AxisAlignedBB bb, EnumFacing new_facing, boolean horizontal_rotation) - { - if(!horizontal_rotation) { - switch(new_facing.getIndex()) { - case 0: return new AxisAlignedBB(1-bb.maxX, 1-bb.maxZ, 1-bb.maxY, 1-bb.minX, 1-bb.minZ, 1-bb.minY); // D - case 1: return new AxisAlignedBB(1-bb.maxX, bb.minZ, bb.minY, 1-bb.minX, bb.maxZ, bb.maxY); // U - case 2: return new AxisAlignedBB(1-bb.maxX, bb.minY, 1-bb.maxZ, 1-bb.minX, bb.maxY, 1-bb.minZ); // N - case 3: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // S --> bb - case 4: return new AxisAlignedBB(1-bb.maxZ, bb.minY, bb.minX, 1-bb.minZ, bb.maxY, bb.maxX); // W - case 5: return new AxisAlignedBB( bb.minZ, bb.minY, 1-bb.maxX, bb.maxZ, bb.maxY, 1-bb.minX); // E - } - } else { - switch(new_facing.getIndex()) { - case 0: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // D --> bb - case 1: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // U --> bb - case 2: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // N --> bb - case 3: return new AxisAlignedBB(1-bb.maxX, bb.minY, 1-bb.maxZ, 1-bb.minX, bb.maxY, 1-bb.minZ); // S - case 4: return new AxisAlignedBB( bb.minZ, bb.minY, 1-bb.maxX, bb.maxZ, bb.maxY, 1-bb.minX); // W - case 5: return new AxisAlignedBB(1-bb.maxZ, bb.minY, bb.minX, 1-bb.minZ, bb.maxY, bb.maxX); // E - } - } - return bb; - } - - public static final boolean isModLoaded(final String registry_name) - { return ModList.get().isLoaded(registry_name); } - - public static final void logInfo(final String msg) - { ModEngineersDecor.logger().info(msg); } - - public static final void logWarn(final String msg) - { ModEngineersDecor.logger().warn(msg); } - - public static final void logError(final String msg) - { ModEngineersDecor.logger().error(msg); } - -} diff --git a/1.13/src/main/java/wile/engineersdecor/detail/ModConfig.java b/1.13/src/main/java/wile/engineersdecor/detail/ModConfig.java deleted file mode 100644 index 7e9600a..0000000 --- a/1.13/src/main/java/wile/engineersdecor/detail/ModConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * @file ModConfig.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2018 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Main class for module settings. Handles reading and - * saving the config file. - */ -package wile.engineersdecor.detail; - -import wile.engineersdecor.ModEngineersDecor; -import net.minecraftforge.common.ForgeConfigSpec; - -public class ModConfig -{ - private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder(); - public static final Miscellaneous MISC = new Miscellaneous(BUILDER); - public static final ForgeConfigSpec conf_spec = BUILDER.build(); - - public static final class Miscellaneous - { - public final ForgeConfigSpec.ConfigValue with_experimental; - - public Miscellaneous(ForgeConfigSpec.Builder builder) - { - builder.push("Miscellaneous"); - with_experimental = builder - .translation(ModEngineersDecor.MODID + ".config.with_experimental") - .comment("Enables experimental features. Use at own risk.") - .define("with_experimental", false); - builder.pop(); - } - } -} diff --git a/1.13/src/main/java/wile/engineersdecor/detail/RecipeCondModSpecific.java b/1.13/src/main/java/wile/engineersdecor/detail/RecipeCondModSpecific.java deleted file mode 100644 index bc6f7f9..0000000 --- a/1.13/src/main/java/wile/engineersdecor/detail/RecipeCondModSpecific.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * @file RecipeCondRegistered.java - * @author Stefan Wilhelm (wile) - * @copyright (C) 2018 Stefan Wilhelm - * @license MIT (see https://opensource.org/licenses/MIT) - * - * Recipe condition to enable opt'ing out JSON based recipes, referenced - * in assets/engineersdecor/recipes/_factories.json with full path (therefore - * I had to make a separate file for that instead of a few lines in - * ModAuxiliaries). - */ -package wile.engineersdecor.detail; - - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.crafting.IConditionSerializer; -import net.minecraftforge.registries.IForgeRegistry; -import net.minecraftforge.registries.ForgeRegistries; - -import com.google.gson.*; -import javax.annotation.Nullable; -import javax.annotation.Nonnull; -import java.util.function.BooleanSupplier; - - -public class RecipeCondModSpecific implements IConditionSerializer -{ - public static final BooleanSupplier RECIPE_INCLUDE = ()->true; - public static final BooleanSupplier RECIPE_EXCLUDE = ()->false; - - @Override - public @Nonnull BooleanSupplier parse(@Nullable JsonObject json) { - try { - if(json==null) return RECIPE_EXCLUDE; - final IForgeRegistry block_registry = ForgeRegistries.BLOCKS; - final IForgeRegistry item_registry = ForgeRegistries.ITEMS; - final JsonArray items = json.getAsJsonArray("required"); - if(items!=null) { - for(JsonElement e: items) { - if(!e.isJsonPrimitive()) continue; - final ResourceLocation rl = new ResourceLocation(((JsonPrimitive)e).getAsString()); - if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_EXCLUDE; // required item not registered - } - } - final JsonPrimitive result = json.getAsJsonPrimitive("result"); - if(result != null) { - final ResourceLocation rl = new ResourceLocation(result.getAsString()); - if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_EXCLUDE; // required result not registered - } - final JsonArray missing = json.getAsJsonArray("missing"); - if((missing!=null) && (missing.size() > 0)) { - for(JsonElement e: missing) { - if(!e.isJsonPrimitive()) continue; - final ResourceLocation rl = new ResourceLocation(((JsonPrimitive)e).getAsString()); - // At least one item missing, enable this recipe as alternative recipe for another one that check the missing item as required item. - // --> e.g. if IE not installed there is no slag. One recipe requires slag, and another one (for the same result) is used if there - // is no slag. - if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_INCLUDE; - } - return RECIPE_EXCLUDE; // all required there, but there is no item missing, so another recipe - } else { - return RECIPE_INCLUDE; // no missing given, means include if result and required are all there. - } - } catch(Throwable ex) { - ModAuxiliaries.logError("rsgauges::ResultRegisteredCondition failed: " + ex.toString()); - } - return RECIPE_EXCLUDE; // skip on exception. - } -} diff --git a/1.13/src/main/resources/META-INF/mods.toml b/1.13/src/main/resources/META-INF/mods.toml deleted file mode 100644 index ca3f229..0000000 --- a/1.13/src/main/resources/META-INF/mods.toml +++ /dev/null @@ -1,31 +0,0 @@ -# @file mods.toml -# @spec TOML v0.5.0 (https://github.com/toml-lang/toml) -modLoader="javafml" # forge FML java -loaderVersion="[25,)" -issueTrackerURL="https://github.com/stfwi/engineers-decor/issues/" - -[[mods]] - -modId="engineersdecor" -version="${file.jarVersion}" -displayName="Engineer's Decor" -description="Adds cosmetic blocks for the engineer's workshop, factory and home." -authors="wilechaote" -credits="BluSunrize, malte0811, et al., the Forge Smiths, the Modders of the World." -updateJSONURL="https://raw.githubusercontent.com/stfwi/engineers-decor/develop/meta/update.json" -displayURL="https://github.com/stfwi/engineers-decor/" -logoFile="engineersdecor.png" # Double check: A file name (in the root of the mod JAR) containing a logo for display - -[[dependencies.engineersdecor]] - modId="forge" - mandatory=true - versionRange="[25,)" #mandatory - ordering="NONE" - side="BOTH" - -[[dependencies.engineersdecor]] - modId="minecraft" - mandatory=true - versionRange="[1.13.2]" - ordering="NONE" - side="BOTH" diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_block.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_block.json deleted file mode 100644 index ed80404..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variants": { - "": [ - { "model": "engineersdecor:block/brick/clinker_brick_model0" }, - { "model": "engineersdecor:block/brick/clinker_brick_model1" }, - { "model": "engineersdecor:block/brick/clinker_brick_model2" }, - { "model": "engineersdecor:block/brick/clinker_brick_model3" }, - { "model": "engineersdecor:block/brick/clinker_brick_model4" }, - { "model": "engineersdecor:block/brick/clinker_brick_model5" }, - { "model": "engineersdecor:block/brick/clinker_brick_model6" }, - { "model": "engineersdecor:block/brick/clinker_brick_model7" } - ] - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_stairs.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_stairs.json deleted file mode 100644 index 2a934f4..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/clinker_brick_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer" }, - "facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer" }, - "facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner" }, - "facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner" }, - "facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/concrete_wall.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/concrete_wall.json deleted file mode 100644 index c9525c6..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/concrete_wall.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "multipart": [ - { "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_post" } }, - { "when": { "north": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "uvlock": true } }, - { "when": { "east": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 90, "uvlock": true } }, - { "when": { "south": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 180, "uvlock": true } }, - { "when": { "west": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 270, "uvlock": true } } - ] -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof.json deleted file mode 100644 index 1bf9c8e..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "engineersdecor:block/stairs/decor_straight_roof_model", - "textures": { - "bottom": "engineersdecor:block/iestyle/ironsheet_roof_top", - "side": "engineersdecor:block/iestyle/ironsheet_roof", - "top": "engineersdecor:block/iestyle/ironsheet_roof_top" - } - }, - "variants": { - "": [{}], - "inventory": [{}], - "facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model" }, - "facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model" }, - "facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model" }, - "facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model" }, - "facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model" }, - "facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof_block.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof_block.json deleted file mode 100644 index a7ff079..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/iron_sheet_roof_block.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "engineersdecor:block/std/decor_full_block_model", - "textures": { "all": "engineersdecor:block/iestyle/ironsheet_roof" } - }, - "variants": { - "": [{}], - "inventory": [{}] - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_ladder.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_ladder.json deleted file mode 100644 index 07c32af..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_ladder.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model" }, - "facing=south": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":180 }, - "facing=west": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":270 }, - "facing=east": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":90 } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_steps.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_steps.json deleted file mode 100644 index 794103c..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/metal_rung_steps.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "engineersdecor:block/ladder/metal_rung_steps_model" }, - "facing=south": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":180 }, - "facing=west": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":270 }, - "facing=east": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":90 } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete.json deleted file mode 100644 index a4d790a..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variants": { - "": [ - { "model": "engineersdecor:block/concrete/rebar_concrete_model0" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model1" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model2" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model3" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model4" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model5" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model6" }, - { "model": "engineersdecor:block/concrete/rebar_concrete_model7" } - ] - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_stairs.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_stairs.json deleted file mode 100644 index a137d62..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer" }, - "facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer" }, - "facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner" }, - "facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner" }, - "facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_wall.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_wall.json deleted file mode 100644 index dee0d7c..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/rebar_concrete_wall.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "multipart": [ - { "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_post" } }, - { "when": { "north": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "uvlock": true } }, - { "when": { "east": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 90, "uvlock": true } }, - { "when": { "south": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 180, "uvlock": true } }, - { "when": { "west": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 270, "uvlock": true } } - ] -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_block.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_block.json deleted file mode 100644 index 41db44e..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variants": { - "": [ - { "model": "engineersdecor:block/brick/slag_brick_model0" }, - { "model": "engineersdecor:block/brick/slag_brick_model1" }, - { "model": "engineersdecor:block/brick/slag_brick_model2" }, - { "model": "engineersdecor:block/brick/slag_brick_model3" }, - { "model": "engineersdecor:block/brick/slag_brick_model4" }, - { "model": "engineersdecor:block/brick/slag_brick_model5" }, - { "model": "engineersdecor:block/brick/slag_brick_model6" }, - { "model": "engineersdecor:block/brick/slag_brick_model7" } - ] - } -} \ No newline at end of file diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_stairs.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_stairs.json deleted file mode 100644 index c89f2a2..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/slag_brick_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer" }, - "facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer" }, - "facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner" }, - "facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner" }, - "facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_ladder.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_ladder.json deleted file mode 100644 index b17f5a4..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_ladder.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model" }, - "facing=south": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":180 }, - "facing=west": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":270 }, - "facing=east": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":90 } - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_pole.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_pole.json deleted file mode 100644 index eb3a59b..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_pole.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "engineersdecor:pole/straight_pole_model", - "textures": { - "particle": "engineersdecor:block/pole/treated_wood_pole_side_texture", - "side": "engineersdecor:block/pole/treated_wood_pole_side_texture", - "top": "engineersdecor:block/pole/treated_wood_pole_top_texture" - } - }, - "variants": { - "facing": { "north": {"y":180}, "south": {"y":0}, "west": {"y":90}, "east": {"y":270}, "up": {"x":90}, "down": {"x":270}} - } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_table.json b/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_table.json deleted file mode 100644 index 80afd09..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/blockstates/treated_wood_table.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { "model": "engineersdecor:furniture/treated_wood_table_model" }, - "variants": { "": [{}] } -} diff --git a/1.13/src/main/resources/assets/engineersdecor/lang/en_us.json b/1.13/src/main/resources/assets/engineersdecor/lang/en_us.json deleted file mode 100644 index 0d5b675..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/lang/en_us.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "language": "English", - "language.region": "United States", - "language.code": "en_us", - - "itemGroup.tabengineersdecor":"Engineer's Decor", - - "engineersdecor.config.title":"Engineer's Decor Config", - "engineersdecor.tooltip.hint.extended":"§6[§9SHIFT§r More info§6]§r", - "engineersdecor.tooltip.hint.help":"§6[§9CTRL-SHIFT§r Help§6]§r", - - "block.engineersdecor.clinker_brick_block":"Clinker Brick", - "block.engineersdecor.clinker_brick_block.help":"§6A brick block with position dependent texture variations.§r\nLooks slightly darker and more color intensive than the vanilla brick block.", - "block.engineersdecor.clinker_brick_stairs":"Clinker Brick Stairs", - "block.engineersdecor.clinker_brick_stairs.help":"§6Looks slightly darker and more color intensive than the vanilla brick block.", - - "block.engineersdecor.slag_brick_block":"Slag Brick", - "block.engineersdecor.slag_brick_block.help":"§6A gray-brown brick block with position dependent texture variations.", - "block.engineersdecor.slag_brick_stairs":"Slag Brick Stairs", - "block.engineersdecor.slag_brick_stairs.help":"§6Gray-brown brick stairs.", - - "block.engineersdecor.rebar_concrete":"Rebar Concrete", - "block.engineersdecor.rebar_concrete.help":"§6Steel reinforced concrete block.§r Expensive but Creeper-proof like obsidian.", - "block.engineersdecor.rebar_concrete_stairs":"Rebar Concrete Stairs", - "block.engineersdecor.rebar_concrete_stairs.help":"§6Steel reinforced concrete stairs.§r Expensive but Creeper-proof like obsidian.", - "block.engineersdecor.rebar_concrete_wall":"Rebar Concrete Wall", - "block.engineersdecor.rebar_concrete_wall.help":"§6Steel reinforced concrete wall.§r Expensive but Creeper-proof like obsidian.", - - "block.engineersdecor.concrete_wall":"Concrete Wall", - "block.engineersdecor.concrete_wall.help":"§6Wall made of solid concrete.", - - "block.engineersdecor.metal_rung_ladder":"Metal Rung Ladder", - "block.engineersdecor.metal_rung_ladder.help":"§6Typical industrial wall ladder, consisting of horizontal metal rod rungs.", - - "block.engineersdecor.metal_rung_steps":"Staggered Metal Steps", - "block.engineersdecor.metal_rung_steps.help":"§6Staggered rod rungs affixed to a wall, allowing to climb up, fall down, and so on.", - - "block.engineersdecor.treated_wood_ladder":"Treated Wood Ladder", - "block.engineersdecor.treated_wood_ladder.help":"§6Weather-proof wooden ladder.", - - - - - "block.engineersdecor.iron_sheet_roof":"Iron Sheet Metal Roof", - "block.engineersdecor.iron_sheet_roof.help":"§6Well, it's a roof.", - - "block.engineersdecor.treated_wood_pole":"Straight Treated Wood Pole", - "block.engineersdecor.treated_wood_pole.help":"§6Straight pole fragment with the diameter of a wire relay.§r\nCan be useful as alternative to the wire posts if special special lengths are needed, or as support for structures.", - - "block.engineersdecor.treated_wood_table":"Treated Wood Table", - "block.engineersdecor.treated_wood_table.help":"§6Robust four-legged wood table." - -} diff --git a/1.13/src/main/resources/assets/engineersdecor/lang/zh_cn.json b/1.13/src/main/resources/assets/engineersdecor/lang/zh_cn.json deleted file mode 100644 index 08710a4..0000000 --- a/1.13/src/main/resources/assets/engineersdecor/lang/zh_cn.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "language": "Chinese", - "language.region": "China", - "language.code": "zh_cn", - - "itemGroup.tabengineersdecor":"工程师的装饰", - - "engineersdecor.config.title":"工程师的装饰配置", - "engineersdecor.tooltip.hint.extended":"§6[按§9SHIFT§r获取更多信息§6]§r", - "engineersdecor.tooltip.hint.help":"§6[按§9CTRL-SHIFT§r获取帮助§6]§r", - - "block.engineersdecor.clinker_brick_block":"熟料砖", - "block.engineersdecor.clinker_brick_block.help":"§6具有位置相关纹理变化的砖块.§r\n看起来比原版砖块稍暗,颜色更浓.", - "block.engineersdecor.clinker_brick_stairs":"熟料砖楼梯", - "block.engineersdecor.clinker_brick_stairs.help":"§6看起来比原版砖块稍暗,颜色更浓.", - - "block.engineersdecor.slag_brick_block":"炉渣砖", - "block.engineersdecor.slag_brick_block.help":"§6灰褐色砖块,具有位置相关的纹理变化.", - "block.engineersdecor.slag_brick_stairs":"炉渣砖楼梯", - "block.engineersdecor.slag_brick_stairs.help":"§6灰褐色砖块楼梯.", - - "block.engineersdecor.rebar_concrete":"钢筋混凝土", - "block.engineersdecor.rebar_concrete.help":"§6钢筋混凝土砌块.§r 昂贵,但像黑曜石一样防苦力怕.", - "block.engineersdecor.rebar_concrete_stairs":"钢筋混凝土楼梯", - "block.engineersdecor.rebar_concrete_stairs.help":"§6钢筋混凝土楼梯.§r 昂贵,但像黑曜石一样防苦力怕.", - "block.engineersdecor.rebar_concrete_wall":"钢筋混凝土墙", - "block.engineersdecor.rebar_concrete_wall.help":"§6钢筋混凝土墙.§r 昂贵,但像黑曜石一样防苦力怕.", - - "block.engineersdecor.concrete_wall":"水泥墙", - "block.engineersdecor.concrete_wall.help":"§6墙由坚固的混凝土制成.", - - "block.engineersdecor.metal_rung_ladder":"金属环梯", - "block.engineersdecor.metal_rung_ladder.help":"§6典型的工业墙梯,包括水平金属杆横档.", - - "block.engineersdecor.metal_rung_steps":"交错的金属台阶", - "block.engineersdecor.metal_rung_steps.help":"§6贴在墙上的交错的杆横档,允许爬上,爬下等等.", - - "block.engineersdecor.treated_wood_ladder":"经过处理的木梯", - "block.engineersdecor.treated_wood_ladder.help":"§6防风雨的木梯.", - - - - - "block.engineersdecor.iron_sheet_roof":"铁板金属屋顶", - "block.engineersdecor.iron_sheet_roof.help":"§6嗯,这是一个屋顶.", - - "block.engineersdecor.treated_wood_pole":"直立处理木杆", - "block.engineersdecor.treated_wood_pole.help":"§6具有导线继电器直径的直极片段.§r\n如果需要特殊的特殊长度,或作为结构的支撑,可以作为线柱的替代品.", - - "block.engineersdecor.treated_wood_table":"经过处理的木桌", - "block.engineersdecor.treated_wood_table.help":"§6坚固的四足木桌." - -} diff --git a/1.13/src/main/resources/assets/engineersdecor/logo.png b/1.13/src/main/resources/assets/engineersdecor/logo.png deleted file mode 100644 index 567f937782dd1df702d8cb1dfbcf35831aae482a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5496 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 N002ovPDHLkV1kK-NUZ<> diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture3.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/clinker_brick/clinker_brick_texture3.png deleted file mode 100644 index cb6f0f794046c8f7b8dc1530e434dda1924d6281..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 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 VW6X4xaI63T002ovPDHLkV1jWASGWKG diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture0.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture0.png deleted file mode 100644 index c0157c1ed2b505f64fe0f78a5b07ad5ea969967d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 607 zcmV-l0-*hgP)D~L7yaZNLL^F&f&BgRI}oS2uumaX%)M}T3b0#zk}U$2{8LRPZo z8*hy{7nwn3;k|cMh1Y$trl5LoclNiVbrM8~2ucmaPzkJGR0e8h6vCJTNP6q6y>Sy_ zZ!+Q;B#Af=Wc3&pc!vT5CiUtzU>4s*0$hW{f!zHT3&#dQOl98ISdO z5*4A;`ONW%frupYJd4zERmeoE3O8k+Kme&HvW(5^zKL@<1!@gdg91ph61?NyoD+$e zlNsFijr-GcGXx=GBck8pLJ$zaR8TXgHAl@*H8O&+7N*9U6A{QLDw7pSGe=d~b3HN6 z@kT^ZbM`s73R$2km?>37R&q|^=A=Mm(t1NwP!UDds7ijkE=0iH0Qii_UT;i|*Xsw6 z#5v3{5E1emRNW92&RU2%sFIogK{9Ko!Q78!(FgZ^63kJuFl$66b57bfg=&VIaiW-G z(^N54&e>!oLekvuDu}&!{rpKqFy=-?p2Lbfb-z#oFwEP-MJ8hmw3+f*lR5_xrMYok tH=p<5oB)yMl~ajG_L{suZ>YjV_y>Z(Qz9l=hS2~3002ovPDHLkV1jfg2weaG diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture1.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture1.png deleted file mode 100644 index 5645eab913003496386dfa32c734dda5009b5da3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmV-#0+9WQP)!RQBWjlBaAAST@eM4^hkk{L;sU<${0;jZWygB`(jebc&g953cv zG>7&5FMDnFnq&se9ihldL?C0KP&7A=;~@7Y_F^0Z#F74qsPgsog_@I5L8%m5$SeeK72c+SlA`X;7y~uq_3;5!6vgO+JtwNl zb1z0~tSox#%(=*bLQAQDN=9#}sbkyOw670c~FYE7l;s5ocF>r6Hr8js;utL zoWb7fT}41d82un)Q3N_! ztq<1T)DA{_BW=AAJ5Vhul3+p=3e5E;L?v$KWNZqE*i;pf$nYd)Y|ctjxrs1LqD{1i}OI_g_C7agL$vXwKpM`}KvIky$*BK{Tie_kHun>rdvI z9PX$oE@F&h5PKscWEbakA)=Tm@AsSQyijTE`C`s*L=;h_D$&T|*ROx@V~|xu1hEzs zn>iFnhNEiQoeIdY_H)~C3a8n|KIVV|#s|qS$=439q03aLA^P;etSnRnvBAy&5n^vL7LZ)$Mg5+Mz0olSuEty&Q{iyK-I(_` zZbs})i6CNt@cq6KX;g(0L#vYaoR~Rle_ZTH%#7jAb)G1V2+)n2LPKUEU8t$@e7-Pu z&huigO;%xQADmsh-xKL35%%7UG3YE*4P9$e`6m(~tQ6nO8H_pQmz}-H9?v2oh2+zlp?t*SAHhXWRK_9OtkLQzh-wba7l4Dv;Hv zD$tzgL1ps#@dH!A#z4&xF^=m&RiWo_?!D;GA z8Lc@H4Pi(i75{zx;hGoC9rGY_)7(f2&c@e1?6oj6-nH0!Llx`!MiPI0KAbFM;(5N1 z#6HQ{i}&3`L?8+Gpm`!eR^iR*ZtT4o5#%nghFN2TI3=PPeq9#=G8cUW5gh@|ov-f) zx#h8Nd;v-UBdwzjuVlFDQbqQjo(iK!&-}7n{GjXsU{h|j)g^lH2J(S4=RhE z=Gq$-5!N~Yg@USL5C#Z$)B;nb_VCouBcMX812e%Rg4`RWS?6MUxSj`B;r0EEh?4nW zrU=5Zg8MG2iWPyof9T=P{rwj+$IV$Ds14nXyRoZrhWozQJ-9p7h5q~ZVnl%=Oc)9i z`1`teU2l4Zoykv2^Yb^@FO!+!b80eimyMe*Yi51A+^iEXOIL-rA13Snzb_?#o`}IwPbG>ht z8v__c=S5|rYH00;oev_yuKLuT;kqu&{1Y*P>>*Sbh6X&G+=*8;B8HmcCaiGGjIN@( zQ2{ptRg}-2ZV*?(9be}GJ>-3JeEs0QFS?4EM$8clOq$(8H>fY@VZ<0Uw0BVr)&0>H z`7Da!s?eL>g)+S zyYKlYV_TxgE|L>GJV5^a{Zk@F?n#MZ<`jjhaX$~QF^GbQMP)L^$%;iY!`x6oQ4>@I zD(StES@dx*j)QwnRD@Q=L>gdj6osv)*_x_w$gskOC-LYqaKM71x{`-C427O3Z|v8;@O31uN*yP;qi6^SKFY zxG9;5yOWtzCK-W^fvce2obz=;Zp=HG_0xR^<__wN(Lt3RfxFR1XD2+7c*Z6$=2}F- z>li$rH{KgDCu)WwKiFzy6%m`PqWggt0vWu%zKFH>TsQi=YG&Nmje5gLW^7!YJ{oGq zS`&Yb&i6CXXX33P1ZyYvJrMyn`>C`G3PfPVLia`}{sVtGSU+t{0Y3l$002ovPDHLk FV1g~%2W|iW diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture6.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture6.png deleted file mode 100644 index 99e6367d26bd269bdfdae3848542517411d3d58b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 611 zcmV-p0-XJcP)hzOUmzeN>`17fVpEyK zUWkCIAv8rX#sEO861tdkqSAB)hbgL#`gm@*Qw_tMhyZn}n+7x@L6rOYFw7`~%w%Qp ze!ppiu3`?QYon^TIbDSU+TG9vC|QjFJ_g;zIUZtkbMGRn>1y1Ss-nbD8%`sL8UW`x zscIsEb57izobZgBDH*{SPUl8VjWHZGqZ;nDxFh*`eX;I^s*q94F<4pb`^Hts9Z#j) zH|xHErT|l6n9<#s8)^n3{9YG_Jq@n=gBfHciYS6mRm{Ty=q`jNGuih=Mlk2ZOp%96 zRr5MeT-|VUVlA@Z-ht^ONmMz{iC2@=#7f)-B2XB+8Z}WwjKBAr%;e|$8=;wVB0%f~ z)li9>V(wHI84DHgh@{u%`{##@;Byrsikk9zovb_1^FX_}cQB8WZWxDA8R#&fRan=B xs-XgA&gXrxR)9e4O<`0P_w`}NhHfg0{{g$@S8%`sEFu5^002ovPDHLkV1h(93pW4& diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture7.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/concrete/rebar_concrete_texture7.png deleted file mode 100644 index 8ee5d608a3a31d8572f0d001df5bbac9ea9ca81d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmV-t0+{`YP)Hy;~Fa3u_g0*W{+`S+h+?PJoFoG8|C_BpI;u}`4gU`}Rm&f&-NCsj#h zqNb>-;bTw@b2z9VX52d%V-Ve#Dvve!@py9IFX#YOx)QI3@7IfYEna_qW9FDBqDpt+ zD(nb`3v@DE$rEI65W}mAIUO1lMQHe#mMy9UcjN4Xxl!Gi3ypFO!Pi}Fy{pYXK%6#5X79U;`w-BK5=s*0?auPWEFbf8}otD ztn1=bVWRA8P6lSi-W%$WxmjzW>I`>=D(>zG@U;(upuz`JFz4j#gSz25F@elN4WJ1W zAJf@8=qiRAYfeN2)nd5QS#%efjq+C4dn%2BGTfMJp{m3Q#Ej|A*YE!jf!M)xClE}G z?xrFUQIt+H6A`#ikd^G$3+cl(jX4Km%J(_AKuM!!s44qweD9#U@zKm-WHfUOzP|p@ z-8|HAbHogxs4Ox9bLX)ZI9@ zH*+qkg6n!NSs56Z83KGlT(gp*bCP3nQ)2T{eHB&^8dg0`Rgm+t&;o180KilUvYPH;IDZ8l{>#Q z=8GqFuo%ULWrxpvQm}PSpVHLori8ki61xk2r_J`9x+^oOs`$pd1w}2pzlfi@^;pAD z>ei;rt4r6MxjgY*o4@2u*{wpaUnR$`*rzh5_l~}+$Ii8>;eoqE6SSR`+T9bQ?j{)i zeSN?ulg0M^jUDnrd#!Z0%oTfY_0#qIhkG;R`|iKLDH-%wzFUtcpU3=+8z`pGQAtEWR4C6)Qn9YWKn%;}0_uPmDN=!|z_0RI3>^_jOh_#J2ReMY zH@Ms*Q(HTZ<0hO=r@rsE+pVfTpUzE>-E~U?RvciaJgJot5w^!@Aq3()!p6Q z%t8pNDk37Hs`Yg?o0%B^cc0+<{jREn&*w9MoO3B<97p-q?RGOWrPweGWV`z?43)(1 zv~WBgMP!<=TrN4$-8Y*J?S&9_yPdm}vsf$uOscF>3Nd%*KmaMFoHLhHZf0gp)1;ID zlu}4lRr?lQ0RUj^77;TO5hnAS71@=bb=N9Z*|jIeSWychRE+Y}tDW4Zx|+lQ)GY!0 zCLtm@XJ!b%m<-val$>))Nkl%M4?BNrKA&4PO0gJY(=<%)*Xn-;^!<1|Dm;!OGgZ}k z8mjtwy+mXJ4u=DWlu~#Otl#Ip@Bfdl7EhxFwcqdg2V#sQ`~mXs-IB-WO=$oC002ov JPDHLkV1nvRwIu)m diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/ironsheet_roof_top.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/ironsheet_roof_top.png deleted file mode 100644 index a5f038273c5b831a6f28a2bc0fe1dc8280a98e51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 509 zcmVpGuSrBfR5;6BlfiE4Fc3x0%s7q$Z0M@||FWM|saqsKKpcDKEn2(f zd6UFSe9ygiA|D?g;qIJHCq#tv`Ap84hvK`CV%TuK2L2La@q z(Y~2dLPTh-p{ke}W;UJyBH~+B6;=JdcXt3Tm&>?D1Sus_N&v&cwr#BIN=k|Top$Aj zKt!0P34mHF?mjXprLe9mW`?^D5d|y#Zm=Zu-5UCG^t=adrDG|?MstpPC4^9zlL@Y~7Hy4`L=sgra<5gFM;1lzWu z%d*f~qt-g=+O};F_0W2_oygt44|qHt|3l#Jlv1d*Qc4*Fef2!1Y5Hwpx7)F3cD*(^ulbkc_x&rVIh$bMRkNiYz00000NkvXXu0mjfwTVGd000McNliru;{pi{B{-AiBuoGR0h~!h zK~yNuJ(63l!!QU$c^D_LQ*~9{|5932iQ@(v?g!HSLw>-_8SwRbrIg$~r8LF>004-B znGrFiq^itpW{8+X1ORf*DJ5nmqA^C!834>IZixsHd+%mO*L9hhyEC(@B4VvoL=X`G zR5hj{Vtk`giipH%6!(22;=b=GrFC5aV9uFyCL(60F$N-*QdBhz%sEBmIF3?E?>*E; zmpLcJIA)G!%$##(=1{ord(OGm8gH1H=A4L#h^;jd2_V;X5m5j*j^nzn7^|w3b4J8v zSwv)6mUt9S0#um%hejd#zVF`q7-Qe}Ip?x0+qS7{bp3w6IcIk#A_|mdR%-=-)|#re z)&Su5`<>_ccsy#Y5$>Fmh$!HwDiN*gno@c`pCVF9A)?RcbKkeSyStesW}b6K?5(x1 zK}5%Kgy>RA2zGZ7p*g3!pXbTU+qRk67{km0V$Qj>773V{suDAY@BcuE==b}%dx$i% z_xoK+8DlVW8e_x?j4>kYm;eCo-dYQEkqiK&u%fEHcM&nOKoK8e$D)WO`UAb#ODa19 R!+QV#002ovPDHLkV1m?9;k*C< diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood.png deleted file mode 100644 index a1d05379bfaf2e1fa536c5364f694c7b378cfae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmV+y0_gpTP)@YTl z&BpmB;r~V?_Aqa6Dyk%c4N!mn{U;;<$YN)?uA9$uutXfB;(Q+Nt62pBEIiK-JrM@l zB7&-7v&;_VLJ?u{RV0DH*=4h+jM<^u$YvKJ!G`XF5^f;`EI%`>LRV2133OF)R?*cg%SnoCz+!(lRK)7DhO5=D;ph zfZ*;Xz_7R)my6jqiMPZvporZtSz4l8B!YyKAeqZW5&W42z7Nhq76g*sdO&5)&U+;j z!r$kI&-1~TjWAV4F3!AZl!GKr;GDtT+;`Dc7`Xa+ZI%UD=D-lDOzF*0_9ZSs0h3?} zN$;YiX-f>yf?w54hKd;F{jiH$Vk2hX9PqW+Ed8vImIJK#5^prnmm%+(8==5>@rw;q Z{0G5FEnJ26a)$r_002ovPDHLkV1i;6KG6{I0EnQs0$i{IA}_VE4dt-u48(7>vMfJh+# zo6p@0Lss#}V`H0&4E8{U7>2W(4AB@_#DFCBX$I&vStcV`k;I%PF=Mm4NkR8O4|te1 zJ!Y*W1g5dYm5Yd=ED*3yV+VuD5Llo<1?M!5A`uv1c(w7E$Vg^}(*q3GDvZetssek6 zFf+y;q}xVdlp+)&Lu3S325nQdXd4VyEh;a}FoH8CeB&VqyOH2|6=aer-g}do*kHr! zY+~S17ZNCwB6+>u#O))AfN>+6$RH4b*k{8GnE)mfC`2Y;5yb1v0PwVxLWvZn+u3AZCCN z=q9#7g6pyP`g~B41W(K?U_-6soO=g7chA@WByc=L1cJM{Ok&3T{UL;S)Z+O_ z9ub6e6D#?$7E<2hyrbgB|94K+7QgY6|32=+*!M4X57%0#K>?M;IfwLpwr`g>9sB|| W!aZ(xSK7}200003?sN>!VeyTup0?}c0neY;(HF6i48V+%w1HqLcx4c` zhh2*qGd*~Qdj~~e2aSmkva!u;707(fhjR~6dhBKdgO~wApoiE73HEF8*UyWJB!H@o z5Or-lgAKKkd!HTjJUwFrkihj25eS~C@IU%OKt$Pc+x`Fm002ovPDHLkV1n}U B>WKgV diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_pole_texture.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/iestyle/treated_wood_pole_texture.png deleted file mode 100644 index 8c50fc8106ffe8a2d64caf859ca2839c210f4608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~OrP)DnaObH`#8`7f6j@i(RyP?@R|#AB?~e( zxFf)vN$Uru!fS4_3NyjQ45f%HD2Uv|>%_eN1@!M9^@YYx_2U!y6|L~ts3 z&BV+oimc+=!5D+R6CxR7@H$VrHwq!&rteA|QTCoh1kIgYMP+iH=iB+t-bwEr00AWK zgNWe6l`S1N<@3C5+~XEk6(Rx%&+GhxAMPZDH^X0ZAtHnbM{gu>t&O|i+pi+?4pC+j z5v(dy;97x-8i=yz)_AxA`>!-*c+jUz39z}SXAAs^uy%FwN4e}8`Lf6DrA9c zqq}2jbaxy@O$iGBI47+cqDEF?BB&~B77&;jqQcCivbe5`T}j3L@f{>!&Fg0000^u(1V#5og)niLYx= z4YDbkdrnp*1-zNOJE`y10=hvG)y*6OcNWjP$U0HF8)&+cy_1m0Ol)C^wHDp*>+@ko zFdXK#5l{`!yRpGC_jTrLCz(y{LNra0b>I%$P)!R)m|?N@!ZQE%ffhDdMN>$ycM)-B zZoq=fCM>d>IVNW=t}zJ*-Hm)0bQRsrm=kwxByoQR?@q=rYcFJT#W)NqsZ6Hl_b0>^ zL9WH9YL=Q>?~$n+$H0hZZ-$_=7&a0J5hEyI%z?wfHH~D3O&tO0Zmux#J+ctc66mm^ z3TG8R&#|s{ky*U!#6l*k(f5AdO*nw&d0*bO7)H!F35&HhRmB*=yElzcH%;R(_qPjG zr!Sc=jxbfl&$IZqH(?(^VvyfF-Hm`}=jnw-=r9slu#Q1H5^ zi(`nz>A8~)!;Tp6xcu*#yL7=V;R1no|K+|vUK;Mx&VHrtq-el@1$U*luv`c2iHU zt&3LFG@HJw$JB3K!pwP|E*o5Z(pMNac<5Z*bh+A(F_=H8B;G4^<slu#P_W$7 z#WBR<^xFxBe1`&foZ}yL&15d%duRV$My6rzzZs2XO0G_^zo)rOOFr2+`LK)nz5MX} zYPK5*33WF6{{)LqU<_uPc~E0<>9%`*A#7}`dX&oh%b6Ke)~Ygl>Kv|TJF?vTfUDA? q?_2FFc$tqH`BWOL`f>5m6OH^lCw1X@IW-^$GkCiCxvXo~-ZNOTPT#^VSelVDr%lPk;HI*1!?g%MM3KF>t=!aeVTC=Z}A&3xT;9wK{RC zjcNt2mDPI1YPsN#^DVhlwo_oWNK84i9(n*uF?QL=x!~@^dCm-r#Oqv`rirN-U5KQV zsO}Uq0L&@?`(ogYVwJa6J@U=hU$y3q*hSXsH2}NIO8_)R+ze5rxpVFMb@tBf)N(>#f zRuG|DCEh-|$G>qPPnmvL(%dPva`W~bZp<^)8$pHtCd5E|@$3{)K}6Yne8R6!zC{FL zI1E_4ky3nfKl}N+16@#_KRG478YhAZsq1iaM3rpL#cm|Th_*&;jV6i}Lsi-5!uezi5 zK%?^R<`@micsVlkOXADl&ZyNCJGR1PM}l@mD^K6&^V zv6!*l&u9p=*4`*vn*%WPOa6SlL$8p5tCu?ac_zjfDBc(XNQ{IKuu@1N(RCd$C|&BH zHEON6J53Je0>qoQj(BIvlv+qBfjg+O=sHk%?}NKo&Uk~8XH*sU16{SsKU^4MF27uT Q4*&oF07*qoM6N<$g4{Sz3jhEB diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture1.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture1.png deleted file mode 100644 index 1e56869407adc39e092e737a5912cc28048c2eae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmV;!0zCbRP)U>nkjCI*CzeE}cDnIH(hffL`sNrXlMqS%Bal7ZkjlhAFh_uO;#Pi+Ss zI{tv)q@Z9e7K*cy_uam&SGqtcS#uGn>^CfKn=BuH;;BcWjr4oaY zQlhz2Y6YOy2Ee{l@J^|Xi|Zxw%~xOa)p|oP!^{v7ru|5nCe#eC6;Z`vVzC(5?{?H$ z@eT;sZ%>X%K>(rDO0+;nu^?Q%cAW?JzXM>mpJ?s`RRGq@1@9kzjF||}UyQtQX+w6% zb0wHD&h=cl9ryg3?YJkzfO&UNVakOVBkm4>h>*jk*%yPA$yHi@@ zgTs%Q=b7f6pz;rcU;+F6*JDHl5#`Fe2OK}V4iym#c=ufOaT6BdnNMlF>WrzZfcE?mHy6M~X+=HhFw(^_L1ckKS$ zv05&$qoeN$DzsAm)AH@R_jvfz5sv(=z_T>1HE!Pd1WN+B6vpDv3WWIT0-}LhDoA)~ z&{4oU?B^NFwK7gKsJ;@vB*uuUFboNLr?rN=)8%Zr0CwZn9i}N$S|O#xa=D@d!;sJ+ p@#eJyYR-6vl4n%)d~B^Y{sL>rLE72U*`fdd002ovPDHLkV1o5ZMza6_ diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture2.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture2.png deleted file mode 100644 index 8832f881774cd89fd689884e0b7a887092048796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmV;}0w?{6P)YwvRl z*bW>EDr!p;4Cz2@0_s!v0zQZ{K@fZcCq9J(b>Iag88n6NKq6Q#7s%INejcm!21|*Q5+XwPN}VP&C64<&qDsmGi^a%cx5M4(0SKf&etX1V z0tnTeoQyz8CcJn4fIlyP1rb!0V=1hbOWYe~%ITd8QW9Z%tc=Mh-YH!$gZ(tWf-1Yo z@m9z=alJb*;jymE4a znc=PB)yYF9TBEpg`~F9`JJVFCwJ;8|nNulPGSbt>j}R3^l+(Kx{Pg{|3`waiP(Vaz z5tu6X9(>H@FFzn645s|^?}2o+J7OvfITIn&9z^ZzrWx0I9Ek`@>xdev%Ar)Qck^4i z9A<*cWGWYeP!OP%{jWlxCc@GT1=QnPf^HGDOf? z0}=M6&N&9sTW9C2)*D0xd#QpOeDKEEIbI4qpq2?$rT2alr2hcS4?`m2$s7^E+&CF}E)NSsUpTCdW)5Q^1ORGn?AOM+R<>i0F3U;=G$)dF%(bx@dM*wN z=FWB~)MhNz065eJ9@J(u59G5?K8j%&>G~d3MMRhnd+I!sRB>}eK)b>)^i0!)w}uBG zpuapmqhtYu+8Ui^f`n$_-S$dtQC&{pf4TMenv#NcmF+-itx{FkBG1|KiZt# ze&NNJZcxpc=7rXb!?JR|yP}%0)JpC$$-^ND^I93k4U&}L{QC$2tiLtnl5Hvh?ibzT`a1L00J!P)f~3USoZWsRtCAwH2tpE)GAShvYvt+G z$Vt$#DAk;`uJnCD0CQ)*HiiH#h4ABkA_$;1qsxg-GxGVTABT1Y?UbxatBu{$a{xBm zEpAS$6*J@7_3K>jb|iu6YGN}E=pR2l#LP(&G!G)2lrkQ{=^MBC{+kC}+isYv@#oJV zBBYd9*UCG0-$iR{Tpkuu&O`*Q9WQI)#}?zj-xqsQPS5Bk5zL&!vY@J&>cJ+1sFHK0 z)k?{QuItd8=t>6>m>KR)$nm)VdgGOwJU_2gtCUh0#|;7WeIfOQmtTL2wyt2f%7KOQ1R?`STYn^@V)Y@=&^6^-i7KJCZG0!t|>kKJV zO2OP|y#vs@0dQy?JZRl`=3+!X|McSs5Au*%tyTc+w_5--XS{brm2l_Q?b{r7J9_VU z00Q~Z!!H4t4+lg90JD?YyYGL%)i)171XX3Om1!L5-AGBfytgI;?6zCn>_i}Pq9!=m zP}#jBj%lL1pOV)^0IeHC(o<|-eD+BI45ctm6Lp?3Git5WS^-$CR-~LsIpf_B z72F&Z$bbBHg_)xgbPpmN)r3cIdG`$-fBS%EZ%xe2&W}2EqSnUxt^4HGJDbB1O^JxO zsjP(qFpW$8da_5)mVxt2ow+q~&WYy1lt6MOr9^Lyk_y8xkdrc$0U|In+?}{78{`-6 zyv%cRrCFnt0`8#7Vi-W-&fVA12sCAm#~BeJA{fqj{11f5U+GS^s+<4-002ovPDHLk FV1i8MOQrw- diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture5.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture5.png deleted file mode 100644 index baa5672d7a3391c37f6337c5ff796d4408a6e384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 729 zcmV;~0w(>5P)`lfe4UDkc};~Gkb4$RW-rP z5^&N|{ix1&>WV`j_;iE@VhVR9RgvqECj-k6K2NElY9L9{a2Kfn494q-Kxk%^oOs-JT+B1C-hG#|uRjM7RF$b#R^y17lag|La!Sr3JbAt&B?X|*#V6vtDk*ye}7$4{`~C``RR5dsW6m6?}DgOEqK1$l5$3S$9t!XBAQTDE^6c1)<`Po zIAlbG+A531fB+YBr6aUvxF#%O&q42WU@V!d>m>m4*{7d${-=4K0a#tRLU@ppQfuXf z7q8;(OuH@H^DV1!N&e%PGu#7}jzy>UKs6D)bA0jd`v#Yq&eY9<0@7L(Vx7hmZg)76aBAgi=ajnkK3RW(FO?gHj3r zyYqAMjaP2*(o|{Q7>0pyT+t7MbTRPG`yXJn5*=EdQB~p)Fo1snF~nMV47dP*00000 LNkvXXu0mjfJU~jx diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture6.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture6.png deleted file mode 100644 index 6895552a90f6df672bd49c30ffb70a82209ba348..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751 zcmVkq_ZZI8rB3gO@wR)cjJ46bW4j*o zR`K3hF6S&)8^&6hOfpCUcY*-vtmX@9ZJd`zDHV4|$FVS&F?PrDfT*CV^d3Oq5u}tT zw z9t?vaqP%$HCilO)jfgNL<@aCiVT-dJNrfS2A_P&TG^eye^*|%&5rim{y(y~7wp5m9 zjiiE22cveU)WT#kAV7B~+_9w8P{KPA0TBdHTPG*QBalx&`8aB8m>K(rhqT)0y>Yf) zGdnoIyOWYqN?|^KNEt`2UVEO$tH;cyd)SY6?+_k{z$6f z?N5I3VD*SnD(}4aJ~pw$dOM;iQO8Pa7hn%(v6wTP?(z5P98LP9eHEd1XFHCVS)zK7 z=|sR}GSF&eNCT_o97{?bGDOgO$K45$iyZ^@^2se;s1?f@fHD?>3!^;QW4l??O2Gqa h8BtZ-{olQG{s9}HY&2FWSkV9g002ovPDHLkV1nF#Ub_GQ diff --git a/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture7.png b/1.13/src/main/resources/assets/engineersdecor/textures/block/slag_brick/slag_brick_texture7.png deleted file mode 100644 index 966aee469c9fa7b77c264e1d6ee01b14ca13b631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmVizq* zX~CJG*hU)D(qIz=#eowS;RalYV@Eo11%mrf5o|NkAcDEmr3gSNm8WwCcgzgkwjF?qP@9orAcaT>3hscT0<|^()>5(7 zD76tnK)(6vOW(JQhCnGh<8)xpnUXUS1AXccRbuKGhMskvskLGb2*h76zeC*s!EsUy zI7$q{t9Q?Mbae?Ls498inZ}V?8zCqs_b!N0gk>v?eaD;&u^J|V03jUa*68i>#jBk_&XbDqb57!!Tp zvCcE|vhe!pIY-CGtjmG`>#{Hm0{|fg;@^)SAS#F`CubM@@ym~hKn#&BZ&Y`tv1i#T zuf2K7KYu+!MCgL@_~8}tdd>tDx|CR#m0TOm9HD?HUK`JrOf#n+CsdVnFKh)w1RcAG zh_IKP!_g5_m#DSj?uZ+t4n&?Sfdi#BYBRP{k*~k_+)J(0S_vUwZj^n;nlT*?bp1ft zH=aECmuWii((%h|>q2YBG!Dc+f4`zNL&d4)xErbgbLZskcX{~p5A;#lO5-WKa6*84 z7w;2Gt*qNlF-KKjC|hdf1c)(mJ!drN|E!!ShP#vc9(9~KXB0>=5@P^2hAwgE&M`44 zsY?XC{f4zhX-2i%y7<;R_c@In=8Y|9#&N=dzVFb!!;)O{!Q1I-#Dg1fWc+|X*{ YKL~Si=sh)*xBvhE07*qoM6N<$f>D!Ai~s-t diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/_constants.json b/1.13/src/main/resources/data/engineersdecor/recipes/_constants.json deleted file mode 100644 index 3099a1d..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/_constants.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - { - "items": [ - { "item": "minecraft:brick" }, - { "item": "minecraft:nether_brick" } - ], - "name": "engineersdecor:any_brick_ingot" - }, - { - "items": [ - { "item": "minecraft:bricks" }, - { "item": "minecraft:nether_bricks" } - ], - "name": "engineersdecor:any_brick_block" - }, - { - "items": [ - { "item": "minecraft:black_concrete_powder" }, - { "item": "minecraft:blue_concrete_powder" }, - { "item": "minecraft:brown_concrete_powder" }, - { "item": "minecraft:cyan_concrete_powder" }, - { "item": "minecraft:gray_concrete_powder" }, - { "item": "minecraft:green_concrete_powder" }, - { "item": "minecraft:light_blue_concrete_powder" }, - { "item": "minecraft:light_gray_concrete_powder" }, - { "item": "minecraft:lime_concrete_powder" }, - { "item": "minecraft:magenta_concrete_powder" }, - { "item": "minecraft:orange_concrete_powder" }, - { "item": "minecraft:pink_concrete_powder" }, - { "item": "minecraft:purple_concrete_powder" }, - { "item": "minecraft:red_concrete_powder" }, - { "item": "minecraft:white_concrete_powder" }, - { "item": "minecraft:yellow_concrete_powder" }, - { "item": "minecraft:black_concrete" }, - { "item": "minecraft:blue_concrete" }, - { "item": "minecraft:brown_concrete" }, - { "item": "minecraft:cyan_concrete" }, - { "item": "minecraft:gray_concrete" }, - { "item": "minecraft:green_concrete" }, - { "item": "minecraft:light_blue_concrete" }, - { "item": "minecraft:light_gray_concrete" }, - { "item": "minecraft:lime_concrete" }, - { "item": "minecraft:magenta_concrete" }, - { "item": "minecraft:orange_concrete" }, - { "item": "minecraft:pink_concrete" }, - { "item": "minecraft:purple_concrete" }, - { "item": "minecraft:red_concrete" }, - { "item": "minecraft:white_concrete" }, - { "item": "minecraft:yellow_concrete" } - ], - "name": "engineersdecor:concrete" - }, - { - "items": [ - { "item": "minecraft:bone_meal" } - ], - "name": "engineersdecor:any_slag" - }, - { - "items": [ - { "item": "minecraft:iron_nugget" } - ], - "name": "engineersdecor:any_ferro_metal_stick" - }, - { - "items": [ - { "item": "minecraft:iron_nugget" } - ], - "name": "engineersdecor:steel_stick" - }, - { - "items": [ - { "item": "minecraft:stick" } - ], - "name": "engineersdecor:treated_wood_stick" - }, - { - "items": [ - { "item": "minecraft:dark_oak_planks" } - ], - "name": "engineersdecor:treated_wood_planks" - }, - { - "items": [ - { "item": "minecraft:dark_oak_slab" } - ], - "name": "engineersdecor:treated_wood_slab" - } -] \ No newline at end of file diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_recipe.json deleted file mode 100644 index 25f383d..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_recipe.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:clinker_brick_block" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "BBB", - "BNB", - "BBB" - ], - "key": { - "B": { "constant": "engineersdecor:any_brick_ingot" }, - "N": { "constant": "engineersdecor:any_brick_block" } - }, - "result": { - "item": "engineersdecor:clinker_brick_block", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe.json deleted file mode 100644 index a4cea28..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:clinker_brick_stairs" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "C ", - "CC ", - "CCC" - ], - "key": { - "C": { - "item": "engineersdecor:clinker_brick_block" - } - }, - "result": { - "item": "engineersdecor:clinker_brick_stairs", - "count": 9 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json b/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json deleted file mode 100644 index 7cd85bc..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/clinker_brick_stairs_recipe_decompose.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:clinker_brick_block" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "SS", - "SS" - ], - "key": { - "S": { - "item": "engineersdecor:clinker_brick_stairs" - } - }, - "result": { - "item": "engineersdecor:clinker_brick_block", - "count": 3 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_ladder_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_ladder_recipe.json deleted file mode 100644 index 1e457b2..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_ladder_recipe.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:metal_rung_ladder", - "later_required": ["immersiveengineering:material"] - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "S S", - "SSS", - " " - ], - "key": { - "S": { "constant": "engineersdecor:any_ferro_metal_stick" } - }, - "result": { - "item": "engineersdecor:metal_rung_ladder", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_steps_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_steps_recipe.json deleted file mode 100644 index 44abd9f..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/metal_rung_steps_recipe.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:metal_rung_steps", -"later_required": ["immersiveengineering:material"] - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - " SS", - "SS ", - " SS" - ], - "key": { - "S": { "constant": "engineersdecor:any_ferro_metal_stick" } - }, - "result": { - "item": "engineersdecor:metal_rung_steps", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_recipe.json deleted file mode 100644 index 8b61f31..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_recipe.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:rebar_concrete" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "SCS", - "CSC", - "SCS" - ], - "key": { - "C": { "constant": "engineersdecor:concrete" }, - "S": { "constant": "engineersdecor:steel_stick" } - }, - "result": { - "item": "engineersdecor:rebar_concrete", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_stairs_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_stairs_recipe.json deleted file mode 100644 index 1b05f55..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_stairs_recipe.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:rebar_concrete_stairs" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "C ", - "CC ", - "CCC" - ], - "key": { - "C": { "item": "engineersdecor:rebar_concrete" } - }, - "result": { - "item": "engineersdecor:rebar_concrete_stairs", - "count": 9 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_wall_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_wall_recipe.json deleted file mode 100644 index 9afdf8d..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/rebar_concrete_wall_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:rebar_concrete_wall" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - " ", - "CCC", - "CCC" - ], - "key": { - "C": { - "item": "engineersdecor:rebar_concrete" - } - }, - "result": { - "item": "engineersdecor:rebar_concrete_wall", - "count": 6 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_recipe_with_slag.json b/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_recipe_with_slag.json deleted file mode 100644 index 9f07a06..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_recipe_with_slag.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:slag_brick_block" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "BBB", - "BSB", - "BBB" - ], - "key": { - "B": { "constant": "engineersdecor:any_brick_ingot" }, - "S": { "constant": "engineersdecor:any_slag" } - }, - "result": { - "item": "engineersdecor:slag_brick_block", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_stairs_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_stairs_recipe.json deleted file mode 100644 index 20adf39..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/slag_brick_stairs_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:slag_brick_stairs" - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "C ", - "CC ", - "CCC" - ], - "key": { - "C": { - "item": "engineersdecor:slag_brick_block" - } - }, - "result": { - "item": "engineersdecor:slag_brick_stairs", - "count": 9 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_ladder_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_ladder_recipe.json deleted file mode 100644 index 8db74e1..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_ladder_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:treated_wood_ladder", -"later_required": ["immersiveengineering:material"] - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "S#S", - "SSS", - "S#S" - ], - "key": { - "S": { "constant": "engineersdecor:treated_wood_stick" }, - "#": { "item": "minecraft:bone_meal" } - }, - "result": { - "item": "engineersdecor:treated_wood_ladder", - "count": 4 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_pole_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_pole_recipe.json deleted file mode 100644 index 8d16ec3..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_pole_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:treated_wood_pole", -"later_required": ["immersiveengineering:material"] - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - " S ", - " W ", - " W " - ], - "key": { - "W": { "constant": "engineersdecor:treated_wood_planks" }, - "S": { "constant": "engineersdecor:treated_wood_slab" } - }, - "result": { - "item": "engineersdecor:treated_wood_pole", - "count": 6 - } -} diff --git a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_table_recipe.json b/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_table_recipe.json deleted file mode 100644 index d366991..0000000 --- a/1.13/src/main/resources/data/engineersdecor/recipes/treated_wood_table_recipe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "conditions": [ - { - "type": "engineersdecor:grc", - "result": "engineersdecor:treated_wood_table", -"later_required": ["immersiveengineering:material"] - } - ], - "type": "minecraft:crafting_shaped", - "pattern": [ - "WWW", - "S S", - "S S" - ], - "key": { - "W": { "constant": "engineersdecor:treated_wood_slab" }, - "S": { "item": "engineersdecor:treated_wood_pole" } - }, - "result": { - "item": "engineersdecor:treated_wood_table", - "count": 1 - } -} diff --git a/1.13/src/main/resources/pack.mcmeta b/1.13/src/main/resources/pack.mcmeta deleted file mode 100644 index f642e0f..0000000 --- a/1.13/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,7 +0,0 @@ -{ - "pack": { - "description": "engineersdecor resources", - "pack_format": 4, - "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." - } -} diff --git a/1.13/tasks.js b/1.13/tasks.js deleted file mode 100644 index 69e1a44..0000000 --- a/1.13/tasks.js +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/djs -// Note for reviewers/clones: This file is a auxiliary script for my setup. It's not needed to build the mod. -"use strict"; -const constants = include("../meta/lib/constants.js")(); -const libtask = include("../meta/lib/libtask.js")(constants); -const liblang = include("../meta/lib/liblang.1.13.js")(constants); -var tasks = {}; - -tasks["sync-languages"] = function() { - liblang.sync_languages(); -}; - -libtask.run(tasks, sys.args); diff --git a/1.14/build.gradle b/1.14/build.gradle index ee605f1..0f376da 100644 --- a/1.14/build.gradle +++ b/1.14/build.gradle @@ -1,5 +1,5 @@ // @file build.gradle -// Engineer's decor mod gradle build relay (mc1.13.2) +// Engineer's decor mod gradle build relay (mc1.14.4) buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } diff --git a/1.14/gradle.properties b/1.14/gradle.properties index cc146c6..6465a80 100644 --- a/1.14/gradle.properties +++ b/1.14/gradle.properties @@ -5,7 +5,7 @@ version_minecraft=1.14.4 version_forge_minecraft=1.14.4-28.0.40 version_fml_mappings=20190719-1.14.3 version_jei=1.14.3:6.0.0.8 -version_engineersdecor=1.0.11-b1 +version_engineersdecor=1.0.11-b2 # # jar signing data loaded from signing.properties in the project root. # diff --git a/1.14/readme.md b/1.14/readme.md index cd7131f..b652592 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -10,6 +10,8 @@ Mod sources for Minecraft version 1.14.3. ---- ## Version history + ~ v1.0.11-b2 + - v1.0.11-b1 [A] Added Steel Table [A] Added Treated Wood Side Table [A] Added Exit Sign diff --git a/Makefile b/Makefile index dbbd626..c887f15 100644 --- a/Makefile +++ b/Makefile @@ -14,17 +14,14 @@ dist: default clean: -@cd 1.12; make -s clean - -@cd 1.13; make -s clean -@cd 1.14; make -s clean clean-all: -@cd 1.12; make -s clean-all - -@cd 1.13; make -s clean-all -@cd 1.14; make -s clean-all mrproper: -@cd 1.12; make -s mrproper - -@cd 1.13; make -s mrproper -@cd 1.14; make -s mrproper update-json: @@ -33,7 +30,6 @@ update-json: sanatize: @cd 1.12; make -s sanatize - @cd 1.13; make -s sanatize @cd 1.14; make -s sanatize @make -s update-json diff --git a/meta/update.json b/meta/update.json index f1c7c88..11c0237 100644 --- a/meta/update.json +++ b/meta/update.json @@ -3,8 +3,6 @@ "promos": { "1.12.2-recommended": "1.0.10", "1.12.2-latest": "1.0.11-b1", - "1.13.2-recommended": "", - "1.13.2-latest": "1.0.7-b5", "1.14.4-recommended": "", "1.14.4-latest": "1.0.11-b1" }, @@ -58,21 +56,6 @@ "1.0.0-b2": "[A] Added rebar concrete (steel reinforced, expensive, creeper-proof).", "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table." }, - "1.13.2": { - "1.0.7-b5": "[A] Added translation zh_cn (PR#33, XuyuEre)\n[M] Updated textures.\n[M] Updated 1st/3rd person item model rotations/translations.", - "1.0.7-b4": "[A] Added stained clinker brick block/stairs.", - "1.0.7-b3": "[V] Version assignment: All features of v1.0.7-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-assigned.\n[A] Added \"Factory Area\" sign.\n[M] Sign background colors adapted.\n[M] EN lang file updated (PR#28, Voxelo).", - "1.0.4-b6": "[A] Added Small Electrical Furnace.\n[A] Added Small Waste Incinerator.\n[A] Experimental: Added fluid check valve.\n[A] Experimental: Added fluid redstone controlled valve.\n[A] Experimental: Added fluid redstone analog valve.\n[A] Experimental: Added passive fluid accumulator.", - "1.0.4-b5": "[A] Added Factory Dropper.\n[A] Added \"Caution Defense System Ahead\" sign.", - "1.0.4-b4": "[U] Updated forge dependency: REQUIRES FORGE >= 1.13.2-25.0.214.\n[A] Added sign \"Electrical hazard\"/\"Caution hot wire\".\n[A] Added sign \"Caution dangerous there\" (skull/bones).\n[A] Added horizontal steel double-T support beam with pole connections.", - "1.0.4-b3": "[V] Version assignment: All features of v1.0.4-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-iterated.\n[A] Lab furnace ported to 1.13.\n[A] Treated wood crafting table: Added crafting table history/quick craft.\n[A] Treated wood stool: Sitting on the stool implemented.\n[A] Steel poles (thick/thin) with support heads/foots added.\n[E] Prepared position dependent texture variation for walls (clinker, slag, rebar concrete), missing one forge feature yet for completion.\n[E] Prepared multi-layer rendering for windows, needs forge feature implementation.", - "1.0.2-b3": "[A] Added treated wood window.\n[A] Added treated wood pole support.\n[A] Added treated wood pole head.\n[A] Added steel framed window.", - "1.0.2-b2": "[A] Added wall decomposition recipes.\n[A] Added slag brick wall.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.", - "1.0.2-b1": "[A] Added Treated wood crafting table.\n[A] Added decomposition recipes for stairs and tiles.\n[N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version).\n[N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items.", - "1.0.0-a3": "[A] Added iron inset light.\n[A] Added rebar concrete tile.\n[A] Added rebar concrete tile stairs.\n[A] Added clinker brick wall.\n[A] Added treated wood stool.\n[A] Added treated window sill.", - "1.0.0-a2": "[A] Added panzer glass.", - "1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta." - }, "1.14.4": { "1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.", "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", diff --git a/readme.md b/readme.md index 308bc57..4e4ed35 100644 --- a/readme.md +++ b/readme.md @@ -175,8 +175,6 @@ commits. - [1.12](1.12/readme.md) - - [1.13](1.13/readme.md) - - [1.14](1.14/readme.md) ### Community references diff --git a/tasks.js b/tasks.js index 61a9911..a992372 100644 --- a/tasks.js +++ b/tasks.js @@ -5,7 +5,6 @@ const constants = include("meta/lib/constants.js")(); const libtask = include("meta/lib/libtask.js")(constants); const libassets = include("meta/lib/libassets.js")(constants); const modid = constants.mod_registry_name(); -const with_113 = false; var tasks = {}; tasks["update-json"] = function() { @@ -16,7 +15,6 @@ tasks["update-json"] = function() { }; var update_json_src = []; fs.find(root_dir + "/1.12/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); }); - fs.find(root_dir + "/1.13/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); }); fs.find(root_dir + "/1.14/meta/", "update*.json", function(path){ update_json_src.push(JSON.parse(fs.readfile(path))); }); for(var i in update_json_src) { const version_update_json = update_json_src[i]; @@ -58,7 +56,6 @@ tasks["sync-main-repository"] = function() { sys.shell("rm -rf documentation meta"); sys.shell("rm -f .gitignore credits.md license Makefile readme.md tasks.js"); cd_main("1.12"); sys.shell("rm -rf meta gradle src"); - cd_main("1.13"); sys.shell("rm -rf meta gradle"); cd_main("1.14"); sys.shell("rm -rf meta gradle src"); cd_dev(); sys.shell("cp -f .gitignore credits.md license Makefile readme.md tasks.js \"" + main_repo_local + "/\"") @@ -68,11 +65,6 @@ tasks["sync-main-repository"] = function() { sys.shell("cp -f .gitignore build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js.* \"" + main_repo_local + "/1.12/\"") sys.shell("cp -r gradle meta src \"" + main_repo_local + "/1.12/\"") } - { - cd_dev("1.13"); - sys.shell("cp -f .gitignore build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js \"" + main_repo_local + "/1.13/\"") - sys.shell("cp -r gradle meta \"" + main_repo_local + "/1.13/\"") - } { cd_dev("1.14"); sys.shell("cp -f .gitignore build.gradle gradle.properties gradlew gradlew.bat Makefile readme.md tasks.js \"" + main_repo_local + "/1.14/\"") @@ -120,7 +112,6 @@ tasks["compare-textures"] = function(args) { } } var ok = true; - if(with_113 && !compare("1.12", "1.13")) ok = false; if(!compare("1.12", "1.14")) ok = false; return ok; }; @@ -157,7 +148,6 @@ tasks["compare-blockstates"] = function(args) { } } var ok = true; - if(with_113 && !compare("1.12", "1.13")) ok = false; if(!compare("1.12", "1.14")) ok = false; return ok; }; From 029a97fa183a77c15919442028753ff3769dd2a1 Mon Sep 17 00:00:00 2001 From: Shellyoung <40469927+Shellyoung@users.noreply.github.com> Date: Fri, 23 Aug 2019 17:11:51 +0300 Subject: [PATCH 5/9] Update ru_ru.lang (#47) * Update ru_ru.lang Minor grammatic corrections * Update ru_ru.lang --- .../resources/assets/engineersdecor/lang/ru_ru.lang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang index dcb4fcf..3abd875 100644 --- a/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang +++ b/1.12/src/main/resources/assets/engineersdecor/lang/ru_ru.lang @@ -56,7 +56,7 @@ tile.engineersdecor.treated_wood_ladder.help=§6Погодоустойчивая tile.engineersdecor.clinker_brick_stairs.name=Клинкерные кирпичные ступеньки tile.engineersdecor.clinker_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок tile.engineersdecor.clinker_brick_stained_stairs.name=Грязные кирпичные ступеньки -tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядият немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен. +tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядят немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен. tile.engineersdecor.slag_brick_stairs.name=Клинкерные кирпичные ступеньки tile.engineersdecor.slag_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок. tile.engineersdecor.rebar_concrete_stairs.name=Железобетонные ступеньки @@ -66,7 +66,7 @@ tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Ступеньки из #----------------------------------------------------------------------------------------------------------- tile.engineersdecor.treated_wood_pole.name=Прямой обработанный деревянный столб tile.engineersdecor.treated_wood_pole.help=§6Надёжный столб с диаметром, схожим с реле.§r\n\ - Может быть полезен в качестве альтернативы электростолбам, если требуется особая специальная длина, \ + Может быть полезен в качестве альтернативы столбам для проводов, если требуется особая специальная длина, \ или как опора для конструкций. tile.engineersdecor.treated_wood_pole_head.name=Прямой обработанный деревянный столб (верхняя часть/основание) tile.engineersdecor.treated_wood_pole_head.help=§6Деревянная часть, подходит как основание или наконечник прямых столбов. @@ -120,7 +120,7 @@ tile.engineersdecor.small_waste_incinerator.help=§6Отходы с слотам будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. \ Сохраняет инвентарь при перемещении. #----------------------------------------------------------------------------------------------------------- -tile.engineersdecor.straight_pipe_valve.name=Жидкостный одноканальный клапан +tile.engineersdecor.straight_pipe_valve.name=Одноканальный жидкостный клапан tile.engineersdecor.straight_pipe_valve.help=§6Фрагмент прямой трубы.§r Проводит жидкость только в одном направлении. \ Не соединяется по бокам. Уменьшает пропускную способность. \ SHIFT для размещения в противоположном направлении. @@ -128,7 +128,7 @@ tile.engineersdecor.straight_pipe_valve_redstone.name=Краснокаменно tile.engineersdecor.straight_pipe_valve_redstone.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \ Не соединяется по бокам. SHIFT для размещения в обратном направлении. \ Блокирует поток, если присутствует сигнал красного камня. -tile.engineersdecor.straight_pipe_valve_redstone_analog.name=Редстоун-аналоговый клапан для жидкости +tile.engineersdecor.straight_pipe_valve_redstone_analog.name=Краснокаменно-аналоговый жидкостный клапан tile.engineersdecor.straight_pipe_valve_redstone_analog.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \ Не соединяется по бокам. SHIFT для размещения в обратном направлении. \ Не пропускает при отсутствии сигнала красного камня, уменьшает расход линейно с мощности 1 до 14, \ @@ -220,7 +220,7 @@ engineersdecor.config.without_recipes=Без рецептов engineersdecor.config.furnace_smelting_speed_percent=Печь: скорость плавления % engineersdecor.config.furnace_fuel_efficiency_percent=Печь: Эффективность топлива % engineersdecor.config.furnace_boost_energy_consumption=Печь: Энергия ускорения -engineersdecor.config.chair_mob_sitting_probability_percent=Стулья: Шшанс сесть % +engineersdecor.config.chair_mob_sitting_probability_percent=Стулья: Шанс сесть % engineersdecor.config.chair_mob_standup_probability_percent="Стулья: шанс встать %" engineersdecor.config.with_crafting_quickmove_buttons=Верстак из обр-ого дерева: движение кнопок engineersdecor.config.pipevalve_max_flowrate=Клапаны: максимальная скорость потока From 10968cbdd254f60d2c30b24c4d4e4f2e8b6a085a Mon Sep 17 00:00:00 2001 From: stfwi Date: Sat, 24 Aug 2019 12:11:39 +0200 Subject: [PATCH 6/9] 1.12: Floor grating issue fixed. Lang updates. --- 1.12/meta/update.json | 3 ++- 1.12/readme.md | 3 ++- .../blocks/BlockDecorFloorGrating.java | 25 +++++++++++++++---- 1.14/gradle.properties | 2 +- 1.14/readme.md | 4 ++- .../engineersdecor/blocks/BlockDecor.java | 5 +--- .../assets/engineersdecor/lang/ru_ru.json | 10 ++++---- meta/lib/libtask.js | 3 ++- meta/update.json | 3 ++- 9 files changed, 38 insertions(+), 20 deletions(-) diff --git a/1.12/meta/update.json b/1.12/meta/update.json index a7e7d9d..92ce6fa 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", "1.0.10-b2": "[A] Steel table added.\n[A] Steel floor grating added.", @@ -52,6 +53,6 @@ }, "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b1" + "1.12.2-latest": "1.0.11-b2" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index b8d40fc..3942ab5 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,7 +10,8 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history - ~ v1.0.11-b2 [A] + - v1.0.11-b2 [F] Fixed Floor Grating issue, which could have caused a crash. + [M] Lang update ru-ru (Shellyoung, PR #47). - v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45). [F] Fixed bounding box of the Steel Table. diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java index 18d0dd3..af3a5f1 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFloorGrating.java @@ -55,7 +55,23 @@ public class BlockDecorFloorGrating extends BlockDecor if(!(entity instanceof EntityItem)) { entity.fall(fallDistance, 1.0F); } else { - entity.setVelocity(0,-0.2,0); + entity.motionX = 0; + entity.motionY = -0.1; + entity.motionZ = 0; + entity.setPositionAndUpdate(pos.getX()+0.5, entity.posY-0.3, pos.getZ()+0.5); + } + } + + @Override + public void onLanded(World world, Entity entity) + { + if(!(entity instanceof EntityItem)) { + super.onLanded(world, entity); + } else { + entity.motionX = 0; + entity.motionY = -0.1; + entity.motionZ = 0; + entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ); } } @@ -63,12 +79,11 @@ public class BlockDecorFloorGrating extends BlockDecor public void onEntityCollision(World world, BlockPos pos, IBlockState state, Entity entity) { if(!(entity instanceof EntityItem)) return; + entity.motionX = 0; + entity.motionZ = 0; if((entity.posY-pos.getY()) > 0.7) { if(entity.motionY > -0.2) entity.motionY = -0.2; - entity.setVelocity(0,-0.1,0); - entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ); - } else { - entity.setVelocity(0,entity.motionY,0); + entity.setPositionAndUpdate(pos.getX()+0.5, entity.posY-0.3, pos.getZ()+0.5); } } } diff --git a/1.14/gradle.properties b/1.14/gradle.properties index 6465a80..6040ba4 100644 --- a/1.14/gradle.properties +++ b/1.14/gradle.properties @@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx8G version_minecraft=1.14.4 version_forge_minecraft=1.14.4-28.0.40 version_fml_mappings=20190719-1.14.3 -version_jei=1.14.3:6.0.0.8 +version_jei=1.14.4:6.0.0.10 version_engineersdecor=1.0.11-b2 # # jar signing data loaded from signing.properties in the project root. diff --git a/1.14/readme.md b/1.14/readme.md index b652592..c34153e 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -10,7 +10,9 @@ Mod sources for Minecraft version 1.14.3. ---- ## Version history - ~ v1.0.11-b2 + ~ v1.0.11-b2 [U] JEI dependency update 1.14.4:6.0.0.10. + [F] Fixed creative ghost block issue (issue #48). + [M] Updated ru_ru lang file (Shellyoung, PR#47). - v1.0.11-b1 [A] Added Steel Table [A] Added Treated Wood Side Table diff --git a/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java index a4b4ffa..0374051 100644 --- a/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java +++ b/1.14/src/main/java/wile/engineersdecor/blocks/BlockDecor.java @@ -119,10 +119,7 @@ public class BlockDecor extends Block implements IDecorBlock @Override public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, IFluidState fluid) - { - if(player.isCreative()) return true; - return dropBlock(state, world, pos, false); - } + { return dropBlock(state, world, pos, false); } @Override public void onExplosionDestroy(World world, BlockPos pos, Explosion explosion) diff --git a/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json b/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json index d2882b0..8670a3c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json +++ b/1.14/src/main/resources/assets/engineersdecor/lang/ru_ru.json @@ -42,7 +42,7 @@ "engineersdecor.config.furnace_smelting_speed_percent": "Печь: скорость плавления %", "engineersdecor.config.furnace_fuel_efficiency_percent": "Печь: Эффективность топлива %", "engineersdecor.config.furnace_boost_energy_consumption": "Печь: Энергия ускорения", - "engineersdecor.config.chair_mob_sitting_probability_percent": "Стулья: Шшанс сесть %", + "engineersdecor.config.chair_mob_sitting_probability_percent": "Стулья: Шанс сесть %", "engineersdecor.config.chair_mob_standup_probability_percent": "\"Стулья: шанс встать %\"", "engineersdecor.config.with_crafting_quickmove_buttons": "Верстак из обр-ого дерева: движение кнопок", "engineersdecor.config.pipevalve_max_flowrate": "Клапаны: максимальная скорость потока", @@ -90,7 +90,7 @@ "block.engineersdecor.clinker_brick_stairs": "Клинкерные кирпичные ступеньки", "block.engineersdecor.clinker_brick_stairs.help": "§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок", "block.engineersdecor.clinker_brick_stained_stairs": "Грязные кирпичные ступеньки", - "block.engineersdecor.clinker_brick_stained_stairs.help": "§6Выглядият немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен.", + "block.engineersdecor.clinker_brick_stained_stairs.help": "§6Выглядят немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен.", "block.engineersdecor.slag_brick_stairs": "Клинкерные кирпичные ступеньки", "block.engineersdecor.slag_brick_stairs.help": "§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок.", "block.engineersdecor.rebar_concrete_stairs": "Железобетонные ступеньки", @@ -98,7 +98,7 @@ "block.engineersdecor.rebar_concrete_tile_stairs": "Ступеньки из железобетонной плитки", "block.engineersdecor.rebar_concrete_tile_stairs.help": "§6Ступеньки из железобетонной плитки.§r Дорогие, но взрывоустойчивые, как обсидиан.", "block.engineersdecor.treated_wood_pole": "Прямой обработанный деревянный столб", - "block.engineersdecor.treated_wood_pole.help": "§6Надёжный столб с диаметром, схожим с реле.§r\n Может быть полезен в качестве альтернативы электростолбам, если требуется особая специальная длина, или как опора для конструкций.", + "block.engineersdecor.treated_wood_pole.help": "§6Надёжный столб с диаметром, схожим с реле.§r\n Может быть полезен в качестве альтернативы столбам для проводов, если требуется особая специальная длина, или как опора для конструкций.", "block.engineersdecor.treated_wood_pole_head": "Прямой обработанный деревянный столб (верхняя часть/основание)", "block.engineersdecor.treated_wood_pole_head.help": "§6Деревянная часть, подходит как основание или наконечник прямых столбов.", "block.engineersdecor.treated_wood_pole_support": "Прямой обработанный деревянный столб", @@ -139,11 +139,11 @@ "block.engineersdecor.small_electrical_furnace.help": "§6Компактная конвейерная печь в металлическом корпусе.§r Автоматически принимает предметы со стороны ввода и складывает в инвентарь со стороны вывода. Предметы можно помещать/забирать со всех сторон с помощью воронок. Без проблем пропускает элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстрая, чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует мало энергии.", "block.engineersdecor.small_waste_incinerator": "Компактный сжигатель отходов", "block.engineersdecor.small_waste_incinerator.help": "§6Отходы с слотами для очереди.§r Предметы могут помещаться с любой стороны, и храниться до тех пор, пока в очереди не останется свободного места. После этого самый старый стек будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. Сохраняет инвентарь при перемещении.", - "block.engineersdecor.straight_pipe_valve": "Жидкостный одноканальный клапан", + "block.engineersdecor.straight_pipe_valve": "Одноканальный жидкостный клапан", "block.engineersdecor.straight_pipe_valve.help": "§6Фрагмент прямой трубы.§r Проводит жидкость только в одном направлении. Не соединяется по бокам. Уменьшает пропускную способность. SHIFT для размещения в противоположном направлении.", "block.engineersdecor.straight_pipe_valve_redstone": "Краснокаменно-контролируемый жидкостный клапан", "block.engineersdecor.straight_pipe_valve_redstone.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT для размещения в обратном направлении. Блокирует поток, если присутствует сигнал красного камня.", - "block.engineersdecor.straight_pipe_valve_redstone_analog": "Редстоун-аналоговый клапан для жидкости", + "block.engineersdecor.straight_pipe_valve_redstone_analog": "Краснокаменно-аналоговый жидкостный клапан", "block.engineersdecor.straight_pipe_valve_redstone_analog.help": "§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. Не соединяется по бокам. SHIFT для размещения в обратном направлении. Не пропускает при отсутствии сигнала красного камня, уменьшает расход линейно с мощности 1 до 14, открывается максимально-возможно при уровне сигнала красного камня 15.", "block.engineersdecor.passive_fluid_accumulator": "Пассивный жидкостный накопитель", "block.engineersdecor.passive_fluid_accumulator.help": "§6Вакуумный всасывающий жидкостный коллектор.§r Имеет один выход, все остальные стороны входные. Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта.", diff --git a/meta/lib/libtask.js b/meta/lib/libtask.js index 9625359..6bf2940 100644 --- a/meta/lib/libtask.js +++ b/meta/lib/libtask.js @@ -324,7 +324,8 @@ stdtasks["version-check"] = function(args) { var r = me.tasks.version_check(!args.join().search("--no-preversions")>=0); if(r.fails.length == 0) return; - for(var i in r.fails) r.fails[i] = " - " + r.fails[i]; + alert("Version check failed:"); + for(var i in r.fails) alert(" - " + r.fails[i]); alert("Version data:"); alert(" - version_mod : '" + r.version_mod + "'"); alert(" - combined_version : '" + r.combined_version + "'"); diff --git a/meta/update.json b/meta/update.json index 11c0237..d423bf1 100644 --- a/meta/update.json +++ b/meta/update.json @@ -2,11 +2,12 @@ "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b1", + "1.12.2-latest": "1.0.11-b2", "1.14.4-recommended": "", "1.14.4-latest": "1.0.11-b1" }, "1.12.2": { + "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", "1.0.10-b2": "[A] Steel table added.\n[A] Steel floor grating added.", From 73427832a4bde3a32ac55fb67f6160e57fae64c5 Mon Sep 17 00:00:00 2001 From: stfwi Date: Sat, 24 Aug 2019 12:46:53 +0200 Subject: [PATCH 7/9] 1.14: v1.0.11-b2 commit: JEI update, issue #48, lang updates. --- 1.12/gradle.properties | 2 +- 1.12/readme.md | 544 +++++++++++++++++++++-------------------- 1.14/meta/update.json | 3 +- 1.14/readme.md | 2 +- meta/update.json | 3 +- 5 files changed, 279 insertions(+), 275 deletions(-) diff --git a/1.12/gradle.properties b/1.12/gradle.properties index a283ca0..a13b4f4 100644 --- a/1.12/gradle.properties +++ b/1.12/gradle.properties @@ -4,4 +4,4 @@ org.gradle.jvmargs=-Xmx8G version_minecraft=1.12.2 version_forge=14.23.5.2768 version_jei=4.10.0.198 -version_engineersdecor=1.0.11-b2 +version_engineersdecor=1.0.11-b3 diff --git a/1.12/readme.md b/1.12/readme.md index 3942ab5..62f3867 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,324 +10,326 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history - - v1.0.11-b2 [F] Fixed Floor Grating issue, which could have caused a crash. - [M] Lang update ru-ru (Shellyoung, PR #47). + ~ v1.0.11-b3 [M] [WIP] - - v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45). - [F] Fixed bounding box of the Steel Table. - [M] Steel Floor Frating: Items fall through. + - v1.0.11-b2 [F] Fixed Floor Grating issue, which could have caused a crash. + [M] Lang update ru-ru (Shellyoung, PR #47). - ------------------------------------------------------------------- - - v1.0.10 [R] Release based on v1.0.10-b2. Release-to-release changes: - * Steel table added. - * Steel floor grating added. - * Treated wood side table added. - * Exit Sign added. - * Recipe fixes. - ------------------------------------------------------------------- + - v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45). + [F] Fixed bounding box of the Steel Table. + [M] Steel Floor Frating: Items fall through. - - v1.0.10-b2 [A] Steel table added. - [A] Steel floor grating added. + ------------------------------------------------------------------- + - v1.0.10 [R] Release based on v1.0.10-b2. Release-to-release changes: + * Steel table added. + * Steel floor grating added. + * Treated wood side table added. + * Exit Sign added. + * Recipe fixes. + ------------------------------------------------------------------- - - v1.0.10-b1 [A] Treated wood side table added. - [F] Fixed recipe collision of Metal Rung Ladder (issue #37, - thx ProsperCraft for reporting). - [A] Added Exit Sign (texture design by J. Carver). + - v1.0.10-b2 [A] Steel table added. + [A] Steel floor grating added. - ------------------------------------------------------------------- - - v1.0.9 [R] Release based on v1.0.9-b3. Release-to-release changes: - * Slabs for clinker, concrete, slag bricks. - * Slab slices for sheet metals, treated wood, and concretes. - * Language updates. - * Block hardness adaptions. - * 1st/3rd person item model fixes. - * Furnace initialisation issue fixed. - ------------------------------------------------------------------- + - v1.0.10-b1 [A] Treated wood side table added. + [F] Fixed recipe collision of Metal Rung Ladder (issue #37, + thx ProsperCraft for reporting). + [A] Added Exit Sign (texture design by J. Carver). - - v1.0.9-b3 [A] Added missing recipes for slabs. - [A] Added slab slices for IE sheet metals, treated wood, - and concretes (stackable "quater-slabs"). - [M] Updated 1st/3rd person item model rotations/translations. - [M] Hardness of valves and furni slightly increased. + ------------------------------------------------------------------- + - v1.0.9 [R] Release based on v1.0.9-b3. Release-to-release changes: + * Slabs for clinker, concrete, slag bricks. + * Slab slices for sheet metals, treated wood, and concretes. + * Language updates. + * Block hardness adaptions. + * 1st/3rd person item model fixes. + * Furnace initialisation issue fixed. + ------------------------------------------------------------------- - - v1.0.9-b2 [A] Added slabs for Clinker Brick, Slag Brick, Rebar Concrete, - and Stained Clinker. Texture variations like the base blocks. - Allow fast pick-up (see tooltip help or config). - [F] Fixed lab/electrical furnace initialisation issue (first item - inserted was smelted directly). + - v1.0.9-b3 [A] Added missing recipes for slabs. + [A] Added slab slices for IE sheet metals, treated wood, + and concretes (stackable "quater-slabs"). + [M] Updated 1st/3rd person item model rotations/translations. + [M] Hardness of valves and furni slightly increased. - - v1.0.9-b1 [U] Lang file ru_ru updated (PR#31, yaroslav4167). - [M] Block hardness adaptions (issue #32). + - v1.0.9-b2 [A] Added slabs for Clinker Brick, Slag Brick, Rebar Concrete, + and Stained Clinker. Texture variations like the base blocks. + Allow fast pick-up (see tooltip help or config). + [F] Fixed lab/electrical furnace initialisation issue (first item + inserted was smelted directly). - ------------------------------------------------------------------- - - v1.0.8 [R] Release based on v1.0.8-b2. Release-to-release changes: - * Added factory area sign. - * Added stained clinker. - * Config opt-out fixes, detailed feature selection possible now. - * Recipe adaptions and fixes. - * Lang files updated. - ------------------------------------------------------------------- - [A] Added stained clinker brick block/stairs. Can be mixed with - "normal" clinkers. - [A] Added opt-out option for CTRL-SHIFT tooltips. - [M] Recipe condition requirements updated, recipes categorized. + - v1.0.9-b1 [U] Lang file ru_ru updated (PR#31, yaroslav4167). + [M] Block hardness adaptions (issue #32). - - v1.0.8-b2 [F] Config opt-out fixed (thx IronPiston for the report #30). - [A] Added opt-out config for detailed including/excluding - of features (using registry name wildcard matching). + ------------------------------------------------------------------- + - v1.0.8 [R] Release based on v1.0.8-b2. Release-to-release changes: + * Added factory area sign. + * Added stained clinker. + * Config opt-out fixes, detailed feature selection possible now. + * Recipe adaptions and fixes. + * Lang files updated. + ------------------------------------------------------------------- + [A] Added stained clinker brick block/stairs. Can be mixed with + "normal" clinkers. + [A] Added opt-out option for CTRL-SHIFT tooltips. + [M] Recipe condition requirements updated, recipes categorized. - - v1.0.8-b1 [A] Added "Factory area" sign. - [M] Electrical furnace recipe changed (hoppers to conveyors). - [A] Opt-out config options added. - [F] Lang file fixes for en_us (Angela, PR#29). + - v1.0.8-b2 [F] Config opt-out fixed (thx IronPiston for the report #30). + [A] Added opt-out config for detailed including/excluding + of features (using registry name wildcard matching). - ------------------------------------------------------------------- - - v1.0.7 [R] Release based on v1.0.7-b2. Release-to-release changes: - * Factory dropper added. - * Defense system warning sign added. - * Warning sign backgrounds adapted. - * Standalone recipes added. - * Lang files updated. - ------------------------------------------------------------------- - [A] Added standalone recipes for signs, factory dropper, and - electrical furnace. - [M] Adapted "Caution" sign backgrounds to the yellow defense - system warning background. + - v1.0.8-b1 [A] Added "Factory area" sign. + [M] Electrical furnace recipe changed (hoppers to conveyors). + [A] Opt-out config options added. + [F] Lang file fixes for en_us (Angela, PR#29). - - v1.0.7-b2 [A] Added Defense System Warning sign (design by J. Carver). - [M] Factory dropper non-experimental now. GUI click area tuning. - "Fast drop" symbol replaced from arrow to dog icon (thx - overchoice for that icon). - [M] Lang files updated. + ------------------------------------------------------------------- + - v1.0.7 [R] Release based on v1.0.7-b2. Release-to-release changes: + * Factory dropper added. + * Defense system warning sign added. + * Warning sign backgrounds adapted. + * Standalone recipes added. + * Lang files updated. + ------------------------------------------------------------------- + [A] Added standalone recipes for signs, factory dropper, and + electrical furnace. + [M] Adapted "Caution" sign backgrounds to the yellow defense + system warning background. - - v1.0.7-b1 [M] Factory dropper (config:experimental) button placement fixed, - GUI vs external view x/y markers added, internal trigger logic - simplified. Thx @overchoice for beta testing! + - v1.0.7-b2 [A] Added Defense System Warning sign (design by J. Carver). + [M] Factory dropper non-experimental now. GUI click area tuning. + "Fast drop" symbol replaced from arrow to dog icon (thx + overchoice for that icon). + [M] Lang files updated. - ------------------------------------------------------------------- - - v1.0.6 [R] Release based on v1.0.6-b1. Release-to-release changes: - * Fixed FML remapping issue (COULD CAUSE CRASHES). - * Small waste incinerator added. - * Lang files updated/corrections. - * Metal ladder easier to break. - ------------------------------------------------------------------- - [A] Added factory dropper (config:experimental). - [C] Thx to abdurraslan for the detailed issue #25. + - v1.0.7-b1 [M] Factory dropper (config:experimental) button placement fixed, + GUI vs external view x/y markers added, internal trigger logic + simplified. Thx @overchoice for beta testing! - - v1.0.6-b1 [A] Added small waste incinerator (delayed fifo-buffered item disposal). - [M] Fixed item/block name capitalization (by Voxelo). - [M] Metal ladders are easier to break/harvest. - [F] Fixed FML remapping issue by using dedicated IItemHandler instances. + ------------------------------------------------------------------- + - v1.0.6 [R] Release based on v1.0.6-b1. Release-to-release changes: + * Fixed FML remapping issue (COULD CAUSE CRASHES). + * Small waste incinerator added. + * Lang files updated/corrections. + * Metal ladder easier to break. + ------------------------------------------------------------------- + [A] Added factory dropper (config:experimental). + [C] Thx to abdurraslan for the detailed issue #25. - ------------------------------------------------------------------- - - v1.0.5 [R] Release based on v1.0.5-b1. Release-to-release changes: - * Small electrical passthrough-furnace added. - * Passive fluid accumulator added. - * Config options added. - * Sign plates added. - * Minor bug fixes. - ------------------------------------------------------------------- - [A] Added sign "Electrical hazard"/"Caution hot wire". - [A] Added sign "Caution dangerous there" (skull/bones). + - v1.0.6-b1 [A] Added small waste incinerator (delayed fifo-buffered item disposal). + [M] Fixed item/block name capitalization (by Voxelo). + [M] Metal ladders are easier to break/harvest. + [F] Fixed FML remapping issue by using dedicated IItemHandler instances. - - v1.0.5-b1 [A] Added passive fluid accumulator. - [A] Added small electrical passthrough-furnace. - [F] Fixed version check URL. - [M] Opt-out config options for valves, passive fluid accumulator, - and furni. + ------------------------------------------------------------------- + - v1.0.5 [R] Release based on v1.0.5-b1. Release-to-release changes: + * Small electrical passthrough-furnace added. + * Passive fluid accumulator added. + * Config options added. + * Sign plates added. + * Minor bug fixes. + ------------------------------------------------------------------- + [A] Added sign "Electrical hazard"/"Caution hot wire". + [A] Added sign "Caution dangerous there" (skull/bones). - ------------------------------------------------------------------- - - v1.0.4 [R] Release based on v1.0.4-b9. Release-to-release changes: - * Crafting table: Quick crafting history re-fab, JEI integration. - * Rendering improvements and issue fixes (stairs, ambient occlusion, - optifine, etc). - * Walls with texture variations. - * Thin/thick steel poles with support feet/heads. - * Horizontal steel double-T support beams added. - * Fluid pipe valves added: Check valve, redstone controlled valve, - analog redstone controlled valve. Support pressurized transfer. - * Tool tip documentation (CTRL-SHIFT) for stairs added. - * Internal code cleanups. - * Recipes tuned. - ------------------------------------------------------------------- - [E] Added pass-through electrical furnace (experimental, see config). + - v1.0.5-b1 [A] Added passive fluid accumulator. + [A] Added small electrical passthrough-furnace. + [F] Fixed version check URL. + [M] Opt-out config options for valves, passive fluid accumulator, + and furni. - - v1.0.4-b9 [F] Inserting fluids with pressurized tag only into IE piping. - [F] Valve redstone connector rendering does not check for - "can connect redstone" but only for "can provide power". - [M] Valves are adapted to be detected as pipe by IE. + ------------------------------------------------------------------- + - v1.0.4 [R] Release based on v1.0.4-b9. Release-to-release changes: + * Crafting table: Quick crafting history re-fab, JEI integration. + * Rendering improvements and issue fixes (stairs, ambient occlusion, + optifine, etc). + * Walls with texture variations. + * Thin/thick steel poles with support feet/heads. + * Horizontal steel double-T support beams added. + * Fluid pipe valves added: Check valve, redstone controlled valve, + analog redstone controlled valve. Support pressurized transfer. + * Tool tip documentation (CTRL-SHIFT) for stairs added. + * Internal code cleanups. + * Recipes tuned. + ------------------------------------------------------------------- + [E] Added pass-through electrical furnace (experimental, see config). - - v1.0.4-b8 [F] Fixed stairs rendering without smooth light (thanks rastot9). - [E] Added passive fluid accumulator (experimental feature, see config). + - v1.0.4-b9 [F] Inserting fluids with pressurized tag only into IE piping. + [F] Valve redstone connector rendering does not check for + "can connect redstone" but only for "can provide power". + [M] Valves are adapted to be detected as pipe by IE. - - v1.0.4-b7 [F] Fixed recipe loading issue if IE is not installed. - [M] Valves support IE pressurized fluid transfer. + - v1.0.4-b8 [F] Fixed stairs rendering without smooth light (thanks rastot9). + [E] Added passive fluid accumulator (experimental feature, see config). - - v1.0.4-b6 [A] Added redstone controlled fluid valve. - [A] Added redstone controlled analog fluid valve. - [M] Check valve recipe adapted (thanks majijn). + - v1.0.4-b7 [F] Fixed recipe loading issue if IE is not installed. + [M] Valves support IE pressurized fluid transfer. - - v1.0.4-b5 [A] Horizontal steel double-T support beam with pole connections. - [A] Added fluid pipe check valve (straight, conducts only one way). - [M] Internal registration block/te handling changed. + - v1.0.4-b6 [A] Added redstone controlled fluid valve. + [A] Added redstone controlled analog fluid valve. + [M] Check valve recipe adapted (thanks majijn). - - v1.0.4-b4 [F] Clinker/slag brick wall side cullfacing disabled to prevent - texture leaks when connecting to concrete walls. - [F] Unused treated wood pole texture regions filled (optifine). - [F] Using mipped cutout format for window multi-layer model - (issue #19, thanks rixmswey for reporting and details). - [M] Recipe tuning, added standalone recipe for all mod blocks. - [M] In-game CTRL-SHIFT tooltip documentation updated. - [M] Panzer glass block: Ambient occlusion and light opacity tuned. - [M] Stairs: Light opacity tuned. - [A] Tooltip documentation added for mod stairs. - [E] Horizontal steel double-T support beam (config:experimental). + - v1.0.4-b5 [A] Horizontal steel double-T support beam with pole connections. + [A] Added fluid pipe check valve (straight, conducts only one way). + [M] Internal registration block/te handling changed. - - v1.0.4-b3 [A] Added thin (4x4x16) and thick (6x6x16) steel hollow poles. - [A] Added support head/foot components for thin and thick steel poles. + - v1.0.4-b4 [F] Clinker/slag brick wall side cullfacing disabled to prevent + texture leaks when connecting to concrete walls. + [F] Unused treated wood pole texture regions filled (optifine). + [F] Using mipped cutout format for window multi-layer model + (issue #19, thanks rixmswey for reporting and details). + [M] Recipe tuning, added standalone recipe for all mod blocks. + [M] In-game CTRL-SHIFT tooltip documentation updated. + [M] Panzer glass block: Ambient occlusion and light opacity tuned. + [M] Stairs: Light opacity tuned. + [A] Tooltip documentation added for mod stairs. + [E] Horizontal steel double-T support beam (config:experimental). - - v1.0.4-b2 [A] Added position dependent texture variation to clinker wall, - slag brick wall and rebar concrete wall. + - v1.0.4-b3 [A] Added thin (4x4x16) and thick (6x6x16) steel hollow poles. + [A] Added support head/foot components for thin and thick steel poles. - - v1.0.4-b1 [A] Crafting table: JEI integration for recipe placement added. - [A] Crafting table: History re-fab added, allowing to quickly select - and re-craft recent recipes. Selection with arrow buttons, - ingredient placement by clicking the result slot. Automatic - item distribution on shift-click. Quick-move buttons. - [F] Crafting table textures modified to prevent optifine glitches - on the edges of the legs. + - v1.0.4-b2 [A] Added position dependent texture variation to clinker wall, + slag brick wall and rebar concrete wall. - ------------------------------------------------------------------- - - v1.0.3 [R] Release based on v1.0.3-b5. Release-to-release changes: - * Small laboratory furnace added. - * Extensive config options for mod packing and tuning added. - * Rendering issues fixes (window bleeding, optifine). - * Steel framed window added. - * Treated wood pole "end pieces" added (two support variants). - * Sitting on treated wood stool added including mobs (but not - villagers, as these are obviously very upright people). - * Lang ru_ru added (github contribution from Yaroslavik). - * Creative tab logo changed to mod logo. - * Table/crafting table bounding boxes refined. - * Standalone "escape" recipes added if IE is not installed. - ------------------------------------------------------------------- + - v1.0.4-b1 [A] Crafting table: JEI integration for recipe placement added. + [A] Crafting table: History re-fab added, allowing to quickly select + and re-craft recent recipes. Selection with arrow buttons, + ingredient placement by clicking the result slot. Automatic + item distribution on shift-click. Quick-move buttons. + [F] Crafting table textures modified to prevent optifine glitches + on the edges of the legs. - - v1.0.3-b5 [F] Fixed typo in en-en lang file. - [F] Fixed IE concrete texture missing bailout in log if IE is not installed. - [F] Using forge multi-layer models for windows to circumvent glitches. - [M] Changed creative tab logo to the mod logo. - [A] Added alternative recipes for crafting table and furnace if main - IE ingredients are missing (for "stand-alone" mod usage). + ------------------------------------------------------------------- + - v1.0.3 [R] Release based on v1.0.3-b5. Release-to-release changes: + * Small laboratory furnace added. + * Extensive config options for mod packing and tuning added. + * Rendering issues fixes (window bleeding, optifine). + * Steel framed window added. + * Treated wood pole "end pieces" added (two support variants). + * Sitting on treated wood stool added including mobs (but not + villagers, as these are obviously very upright people). + * Lang ru_ru added (github contribution from Yaroslavik). + * Creative tab logo changed to mod logo. + * Table/crafting table bounding boxes refined. + * Standalone "escape" recipes added if IE is not installed. + ------------------------------------------------------------------- - - v1.0.3-b4 [A] Lab furnace supports electrical speedup when a IE external - is placed in one of the two auxiliary slots. - [F] Fixed window rendering issue (issue #15, thanks to ILLOMIURGE). - [M] Updated ru_ru lang file (Yaroslavik). + - v1.0.3-b5 [F] Fixed typo in en-en lang file. + [F] Fixed IE concrete texture missing bailout in log if IE is not installed. + [F] Using forge multi-layer models for windows to circumvent glitches. + [M] Changed creative tab logo to the mod logo. + [A] Added alternative recipes for crafting table and furnace if main + IE ingredients are missing (for "stand-alone" mod usage). - - v1.0.3-b3 [A] Added sitting on treated wood stool, Zombies included. - [A] Added steel framed window. - [A] Added treated wood pole support head/foot and heavy duty support. - [A] Added language Russian language support, thanks to yaroslav4167. - [A] Added config for furnace smelting speed (percent of vanilla furnace). - [A] Added config for furnace fuel efficiency (in percent, ref is vanilla). - [F] Treated pole model changed to circumvent potential texture bleeding. - [M] Treated wood table bounding box aligned with the legs. - [M] Treated wood crafting table bounding box aligned with the legs. - [M] Treated wood window can be vertically placed for rooflights. + - v1.0.3-b4 [A] Lab furnace supports electrical speedup when a IE external + is placed in one of the two auxiliary slots. + [F] Fixed window rendering issue (issue #15, thanks to ILLOMIURGE). + [M] Updated ru_ru lang file (Yaroslavik). - - v1.0.3-b2 [A] Added config options for selective feature opt-outs (soft opt-out). - [A] Added config skip registration of opt-out features (hard opt-out). - [A] Added config to disable all internal recipes (for packs). - [A] Added JEI API adapter for soft opt-outs. - [A] Added lab furnace recipe override config to smelt ores to nuggets - that would normally be smelted into ingots. Can be changed on-the-fly. + - v1.0.3-b3 [A] Added sitting on treated wood stool, Zombies included. + [A] Added steel framed window. + [A] Added treated wood pole support head/foot and heavy duty support. + [A] Added language Russian language support, thanks to yaroslav4167. + [A] Added config for furnace smelting speed (percent of vanilla furnace). + [A] Added config for furnace fuel efficiency (in percent, ref is vanilla). + [F] Treated pole model changed to circumvent potential texture bleeding. + [M] Treated wood table bounding box aligned with the legs. + [M] Treated wood crafting table bounding box aligned with the legs. + [M] Treated wood window can be vertically placed for rooflights. - - v1.0.3-b1 [A] Added small laboratory furnace. - [M] Panzer glass opacity/light level set explicitly 0. + - v1.0.3-b2 [A] Added config options for selective feature opt-outs (soft opt-out). + [A] Added config skip registration of opt-out features (hard opt-out). + [A] Added config to disable all internal recipes (for packs). + [A] Added JEI API adapter for soft opt-outs. + [A] Added lab furnace recipe override config to smelt ores to nuggets + that would normally be smelted into ingots. Can be changed on-the-fly. - ------------------------------------------------------------------- - - v1.0.2 [R] Release based on v1.0.2-b3 - * Fixes: Spawning. - * Crafting table: Shift-click. - * Ladders: Faster climbing/descending. - * Concrete: Rebar tiles, tile stairs. - * Treated wood: window, windowsill. - * Slag brick: wall. - * Panzer glass: added. - * Recipes: Adaptions, added decompositions. - ------------------------------------------------------------------- + - v1.0.3-b1 [A] Added small laboratory furnace. + [M] Panzer glass opacity/light level set explicitly 0. - - v1.0.2-b3 [A] Added slag brick wall. - [A] Added wall decomposition recipes. - [A] Added treated wood window. - [M] Climbing/descending mod ladders is faster when - looking up or down and not sneaking. - [M] Panzer glass material definition changed. - [M] Explicitly preventing spawning in and on "non-full" - blocks of the mod. + ------------------------------------------------------------------- + - v1.0.2 [R] Release based on v1.0.2-b3 + * Fixes: Spawning. + * Crafting table: Shift-click. + * Ladders: Faster climbing/descending. + * Concrete: Rebar tiles, tile stairs. + * Treated wood: window, windowsill. + * Slag brick: wall. + * Panzer glass: added. + * Recipes: Adaptions, added decompositions. + ------------------------------------------------------------------- - - v1.0.2-b2 [A] Added rebar concrete tile stairs. - [A] Added treated wood window sill. - [A] Added decomposition recipes for stairs and tiles. - [M] Changed stair recipe yield quantity from 9 to 6. + - v1.0.2-b3 [A] Added slag brick wall. + [A] Added wall decomposition recipes. + [A] Added treated wood window. + [M] Climbing/descending mod ladders is faster when + looking up or down and not sneaking. + [M] Panzer glass material definition changed. + [M] Explicitly preventing spawning in and on "non-full" + blocks of the mod. - - v1.0.2-b1 [A] Added rebar concrete tile. - [A] Added panzer glass (explosion-resistant reinforced glass). - [M] Treated wood crafting table supports shift-click to transfer - stacks between player inventory and crafting table storage - (thanks majijn for the hint). + - v1.0.2-b2 [A] Added rebar concrete tile stairs. + [A] Added treated wood window sill. + [A] Added decomposition recipes for stairs and tiles. + [M] Changed stair recipe yield quantity from 9 to 6. - ------------------------------------------------------------------- - - v1.0.1 [R] Release based on v1.0.1-b4 - * Treated wood crafting table - * Clinker brick wall - * Treated wood stool - * Inset spot light - * Recipe fixes - * Logo updated - ------------------------------------------------------------------- + - v1.0.2-b1 [A] Added rebar concrete tile. + [A] Added panzer glass (explosion-resistant reinforced glass). + [M] Treated wood crafting table supports shift-click to transfer + stacks between player inventory and crafting table storage + (thanks majijn for the hint). - - v1.0.1-b4 [M] Crafting table keeps inventory and has eight storage slots. - [M] Adapted inset light strength and harvest tool. - [M] Crafting table recipe adapted. + ------------------------------------------------------------------- + - v1.0.1 [R] Release based on v1.0.1-b4 + * Treated wood crafting table + * Clinker brick wall + * Treated wood stool + * Inset spot light + * Recipe fixes + * Logo updated + ------------------------------------------------------------------- - - v1.0.1-b3 [A] Added inset light (glowstone-metal, light level like torch, - can be used as floor/ceiling/wall light). - [M] Crafting table model updated (issue #7, thanks majijn). - [M] Logo image updated. + - v1.0.1-b4 [M] Crafting table keeps inventory and has eight storage slots. + [M] Adapted inset light strength and harvest tool. + [M] Crafting table recipe adapted. - - v1.0.1-b2 [A] Added treated wood crafting table. - [A] Added treated wood stool. - [F] Fixed ladder bounding boxes to allow climbing connected trap doors - (issue #6, thanks to Forgilageord). - [M] Improved wall-block connections (wall elements only connect to other - walls or gates, as well as to solid blocks if these blocks are in - a straight line with at least two wall elements). - [M] Decor walls are defined "solid" on top, so that e.g. torches and - redstone tracks can be placed on them. + - v1.0.1-b3 [A] Added inset light (glowstone-metal, light level like torch, + can be used as floor/ceiling/wall light). + [M] Crafting table model updated (issue #7, thanks majijn). + [M] Logo image updated. - - v1.0.1-b1 [F] Fixed missing condition for ie:stone_deco in recipe constants. - [A] Added clinker brick wall. + - v1.0.1-b2 [A] Added treated wood crafting table. + [A] Added treated wood stool. + [F] Fixed ladder bounding boxes to allow climbing connected trap doors + (issue #6, thanks to Forgilageord). + [M] Improved wall-block connections (wall elements only connect to other + walls or gates, as well as to solid blocks if these blocks are in + a straight line with at least two wall elements). + [M] Decor walls are defined "solid" on top, so that e.g. torches and + redstone tracks can be placed on them. - ------------------------------------------------------------------- - - v1.0.0 [R] Release based on v1.0.0-b4 - ------------------------------------------------------------------- + - v1.0.1-b1 [F] Fixed missing condition for ie:stone_deco in recipe constants. + [A] Added clinker brick wall. - - v1.0.0-b4 [F] Fixed vanished recipe for the rebar concrete wall. - [A] Concrete wall, material: IE concrete. + ------------------------------------------------------------------- + - v1.0.0 [R] Release based on v1.0.0-b4 + ------------------------------------------------------------------- - - v1.0.0-b3 [A] Textures of rebar concrete and treated wood table improved. - [A] Added rebar concrete wall. + - v1.0.0-b4 [F] Fixed vanished recipe for the rebar concrete wall. + [A] Concrete wall, material: IE concrete. - - v1.0.0-b2 [A] Added rebar concrete (steel reinforced, expensive, creeper-proof). + - v1.0.0-b3 [A] Textures of rebar concrete and treated wood table improved. + [A] Added rebar concrete wall. - - v1.0.0-b1 [A] Initial structure. - [A] Added clinker bricks and clinker brick stairs. - [A] Added slag bricks and slag brick stairs. - [A] Added metal rung ladder. - [A] Added staggered metal steps ladder. - [A] Added treated wood ladder. - [A] Added treated wood pole. - [A] Added treated wood table. + - v1.0.0-b2 [A] Added rebar concrete (steel reinforced, expensive, creeper-proof). + + - v1.0.0-b1 [A] Initial structure. + [A] Added clinker bricks and clinker brick stairs. + [A] Added slag bricks and slag brick stairs. + [A] Added metal rung ladder. + [A] Added staggered metal steps ladder. + [A] Added treated wood ladder. + [A] Added treated wood pole. + [A] Added treated wood table. ---- diff --git a/1.14/meta/update.json b/1.14/meta/update.json index 6d5f903..357c1a0 100644 --- a/1.14/meta/update.json +++ b/1.14/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.14.4": { + "1.0.11-b2": "[U] JEI dependency update 1.14.4:6.0.0.10.\n[F] Fixed creative ghost block issue (issue #48).\n[M] Updated ru_ru lang file (Shellyoung, PR#47).", "1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.", "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.", @@ -20,6 +21,6 @@ }, "promos": { "1.14.4-recommended": "", - "1.14.4-latest": "1.0.11-b1" + "1.14.4-latest": "1.0.11-b2" } } \ No newline at end of file diff --git a/1.14/readme.md b/1.14/readme.md index c34153e..b09b402 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -10,7 +10,7 @@ Mod sources for Minecraft version 1.14.3. ---- ## Version history - ~ v1.0.11-b2 [U] JEI dependency update 1.14.4:6.0.0.10. + - v1.0.11-b2 [U] JEI dependency update 1.14.4:6.0.0.10. [F] Fixed creative ghost block issue (issue #48). [M] Updated ru_ru lang file (Shellyoung, PR#47). diff --git a/meta/update.json b/meta/update.json index d423bf1..955cb2a 100644 --- a/meta/update.json +++ b/meta/update.json @@ -4,7 +4,7 @@ "1.12.2-recommended": "1.0.10", "1.12.2-latest": "1.0.11-b2", "1.14.4-recommended": "", - "1.14.4-latest": "1.0.11-b1" + "1.14.4-latest": "1.0.11-b2" }, "1.12.2": { "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", @@ -58,6 +58,7 @@ "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table." }, "1.14.4": { + "1.0.11-b2": "[U] JEI dependency update 1.14.4:6.0.0.10.\n[F] Fixed creative ghost block issue (issue #48).\n[M] Updated ru_ru lang file (Shellyoung, PR#47).", "1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.", "1.0.9-b9": "[U] Update to Forge 1.14.4-28.0.40/20190719-1.14.3 for Forge testing.", "1.0.9-b8": "[U] UPDATE TO 1.14.4. Forge 1.14.4-28.0.11/20190719-1.14.3.", From ad837bbf27a03ce686607c297a67caf31881384d Mon Sep 17 00:00:00 2001 From: stfwi Date: Sat, 31 Aug 2019 13:05:51 +0200 Subject: [PATCH 8/9] 1.12: Added missing standalone recipes. --- 1.12/meta/update.json | 3 ++- 1.12/readme.md | 3 ++- ...e_fluid_accumulator_recipe_standalone.json | 24 +++++++++++++++++++ .../small_waste_incinerator_standalone.json | 24 +++++++++++++++++++ ...straight_pipe_valve_recipe_standalone.json | 22 +++++++++++++++++ ...pipe_valve_redstone_recipe_standalone.json | 19 +++++++++++++++ meta/update.json | 3 ++- 7 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 1.12/src/main/resources/assets/engineersdecor/recipes/standalone/passive_fluid_accumulator_recipe_standalone.json create mode 100644 1.12/src/main/resources/assets/engineersdecor/recipes/standalone/small_waste_incinerator_standalone.json create mode 100644 1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_recipe_standalone.json create mode 100644 1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_redstone_recipe_standalone.json diff --git a/1.12/meta/update.json b/1.12/meta/update.json index 92ce6fa..ce83c79 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.11-b3": "[M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator.", "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", @@ -53,6 +54,6 @@ }, "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b2" + "1.12.2-latest": "1.0.11-b3" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index 62f3867..f6cf9c1 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,7 +10,8 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history - ~ v1.0.11-b3 [M] [WIP] + - v1.0.11-b3 [M] Added missing standalone recipes for pipe valves, passive + fluid accumulator, and waste incinerator. - v1.0.11-b2 [F] Fixed Floor Grating issue, which could have caused a crash. [M] Lang update ru-ru (Shellyoung, PR #47). diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/passive_fluid_accumulator_recipe_standalone.json b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/passive_fluid_accumulator_recipe_standalone.json new file mode 100644 index 0000000..b8da4a6 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/passive_fluid_accumulator_recipe_standalone.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:passive_fluid_accumulator", + "required": ["engineersdecor:straight_pipe_valve"], + "missing": ["immersiveengineering:fluid_pipe", "immersiveengineering:mechanical_component"] + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "SPS", + "P P", + "SPS" + ], + "key": { + "P": { "item": "engineersdecor:straight_pipe_valve", "data": 0 }, + "S": { "item": "minecraft:iron_ingot", "data": 0 } + }, + "result": { + "item": "engineersdecor:passive_fluid_accumulator", + "count": 1 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/small_waste_incinerator_standalone.json b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/small_waste_incinerator_standalone.json new file mode 100644 index 0000000..cdb464a --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/small_waste_incinerator_standalone.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:small_waste_incinerator", + "missing": ["immersiveengineering:material"] + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "HPP", + "PHP", + "PLP" + ], + "key": { + "H": { "item": "minecraft:hopper", "data": 0 }, + "P": { "item": "minecraft:iron_ingot", "data": 0 }, + "L": { "item": "minecraft:lava_bucket", "data": 0 } + }, + "result": { + "item": "engineersdecor:small_waste_incinerator", + "count": 1 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_recipe_standalone.json b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_recipe_standalone.json new file mode 100644 index 0000000..a533a58 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_recipe_standalone.json @@ -0,0 +1,22 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:straight_pipe_valve", + "required": ["engineersdecor:thick_steel_pole"], + "missing": ["immersiveengineering:fluid_pipe", "immersiveengineering:mechanical_component"] + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "PIP" + ], + "key": { + "P": { "item": "engineersdecor:thick_steel_pole", "data": 0 }, + "I": { "item": "minecraft:iron_ingot", "data": 0 } + }, + "result": { + "item": "engineersdecor:straight_pipe_valve", + "count": 1 + } +} diff --git a/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_redstone_recipe_standalone.json b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_redstone_recipe_standalone.json new file mode 100644 index 0000000..a4acc67 --- /dev/null +++ b/1.12/src/main/resources/assets/engineersdecor/recipes/standalone/straight_pipe_valve_redstone_recipe_standalone.json @@ -0,0 +1,19 @@ +{ + "conditions": [ + { + "type": "engineersdecor:grc", + "result": "engineersdecor:straight_pipe_valve", + "required": ["engineersdecor:straight_pipe_valve"], + "missing": ["immersiveengineering:redstone_connector"] + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "engineersdecor:straight_pipe_valve", "data": 0 }, + { "item": "minecraft:repeater", "data": 0 } + ], + "result": { + "item": "engineersdecor:straight_pipe_valve_redstone", + "count": 1 + } +} diff --git a/meta/update.json b/meta/update.json index 955cb2a..a4e85af 100644 --- a/meta/update.json +++ b/meta/update.json @@ -2,11 +2,12 @@ "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "promos": { "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b2", + "1.12.2-latest": "1.0.11-b3", "1.14.4-recommended": "", "1.14.4-latest": "1.0.11-b2" }, "1.12.2": { + "1.0.11-b3": "[M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator.", "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", "1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.", From 0147d9faa15910fca690a3e754105ecdd514af3b Mon Sep 17 00:00:00 2001 From: stfwi Date: Sat, 31 Aug 2019 14:37:44 +0200 Subject: [PATCH 9/9] 1.12: Minor model fixes, release v1.0.11 commit. --- 1.12/gradle.properties | 2 +- 1.12/meta/update.json | 5 ++- 1.12/readme.md | 8 ++++ .../block/furniture/steel_table_model.json | 34 +++++++-------- .../treated_wood_window_submodel.json | 43 ++++++++++--------- .../block/furniture/steel_table_model.json | 34 +++++++-------- meta/update.json | 5 ++- 7 files changed, 71 insertions(+), 60 deletions(-) diff --git a/1.12/gradle.properties b/1.12/gradle.properties index a13b4f4..231d5f7 100644 --- a/1.12/gradle.properties +++ b/1.12/gradle.properties @@ -4,4 +4,4 @@ org.gradle.jvmargs=-Xmx8G version_minecraft=1.12.2 version_forge=14.23.5.2768 version_jei=4.10.0.198 -version_engineersdecor=1.0.11-b3 +version_engineersdecor=1.0.11 diff --git a/1.12/meta/update.json b/1.12/meta/update.json index ce83c79..5fc7390 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.0.11": "[R] Release based on v1.0.11-b3. Release-to-release changes: * Steel floor grating improvments. * Minor model box fixes. * Standalone recipes added. * Language updates.", "1.0.11-b3": "[M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator.", "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.", @@ -53,7 +54,7 @@ "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table." }, "promos": { - "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b3" + "1.12.2-recommended": "1.0.11", + "1.12.2-latest": "1.0.11" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index f6cf9c1..a15defe 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,6 +10,14 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history + ------------------------------------------------------------------- + - v1.0.11 [R] Release based on v1.0.11-b3. Release-to-release changes: + * Steel floor grating improvments. + * Minor model box fixes. + * Standalone recipes added. + * Language updates. + ------------------------------------------------------------------- + - v1.0.11-b3 [M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator. diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json index 6fddfd3..9df324b 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json @@ -104,7 +104,7 @@ }, { "from": [0, 14, 14], - "to": [16, 15.875, 16], + "to": [16, 16, 16], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -116,7 +116,7 @@ }, { "from": [0, 14, 0], - "to": [16, 15.875, 2], + "to": [16, 16, 2], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -128,7 +128,7 @@ }, { "from": [14, 14, 2], - "to": [16, 15.875, 14], + "to": [16, 16, 14], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -140,7 +140,7 @@ }, { "from": [2, 15.5, 12.75], - "to": [14, 15.875, 13.25], + "to": [14, 16, 13.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -153,7 +153,7 @@ }, { "from": [2, 15.5, 13.75], - "to": [14, 15.875, 14], + "to": [14, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -166,7 +166,7 @@ }, { "from": [2, 15.5, 11.75], - "to": [14, 15.875, 12.25], + "to": [14, 16, 12.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -179,7 +179,7 @@ }, { "from": [2, 15.5, 10.75], - "to": [14, 15.875, 11.25], + "to": [14, 16, 11.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -192,7 +192,7 @@ }, { "from": [2, 15.5, 9.75], - "to": [14, 15.875, 10.25], + "to": [14, 16, 10.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -205,7 +205,7 @@ }, { "from": [2, 15.5, 8.75], - "to": [14, 15.875, 9.25], + "to": [14, 16, 9.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -218,7 +218,7 @@ }, { "from": [2, 15.5, 7.75], - "to": [14, 15.875, 8.25], + "to": [14, 16, 8.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -231,7 +231,7 @@ }, { "from": [2, 15.5, 6.75], - "to": [14, 15.875, 7.25], + "to": [14, 16, 7.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -244,7 +244,7 @@ }, { "from": [2, 15.5, 5.75], - "to": [14, 15.875, 6.25], + "to": [14, 16, 6.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -257,7 +257,7 @@ }, { "from": [2, 15.5, 4.75], - "to": [14, 15.875, 5.25], + "to": [14, 16, 5.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -270,7 +270,7 @@ }, { "from": [2, 15.5, 3.75], - "to": [14, 15.875, 4.25], + "to": [14, 16, 4.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -283,7 +283,7 @@ }, { "from": [2, 15.5, 2.75], - "to": [14, 15.875, 3.25], + "to": [14, 16, 3.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -296,7 +296,7 @@ }, { "from": [2, 15.5, 2], - "to": [14, 15.875, 2.25], + "to": [14, 16, 2.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -309,7 +309,7 @@ }, { "from": [0, 14, 2], - "to": [2, 15.875, 14], + "to": [2, 16, 14], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, diff --git a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_submodel.json b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_submodel.json index 69d270c..aa4b374 100644 --- a/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_submodel.json +++ b/1.12/src/main/resources/assets/engineersdecor/models/block/furniture/treated_wood_window_submodel.json @@ -1,5 +1,6 @@ { "parent": "block/cube", + "ambientocclusion": false, "textures": { "frame": "engineersdecor:blocks/iestyle/treated_wood_rough_texture", "particle": "engineersdecor:blocks/iestyle/treated_wood_rough_texture" @@ -9,47 +10,47 @@ "from": [1, 0, 6.5], "to": [15, 1, 9.5], "faces": { - "north": {"uv": [1, 15, 15, 16], "texture": "#frame"}, - "south": {"uv": [1, 15, 15, 16], "texture": "#frame"}, - "up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}, - "down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"} + "north": {"texture": "#frame"}, + "south": {"texture": "#frame"}, + "up": {"texture": "#frame"}, + "down": {"texture": "#frame"} } }, { "from": [0, 0, 6.5], "to": [1, 16, 9.5], "faces": { - "north": {"uv": [15, 0, 16, 16], "texture": "#frame"}, - "east": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"}, - "south": {"uv": [0, 0, 1, 16], "texture": "#frame"}, - "west": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"}, - "up": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}, - "down": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"} + "north": {"texture": "#frame"}, + "east": {"texture": "#frame"}, + "south": {"texture": "#frame"}, + "west": {"texture": "#frame"}, + "up": {"texture": "#frame"}, + "down": {"texture": "#frame"} } }, { "from": [1, 15, 6.5], "to": [15, 16, 9.5], "faces": { - "north": {"uv": [1, 0, 15, 1], "texture": "#frame"}, - "south": {"uv": [1, 0, 15, 1], "texture": "#frame"}, - "up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}, - "down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"} + "north": {"texture": "#frame"}, + "south": {"texture": "#frame"}, + "up": {"texture": "#frame"}, + "down": {"texture": "#frame"} } }, { "from": [15, 0, 6.5], "to": [16, 16, 9.5], "faces": { - "north": {"uv": [0, 0, 1, 16], "texture": "#frame"}, - "east": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"}, - "south": {"uv": [15, 0, 16, 16], "texture": "#frame"}, - "west": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"}, - "up": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}, - "down": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"} + "north": {"texture": "#frame"}, + "east": {"texture": "#frame"}, + "south": {"texture": "#frame"}, + "west": {"texture": "#frame"}, + "up": {"texture": "#frame"}, + "down": {"texture": "#frame"} } } - ], + ], "display": { "ground": { "scale": [0.2, 0.2, 0.2] diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json index 5092f8e..1d0d6ed 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/furniture/steel_table_model.json @@ -104,7 +104,7 @@ }, { "from": [0, 14, 14], - "to": [16, 15.875, 16], + "to": [16, 16, 16], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -116,7 +116,7 @@ }, { "from": [0, 14, 0], - "to": [16, 15.875, 2], + "to": [16, 16, 2], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -128,7 +128,7 @@ }, { "from": [14, 14, 2], - "to": [16, 15.875, 14], + "to": [16, 16, 14], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, @@ -140,7 +140,7 @@ }, { "from": [2, 15.5, 12.75], - "to": [14, 15.875, 13.25], + "to": [14, 16, 13.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -153,7 +153,7 @@ }, { "from": [2, 15.5, 13.75], - "to": [14, 15.875, 14], + "to": [14, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -166,7 +166,7 @@ }, { "from": [2, 15.5, 11.75], - "to": [14, 15.875, 12.25], + "to": [14, 16, 12.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -179,7 +179,7 @@ }, { "from": [2, 15.5, 10.75], - "to": [14, 15.875, 11.25], + "to": [14, 16, 11.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -192,7 +192,7 @@ }, { "from": [2, 15.5, 9.75], - "to": [14, 15.875, 10.25], + "to": [14, 16, 10.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -205,7 +205,7 @@ }, { "from": [2, 15.5, 8.75], - "to": [14, 15.875, 9.25], + "to": [14, 16, 9.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -218,7 +218,7 @@ }, { "from": [2, 15.5, 7.75], - "to": [14, 15.875, 8.25], + "to": [14, 16, 8.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -231,7 +231,7 @@ }, { "from": [2, 15.5, 6.75], - "to": [14, 15.875, 7.25], + "to": [14, 16, 7.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -244,7 +244,7 @@ }, { "from": [2, 15.5, 5.75], - "to": [14, 15.875, 6.25], + "to": [14, 16, 6.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -257,7 +257,7 @@ }, { "from": [2, 15.5, 4.75], - "to": [14, 15.875, 5.25], + "to": [14, 16, 5.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -270,7 +270,7 @@ }, { "from": [2, 15.5, 3.75], - "to": [14, 15.875, 4.25], + "to": [14, 16, 4.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -283,7 +283,7 @@ }, { "from": [2, 15.5, 2.75], - "to": [14, 15.875, 3.25], + "to": [14, 16, 3.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -296,7 +296,7 @@ }, { "from": [2, 15.5, 2], - "to": [14, 15.875, 2.25], + "to": [14, 16, 2.25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, "faces": { "north": {"texture": "#s"}, @@ -309,7 +309,7 @@ }, { "from": [0, 14, 2], - "to": [2, 15.875, 14], + "to": [2, 16, 14], "faces": { "north": {"texture": "#s"}, "east": {"texture": "#s"}, diff --git a/meta/update.json b/meta/update.json index a4e85af..2a7a0fa 100644 --- a/meta/update.json +++ b/meta/update.json @@ -1,12 +1,13 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "promos": { - "1.12.2-recommended": "1.0.10", - "1.12.2-latest": "1.0.11-b3", + "1.12.2-recommended": "1.0.11", + "1.12.2-latest": "1.0.11", "1.14.4-recommended": "", "1.14.4-latest": "1.0.11-b2" }, "1.12.2": { + "1.0.11": "[R] Release based on v1.0.11-b3. Release-to-release changes: * Steel floor grating improvments. * Minor model box fixes. * Standalone recipes added. * Language updates.", "1.0.11-b3": "[M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator.", "1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).", "1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.",