Custom block বানানো আইটেমের মতোই — শুধু আলাদা কিছু component আছে যা ব্লকের জগতে অর্থপূর্ণ: কত শক্ত, ভাঙতে কী লাগবে, আলো দেবে কি না, ইত্যাদি।
একটা Custom Ore Block
behavior_pack/blocks/ruby_ore.json
1{2"format_version": "1.21.0",3"minecraft:block": {4"description": {5"identifier": "myaddon:ruby_ore",6"menu_category": { "category": "nature" }7},8"components": {9"minecraft:destructible_by_mining": { "seconds_to_destroy": 3.0 },ⓘ10"minecraft:destructible_by_explosion": { "explosion_resistance": 3 },11"minecraft:light_emission": 5,ⓘ12"minecraft:map_color": "#FF3355",ⓘ13"minecraft:geometry": "minecraft:geometry.full_block",ⓘ14"minecraft:material_instances": {15"*": {ⓘ16"texture": "ruby_ore",ⓘ17"render_method": "opaque"18}19}20}21}22}
- L9seconds_to_destroy: হাত দিয়ে ভাঙতে কত সেকেন্ড। শক্ত ব্লক হলে বাড়াও।
- L11light_emission: 0–15। 5 দিলে হালকা আলো ছড়াবে (glowstone = 15)।
- L12map_color: ম্যাপে এই ব্লক কোন রঙে দেখাবে।
- L13geometry: full_block = সাধারণ পূর্ণ কিউব। custom মডেল হলে এখানে geometry.<নাম> দেবে।
- L15"*" মানে ব্লকের সব দিকে একই টেক্সচার। আলাদা দিকে আলাদা টেক্সচারও দেওয়া যায়।
- L16texture: এই নামটা terrain_texture.json-এ ম্যাপ করা থাকতে হবে।
Block texture রেজিস্টার করা (terrain_texture.json)
আইটেমে যেমন item_texture.json লাগে, ব্লকে তেমন `terrain_texture.json` লাগে। RP-র textures/ ফোল্ডারে রাখো।
resource_pack/textures/terrain_texture.json
1{2"resource_pack_name": "my_rp",3"texture_name": "atlas.terrain",4"texture_data": {5"ruby_ore": {ⓘ6"textures": "textures/blocks/ruby_ore"7}8}9}
- L5এই "ruby_ore" key টা block ফাইলের material_instances-এর texture নামের সাথে মিলতে হবে।
গেমে ব্লক পাওয়া
text
1/give @s myaddon:ruby_ore