Материал, из которого состоит блок(grass, ground, wood, rock, iron, cloth, sand, glass).
damagevalues
0
Number of damage values the block has [1 ... 15] (По умолчанию 0). "Индексация" блока (пример: красители имеют номер 351 и 15 значений (по одному для каждого красителя)). Только для типа normal, fence и crosstexture.
name1
не имеет значения
Имя для индексированных блоков name1, name2...
redstoneonly
False
Только для дверей. Если поставить true, то дверь можно открыть только с помощью красного камня.
texturefilebottom
не имеет значения
Только для дверей. Путь к текстуре нижней части двери.
doubleslabid
не имеет значения
Только для плит. ID блока, который устанавливается, когда вы размещаете одну плиту над другой. Если этого не установлено, то невозможно сделать двойную плиту.
stepsound
stone
Звук ходьбы по блоку. Так же производиться звук размещения/уничтожения блока. Имеющиеся звуки (wood, gravel, grass, stone, metal, cloth, glass).
Сколько света проходит через блок [0 ... 255]. (например: 255 = свет не проходит через блок, 0 = весь свет проходит через блок)
iddropped
тот же самый блок
Блок, материал, который выпадает из блока.
iddropped1
iddropped
iddropped1 to iddropped15. iddropped for damage values.
quantitydropped
1
Количество выпадаемых предметов/блоков. Можно поставить случайное количество (например: 3-6).
damagedropped
0
Which damage value the block drops.
damagedropped1
Default is the damage the block has
damagedropped1 to damagedropped15. damagedropped for damage values.
transparent
False
Поставьте true, если блок имеет прозрачную текстуру.
speed
0.6
Как быстро можно передвигаться по блоку (стандартно: 0.6).
gravity
False
Если поставить true, то гравитация будет влиять на блок (пример: песок и гравий).
collision
true
Если поставить false, то через блок можно проходить.
movebypiston
true
Если поставить false, то блок невозможно будет двигать с помощью поршня.
pressureplatetrigger
all
Блок активируется нажимной пластиной. Возможные значения (all, player, monster, animal, creature, item, noplayer, nomonster, noanimal, nocreature and noitem). Нельзя использовать несколько значений.
destroyed
не имеет значения
Функции, которые вызываются, когда игрок разрушил блок.
destroyed1
не имеет значения
destroyed1 to destroyed15. destroyed for damage values. Same with clicked, added etc.
clicked
не имеет значения
Функции, которые вызываются при нажатии ЛКМ на блок.
neighborchanged
не имеет значения
Функции, которые вызываются, когда рядом с блоком меняется соседний блок.
added
не имеет значения
Функции, которые вызываются, когда блок был установлен.
activated
не имеет значения
Функции, которые вызываются, когда подключен с красным камнем.
deactivated
не имеет значения
Функции, которые вызываются, когда блок отключен от красного камня (не совсем верный перевод).
rigthclicked
не имеет значения
Функции, которые вызываются, когда игрок щёлкнет правой кнопкой мыши на блок.
Пример создания блока (на примере фонаря) и блока, который вызывает молнию
Как написано выше, нужно создать файл с расширением .block и открыть с помощью блокнота.
Подготовить текстуру 16×16 для блока.
Написать основные параметры (id, name и texturefile).
Количество использований инструмента или предмета.
harvestblocks
all
Определяет силу кирки (какие блоки может разрушать кирка). Допустимые значения: all, pickaxewood, pickaxestone, pickaxeiron, pickaxediamond, default или любой ID блока. Ставьте несколько ID, разделяя их запятой.
efficiencyblocks
не имеет значения
Определяет тип инструмента. Данные значения также должны быть в "harvestblocks". Допустимые значения: all, none, pickaxe, axe, shovel and any blockid. Можно использовать несколько значений,разделив их запятой ",".
armorname
не имеет значения
Путь к текстуре брони. Внимание! В архиве .minecraft/mods/custom stuff.zip нужно создать папку "armor" и положить текстуру туда. Для брони требуется два изображения брони (см. архив minecraft/armor).
infiniteair
False
Только для брони. Если поставить true, то игрок может бесконечно дышать под водой с этой бронёй. (Only Singleplayer)
noburning
False
Только для брони. Если поставить true, то игрок никогда не загорится (не купайтесь в лаве — бесполезно(наносит урон)). (Only Singlepalyer)
nofalldamage
False
Только для брони. Если поставить true, то игроку не будет наноситься урон от падения. (Only Singlepalyer)
grenadetime
50
Время до взрыва гранаты.
grenadethrowforce
1
Сила броска гранаты.
rightclick
не имеет значения
Функции, вызываемые, когда игрок предметом нажимает правой кнопкой мыши по блоку.
blockdestroyed
не имеет значения
Функции, вызываемые, когда игрок уничтожает блок.
hitmob
не имеет значения
Функции, вызываемые, когда игрок бьёт моба или игрока этим предметом.
explode
не имеет значения
Функции, вызываемые, когда взрывается граната. Если вы не поставите это значение, то гранаты будут просто пропадать без какого-либо эффекта.
eaten
не имеет значения
для еды (food). Функции, вызываемые, когда съеден предмет.
Пример создания предмета
Как написано выше, нужно создать файл с расширением .item и открыть с помощью блокнота.
Подготовить текстуру 16×16 для предмета.
Написать основные параметры (id, name и iconfile).
Уничтожается с 4 ударов, если атаковать ей мобов. (hitmob)
Эффективность в два раза выше, чем у алмазной кирки. (efficiency)
Максимальное количество использований выше, чем у алмазной кирки на ~500. (maxuses, blockdestroyed)
Может добывать обсидиан. (harvestblocks, efficiencyblocks)
Создание функции на спаун предмета в инвентарь после применения другого
Вы не задумывались, почему же ваш игрок выпивает добавленную вами бутылку сока с бутылкой? Если задумывались, то этот раздел для вас:
Создаем файл с расширением .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 предмета, не менять.
eaten — вызывает функцию, после съедания предмета.
Тестируете, всё ли нормально.
Категория: Рецепты
Чтобы создать рецепт, нужно создать файл с расширением .recipe в категории customRecipes и открыть его с помощью блокнота.
Файл должен быть один (то есть для создания одного и более рецепта хватает одной строки в блокноте).
X — выходящий предмет. amount — количество выходящих предметов. 2 2 (или 3 3) — сетка крафта. 1 2 3 4 — ингредиенты, поставленные по порядку (см. справа нумерацию крафта).
2×2
3×3
Удаление рецепта
Для удаления рецепта, написанного Mojang или другими модами, необходимо вписать следующие строки:
X — выходящий предмет amount — количество выходящих предметов 2 2 (или 3 3) — сетка крафта 1 2 3 4 — ингредиенты, поставленные по порядку (см. справа нумерацию крафта).
Эта категория добавляет свойство предмету использоваться в печи в качестве топлива. Чтобы создать топливо, нужно создать файл с расширением .fuel в категории customFuels.
Для переплавки одной вещи необходимо 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 — получившийся предмет.
Категория: Создание генерации руды
Чтобы создать генерацию руды (блока), нужно создать файл с расширением .oregen в категории customOreGeneration.
Параметр
Базовое значение
Описание
id
не имеет значения.
id генерируемого блока.
damage
не имеет значения.
Мета-идентификатор. Пример — разноцветная шерсть имеет один идентификатор, но разные мета-идентификаторы, для поврежденных кирок эти мета-идентификаторы также различны.
type
normal
Тип генерируемого блока (normal, flower)
size
не имеет значения.
Количество генерации блоков в одном месте.
generationblocks
не имеет значения.
Определяет параметр, возле каких блоков генерируется блок.
Гравитационная установка (блок имеет два режима: обычный (не подключен красный камень) и ультра (подключен красный камень), при первом высота подкидывания — 6-8 блоков, при втором — около 40).
Создаем файл с расширением .block.
В нём пишем:
id = 205; type = "normal"; name = "Гравитационная Установка (обычный режим)"; texturefile = "ваша_текстура.png"; damagevalues = 1; material = "iron"; stepsound = "metal"; hardness = 1; rightclicked = "player.addVelo(0, 1, 0);"; activated = "world.setBlockMetadata(origin, 1);player.sendMessage('Активирован ультра-режим.');"; name1 = "Гравитационная Установка (ультра-режим)"; iddropped1 = 205; damagedropped1 = 0; rightclicked1 = "player.addVelo(0, 3, 0);"; deactivated1 = "world.setBlockMetadata(origin, 0);player.sendMessage('Активирован обычный режим.');";
Готово! Переключать режимы лучше всего рычагом, выключен — обычный режим, включён — ультра-режим. Чтобы установка вас подкинула, нажмите на неё ПКМ. Летайте на здоровье и не переломайте ноги!
Направленный телепортатор
Направленный телепортатор перемещает ГГ в место прицеливания, при нажатии ПКМ. И дабы избежать читерства, ограничим радиус действия телепортатора до 20 блоков.
Итак, в папке CustomItems создаем файл с расширением .item, и пишем туда:
Сам телепортатор готов. Теперь делаем скрипт для него.
В папке customStuffFunctions создаем файл с расширением .script, в нём пишем:
var x = player.getLookX(20); // \ var y = player.getLookY(20); // > можно вставить свои значения. var z = player.getLookZ(20); // / player.setPosition(x, y+3, z);
Всё готово. Теперь сохраняете и тестируете.
Иконка для телепортатора:
Электро-Винтовка
(Материал с minecraftmodcustomstuff.wikia.com)
Винтовка вызывает электро-разряд с небес в место прицеливания, и для выстрела использует светящуюся пыль. Максимальный радиус 60 блоков.
В папке CustomItems создаем файл с расширением .item, и пишем в нём:
name="Электро-Винтовка"; id=793; type="normal"; iconfile="ваш_файл.png"; iconindex=1; maxstack=1; rightclickair = "if(player.getItemCount(348, 0) >=1 ){customstuff.loadScript('lightingweapon.script')}"; //проверка, если в инвентаре есть светящаяся пыль то запускаем скрипт.
Теперь делаем скрипт для винтовки.
В папке customStuffFunctions создаем файл с расширением .script, туда пишем:
var x = player.getLookX(60); // \ var y = player.getLookY(60); // > можно выставить свои значения(в блоках) var z = player.getLookZ(60); // / world.createThunderbolt(x, y, z);//создаем молнию в этих координатах (направление взгляда ГГ) player.removeFromInventory(348, 1, 0); //забираем 1 светящуюся пыль из инвентаря (первое число id)
Винтовка готова.
Кому нужна иконка, вот:
Ошибки (CS1)
Если созданной киркой ударить по земле, траве, гравию, песку и многим другим блокам, игра крашнется и выдаст ошибку.
В многопользовательской игре нельзя открыть двери с атрибутом «redstoneonly».
В многопользовательской игре двери зачастую открываются только со стороны клиента. Из-за этого иногда невозможно пройти через них.
Атрибут брони «noburning» и тому подобные не работают в сетевой игре.
До выхода CustomStuff 2 предметы в руке отображались большими в два раза и перевёрнутыми, подобно инструментам и кости.