diff --git a/mods/ENTITIES/mcl_minecarts/rails.lua b/mods/ENTITIES/mcl_minecarts/rails.lua index 36f1d431..ca100771 100644 --- a/mods/ENTITIES/mcl_minecarts/rails.lua +++ b/mods/ENTITIES/mcl_minecarts/rails.lua @@ -76,6 +76,67 @@ register_rail("mcl_minecarts:golden_rail_on", ) +-- Activator rail (off) +register_rail("mcl_minecarts:activator_rail", + {"mcl_minecarts_rail_activator.png", "default_rail_curved.png^[colorize:#FF0000:96", "default_rail_t_junction.png^[colorize:#FF0000:96", "default_rail_crossing.png^[colorize:#FF0000:96"}, + { + description = "Activator Rail", + _doc_items_longdesc = "Rails can be used to build transport tracks for minecarts. Activator rails are used to activate special minecarts.", + _doc_items_usagehelp = railuse .. "\n" .. "To make this rail activate minecarts, power it with redstone power and send a minecart over this piece of rail.", + mesecons = { + conductor = { + state = mesecon.state.off, + onstate = "mcl_minecarts:activator_rail_on", + }, + }, + } +) + +-- Activator rail (on) +register_rail("mcl_minecarts:activator_rail_on", + {"mcl_minecarts_rail_activator_powered.png", "default_rail_curved.png^[colorize:#FF0000:128", "default_rail_t_junction.png^[colorize:#FF0000:128", "default_rail_crossing.png^[colorize:#FF0000:128"}, + { + _doc_items_create_entry = false, + mesecons = { + conductor = { + state = mesecon.state.on, + offstate = "mcl_minecarts:activator_rail", + }, + }, + }, + false +) + +-- Detector rail (off) +register_rail("mcl_minecarts:detector_rail", + {"mcl_minecarts_rail_detector.png", "default_rail_curved.png^[colorize:#FFFFFF:96", "default_rail_t_junction.png^[colorize:#FFFFFF:96", "default_rail_crossing.png^[colorize:#FFFFFF:96"}, + { + description = "Detector Rail", + _doc_items_longdesc = "Rails can be used to build transport tracks for minecarts. A detector rail is able to detect a minecart above it and powers redstone mechanisms.", + _doc_items_usagehelp = railuse .. "\n" .. "To detect a minecart and provide redstone power, connect it to redstone trails or redstone mechanisms and send any minecart over the rail.", + mesecons = { + receptor = { + state = mesecon.state.off, + }, + }, + } +) + +-- Detector rail (on) +register_rail("mcl_minecarts:detector_rail_on", + {"mcl_minecarts_rail_detector_powered.png", "default_rail_curved.png^[colorize:#FFFFFF:128", "default_rail_t_junction.png^[colorize:#FFFFFF:128", "default_rail_crossing.png^[colorize:#FFFFFF:128"}, + { + _doc_items_create_entry = false, + mesecons = { + receptor = { + state = mesecon.state.on, + }, + }, + }, + false +) + + -- Crafting minetest.register_craft({ output = 'mcl_minecarts:rail 16', @@ -95,6 +156,25 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "mcl_minecarts:activator_rail 6", + recipe = { + {"mcl_core:iron_ingot", "mcl_core:stick", "mcl_core:iron_ingot"}, + {"mcl_core:iron_ingot", "mesecons_torch:mesecon_torch_on", "mcl_core:iron_ingot"}, + {"mcl_core:iron_ingot", "mcl_core:stick", "mcl_core:iron_ingot"}, + } +}) + +minetest.register_craft({ + output = "mcl_minecarts:detector_rail 6", + recipe = { + {"mcl_core:iron_ingot", "", "mcl_core:iron_ingot"}, + {"mcl_core:iron_ingot", "mesecons_pressureplates:pressure_plate_stone_off", "mcl_core:iron_ingot"}, + {"mcl_core:iron_ingot", "mesecons:redstone", "mcl_core:iron_ingot"}, + } +}) + + -- Aliases if minetest.get_modpath("doc") then doc.add_entry_alias("nodes", "mcl_minecarts:golden_rail", "nodes", "mcl_minecarts:golden_rail_on") diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png new file mode 100644 index 00000000..15f2cdba Binary files /dev/null and b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_powered.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_powered.png new file mode 100644 index 00000000..ad072f42 Binary files /dev/null and b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_powered.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector.png new file mode 100644 index 00000000..4595df3a Binary files /dev/null and b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_powered.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_powered.png new file mode 100644 index 00000000..289064f6 Binary files /dev/null and b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_powered.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/rail_detector.png b/mods/ENTITIES/mcl_minecarts/textures/rail_detector.png deleted file mode 100644 index 88eef9f6..00000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/rail_detector.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/rail_detector_powered.png b/mods/ENTITIES/mcl_minecarts/textures/rail_detector_powered.png deleted file mode 100644 index ae1083d2..00000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/rail_detector_powered.png and /dev/null differ diff --git a/mods/MISC/mcl_wip/init.lua b/mods/MISC/mcl_wip/init.lua index 730d5042..67ea31e2 100644 --- a/mods/MISC/mcl_wip/init.lua +++ b/mods/MISC/mcl_wip/init.lua @@ -21,6 +21,10 @@ local wip_items = { "mcl_minecarts:chest_minecart", "mcl_minecarts:furnace_minecart", "mcl_minecarts:tnt_minecart", + "mcl_minecarts:detector_rail", + "mcl_minecarts:detector_rail_on", + "mcl_minecarts:activator_rail", + "mcl_minecarts:activator_rail_on", } for i=1,#wip_items do diff --git a/tools/Texture_Conversion_Table.csv b/tools/Texture_Conversion_Table.csv index 6eec745e..d1a8ea3e 100644 --- a/tools/Texture_Conversion_Table.csv +++ b/tools/Texture_Conversion_Table.csv @@ -419,6 +419,10 @@ Source path,Source file,Target path,Target file,xs,ys,xl,yl,xt,yt /assets/minecraft/textures/blocks,rail_golden.png,/mods/ITEMS/mcl_minecarts/textures,carts_rail_pwr.png,,,,,, /assets/minecraft/textures/blocks,rail_normal_turned.png,/mods/ITEMS/mcl_minecarts/textures,default_rail_curved.png,,,,,, /assets/minecraft/textures/blocks,rail_normal.png,/mods/ITEMS/mcl_minecarts/textures,default_rail.png,,,,,, +/assets/minecraft/textures/blocks,rail_detector.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_rail_detector.png,,,,,, +/assets/minecraft/textures/blocks,rail_detector_powered.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_rail_detector_powered.png,,,,,, +/assets/minecraft/textures/blocks,rail_activator.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_rail_activator.png,,,,,, +/assets/minecraft/textures/blocks,rail_activator_powered.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_rail_activator_powered.png,,,,,, /assets/minecraft/textures/items,minecart_normal.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_minecart_normal.png,,,,,, /assets/minecraft/textures/items,minecart_chest.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_minecart_chest.png,,,,,, /assets/minecraft/textures/items,minecart_tnt.png,/mods/ITEMS/mcl_minecarts/textures,mcl_minecarts_minecart_tnt.png,,,,,,