Custom stuff 2 - создаём свои моды майнкрафт [1.7.10|1.6.4|1.5.2]
543
Как было сказано в краткой новости, мод Custom stuff 2 позволяет легче разрабатывать другие моды ,давайте перейдём к основному
Custom stuff 2 - специальный мод который позволяет создавать небольшие моды для майнкрафт который добавляют в игру новые блоки, т.е игроки без знания программирования на java смогут создать свои моды с новыми предметами.
Как написано выше, нужно создать файл с расширением .block и открыть с помощью блокнота.
Подготовить текстуру 16х16 для блока.
Написать основные параметры (id, name и texturefile).
Добавить дополнительные параметры, вот итог:
Кинуть текстуру Lantern.png (с учётом регистра) в архив .minecraft/mods/custom stuff.zip
Блок создан.
Custom stuff 2 - специальный мод который позволяет создавать небольшие моды для майнкрафт который добавляют в игру новые блоки, т.е игроки без знания программирования на java смогут создать свои моды с новыми предметами.
Гайды и информация, описание мода Custom stuff 2:
Основные параметры блоков:
name:Имя , если есть русификатор , можно на русском , но если написать на русском а русификатора нет , то будут иероглифы
id:Указываем id желательно от 97 до 255
texturefile:Указываем путь к текстурке 16х16 и быть в архиве , находящимся в .minecraft/mods/custom stuff.zip
Дополнительные параметры блока:
type - значение блока , изначально стоит block , можно изменить на : normal,fence,fencegate,stairs,door,slab,crosstexture,torch,pressureplate,chest,pane,liquid,trapdoor.
texturefiletop-изначально не чего не стоит ,верхняя текстура блока.
texturefileeast-изначально не чего не стоит,восточная боковая сторона блока.
texturefilewest-изначально не чего не стоит,западная боковая сторона блока.
texturefilenorth-изначально не чего не стоит , северная боковая сторона блока.
texturefilesouth-изначально не чего не стоит , южная боковая сторона блока.
material-материал из которого сделан блок , изначально стоит rock , можно поставить :(grass, ground, wood, rock, iron, cloth, sand, glass)
redstoneonly-применим только для дверей , если ставить true то дверь будет открываться только от сигнала рэдстоуна
doubleslabid-изначально не чего не стоит ,Только для плит. ID блока, который устанавливается, когда вы размещаете одну плиту над другой. Если этого не установлено, то невозможно сделать двойную плиту.
stepsound-Изначально стоит stone . Звук ходьбы по блоку. Так же производиться звук размещения/уничтожения блока. Имеющиеся звуки (wood, gravel, grass, stone, metal, cloth, glass).
hardness-Изначально стоит-1 .Сложность добычи блока. (например: обсидиан 10; грязь 0,5; камень 1)
resistance-Устойчивость . Прочность ко взрыву , изначально стоит 0 . (например: обсидиан 2000; камень 10)
light-изначально 0 . Яркость освещения блока (например: светящийся камень 15; факел 14)
opacity-изначально 255 .Сколько света проходит через блок 0 ... 255. (например: 255 = свет не проходит через блок, 0 = весь свет проходит через блок)
iddropped- ID Блока , дропающийся с блока который вы создаёте ,изначально дропается сам блок .
quantitydropped-Количество дропа выпадающего с блока .Изначально 1
transparent-Есть ли в блоке прозрачная текстура?true=да false=нет , изначально false
speed-С какой скоростью вы передвигаетесь по блоку.Изначально 0.6
gravity-Сыпится ли блок как песок или гравий ?Изначально false
collision-Можно ли проходить сквозь блок?false да , true нет .
movebypiston-Можно ли двигать поршнем?
activated-Функции, которые вызываются, когда подключен с редстоуном
deactivated-Функции, которые вызываются, когда на блок не подаётся значение редстоуна
rigthclicked-Функции, которые вызываются, когда игрок щелкнет правой кнопкой мыши на блок.
name:Имя , если есть русификатор , можно на русском , но если написать на русском а русификатора нет , то будут иероглифы
id:Указываем id желательно от 97 до 255
texturefile:Указываем путь к текстурке 16х16 и быть в архиве , находящимся в .minecraft/mods/custom stuff.zip
Дополнительные параметры блока:
type - значение блока , изначально стоит block , можно изменить на : normal,fence,fencegate,stairs,door,slab,crosstexture,torch,pressureplate,chest,pane,liquid,trapdoor.
texturefiletop-изначально не чего не стоит ,верхняя текстура блока.
texturefileeast-изначально не чего не стоит,восточная боковая сторона блока.
texturefilewest-изначально не чего не стоит,западная боковая сторона блока.
texturefilenorth-изначально не чего не стоит , северная боковая сторона блока.
texturefilesouth-изначально не чего не стоит , южная боковая сторона блока.
material-материал из которого сделан блок , изначально стоит rock , можно поставить :(grass, ground, wood, rock, iron, cloth, sand, glass)
redstoneonly-применим только для дверей , если ставить true то дверь будет открываться только от сигнала рэдстоуна
doubleslabid-изначально не чего не стоит ,Только для плит. ID блока, который устанавливается, когда вы размещаете одну плиту над другой. Если этого не установлено, то невозможно сделать двойную плиту.
stepsound-Изначально стоит stone . Звук ходьбы по блоку. Так же производиться звук размещения/уничтожения блока. Имеющиеся звуки (wood, gravel, grass, stone, metal, cloth, glass).
hardness-Изначально стоит-1 .Сложность добычи блока. (например: обсидиан 10; грязь 0,5; камень 1)
resistance-Устойчивость . Прочность ко взрыву , изначально стоит 0 . (например: обсидиан 2000; камень 10)
light-изначально 0 . Яркость освещения блока (например: светящийся камень 15; факел 14)
opacity-изначально 255 .Сколько света проходит через блок 0 ... 255. (например: 255 = свет не проходит через блок, 0 = весь свет проходит через блок)
iddropped- ID Блока , дропающийся с блока который вы создаёте ,изначально дропается сам блок .
quantitydropped-Количество дропа выпадающего с блока .Изначально 1
transparent-Есть ли в блоке прозрачная текстура?true=да false=нет , изначально false
speed-С какой скоростью вы передвигаетесь по блоку.Изначально 0.6
gravity-Сыпится ли блок как песок или гравий ?Изначально false
collision-Можно ли проходить сквозь блок?false да , true нет .
movebypiston-Можно ли двигать поршнем?
activated-Функции, которые вызываются, когда подключен с редстоуном
deactivated-Функции, которые вызываются, когда на блок не подаётся значение редстоуна
rigthclicked-Функции, которые вызываются, когда игрок щелкнет правой кнопкой мыши на блок.
Как написано выше, нужно создать файл с расширением .block и открыть с помощью блокнота.
Подготовить текстуру 16х16 для блока.
Написать основные параметры (id, name и texturefile).
id=170;
name="Фонарь";
texturefile="Lantern.png";
name="Фонарь";
texturefile="Lantern.png";
Добавить дополнительные параметры, вот итог:
id=170;
name="Фонарь";
texturefile="Lantern.png";
light=15;
material="glass";
stepsound="glass";
name="Фонарь";
texturefile="Lantern.png";
light=15;
material="glass";
stepsound="glass";
Кинуть текстуру Lantern.png (с учётом регистра) в архив .minecraft/mods/custom stuff.zip
Блок создан.
Нужно создать еще один файл с расширением .block и открыть с помощью блокнота.
Затем сделать текстуру 16х16 для "Призывателя".
Помимо основных параметров, нужно написать ещё и вызов функции, который воздействует на блок редстоуна.
id=195;
name="Призыватель молний";
texturefile="имя_вашей_текстуры.png";
Основные параметры готовы, осталось добавить вторичные и вызов функции.Вот итог:name="Призыватель молний";
texturefile="имя_вашей_текстуры.png";
id=195;
material="iron";
stepsound="metal";
activated = "world.createThunderbolt(origin);";
Кидайте вашу_текстуру.png в архив .minecraft/mods/custom stuff.zipmaterial="iron";
stepsound="metal";
activated = "world.createThunderbolt(origin);";
Входим в игру!
Основные параметры:
name:название предмета
id:id предмета (от 512 до 5000)
iconfile:текстурка предмета , разрешения 16x16 пример -
Дополнительные параметры:
type:Определяет тип предмета (normal, food, helmet, body, legs, boots, grenade).Базовое значение normal
maxstack:Определяет максимальное значение в одном стаке. Максимально можно ставить :64 Изначально стоит 1
healamount:Определяет количество утоления пунктов голода. Максимально доступное значение: 20 (1 - половинка пункта голода).Базовое значение 1.
efficiency:Эффективность инструментов (скорость добычи блоков. Например: деревянный: 2, алмазный: 8).Изначальное значение 4
damage:Урон наносимый инструментами/оружием урон. (Например: деревянный: 0, алмазный: 3)Изначальное значение 1
maxuses:Прочность инструмента , изначальное значение:броня: 16, еда: 1, все остальные: 64
harvestblocks:Определяет силу кирки (какие блоки может разрушать кирка). Допустимые значения: all, pickaxewood, pickaxestone, pickaxeiron, pickaxediamond, default или любой ID блока. Ставьте несколько ID, разделяя их запятой.Изначальное значение : all
efficiencyblocks:Определяет тип инструмента. Данные значения также должны быть в "harvestblocks". Допустимые значения: all, none, pickaxe, axe, shovel and any blockid. Можно использовать несколько значений,разделив их запятой ",".
armorname:Путь к текстуре брони. Внимание! В архиве .minecraft/mods/custom stuff.zip нужно создать папку "armor" и положить текстуру туда. Для брони требуется два изображения брони (см. архив minecraft/armor).
infiniteair:Только для брони. Если поставить true, то игрок может бесконечно дышать под водой с этой бронёй. (Only Singleplayer)
noburning:Только для брони. Если поставить true, то игрок никогда не загорится (не купайтесь в лаве - бесполезно(наносит урон). (Only Singlepalyer)
nofalldamage:Только для брони. Если поставить true, то игроку не будет наноситься урон от падения. (Only Singlepalyer)
grenadetime:Время до взрыва гранаты.
grenadethrowforce:Сила броска гранаты
rightclick:Функции, вызываемые, когда игрок предметом нажимает правой кнопкой мыши по блоку.
blockdestroyed:Функции, вызываемые, когда игрок уничтожает блок
hitmob:Функции, вызываемые, когда игрок бьёт моба или игрока этим предметом
explode:Функции, вызываемые, когда взрывается граната. Если вы не поставите это значение, то гранаты будут просто пропадать без какого-либо эффекта.
eaten:для еды (food). Функции, вызываемые, когда съеден предмет.
name:название предмета
id:id предмета (от 512 до 5000)
iconfile:текстурка предмета , разрешения 16x16 пример -
Дополнительные параметры:
type:Определяет тип предмета (normal, food, helmet, body, legs, boots, grenade).Базовое значение normal
maxstack:Определяет максимальное значение в одном стаке. Максимально можно ставить :64 Изначально стоит 1
healamount:Определяет количество утоления пунктов голода. Максимально доступное значение: 20 (1 - половинка пункта голода).Базовое значение 1.
efficiency:Эффективность инструментов (скорость добычи блоков. Например: деревянный: 2, алмазный: 8).Изначальное значение 4
damage:Урон наносимый инструментами/оружием урон. (Например: деревянный: 0, алмазный: 3)Изначальное значение 1
maxuses:Прочность инструмента , изначальное значение:броня: 16, еда: 1, все остальные: 64
harvestblocks:Определяет силу кирки (какие блоки может разрушать кирка). Допустимые значения: all, pickaxewood, pickaxestone, pickaxeiron, pickaxediamond, default или любой ID блока. Ставьте несколько ID, разделяя их запятой.Изначальное значение : all
efficiencyblocks:Определяет тип инструмента. Данные значения также должны быть в "harvestblocks". Допустимые значения: all, none, pickaxe, axe, shovel and any blockid. Можно использовать несколько значений,разделив их запятой ",".
armorname:Путь к текстуре брони. Внимание! В архиве .minecraft/mods/custom stuff.zip нужно создать папку "armor" и положить текстуру туда. Для брони требуется два изображения брони (см. архив minecraft/armor).
infiniteair:Только для брони. Если поставить true, то игрок может бесконечно дышать под водой с этой бронёй. (Only Singleplayer)
noburning:Только для брони. Если поставить true, то игрок никогда не загорится (не купайтесь в лаве - бесполезно(наносит урон). (Only Singlepalyer)
nofalldamage:Только для брони. Если поставить true, то игроку не будет наноситься урон от падения. (Only Singlepalyer)
grenadetime:Время до взрыва гранаты.
grenadethrowforce:Сила броска гранаты
rightclick:Функции, вызываемые, когда игрок предметом нажимает правой кнопкой мыши по блоку.
blockdestroyed:Функции, вызываемые, когда игрок уничтожает блок
hitmob:Функции, вызываемые, когда игрок бьёт моба или игрока этим предметом
explode:Функции, вызываемые, когда взрывается граната. Если вы не поставите это значение, то гранаты будут просто пропадать без какого-либо эффекта.
eaten:для еды (food). Функции, вызываемые, когда съеден предмет.
Как написано выше, нужно создать файл с расширением .item и открыть с помощью блокнота.
Подготовить текстуру 16х16 для предмета.
Написать основные параметры (id, name и iconfile).
Добавим вторичные параметры и вот что получится : (хотя в случае с инструментом эти параметры нельзя назвать вторичными).
Уничтожается с 4 ударов, если атаковать ей мобов. (hitmob)
Эффективность в два раза выше, чем у алмазной кирки. (efficiency)
Максимальное количество использований выше, чем у алмазной кирки на ~500. (maxuses, blockdestroyed)
Может добывать обсидиан. (harvestblocks, efficiencyblocks)
Подготовить текстуру 16х16 для предмета.
Написать основные параметры (id, name и iconfile).
id=1503;
name="Derky Pickaxe";
iconfile="Derky_Pickaxe.png";
name="Derky Pickaxe";
iconfile="Derky_Pickaxe.png";
Добавим вторичные параметры и вот что получится : (хотя в случае с инструментом эти параметры нельзя назвать вторичными).
name="Derky Pickaxe";
id=1503;
iconfile="Derky_Pickaxe.png";
type="normal";
maxuses=2048;
harvestblocks="pickaxediamond";
efficiencyblocks="pickaxe";
efficiency=16;
damage=1;
blockdestroyed="player.damageItem(player.getCurrentSlot(), 1);";
hitmob="player.damageItem(player.getCurrentSlot(), 512);";
Свойства данной кирки:id=1503;
iconfile="Derky_Pickaxe.png";
type="normal";
maxuses=2048;
harvestblocks="pickaxediamond";
efficiencyblocks="pickaxe";
efficiency=16;
damage=1;
blockdestroyed="player.damageItem(player.getCurrentSlot(), 1);";
hitmob="player.damageItem(player.getCurrentSlot(), 512);";
Уничтожается с 4 ударов, если атаковать ей мобов. (hitmob)
Эффективность в два раза выше, чем у алмазной кирки. (efficiency)
Максимальное количество использований выше, чем у алмазной кирки на ~500. (maxuses, blockdestroyed)
Может добывать обсидиан. (harvestblocks, efficiencyblocks)
Это может понадобится в разных случаях , к примеру чтобы игрок не сьедал еду с тарелкой , и т.д. Приступим!
Создаем файл с расширением .item
Делаем текстуру - 16х16, естественно.
А теперь наш предмет - тарелка
eaten - вызывает функцию, после съедания предмета.
Тестируете, всё ли нормально
Создаем файл с расширением .item
Делаем текстуру - 16х16, естественно.
А теперь наш предмет - тарелка
id = 701;
name = "тарелка";
iconfile = "ваша_текстура.png";
type = "food";
maxstack = 1;
saturation = 1.3;
healamount = 2;
eaten = "player.addToInventory(374, 1, 0);"
.Первое число в функции - это id предмета, который будет спавнится в инвентарь после употребления еды, в данном случае тарелка. Второе число - количество предметов, которые заспавнятся в инвентарь. Третье - параметр damage предмета, не менять.name = "тарелка";
iconfile = "ваша_текстура.png";
type = "food";
maxstack = 1;
saturation = 1.3;
healamount = 2;
eaten = "player.addToInventory(374, 1, 0);"
eaten - вызывает функцию, после съедания предмета.
Тестируете, всё ли нормально
Чтобы создать рецепт, нужно создать файл с расширением .recipe в категории customRecipes и открыть его с помощью блокнота.
Файл должен быть один (т.е. для создания одного и более рецепта хватает одной строки в блокноте).
Структура создания рецепта
Для крафта в ячейке 2х2:
recipes.addRecipe("X amount 2 2 1 2 3 4", "vanilla");
Для крафта в ячейке 3х3:
recipes.addRecipe("X amount 3 3 1 2 3 4 5 6 7 8 9", "vanilla");
Для крафта в нестрогом порядке предметов (размер ячейки указывать не нужно):
recipes.addShapelessRecipe("X amount 1 2 3 4 5 6 7 8 9", "vanilla");
Разбор крафта:
X - выходящий предмет.
amount - количество выходящих предметов.
2 2 (или 3 3) - сетка крафта.
1 2 3 4 - ингредиенты, поставленные по порядку (см. справа нумерацию крафта)
Удаление рецепта
Для удаления рецепта, написанного Mojang или другими модами, необходимо вписать следующие строки:
X - выходящий предмет
amount - количество выходящих предметов
2 2 (или 3 3) - сетка крафта
1 2 3 4 - ингредиенты, поставленные по порядку (см. справа нумерацию крафта).
Пример:
Файл должен быть один (т.е. для создания одного и более рецепта хватает одной строки в блокноте).
Структура создания рецепта
Для крафта в ячейке 2х2:
recipes.addRecipe("X amount 2 2 1 2 3 4", "vanilla");
Для крафта в ячейке 3х3:
recipes.addRecipe("X amount 3 3 1 2 3 4 5 6 7 8 9", "vanilla");
Для крафта в нестрогом порядке предметов (размер ячейки указывать не нужно):
recipes.addShapelessRecipe("X amount 1 2 3 4 5 6 7 8 9", "vanilla");
Разбор крафта:
X - выходящий предмет.
amount - количество выходящих предметов.
2 2 (или 3 3) - сетка крафта.
1 2 3 4 - ингредиенты, поставленные по порядку (см. справа нумерацию крафта)
Удаление рецепта
Для удаления рецепта, написанного Mojang или другими модами, необходимо вписать следующие строки:
recipes.removeRecipe("X amount 3 3 1 2 3 4 5 6 7 8 9", "vanilla");
X - выходящий предмет
amount - количество выходящих предметов
2 2 (или 3 3) - сетка крафта
1 2 3 4 - ингредиенты, поставленные по порядку (см. справа нумерацию крафта).
Пример:
recipes.removeRecipe("46 1 3 3 289 12 289 12 289 12 289 12 289 12", "vanilla");
Эта категория добавляет свойство предмету использоваться в печи в качестве топлива. Чтобы создать топливо, нужно создать файл с расширением .fuel в категории customFuels.
Для переплавки одной вещи необходимо 200 энергии (10 секунд). К примеру, у угля энергетический запас составляет 1600 ед. энергии, а у досок/древесины - 300 единиц. В одном файле с расширением .fuel можно хранить плавку всех предметов, т.е. для каждой строки будет определено по одному горючему материалу.
Пример:
fuels.addFuel("49 3200", "vanilla"); (Обсидиан может проплавить 16 предметов)
fuels.addFuel("1 100", "vanilla"); (Камень может переплавить 0.5 предметов)
Для переплавки одной вещи необходимо 200 энергии (10 секунд). К примеру, у угля энергетический запас составляет 1600 ед. энергии, а у досок/древесины - 300 единиц. В одном файле с расширением .fuel можно хранить плавку всех предметов, т.е. для каждой строки будет определено по одному горючему материалу.
Пример:
fuels.addFuel("49 3200", "vanilla"); (Обсидиан может проплавить 16 предметов)
fuels.addFuel("1 100", "vanilla"); (Камень может переплавить 0.5 предметов)
Эта категория добавляет свойство получать один предмет из другого путём переплавки в печи. Чтобы создать рецепт переплавки, нужно создать файл с расширением .srecipe в категории customSmeltingRecipes.
файле example.srecipe нужно написать в одну строку:
smeltingRecipes.addRecipe("X 1 amount", "vanilla");
X - какой предмет (или блок) надо переплавить
amount - количество вещей
1 - получившийся предмет.
файле example.srecipe нужно написать в одну строку:
smeltingRecipes.addRecipe("X 1 amount", "vanilla");
X - какой предмет (или блок) надо переплавить
amount - количество вещей
1 - получившийся предмет.
Чтобы создать генерацию руды (блока), нужно создать файл с расширением .oregen в категории customOreGeneration
id:id генерируемого блока .
damage:Мета-идентификатор. Пример - разноцветная шерсть имеет один идентификатор, но разные мета-идентификаторы, для поврежденных кирок эти мета-идентификаторы также различны.К примеру белая шерсть
37(точно не знаю)А чёрная шерсть будет 37:10(точно не знаю , просто привожу пример)
type:Тип генерируемого блока (normal, flower)Изначально стоит normal
size:Количество генерации блоков в одном месте
generationblocks:Определяет параметр, возле каких блоков генерируется блок
heightmin:Минимальная высота по альтитуде
heightmax:Максимальная высота по альтитуде.
rate:Количество генерации залеж в одном чанке
Пример:
id:id генерируемого блока .
damage:Мета-идентификатор. Пример - разноцветная шерсть имеет один идентификатор, но разные мета-идентификаторы, для поврежденных кирок эти мета-идентификаторы также различны.К примеру белая шерсть
37(точно не знаю)А чёрная шерсть будет 37:10(точно не знаю , просто привожу пример)
type:Тип генерируемого блока (normal, flower)Изначально стоит normal
size:Количество генерации блоков в одном месте
generationblocks:Определяет параметр, возле каких блоков генерируется блок
heightmin:Минимальная высота по альтитуде
heightmax:Максимальная высота по альтитуде.
rate:Количество генерации залеж в одном чанке
Пример:
id=35;
damage=10;
type="normal";
size=10;
rate=10;
generationblocks=1;
heightmin=0;
heightmax=128;
damage=10;
type="normal";
size=10;
rate=10;
generationblocks=1;
heightmin=0;
heightmax=128;
Функция вызова молнии
Функция создания взрыва(последняя цифра "3" - это мощность взрыва, можно изменить значение на свое).
Функция включения/выключения дождя (включен - 1, выключен - 0)
Функция установки времени (ставьте любое значение от 0 до 24, 0 - утро, 12 - полночь)
Функция спавна мобов (можете ставить имена других мобов например 'Cow' или 'Creeper', но они обязательно должны быть заключены в одинарные кавычки.)
"world.createThunderbolt(origin);";
Функция создания взрыва(последняя цифра "3" - это мощность взрыва, можно изменить значение на свое).
"world.createExplosion(origin, 3);";
Функция включения/выключения дождя (включен - 1, выключен - 0)
"world.setWeather(1);";
Функция установки времени (ставьте любое значение от 0 до 24, 0 - утро, 12 - полночь)
"world.setTime(0);";
Функция спавна мобов (можете ставить имена других мобов например 'Cow' или 'Creeper', но они обязательно должны быть заключены в одинарные кавычки.)
"world.spawnMob(origin, 'Pig');";
Комментарии