MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / receiveMessage

Method receiveMessage

source/game/objects/StarContainerObject.cpp:156–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

154}
155
156Maybe<Json> ContainerObject::receiveMessage(ConnectionId sendingConnection, String const& message, JsonArray const& args) {
157 auto itemDb = Root::singleton().itemDatabase();
158
159 if (message.equalsIgnoreCase("startCrafting")) {
160 startCrafting();
161 return Json();
162
163 } else if (message.equalsIgnoreCase("stopCrafting")) {
164 stopCrafting();
165 return Json();
166
167 } else if (message.equalsIgnoreCase("burnContainerContents")) {
168 burnContainerContents();
169 return Json();
170
171 } else if (message.equalsIgnoreCase("addItems")) {
172 return itemSafeDescriptor(doAddItems(itemDb->fromJson(args.at(0)))).toJson();
173
174 } else if (message.equalsIgnoreCase("putItems")) {
175 return itemSafeDescriptor(doPutItems(args.at(0).toUInt(), itemDb->fromJson(args.at(1)))).toJson();
176
177 } else if (message.equalsIgnoreCase("takeItems")) {
178 return itemSafeDescriptor(doTakeItems(args.at(0).toUInt(), args.at(1).toUInt())).toJson();
179
180 } else if (message.equalsIgnoreCase("swapItems")) {
181 return itemSafeDescriptor(doSwapItems(args.at(0).toUInt(), itemDb->fromJson(args.at(1)), args.get(2).optBool().value(true))).toJson();
182
183 } else if (message.equalsIgnoreCase("applyAugment")) {
184 return itemSafeDescriptor(doApplyAugment(args.at(0).toUInt(), itemDb->fromJson(args.at(1)))).toJson();
185
186 } else if (message.equalsIgnoreCase("consumeItems")) {
187 return Json(doConsumeItems(ItemDescriptor(args.at(0))));
188
189 } else if (message.equalsIgnoreCase("consumeItemsAt")) {
190 return Json(doConsumeItems(args.at(0).toUInt(), args.at(1).toUInt()));
191
192 } else if (message.equalsIgnoreCase("clearContainer")) {
193 return Json(transform<JsonArray>(doClearContainer(), [](auto const& item) {
194 return itemSafeDescriptor(item).toJson();
195 }));
196
197 } else {
198 return Object::receiveMessage(sendingConnection, message, args);
199 }
200}
201
202InteractAction ContainerObject::interact(InteractRequest const&) {
203 return InteractAction(InteractActionType::OpenContainer, entityId(), Json());

Callers

nothing calls this directly

Calls 13

singletonClass · 0.85
JsonClass · 0.85
itemSafeDescriptorFunction · 0.85
ItemDescriptorClass · 0.85
itemDatabaseMethod · 0.80
toUIntMethod · 0.80
optBoolMethod · 0.80
equalsIgnoreCaseMethod · 0.45
toJsonMethod · 0.45
fromJsonMethod · 0.45
atMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected