Skip to content

Commit ec2fb5f

Browse files
committed
Items and record.
1 parent 1404ae5 commit ec2fb5f

26 files changed

Lines changed: 595 additions & 368 deletions

File tree

common/src/main/java/generations/gg/generations/core/generationscore/common/GenerationsCore.java

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@
88

99
package generations.gg.generations.core.generationscore.common;
1010

11-
import com.cobblemon.mod.common.api.battles.model.PokemonBattle;
1211
import com.cobblemon.mod.common.api.data.DataProvider;
1312
import com.cobblemon.mod.common.api.spawning.detail.SpawnDetail;
1413
import com.cobblemon.mod.common.api.storage.player.PlayerDataExtensionRegistry;
15-
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer;
16-
import com.cobblemon.mod.common.platform.events.ServerEvent;
1714
import com.google.gson.JsonObject;
1815
import com.mojang.logging.LogUtils;
1916
import dev.architectury.event.events.common.LootEvent;
@@ -22,11 +19,8 @@
2219
import generations.gg.generations.core.generationscore.common.api.player.AccountInfo;
2320
import generations.gg.generations.core.generationscore.common.api.player.BiomesVisited;
2421
import generations.gg.generations.core.generationscore.common.api.player.Caught;
25-
import generations.gg.generations.core.generationscore.common.api.player.CurryDex;
26-
import generations.gg.generations.core.generationscore.common.client.render.rarecandy.ModelRegistry;
2722
import generations.gg.generations.core.generationscore.common.config.Config;
2823
import generations.gg.generations.core.generationscore.common.config.ConfigLoader;
29-
import generations.gg.generations.core.generationscore.common.config.LegendKeys;
3024
import generations.gg.generations.core.generationscore.common.recipe.GenerationsIngredidents;
3125
import generations.gg.generations.core.generationscore.common.world.container.GenerationsContainers;
3226
import generations.gg.generations.core.generationscore.common.world.entity.GenerationsEntities;
@@ -40,30 +34,17 @@
4034
import generations.gg.generations.core.generationscore.common.world.level.block.entities.GenerationsBlockEntities;
4135
import generations.gg.generations.core.generationscore.common.world.loot.LootItemConditionTypes;
4236
import generations.gg.generations.core.generationscore.common.world.loot.LootPoolEntryTypes;
43-
import generations.gg.generations.core.generationscore.common.world.loot.SpeciesKeyCondition;
4437
import generations.gg.generations.core.generationscore.common.world.recipe.*;
4538
import generations.gg.generations.core.generationscore.common.world.sound.GenerationsSounds;
4639
import generations.gg.generations.core.generationscore.common.world.spawning.ZygardeCellDetail;
47-
import net.minecraft.core.registries.BuiltInRegistries;
4840
import net.minecraft.network.FriendlyByteBuf;
49-
import net.minecraft.network.chat.Component;
5041
import net.minecraft.network.chat.MutableComponent;
5142
import net.minecraft.resources.ResourceLocation;
5243
import net.minecraft.server.level.ServerPlayer;
5344
import net.minecraft.server.packs.PackType;
54-
import net.minecraft.world.entity.EntityType;
5545
import net.minecraft.world.entity.player.Player;
5646
import net.minecraft.world.item.ItemStack;
57-
import net.minecraft.world.item.Items;
5847
import net.minecraft.world.level.storage.loot.*;
59-
import net.minecraft.world.level.storage.loot.entries.AlternativesEntry;
60-
import net.minecraft.world.level.storage.loot.entries.LootItem;
61-
import net.minecraft.world.level.storage.loot.entries.LootTableReference;
62-
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
63-
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType;
64-
import net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition;
65-
import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition;
66-
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
6748
import org.apache.logging.log4j.util.TriConsumer;
6849
import org.jetbrains.annotations.NotNull;
6950
import org.slf4j.Logger;
@@ -185,7 +166,7 @@ public static void initBuiltinPacks(TriConsumer<PackType, ResourceLocation, Muta
185166
}
186167

