Skip to content

Commit 4d271a6

Browse files
committed
Op af conditions
1 parent 6d1260b commit 4d271a6

2 files changed

Lines changed: 76 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package dev.sygii.variantapi.variants.condition;
2+
3+
import com.google.gson.JsonArray;
4+
import com.google.gson.JsonElement;
5+
import dev.sygii.variantapi.VariantAPI;
6+
import dev.sygii.variantapi.variants.VariantCondition;
7+
import net.minecraft.entity.mob.MobEntity;
8+
import net.minecraft.util.Identifier;
9+
10+
import java.util.ArrayList;
11+
12+
public class AllOfCondition extends VariantCondition {
13+
public static Identifier ID = VariantAPI.id("all_of");
14+
private ArrayList<VariantCondition> conditions = new ArrayList<>();
15+
16+
17+
public AllOfCondition(JsonArray data) {
18+
super(ID);
19+
for (JsonElement elem : data) {
20+
Identifier conditionType = Identifier.tryParse(elem.getAsJsonObject().get("type").getAsString());
21+
VariantCondition condition = VariantAPI.createCondition(conditionType, elem.getAsJsonObject());
22+
this.conditions.add(condition);
23+
}
24+
}
25+
26+
@Override
27+
public boolean condition(MobEntity entity) {
28+
for (VariantCondition condition : this.conditions) {
29+
if (!condition.condition(entity)) {
30+
return false;
31+
}
32+
}
33+
return true;
34+
}
35+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package dev.sygii.variantapi.variants.condition;
2+
3+
import com.google.gson.JsonArray;
4+
import com.google.gson.JsonElement;
5+
import com.google.gson.JsonObject;
6+
import dev.sygii.variantapi.VariantAPI;
7+
import dev.sygii.variantapi.variants.Variant;
8+
import dev.sygii.variantapi.variants.VariantCondition;
9+
import net.minecraft.entity.mob.MobEntity;
10+
import net.minecraft.registry.RegistryKeys;
11+
import net.minecraft.registry.entry.RegistryEntry;
12+
import net.minecraft.registry.tag.TagKey;
13+
import net.minecraft.util.Identifier;
14+
import net.minecraft.world.biome.Biome;
15+
16+
import java.util.ArrayList;
17+
18+
public class AnyOfCondition extends VariantCondition {
19+
public static Identifier ID = VariantAPI.id("any_of");
20+
private ArrayList<VariantCondition> conditions = new ArrayList<>();
21+
22+
23+
public AnyOfCondition(JsonArray data) {
24+
super(ID);
25+
for (JsonElement elem : data) {
26+
Identifier conditionType = Identifier.tryParse(elem.getAsJsonObject().get("type").getAsString());
27+
VariantCondition condition = VariantAPI.createCondition(conditionType, elem.getAsJsonObject());
28+
this.conditions.add(condition);
29+
}
30+
}
31+
32+
@Override
33+
public boolean condition(MobEntity entity) {
34+
for (VariantCondition condition : this.conditions) {
35+
if (condition.condition(entity)) {
36+
return true;
37+
}
38+
}
39+
return false;
40+
}
41+
}

0 commit comments

Comments
 (0)