Posted January 12, 2018 Hello friends We created some new wagons and after a hard work to figure all out, we are stucking on a missing item type to get the "open" option on the new wagons. We tried ItemTypes.ITEM_TYPE_USES_SPECIFIED_CONTAINER_VOLUME and two other ones with Inventory in it, but nothing works. Can anyone help me out so i can release the new wagons for my players? Eject Share this post Link to post Share on other sites
Posted January 13, 2018 Did you set ITEM_TYPE_HOLLOW? That's what allows the open action. Share this post Link to post Share on other sites
Posted January 13, 2018 yes hollow is included at the moment i have this types in the code ItemTypes.ITEM_TYPE_WOOD, ItemTypes.ITEM_TYPE_NAMED, ItemTypes.ITEM_TYPE_OWNER_DESTROYABLE, ItemTypes.ITEM_TYPE_DESTROYABLE, ItemTypes.ITEM_TYPE_TURNABLE, ItemTypes.ITEM_TYPE_REPAIRABLE, ItemTypes.ITEM_TYPE_COLORABLE, ItemTypes.ITEM_TYPE_VEHICLE, //ItemTypes.ITEM_TYPE_CART, ItemTypes.ITEM_TYPE_LEAD_MULTIPLE_CREATURES, ItemTypes.ITEM_TYPE_HOLLOW, ItemTypes.ITEM_TYPE_NOTAKE, ItemTypes.ITEM_TYPE_DECORATION, ItemTypes.ITEM_TYPE_VEHICLE_DRAGGED, ItemTypes.ITEM_TYPE_LOCKABLE, ItemTypes.ITEM_TYPE_HASDATA, ItemTypes.ITEM_TYPE_TRANSPORTABLE, //ItemTypes.ITEM_TYPE_USES_SPECIFIED_CONTAINER_VOLUME, //ItemTypes.ITEM_TYPE_NOWORKPARENT, ItemTypes.ITEM_TYPE_NORENAME, //ItemTypes.ITEM_TYPE_INVENTORY_GROUP Share this post Link to post Share on other sites
Posted January 13, 2018 maybe something otheris wrong here is the complete code template Spoiler var ItemTemplateBuilder = Packages.org.gotti.wurmunlimited.modsupport.ItemTemplateBuilder; var ItemTypes = Packages.com.wurmonline.server.items.ItemTypes; var logger = Packages.java.util.logging.Logger.getLogger("nekropolis.transports"); function onItemTemplatesCreated() { var builder = new ItemTemplateBuilder("nekropolis.transports.openwagon"); builder.name("open wagon", "open wagons", "An open wagon without a plane"); builder.descriptions("excellent", "good", "ok", "poor"); builder.itemTypes([ ItemTypes.ITEM_TYPE_WOOD, ItemTypes.ITEM_TYPE_NAMED, ItemTypes.ITEM_TYPE_OWNER_DESTROYABLE, ItemTypes.ITEM_TYPE_DESTROYABLE, ItemTypes.ITEM_TYPE_TURNABLE, ItemTypes.ITEM_TYPE_REPAIRABLE, ItemTypes.ITEM_TYPE_COLORABLE, ItemTypes.ITEM_TYPE_VEHICLE, //ItemTypes.ITEM_TYPE_CART, ItemTypes.ITEM_TYPE_LEAD_MULTIPLE_CREATURES, ItemTypes.ITEM_TYPE_HOLLOW, ItemTypes.ITEM_TYPE_NOTAKE, ItemTypes.ITEM_TYPE_DECORATION, ItemTypes.ITEM_TYPE_VEHICLE_DRAGGED, ItemTypes.ITEM_TYPE_LOCKABLE, ItemTypes.ITEM_TYPE_HASDATA, ItemTypes.ITEM_TYPE_TRANSPORTABLE, //ItemTypes.ITEM_TYPE_USES_SPECIFIED_CONTAINER_VOLUME, //ItemTypes.ITEM_TYPE_NOWORKPARENT, ItemTypes.ITEM_TYPE_NORENAME, //ItemTypes.ITEM_TYPE_INVENTORY_GROUP ]); builder.imageNumber(274); builder.behaviourType(41); builder.combatDamage(0); builder.decayTime(9072000); builder.dimensions(10, 30, 60); builder.primarySkill(-10); builder.bodySpaces(Packages.com.wurmonline.server.MiscConstants.EMPTY_BYTE_PRIMITIVE_ARRAY); builder.modelName("nekropolis.transports.openwagon."); builder.difficulty(10.0); builder.weightGrams(7000); builder.material(14); builder.isTraded(true); var template = builder.build(); logger.info("Created item template " + template.getTemplateId() + " for an open wagon"); var behaviour = new org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviour({ setSettingsForVehicle: function(item, v) { var vehicle = behaviour.wrap(v); // Fuer Schiffe oder Fahrzeuge: Commander + Passenger Seats erstellen vehicle.createPassengerSeats(1); // 0 Passenger seats, also nur Commander // Fuer Moebel // Passenger Seats ohne Commander erstellen // vehicle.createOnlyPassengerSeats(1); // v.setChair(true); vehicle.setCreature(false); vehicle.setEmbarkString("sit"); vehicle.setName(item.getName()); // Position fuer Sitz 0 (erster Sitz) festlegen vehicle.setSeatFightMod(0, 1.0, 0.4); vehicle.setSeatOffset(0, 0.0, 0.0, 0.59); // 1. wert= bla 2. wert= vorne/hinten, 3. wert= links/rechts, 4. wert=wagon tiefe //vehicle.setWindImpact(0); vehicle.setMaxDepth(-1.5); vehicle.setMaxHeightDiff(-1.10); //vehicle.setCommandType(2); //v.commandType = 2; // Sitze fuer Pferde var Seat = com.wurmonline.server.behaviours.Seat; hitches = [ behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED) ]; hitches[0].offx = -2.0; hitches[0].offy = 1.2; hitches[1].offx = -2.0; hitches[1].offy = -1.2; hitches[2].offx = -5.0; hitches[2].offy = 1.2; hitches[3].offx = -5.0; hitches[3].offy = -1.2; vehicle.addHitchSeats(hitches); } }); org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviours.addItemVehicle(template.getTemplateId(), behaviour); } recipe Spoiler var IdFactory = Packages.org.gotti.wurmunlimited.modsupport.IdFactory; var IdType = Packages.org.gotti.wurmunlimited.modsupport.IdType; var CreationCategories = Packages.com.wurmonline.server.items.CreationCategories; var ItemList = Packages.com.wurmonline.server.items.ItemList; var SkillList = Packages.com.wurmonline.server.skills.SkillList; var CreationEntryCreator = Packages.com.wurmonline.server.items.CreationEntryCreator; var logger = Packages.java.util.logging.Logger.getLogger("nekropolis.transports"); function onServerStarted() { var itemId = IdFactory.getIdFor("nekropolis.transports.openwagon", IdType.ITEMTEMPLATE); CreationEntryCreator.createSimpleEntry(SkillList.CARPENTRY, ItemList.clothYard, ItemList.shaft, itemId, false, false, 0.0, false, false, CreationCategories.DECORATION); logger.info("Created creation entry for open wagon"); } Share this post Link to post Share on other sites
Posted January 18, 2018 @bdewhello, at any reason this is working now, i dont know why lol we found now a nother problem, if a player attaches a lock there is no option to set the permissions for inventory and embark and so on. Does anyone know the item type for this permissions? Eject Share this post Link to post Share on other sites
Posted January 18, 2018 Maybe take a look at this mod to see one way to add wagons. Share this post Link to post Share on other sites
Posted January 18, 2018 15 hours ago, Eject said: @bdewhello, at any reason this is working now, i dont know why lol we found now a nother problem, if a player attaches a lock there is no option to set the permissions for inventory and embark and so on. Does anyone know the item type for this permissions? Eject 1 hour ago, Governor said: Maybe take a look at this mod to see one way to add wagons. Yes, specifically you want this part - https://github.com/Jubaroo/AddKingdomItemsMod/blob/master/org/takino/mods/AddKingdomItems.java#L74-L90 Share this post Link to post Share on other sites
Posted January 19, 2018 Hello I tried so much, can you help me to put in the code on the correct place? Spoiler var ItemTemplateBuilder = Packages.org.gotti.wurmunlimited.modsupport.ItemTemplateBuilder; var ItemTypes = Packages.com.wurmonline.server.items.ItemTypes; var logger = Packages.java.util.logging.Logger.getLogger("nekropolis.transports"); function onItemTemplatesCreated() { var builder = new ItemTemplateBuilder("nekropolis.transports.openwagon"); builder.name("open wagon", "open wagons", "An open wagon without a plane"); builder.descriptions("excellent", "good", "ok", "poor"); builder.itemTypes([ ItemTypes.ITEM_TYPE_WOOD, ItemTypes.ITEM_TYPE_NAMED, ItemTypes.ITEM_TYPE_OWNER_DESTROYABLE, ItemTypes.ITEM_TYPE_DESTROYABLE, ItemTypes.ITEM_TYPE_TURNABLE, ItemTypes.ITEM_TYPE_REPAIRABLE, ItemTypes.ITEM_TYPE_COLORABLE, ItemTypes.ITEM_TYPE_VEHICLE, //ItemTypes.ITEM_TYPE_CART, ItemTypes.ITEM_TYPE_LEAD_MULTIPLE_CREATURES, ItemTypes.ITEM_TYPE_HOLLOW, ItemTypes.ITEM_TYPE_NOTAKE, ItemTypes.ITEM_TYPE_DECORATION, ItemTypes.ITEM_TYPE_VEHICLE_DRAGGED, ItemTypes.ITEM_TYPE_LOCKABLE, ItemTypes.ITEM_TYPE_HASDATA, ItemTypes.ITEM_TYPE_TRANSPORTABLE, //ItemTypes.ITEM_TYPE_USES_SPECIFIED_CONTAINER_VOLUME, //ItemTypes.ITEM_TYPE_NOWORKPARENT, ItemTypes.ITEM_TYPE_NORENAME, //ItemTypes.ITEM_TYPE_INVENTORY_GROUP ]); if (item.mayManage(performer)) { int itemId = item.getTemplateId(); for (int id : WagonFactory.wagonList) { if (id == itemId) { debug("Adding manage permissions"); original.add(Actions.actionEntrys[669]); } } } if (item.maySeeHistory(performer)) { int itemId = item.getTemplateId(); for (int id : WagonFactory.wagonList) { if (id == itemId) { original.add(new ActionEntry((short)691, "History of Wagon", "viewing")); } } } builder.imageNumber(274); builder.behaviourType(41); builder.combatDamage(0); builder.decayTime(9072000); builder.dimensions(10, 30, 60); builder.primarySkill(-10); builder.bodySpaces(Packages.com.wurmonline.server.MiscConstants.EMPTY_BYTE_PRIMITIVE_ARRAY); builder.modelName("nekropolis.transports.openwagon."); builder.difficulty(10.0); builder.weightGrams(7000); builder.material(14); builder.isTraded(true); var template = builder.build(); logger.info("Created item template " + template.getTemplateId() + " for an open wagon"); var behaviour = new org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviour({ setSettingsForVehicle: function(item, v) { var vehicle = behaviour.wrap(v); vehicle.createPassengerSeats(1); // 0 Passenger seats, also nur Commander vehicle.setCreature(false); vehicle.setEmbarkString("sit"); vehicle.setName(item.getName()); vehicle.setSeatFightMod(0, 1.0, 0.4); vehicle.setSeatOffset(0, 0.0, 0.0, 0.59); // 1. wert= bla 2. wert= vorne/hinten, 3. wert= links/rechts, 4. wert=wagon tiefe vehicle.setMaxDepth(-1.5); vehicle.setMaxHeightDiff(-1.10); var Seat = com.wurmonline.server.behaviours.Seat; hitches = [ behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED), behaviour.createSeat(Seat.TYPE_HITCHED) ]; hitches[0].offx = -2.0; hitches[0].offy = 1.2; hitches[1].offx = -2.0; hitches[1].offy = -1.2; hitches[2].offx = -5.0; hitches[2].offy = 1.2; hitches[3].offx = -5.0; hitches[3].offy = -1.2; vehicle.addHitchSeats(hitches); } }); org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviours.addItemVehicle(template.getTemplateId(), behaviour); } That would be very helpful Thank you Eject Share this post Link to post Share on other sites
Posted January 21, 2018 Just grab the whole registerManageHook method. And call it from your init. Share this post Link to post Share on other sites