diff options
author | orwell96 <orwell@bleipb.de> | 2017-11-22 22:16:08 +0100 |
---|---|---|
committer | orwell96 <orwell@bleipb.de> | 2017-11-22 22:16:08 +0100 |
commit | 2d4833b5a8d3555c257cbeb5928c32eb36caa473 (patch) | |
tree | aa132f846740281892e063cb35782549cdc356ab | |
parent | 409e2125c9d6ee72090c92dc94c54d0560a80c5d (diff) | |
download | advtrains-2d4833b5a8d3555c257cbeb5928c32eb36caa473.tar.gz advtrains-2d4833b5a8d3555c257cbeb5928c32eb36caa473.tar.bz2 advtrains-2d4833b5a8d3555c257cbeb5928c32eb36caa473.zip |
do not register wagons in the advtrains namespace automatically
One step towards advcarts compatibility
-rw-r--r-- | advtrains/api_doc.txt | 5 | ||||
-rw-r--r-- | advtrains/wagons.lua | 12 | ||||
-rw-r--r-- | advtrains_train_track/init.lua | 7 |
3 files changed, 12 insertions, 12 deletions
diff --git a/advtrains/api_doc.txt b/advtrains/api_doc.txt index 20f285f..b02ff83 100644 --- a/advtrains/api_doc.txt +++ b/advtrains/api_doc.txt @@ -6,8 +6,11 @@ All boolean values in definition tables default to 'false' and can be omitted. Wagons are registered using the function advtrains.register_wagon(name, prototype, description, inventory_image) -- 'name' is the internal name of the wagon. It is registered inside the 'advtrains:' namespace. +- 'name' is the internal name of the wagon. It should follow the mod naming convention, however, this is not enforced. + For compatibility reasons, if a mod name is omitted, the wagon will be registered in the advtrains: namespace. Example: A wagon with name="engine_tgv" will be registered as "advtrains:engine_tgv". + !IMPORTANT! You must not append a ":" at the start of the name, even if you want to bypass the mod naming convention check. This is because internally the register_wagon function + appends a ":" automatically. - 'prototype' is the lua entity prototype. The regular definition keys for luaentites apply. Additional required and optional properties see below. DO NOT define 'on_step', 'on_activate', 'on_punch', 'on_rightclick' and 'get_staticdata' since these will be overridden. Use 'custom_*' instead. - 'description' is the description of the inventory item that is used to place the wagon. - 'inventory_image' is the inventory image of said item. diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua index 3e8641e..efebba8 100644 --- a/advtrains/wagons.lua +++ b/advtrains/wagons.lua @@ -857,11 +857,15 @@ function wagon:reattach_all() end
end
-function advtrains.register_wagon(sysname, prototype, desc, inv_img)
+function advtrains.register_wagon(sysname_p, prototype, desc, inv_img)
+ local sysname = sysname_p
+ if not string.match(sysname, ":") then
+ sysname = "advtrains:"..sysname_p
+ end
setmetatable(prototype, {__index=wagon})
- minetest.register_entity(":advtrains:"..sysname,prototype)
+ minetest.register_entity(":"..sysname,prototype)
- minetest.register_craftitem(":advtrains:"..sysname, {
+ minetest.register_craftitem(":"..sysname, {
description = desc,
inventory_image = inv_img,
wield_image = inv_img,
@@ -888,7 +892,7 @@ function advtrains.register_wagon(sysname, prototype, desc, inv_img) local conn1=advtrains.get_track_connections(node.name, node.param2)
local id=advtrains.create_new_train_at(pointed_thing.under, advtrains.dirCoordSet(pointed_thing.under, conn1))
- local ob=minetest.add_entity(pointed_thing.under, "advtrains:"..sysname)
+ local ob=minetest.add_entity(pointed_thing.under, sysname)
if not ob then
atprint("couldn't add_entity, aborting")
end
diff --git a/advtrains_train_track/init.lua b/advtrains_train_track/init.lua index 4148b47..425c840 100644 --- a/advtrains_train_track/init.lua +++ b/advtrains_train_track/init.lua @@ -1,10 +1,3 @@ -advtrains.register_tracks("regular", { - nodename_prefix="advtrains:track", - texture_prefix="advtrains_track", - shared_model="trackplane.b3d", - description=attrans("Deprecated Track"), - formats={vst1={}, vst2={}}, -}, advtrains.ap.t_45deg) --flat advtrains.register_tracks("default", { |