diff --git a/src/main/java/io/github/teamgensouspark/kekkai/Kekkai.java b/src/main/java/io/github/teamgensouspark/kekkai/Kekkai.java index 4681af3..de011c4 100644 --- a/src/main/java/io/github/teamgensouspark/kekkai/Kekkai.java +++ b/src/main/java/io/github/teamgensouspark/kekkai/Kekkai.java @@ -8,6 +8,7 @@ import io.github.teamgensouspark.kekkai.example.MySpellCards; import io.github.teamgensouspark.kekkai.proxy.CommonProxy; +import io.github.teamgensouspark.kekkai.spellcard.SpellCardModelHelper; @Mod( modid = Consts.MODID, @@ -25,6 +26,7 @@ public class Kekkai { public static void PreInit(FMLPreInitializationEvent event) { logger=event.getModLog(); + SpellCardModelHelper.initSpellCardBake(); MySpellCards.initSpellCard(); } } diff --git a/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCardEntity.java b/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCardEntity.java index e60b182..7301452 100644 --- a/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCardEntity.java +++ b/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCardEntity.java @@ -1,7 +1,6 @@ package io.github.teamgensouspark.kekkai.example; -import io.github.teamgensouspark.kekkai.Kekkai; import io.github.teamgensouspark.kekkai.danmaku.DanmakuHelper; import net.katsstuff.teamnightclipse.danmakucore.entity.spellcard.EntitySpellcard; import net.katsstuff.teamnightclipse.danmakucore.entity.spellcard.Spellcard; diff --git a/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCards.java b/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCards.java index 8b5a997..2c33f74 100644 --- a/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCards.java +++ b/src/main/java/io/github/teamgensouspark/kekkai/example/MySpellCards.java @@ -5,11 +5,7 @@ import io.github.teamgensouspark.kekkai.Consts; import io.github.teamgensouspark.kekkai.character.TouhouExCharacter; -import io.github.teamgensouspark.kekkai.spellcard.SpellCardBase; import net.katsstuff.teamnightclipse.danmakucore.entity.spellcard.Spellcard; -import net.katsstuff.teamnightclipse.danmakucore.item.ItemSpellcard; -import net.minecraftforge.client.event.ModelRegistryEvent; -import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -29,4 +25,5 @@ public static void initSpellCard() { public static void onSpellCardRegister(RegistryEvent.Register event) { event.getRegistry().registerAll(SPELL_CARDS.toArray(new Spellcard[0])); } + } diff --git a/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardBase.java b/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardBase.java index ddb9d0b..cbe2703 100644 --- a/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardBase.java +++ b/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardBase.java @@ -22,6 +22,7 @@ public SpellCardBase (String name,Class spellcard,TouhouCharacter character){ this.name=name; this.character=character; this.spellcard=spellcard; + SpellCardModelHelper.BAKE_SPELLCARDS.add(this); } @Override diff --git a/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardModelHelper.java b/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardModelHelper.java new file mode 100644 index 0000000..4adce61 --- /dev/null +++ b/src/main/java/io/github/teamgensouspark/kekkai/spellcard/SpellCardModelHelper.java @@ -0,0 +1,36 @@ +package io.github.teamgensouspark.kekkai.spellcard; + +import java.util.ArrayList; +import java.util.List; + +import io.github.teamgensouspark.kekkai.Consts; +import net.katsstuff.teamnightclipse.danmakucore.entity.spellcard.Spellcard; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +@EventBusSubscriber(modid = Consts.MODID) +public class SpellCardModelHelper { + public static void initSpellCardBake() { + }; + + public static final List BAKE_SPELLCARDS = new ArrayList<>(); + public static final Item SPELLCARD_HELPER = new Item().setTranslationKey("spellcard_helper") + .setRegistryName(Consts.MODID, "spellcard_helper").setCreativeTab(null); + + @SubscribeEvent + public static void onItemRegister(RegistryEvent.Register event) { + event.getRegistry().registerAll( + SPELLCARD_HELPER); + } + + @SubscribeEvent + public static void onModelRegister(ModelRegistryEvent event) { + for (Spellcard sp : BAKE_SPELLCARDS) { + ModelLoader.setCustomModelResourceLocation(SPELLCARD_HELPER, 0, sp.itemModel()); + } + } +} diff --git a/src/main/resources/assets/kekkai/models/item/danmaku/spellcard/example_card.json b/src/main/resources/assets/kekkai/models/item/danmaku/spellcard/example_card.json index 9fd6462..dcf468b 100644 --- a/src/main/resources/assets/kekkai/models/item/danmaku/spellcard/example_card.json +++ b/src/main/resources/assets/kekkai/models/item/danmaku/spellcard/example_card.json @@ -1,6 +1,6 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "kekkai:items/spellcard/example_card" - } - } \ No newline at end of file +{ + "parent": "danmakucore:item/danmaku/spellcard/spellcard_base", + "textures": { + "1": "kekkai:items/spellcard/example_card" + } + } \ No newline at end of file diff --git a/src/main/resources/assets/kekkai/textures/items/spellcard/example_card.png b/src/main/resources/assets/kekkai/textures/items/spellcard/example_card.png index 6f7c436..dd188af 100644 Binary files a/src/main/resources/assets/kekkai/textures/items/spellcard/example_card.png and b/src/main/resources/assets/kekkai/textures/items/spellcard/example_card.png differ