Reduce Duplicated Code
This commit is contained in:
parent
6b9ef075ba
commit
4c9f66c918
@ -254,6 +254,12 @@ static SignTileEntity *get_sign(const CommandServer *server, const int x, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check If Entity Is Selected
|
||||||
|
static bool is_entity_selected(Entity *entity, const int target_type) {
|
||||||
|
const int type = entity->getEntityTypeId();
|
||||||
|
return type > 0 && (target_type == no_entity_id || target_type == type);
|
||||||
|
}
|
||||||
|
|
||||||
// Parse API Commands
|
// Parse API Commands
|
||||||
static const std::string player_namespace = "player.";
|
static const std::string player_namespace = "player.";
|
||||||
#define next_string(out, required) \
|
#define next_string(out, required) \
|
||||||
@ -348,8 +354,7 @@ std::string CommandServer_parse_injection(CommandServer_parse_t old, CommandServ
|
|||||||
// Search
|
// Search
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
for (Entity *entity : server->minecraft->level->entities) {
|
for (Entity *entity : server->minecraft->level->entities) {
|
||||||
int i = entity->getEntityTypeId();
|
if (is_entity_selected(entity, type)) {
|
||||||
if (i > 0 && (type == no_entity_id || i == type)) {
|
|
||||||
result.push_back(get_entity_message(server, entity));
|
result.push_back(get_entity_message(server, entity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -374,8 +379,7 @@ std::string CommandServer_parse_injection(CommandServer_parse_t old, CommandServ
|
|||||||
// Remove
|
// Remove
|
||||||
int removed = 0;
|
int removed = 0;
|
||||||
for (Entity *entity : server->minecraft->level->entities) {
|
for (Entity *entity : server->minecraft->level->entities) {
|
||||||
int i = entity->getEntityTypeId();
|
if (is_entity_selected(entity, type)) {
|
||||||
if (i > 0 && (type == no_entity_id || i == type)) {
|
|
||||||
entity->remove();
|
entity->remove();
|
||||||
removed++;
|
removed++;
|
||||||
}
|
}
|
||||||
@ -473,8 +477,7 @@ std::string CommandServer_parse_injection(CommandServer_parse_t old, CommandServ
|
|||||||
// Run
|
// Run
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
for (Entity *entity : server->minecraft->level->entities) {
|
for (Entity *entity : server->minecraft->level->entities) {
|
||||||
int i = entity->getEntityTypeId();
|
if (is_entity_selected(entity, type) && distance_between(src, entity) < dist) {
|
||||||
if (i > 0 && (type == no_entity_id || i == type) && distance_between(src, entity) < dist) {
|
|
||||||
result.push_back(get_entity_message(server, entity));
|
result.push_back(get_entity_message(server, entity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -491,8 +494,7 @@ std::string CommandServer_parse_injection(CommandServer_parse_t old, CommandServ
|
|||||||
// Run
|
// Run
|
||||||
int removed = 0;
|
int removed = 0;
|
||||||
for (Entity *entity : server->minecraft->level->entities) {
|
for (Entity *entity : server->minecraft->level->entities) {
|
||||||
int i = entity->getEntityTypeId();
|
if (is_entity_selected(entity, type) && distance_between(src, entity) < dist) {
|
||||||
if (i > 0 && (type == no_entity_id || i == type) && distance_between(src, entity) < dist) {
|
|
||||||
entity->remove();
|
entity->remove();
|
||||||
removed++;
|
removed++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user