187168
public static void onAnvilChange(ItemStack left, ItemStack right, Player player, Consumer<ItemStack> output, IntConsumer cost, IntConsumer materialCost) {
188-
if(player instanceof ServerPlayer && left.getItem() instanceof EnchantableItem enchantableItem && enchantableItem.neededEnchantmentLevel(player) > 0 && !EnchantableItem.isEnchanted(left) && !EnchantableItem.isUsed(left) && right.isEmpty()) {
169+
if(player instanceof ServerPlayer serverPlayer && left.getItem() instanceof EnchantableItem enchantableItem && enchantableItem.neededEnchantmentLevel(serverPlayer) > 0 && !EnchantableItem.isEnchanted(left) && !EnchantableItem.isUsed(left) && right.isEmpty()) {
189170
output.accept(EnchantableItem.setEnchanted(left.copy(), true));
190171
cost.accept(100);
191172
materialCost.accept(0);

common/src/main/java/generations/gg/generations/core/generationscore/common/config/Config.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.google.common.collect.Multiset;
66
import com.google.gson.*;
77
import net.minecraft.core.Vec3i;
8+
import net.minecraft.server.level.ServerPlayer;
89
import net.minecraft.world.entity.player.Player;
910

1011
import java.lang.reflect.Type;
@@ -90,7 +91,7 @@ public static class Caught {
9091
.setCount(ZYGARDE, 2)
9192
.build();
9293

93-
public boolean capped(Player player, SpeciesKey speciesKey) {
94+
public boolean capped(ServerPlayer player, SpeciesKey speciesKey) {
9495
if(!limits.contains(speciesKey)) return true;
9596

9697
var limit = limits.count(speciesKey);

common/src/main/java/generations/gg/generations/core/generationscore/common/config/LegendKeys.java

Lines changed: 0 additions & 83 deletions
This file was deleted.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
package generations.gg.generations.core.generationscore.common.config
2+
3+
import net.minecraft.resources.ResourceLocation
4+
5+
object LegendKeys {
6+
@JvmField
7+
val WALKING_WAKE: SpeciesKey = create("walkingwake")
8+
@JvmField
9+
var ARTICUNO: SpeciesKey = create("articuno")
10+
@JvmField
11+
var GALARIAN_ARTICUNO: SpeciesKey = create("articuno", setOf("galarian"))
12+
@JvmField
13+
var ZAPDOS: SpeciesKey = create("zapdos")
14+
@JvmField
15+
var GALARIAN_ZAPDOS: SpeciesKey = create("zapdos", setOf("galarian"))
16+
@JvmField
17+
var MOLTRES: SpeciesKey = create("moltres")
18+
@JvmField
19+
var GALARIAN_MOLTRES: SpeciesKey = create("moltres", setOf("galarian"))
20+
21+
@JvmField
22+
var MEWTWO: SpeciesKey = create("mewtwo")
23+
24+
@JvmField
25+
var SUICUNE: SpeciesKey = create("suicune")
26+
@JvmField
27+
var ENTEI: SpeciesKey = create("entei")
28+
@JvmField
29+
var RAIKOU: SpeciesKey = create("raikou")
30+
31+
@JvmField
32+
var LUGIA: SpeciesKey = create("lugia")
33+
@JvmField
34+
var HO_OH: SpeciesKey = create("hooh")
35+
@JvmField
36+
var CELEBI: SpeciesKey = create("celebi")
37+
@JvmField
38+
var REGIROCK: SpeciesKey = create("regirock")
39+
@JvmField
40+
var REGICE: SpeciesKey = create("regice")
41+
@JvmField
42+
var REGISTEEL: SpeciesKey = create("registeel")
43+
@JvmField
44+
var REGIELEKI: SpeciesKey = create("regieleki")
45+
@JvmField
46+
var REGIDRAGO: SpeciesKey = create("regidrago")
47+
48+
@JvmField
49+
var LATIAS: SpeciesKey = create("latias")
50+
@JvmField
51+
var LATIOS: SpeciesKey = create("latias")
52+
53+
@JvmField
54+
var KYOGRE: SpeciesKey = create("kyogre")
55+
@JvmField
56+
var GROUDON: SpeciesKey = create("groudon")
57+
@JvmField
58+
var RAYQUAZA: SpeciesKey = create("rayquaza")
59+
@JvmField
60+
var DEOXYS: SpeciesKey = create("deoxys")
61+
62+
@JvmField
63+
var UXIE: SpeciesKey = create("uxie")
64+
@JvmField
65+
var AZELF: SpeciesKey = create("azelf")
66+
@JvmField
67+
var MESPRIT: SpeciesKey = create("mesprit")
68+
69+
@JvmField
70+
var DIALGA: SpeciesKey = create("dialga")
71+
@JvmField
72+
var PALKIA: SpeciesKey = create("palkia")
73+
@JvmField
74+
var GIRATINA: SpeciesKey = create("giratina")
75+
@JvmField
76+
var HEATRAN: SpeciesKey = create("heatran")
77+
@JvmField
78+
var REGIGIGAS: SpeciesKey = create("regigigas")
79+
@JvmField
80+
var CRESSELIA: SpeciesKey = create("cresselia")
81+
@JvmField
82+
var DARKRAI: SpeciesKey = create("darkrai")
83+
var PHIONE: SpeciesKey = create("phione")
84+
@JvmField
85+
var MANAPHY: SpeciesKey = create("manaphy")
86+
@JvmField
87+
var TORNADUS: SpeciesKey = create("tornadus")
88+
@JvmField
89+
var THUNDURUS: SpeciesKey = create("thundurus")
90+
@JvmField
91+
var LANDORUS: SpeciesKey = create("landorus")
92+
@JvmField
93+
var ENAMORUS: SpeciesKey = create("enamorus")
94+
var RESHIRAM: SpeciesKey = create("reshiram")
95+
var ZEKROM: SpeciesKey = create("zekrom")
96+
var KYUREM: SpeciesKey = create("kyurem")
97+
@JvmField
98+
var GENESECT: SpeciesKey = create("genesect")
99+
@JvmField
100+
var MELOETTA: SpeciesKey = create("meloetta")
101+
@JvmField
102+
var HOOPA: SpeciesKey = create("hoopa")
103+
@JvmField
104+
var TYPE_NULL: SpeciesKey = create("typenull")
105+
@JvmField
106+
var TAPU_KOKO: SpeciesKey = create("tapukoko")
107+
@JvmField
108+
var TAPU_LELE: SpeciesKey = create("tapulele")
109+
@JvmField
110+
var TAPU_BULU: SpeciesKey = create("tapubulu")
111+
@JvmField
112+
var TAPU_FINI: SpeciesKey = create("tapufini")
113+
@JvmField
114+
var MAGEARNA: SpeciesKey = create("magearna")
115+
@JvmField
116+
var MELMETAL: SpeciesKey = create("melmetal")
117+
var KUBFU: SpeciesKey = create("kubfu")
118+
@JvmField
119+
var GLASTRIER: SpeciesKey = create("glastrier")
120+
@JvmField
121+
var SPECTRIER: SpeciesKey = create("spectrier")
122+
var ZAMAZENTA: SpeciesKey = create("zamazenta")
123+
var ZACIAN: SpeciesKey = create("zacian")
124+
@JvmField
125+
var ZYGARDE: SpeciesKey = create("zygarde")
126+
127+
private fun create(species: String): SpeciesKey {
128+
return SpeciesKey(ResourceLocation.fromNamespaceAndPath("cobblemon", species))
129+
}
130+
131+
private fun create(species: String, aspects: Set<String>): SpeciesKey {
132+
return SpeciesKey(ResourceLocation.fromNamespaceAndPath("cobblemon", species), aspects)
133+
}
134+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package generations.gg.generations.core.generationscore.common.util.extensions
2+
3+
import dev.architectury.registry.registries.RegistrySupplier
4+
import generations.gg.generations.core.generationscore.common.world.item.components.GenerationsItemComponents
5+
import net.minecraft.core.component.DataComponentType
6+
import net.minecraft.world.item.Item
7+
import net.minecraft.world.item.ItemStack
8+
9+
fun <T : Any> ItemStack.get(registrySupplier: RegistrySupplier<DataComponentType<T>>): T? = this.get(registrySupplier.get())
10+
11+
fun <T : Any> ItemStack.getOrDefault(registrySupplier: RegistrySupplier<DataComponentType<T>>, defaultValue: T): T = this.getOrDefault(registrySupplier.get(), defaultValue)
12+
13+
fun <T : Any> ItemStack.set(registrySupplier: RegistrySupplier<DataComponentType<T>>, value: T) = this.set(registrySupplier.get(), value)
14+
15+
fun Item.Properties.distance(): Item.Properties = this.component(GenerationsItemComponents.DISTANCE.get(), 0.0)
16+
17+
fun <T : Any> Item.Properties.component(registrySupplier: RegistrySupplier<DataComponentType<T>>, value: T): Item.Properties = this.component(registrySupplier.get(), value)
18+
19+
fun <T : Any> ItemStack.update(registrySupplier: RegistrySupplier<DataComponentType<T>>, value: T, function: (t: T) -> T) {
20+
this.update(registrySupplier.get(), value, function)
21+
}

0 commit comments

Comments
 (0)