From 574d6a8e74f3da2ee6b130de765ff6ad42de3eb2 Mon Sep 17 00:00:00 2001 From: Arcaratus <byou64@gmail.com> Date: Mon, 23 Nov 2020 21:03:19 -0500 Subject: [PATCH] Creating a usable API (#1713) * Initial stab at API structuring * Throwing all the things into the API* Eliminated all internal imports Also added some helpful comments *except for the ritual stuff * Reducing the API Threw back the altar/incense/unnecessary items to main Added in a functional API instance * API cleanup Removing all the unnecessities Smushed and vaporized some redundant recipe stuffs * Made API dummy instances Refactor packaging --- .../java/wayoftime/bloodmagic/BloodMagic.java | 2 - .../wayoftime/bloodmagic/altar/AltarUtil.java | 5 - .../bloodmagic/altar/BloodAltar.java | 10 +- .../bloodmagic/altar/ComponentType.java | 14 +- .../{api/tile => altar}/IBloodAltar.java | 12 +- .../{api/tile => altar}/IBloodRune.java | 6 +- .../bloodmagic/api/IBloodMagicAPI.java | 78 ++++- .../api/IBloodMagicRecipeRegistrar.java | 100 ------ .../api/IBloodMagicValueManager.java | 8 +- .../api/compat/EnumDemonWillType.java | 46 +++ .../api/{item => compat}/IAltarReader.java | 2 +- .../ICustomAlchemyConsumable.java | 2 +- .../{will => api/compat}/IDemonWill.java | 6 +- .../compat}/IDemonWillConduit.java | 4 +- .../{will => api/compat}/IDemonWillGem.java | 5 +- .../{item => compat}/IDemonWillViewer.java | 5 +- .../compat}/IDemonWillWeapon.java | 5 +- .../compat}/IDiscreteDemonWill.java | 5 +- .../{incense => api/compat}/IIncensePath.java | 5 +- .../api/{item => compat}/IMultiWillTool.java | 6 +- .../bloodmagic/api/tile/IAltarComponent.java | 14 - .../bloodmagic/block/enums/BloodRuneType.java | 11 +- .../bloodmagic/client/ClientEvents.java | 2 +- .../bloodmagic/client/hud/Elements.java | 4 +- .../client/hud/element/ElementDemonAura.java | 2 +- .../bloodmagic/common/block/BlockAltar.java | 2 +- .../common/block/BlockBloodRune.java | 2 +- .../common/block/BlockDemonCrucible.java | 4 +- .../common/block/BlockDemonCrystal.java | 33 +- .../common/block/BlockMasterRitualStone.java | 2 +- .../bloodmagic/common/block/BlockPath.java | 2 +- .../common/block/BloodMagicBlocks.java | 2 +- .../common/data/GeneratorItemModels.java | 2 +- .../data/recipe/builder/ARCRecipeBuilder.java | 6 +- .../builder/AlchemyArrayRecipeBuilder.java | 2 +- .../builder/AlchemyTableRecipeBuilder.java | 4 +- .../builder/BloodAltarRecipeBuilder.java | 2 +- .../builder/TartaricForgeRecipeBuilder.java | 2 +- .../common/item/BloodMagicItems.java | 3 +- .../{orb => common/item}/BloodOrb.java | 8 +- .../{api => common}/item/IActivatable.java | 4 +- .../{api => common}/item/IBindable.java | 2 +- .../bloodmagic/common/item/IBloodOrb.java | 15 + .../common/item/ItemActivationCrystal.java | 1 - .../common/item/ItemBindableBase.java | 1 - .../bloodmagic/common/item/ItemBloodOrb.java | 2 - .../common/item/ItemDemonCrystal.java | 4 +- .../common/item/ItemDemonWillGauge.java | 2 +- .../common/item/ItemRitualDiviner.java | 2 +- .../common/item/ItemRitualReader.java | 4 +- .../bloodmagic/common/item/ItemSigil.java | 3 +- .../item => common/item/arc}/IARCTool.java | 5 +- .../common/item/arc/ItemARCToolBase.java | 1 - .../item => common/item/sigil}/ISigil.java | 6 +- .../common/item/sigil/ItemSigilAir.java | 1 - .../item/sigil/ItemSigilBloodLight.java | 1 - .../item/sigil/ItemSigilDivination.java | 7 +- .../common/item/sigil/ItemSigilLava.java | 1 - .../item/sigil/ItemSigilToggleable.java | 3 +- .../common/item/sigil/ItemSigilVoid.java | 1 - .../common/item/sigil/ItemSigilWater.java | 1 - .../common/item/soul/ItemMonsterSoul.java | 4 +- .../common/item/soul/ItemSentientAxe.java | 8 +- .../common/item/soul/ItemSentientPickaxe.java | 8 +- .../common/item/soul/ItemSentientShovel.java | 8 +- .../common/item/soul/ItemSentientSword.java | 8 +- .../common/item/soul/ItemSoulGem.java | 8 +- .../common/recipe/ARCRecipeProvider.java | 2 +- .../common/recipe/BloodMagicRecipeType.java | 10 +- .../serializer/ARCRecipeSerializer.java | 6 +- .../AlchemyArrayRecipeSerializer.java | 4 +- .../AlchemyTableRecipeSerializer.java | 4 +- .../BloodAltarRecipeSerializer.java | 4 +- .../TartaricForgeRecipeSerializer.java | 4 +- .../impl/BloodOrbDeferredRegister.java | 2 +- .../impl/BloodOrbRegistryObject.java | 2 +- .../impl/EntityTypeRegistryObject.java | 2 +- .../BloodMagicRecipeSerializers.java | 25 +- .../AlchemyTableRecipeCategory.java | 2 +- .../jei/altar/BloodAltarRecipeCategory.java | 4 +- .../compat/jei/arc/ARCRecipeCategory.java | 2 +- .../array/AlchemyArrayCraftingCategory.java | 2 +- .../forge/TartaricForgeRecipeCategory.java | 2 +- .../bloodmagic/core/data/SoulTicket.java | 5 +- .../core/recipe/IngredientBloodOrb.java | 2 +- .../core/registry/AlchemyArrayRegistry.java | 2 +- .../AlchemyArrayRendererRegistry.java | 2 +- .../bloodmagic/core/registry/OrbRegistry.java | 2 +- .../demonaura/WorldDemonWillHandler.java | 2 +- .../bloodmagic/event/ItemBindEvent.java | 2 +- .../bloodmagic/gson/Serializers.java | 2 +- .../bloodmagic/impl/BloodMagicAPI.java | 51 +-- .../bloodmagic/impl/BloodMagicCorePlugin.java | 12 + .../impl/BloodMagicRecipeRegistrar.java | 317 +----------------- .../incense/EnumTranquilityType.java | 13 + .../incense/ITranquilityHandler.java | 3 + .../bloodmagic/incense/TranquilityStack.java | 3 + .../network/DemonAuraClientPacket.java | 2 +- .../wayoftime/bloodmagic/orb/IBloodOrb.java | 11 - .../{api => }/recipe/BloodMagicRecipe.java | 4 +- .../bloodmagic/recipe/IRecipeARC.java | 42 --- .../recipe/IRecipeAlchemyArray.java | 30 -- .../recipe/IRecipeAlchemyTable.java | 32 -- .../bloodmagic/recipe/IRecipeBloodAltar.java | 30 -- .../recipe/IRecipeTartaricForge.java | 35 -- .../{api => }/recipe/RecipeARC.java | 26 +- .../{api => }/recipe/RecipeAlchemyArray.java | 22 +- .../{api => }/recipe/RecipeAlchemyTable.java | 20 +- .../{api => }/recipe/RecipeBloodAltar.java | 32 +- .../{api => }/recipe/RecipeTartaricForge.java | 19 +- .../helper}/FluidStackIngredient.java | 3 +- .../helper}/IgnoredIInventory.java | 2 +- .../helper}/InputIngredient.java | 2 +- .../helper}/SerializerHelper.java | 2 +- .../helper}/TagResolverHelper.java | 2 +- .../registry/ModTranquilityHandlers.java | 31 -- .../bloodmagic/ritual/IMasterRitualStone.java | 2 +- .../wayoftime/bloodmagic/ritual/Ritual.java | 2 +- .../ritual/types/RitualCrushing.java | 2 +- .../ritual/types/RitualFeatheredKnife.java | 4 +- .../bloodmagic/ritual/types/RitualLava.java | 2 +- .../tile/TileAlchemicalReactionChamber.java | 6 +- .../bloodmagic/tile/TileAlchemyTable.java | 8 +- .../wayoftime/bloodmagic/tile/TileAltar.java | 6 +- .../bloodmagic/tile/TileDemonCrucible.java | 8 +- .../bloodmagic/tile/TileDemonCrystal.java | 2 +- .../tile/TileDemonCrystallizer.java | 4 +- .../bloodmagic/tile/TileIncenseAltar.java | 2 +- .../tile/TileMasterRitualStone.java | 4 +- .../bloodmagic/tile/TileSoulForge.java | 10 +- .../tile/container/ContainerAlchemyTable.java | 2 +- .../tile/container/ContainerSoulForge.java | 4 +- .../java/wayoftime/bloodmagic/util/Utils.java | 2 +- .../util/handler/event/GenericHandler.java | 6 +- .../util/handler/event/WillHandler.java | 6 +- .../bloodmagic/util/helper/NetworkHelper.java | 6 +- .../util/helper/PlayerSacrificeHelper.java | 2 +- .../providers/IBaseProvider.java | 6 +- .../providers/IEntityTypeProvider.java | 2 +- .../{api => util}/text/IHasTextComponent.java | 2 +- .../text/IHasTranslationKey.java | 2 +- .../bloodmagic/will/DemonWillHolder.java | 1 + .../bloodmagic/will/EnumDemonWillType.java | 54 --- .../will/PlayerDemonWillHandler.java | 3 + 144 files changed, 558 insertions(+), 990 deletions(-) rename src/main/java/wayoftime/bloodmagic/{api/tile => altar}/IBloodAltar.java (81%) rename src/main/java/wayoftime/bloodmagic/{api/tile => altar}/IBloodRune.java (61%) delete mode 100644 src/main/java/wayoftime/bloodmagic/api/IBloodMagicRecipeRegistrar.java create mode 100644 src/main/java/wayoftime/bloodmagic/api/compat/EnumDemonWillType.java rename src/main/java/wayoftime/bloodmagic/api/{item => compat}/IAltarReader.java (77%) rename src/main/java/wayoftime/bloodmagic/api/{item => compat}/ICustomAlchemyConsumable.java (85%) rename src/main/java/wayoftime/bloodmagic/{will => api/compat}/IDemonWill.java (93%) rename src/main/java/wayoftime/bloodmagic/{will => api/compat}/IDemonWillConduit.java (78%) rename src/main/java/wayoftime/bloodmagic/{will => api/compat}/IDemonWillGem.java (92%) rename src/main/java/wayoftime/bloodmagic/api/{item => compat}/IDemonWillViewer.java (73%) rename src/main/java/wayoftime/bloodmagic/{will => api/compat}/IDemonWillWeapon.java (69%) rename src/main/java/wayoftime/bloodmagic/{will => api/compat}/IDiscreteDemonWill.java (90%) rename src/main/java/wayoftime/bloodmagic/{incense => api/compat}/IIncensePath.java (73%) rename src/main/java/wayoftime/bloodmagic/api/{item => compat}/IMultiWillTool.java (53%) delete mode 100644 src/main/java/wayoftime/bloodmagic/api/tile/IAltarComponent.java rename src/main/java/wayoftime/bloodmagic/{orb => common/item}/BloodOrb.java (84%) rename src/main/java/wayoftime/bloodmagic/{api => common}/item/IActivatable.java (88%) rename src/main/java/wayoftime/bloodmagic/{api => common}/item/IBindable.java (95%) create mode 100644 src/main/java/wayoftime/bloodmagic/common/item/IBloodOrb.java rename src/main/java/wayoftime/bloodmagic/{api/item => common/item/arc}/IARCTool.java (69%) rename src/main/java/wayoftime/bloodmagic/{api/item => common/item/sigil}/ISigil.java (75%) delete mode 100644 src/main/java/wayoftime/bloodmagic/orb/IBloodOrb.java rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/BloodMagicRecipe.java (92%) delete mode 100644 src/main/java/wayoftime/bloodmagic/recipe/IRecipeARC.java delete mode 100644 src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyArray.java delete mode 100644 src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyTable.java delete mode 100644 src/main/java/wayoftime/bloodmagic/recipe/IRecipeBloodAltar.java delete mode 100644 src/main/java/wayoftime/bloodmagic/recipe/IRecipeTartaricForge.java rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/RecipeARC.java (76%) rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/RecipeAlchemyArray.java (66%) rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/RecipeAlchemyTable.java (75%) rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/RecipeBloodAltar.java (72%) rename src/main/java/wayoftime/bloodmagic/{api => }/recipe/RecipeTartaricForge.java (73%) rename src/main/java/wayoftime/bloodmagic/{api/event/recipes => recipe/helper}/FluidStackIngredient.java (99%) rename src/main/java/wayoftime/bloodmagic/{api/inventory => recipe/helper}/IgnoredIInventory.java (95%) rename src/main/java/wayoftime/bloodmagic/{api/event/recipes => recipe/helper}/InputIngredient.java (96%) rename src/main/java/wayoftime/bloodmagic/{api => recipe/helper}/SerializerHelper.java (98%) rename src/main/java/wayoftime/bloodmagic/{api/event/recipes => recipe/helper}/TagResolverHelper.java (94%) delete mode 100644 src/main/java/wayoftime/bloodmagic/registry/ModTranquilityHandlers.java rename src/main/java/wayoftime/bloodmagic/{api => util}/providers/IBaseProvider.java (74%) rename src/main/java/wayoftime/bloodmagic/{api => util}/providers/IEntityTypeProvider.java (92%) rename src/main/java/wayoftime/bloodmagic/{api => util}/text/IHasTextComponent.java (75%) rename src/main/java/wayoftime/bloodmagic/{api => util}/text/IHasTranslationKey.java (63%) delete mode 100644 src/main/java/wayoftime/bloodmagic/will/EnumDemonWillType.java diff --git a/src/main/java/wayoftime/bloodmagic/BloodMagic.java b/src/main/java/wayoftime/bloodmagic/BloodMagic.java index 42eab61d..5783c983 100644 --- a/src/main/java/wayoftime/bloodmagic/BloodMagic.java +++ b/src/main/java/wayoftime/bloodmagic/BloodMagic.java @@ -55,7 +55,6 @@ import wayoftime.bloodmagic.impl.BloodMagicAPI; import wayoftime.bloodmagic.impl.BloodMagicCorePlugin; import wayoftime.bloodmagic.network.BloodMagicPacketHandler; import wayoftime.bloodmagic.potion.BloodMagicPotions; -import wayoftime.bloodmagic.registry.ModTranquilityHandlers; import wayoftime.bloodmagic.ritual.RitualManager; import wayoftime.bloodmagic.structures.ModDungeons; import wayoftime.bloodmagic.tile.TileAlchemicalReactionChamber; @@ -133,7 +132,6 @@ public class BloodMagic ModLoadingContext context = ModLoadingContext.get(); context.registerConfig(ModConfig.Type.CLIENT, ConfigManager.CLIENT_SPEC); - ModTranquilityHandlers.init(); ModDungeons.init(); } diff --git a/src/main/java/wayoftime/bloodmagic/altar/AltarUtil.java b/src/main/java/wayoftime/bloodmagic/altar/AltarUtil.java index 68f26d49..b02d469a 100644 --- a/src/main/java/wayoftime/bloodmagic/altar/AltarUtil.java +++ b/src/main/java/wayoftime/bloodmagic/altar/AltarUtil.java @@ -12,7 +12,6 @@ import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import wayoftime.bloodmagic.api.tile.IAltarComponent; import wayoftime.bloodmagic.impl.BloodMagicAPI; import wayoftime.bloodmagic.common.block.BlockBloodRune; import wayoftime.bloodmagic.tile.TileAltar; @@ -35,10 +34,6 @@ public class AltarUtil BlockPos componentPos = pos.add(component.getOffset()); BlockState worldState = world.getBlockState(componentPos); - if (worldState.getBlock() instanceof IAltarComponent) - if (((IAltarComponent) worldState.getBlock()).getType(world, worldState, componentPos) == component.getComponent()) - continue; - if (component.getComponent() == ComponentType.NOTAIR && worldState.getMaterial() != Material.AIR && !worldState.getMaterial().isLiquid()) continue; diff --git a/src/main/java/wayoftime/bloodmagic/altar/BloodAltar.java b/src/main/java/wayoftime/bloodmagic/altar/BloodAltar.java index 628d5286..b2a180c6 100644 --- a/src/main/java/wayoftime/bloodmagic/altar/BloodAltar.java +++ b/src/main/java/wayoftime/bloodmagic/altar/BloodAltar.java @@ -20,13 +20,13 @@ import net.minecraftforge.fluids.capability.templates.FluidTank; import net.minecraftforge.items.ItemHandlerHelper; import wayoftime.bloodmagic.api.event.BloodMagicCraftedEvent; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; import wayoftime.bloodmagic.block.enums.BloodRuneType; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.core.data.Binding; -import wayoftime.bloodmagic.api.item.IBindable; -import wayoftime.bloodmagic.orb.BloodOrb; -import wayoftime.bloodmagic.orb.IBloodOrb; +import wayoftime.bloodmagic.common.item.IBindable; +import wayoftime.bloodmagic.common.item.BloodOrb; +import wayoftime.bloodmagic.common.item.IBloodOrb; import wayoftime.bloodmagic.tile.TileAltar; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NetworkHelper; @@ -201,7 +201,7 @@ public class BloodAltar// implements IFluidHandler RecipeBloodAltar recipe = BloodMagicAPI.INSTANCE.getRecipeRegistrar().getBloodAltar(tileAltar.getWorld(), input); if (recipe != null) { - if (recipe.getMinimumTier().ordinal() <= altarTier.ordinal()) + if (recipe.getMinimumTier() <= altarTier.ordinal()) { this.isActive = true; this.recipe = recipe; diff --git a/src/main/java/wayoftime/bloodmagic/altar/ComponentType.java b/src/main/java/wayoftime/bloodmagic/altar/ComponentType.java index 6c9c6a5e..30cae9dc 100644 --- a/src/main/java/wayoftime/bloodmagic/altar/ComponentType.java +++ b/src/main/java/wayoftime/bloodmagic/altar/ComponentType.java @@ -9,7 +9,6 @@ public enum ComponentType { GLOWSTONE, BLOODSTONE, BEACON, BLOODRUNE, CRYSTAL, NOTAIR; - public static final ComponentType[] VALUES = values(); private static final String BASE = "chat.bloodmagic.altar.comp."; private String key; @@ -22,4 +21,17 @@ public enum ComponentType { return key; } + + public static ComponentType getType(String type) + { + for (ComponentType t : values()) + { + if (t.name().equalsIgnoreCase(type)) + { + return t; + } + } + + return null; + } } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/tile/IBloodAltar.java b/src/main/java/wayoftime/bloodmagic/altar/IBloodAltar.java similarity index 81% rename from src/main/java/wayoftime/bloodmagic/api/tile/IBloodAltar.java rename to src/main/java/wayoftime/bloodmagic/altar/IBloodAltar.java index 1d212292..08f8253c 100644 --- a/src/main/java/wayoftime/bloodmagic/api/tile/IBloodAltar.java +++ b/src/main/java/wayoftime/bloodmagic/altar/IBloodAltar.java @@ -1,14 +1,18 @@ -package wayoftime.bloodmagic.api.tile; - -import wayoftime.bloodmagic.altar.AltarTier; +package wayoftime.bloodmagic.altar; +/** + * Any Tile that implements this will be considered to be a Blood Altar + */ public interface IBloodAltar { int getCapacity(); int getCurrentBlood(); - AltarTier getTier(); + /** + * @return - The actual human-readable tier (ordinal + 1) of the altar + */ + int getTier(); int getProgress(); diff --git a/src/main/java/wayoftime/bloodmagic/api/tile/IBloodRune.java b/src/main/java/wayoftime/bloodmagic/altar/IBloodRune.java similarity index 61% rename from src/main/java/wayoftime/bloodmagic/api/tile/IBloodRune.java rename to src/main/java/wayoftime/bloodmagic/altar/IBloodRune.java index 95c6d207..e5cde2ba 100644 --- a/src/main/java/wayoftime/bloodmagic/api/tile/IBloodRune.java +++ b/src/main/java/wayoftime/bloodmagic/altar/IBloodRune.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.tile; +package wayoftime.bloodmagic.altar; import javax.annotation.Nullable; @@ -7,10 +7,10 @@ import net.minecraft.world.World; import wayoftime.bloodmagic.block.enums.BloodRuneType; /** - * Any block that implements this interface wil be considered as Blood Runes for the Blood Altar + * Any Block that implements this interface wil be considered as Blood Runes for the Blood Altar */ public interface IBloodRune { @Nullable - BloodRuneType getBloodRune(World world, BlockPos pos); + BloodRuneType getBloodRune(World world, BlockPos pos); } diff --git a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicAPI.java b/src/main/java/wayoftime/bloodmagic/api/IBloodMagicAPI.java index d9ea2988..f252309d 100644 --- a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicAPI.java +++ b/src/main/java/wayoftime/bloodmagic/api/IBloodMagicAPI.java @@ -3,6 +3,11 @@ package wayoftime.bloodmagic.api; import javax.annotation.Nonnull; import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.LazyValue; +import org.apache.logging.log4j.LogManager; + +import java.util.function.Predicate; /** * The main interface between a plugin and Blood Magic's internals. @@ -11,12 +16,22 @@ import net.minecraft.block.BlockState; * Magic. More advanced integration is out of the scope of this API and are * considered "addons". * - * To get an instance of this without actually creating an - * {@link IBloodMagicPlugin}, use {@link BloodMagicPlugin.Inject}. + * Use INSTANCE to get an instance of the API without actually implementing anything */ public interface IBloodMagicAPI { - + LazyValue<IBloodMagicAPI> INSTANCE = new LazyValue<>(() -> + { + try + { + return (IBloodMagicAPI) Class.forName("wayoftime.bloodmagic.impl.BloodMagicAPI").getDeclaredField("INSTANCE").get(null); + } + catch (ReflectiveOperationException e) + { + LogManager.getLogger().warn("Unable to find BloodMagicAPI, using a dummy instance instead..."); + return new IBloodMagicAPI() {}; + } + }); // /** // * Retrieves the instance of the blacklist. // * @@ -25,24 +40,19 @@ public interface IBloodMagicAPI // @Nonnull // IBloodMagicBlacklist getBlacklist(); - /** - * Retrieves the instance of the recipe registrar. - * - * @return the active {@link IBloodMagicRecipeRegistrar} instance - */ - @Nonnull - IBloodMagicRecipeRegistrar getRecipeRegistrar(); - /** * Retrieves the instance of the value manager. * * @return the active {@link IBloodMagicValueManager} instance */ @Nonnull - IBloodMagicValueManager getValueManager(); + default IBloodMagicValueManager getValueManager() + { + return new IBloodMagicValueManager() {}; + } /** - * Registers an {@link IBlockState} as a given component for the Blood Altar. + * Registers a {@link BlockState} as a given component for the Blood Altar. * <p> * Valid component types: * <ul> @@ -57,10 +67,10 @@ public interface IBloodMagicAPI * @param state The state to register * @param componentType The type of Blood Altar component to register as. */ - void registerAltarComponent(@Nonnull BlockState state, @Nonnull String componentType); + default void registerAltarComponent(@Nonnull BlockState state, @Nonnull String componentType) {} /** - * Removes an {@link IBlockState} from the component mappings + * Removes a {@link BlockState} from the component mappings * <p> * Valid component types: * <ul> @@ -75,6 +85,42 @@ public interface IBloodMagicAPI * @param state The state to unregister * @param componentType The type of Blood Altar component to unregister from. */ - void unregisterAltarComponent(@Nonnull BlockState state, @Nonnull String componentType); + default void unregisterAltarComponent(@Nonnull BlockState state, @Nonnull String componentType) {} + /** + * Registers a {@link Predicate<BlockState>} for tranquility handling + * <p> + * Valid tranquility types: + * <ul> + * <li>PLANT</li> + * <li>CROP</li> + * <li>TREE</li> + * <li>EARTHEN</li> + * <li>WATER</li> + * <li>FIRE</li> + * <li>LAVA</li> + * </ul> + * + * @param predicate Predicate to be used for the handler (goes to ITranquilityHandler) + * @param tranquilityType Tranquility type that the handler holds + * @param value The amount of tranquility that the handler has + */ + default void registerTranquilityHandler(Predicate<BlockState> predicate, String tranquilityType, double value) {} + + /** + * Gets the total Will that a Player contains + * <p> + * Valid tranquility types: + * <ul> + * <li>DEFAULT</li> + * <li>CORROSIVE</li> + * <li>DESTRUCTIVE</li> + * <li>VENGEFUL</li> + * <li>STEADFAST</li> + * </ul> + */ + default double getTotalDemonWill(String willType, PlayerEntity player) + { + return 0; + } } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicRecipeRegistrar.java b/src/main/java/wayoftime/bloodmagic/api/IBloodMagicRecipeRegistrar.java deleted file mode 100644 index 46b8bd80..00000000 --- a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicRecipeRegistrar.java +++ /dev/null @@ -1,100 +0,0 @@ -package wayoftime.bloodmagic.api; - -/** - * Allows recipe addition and removal. - */ -public interface IBloodMagicRecipeRegistrar -{ - -// /** -// * Adds a new recipe to the Blood Altar. -// * -// * @param input An input {@link Ingredient}. -// * @param output An output {@link ItemStack}. -// * @param minimumTier The minimum Blood Altar tier required for this recipe. -// * @param syphon The amount of Life Essence to syphon from the Blood Altar -// * over the course of the craft. -// * @param consumeRate How quickly the Life Essence is syphoned. -// * @param drainRate How quickly progress is lost if the Blood Altar runs out -// * of Life Essence during the craft. -// */ -// void addBloodAltar(@Nonnull Ingredient input, @Nonnull ItemStack output, @Nonnegative int minimumTier, -// @Nonnegative int syphon, @Nonnegative int consumeRate, @Nonnegative int drainRate); -// -// /** -// * Removes a Blood Altar recipe based on an input {@link ItemStack}. -// * -// * @param input The input item to remove the recipe of. -// * @return Whether or not a recipe was removed. -// */ -// boolean removeBloodAltar(@Nonnull ItemStack input); -// -// /** -// * Adds a new recipe to the Alchemy Table. -// * -// * @param output An output {@link ItemStack}. -// * @param syphon The amount of Life Essence to syphon from the Blood Orb's -// * bound network over the course of the craft. -// * @param ticks The amount of ticks it takes to complete the craft. -// * @param minimumTier The minimum Blood Orb tier required for this recipe. -// * @param input An array of {@link Ingredient}s to accept as inputs. -// */ -// void addAlchemyTable(@Nonnull ItemStack output, @Nonnegative int syphon, @Nonnegative int ticks, -// @Nonnegative int minimumTier, @Nonnull Ingredient... input); -// -// /** -// * Removes an Alchemy Table recipe based on an input {@link ItemStack} array. -// * -// * @param input The input items to remove the recipe of. -// * @return Whether or not a recipe was removed. -// */ -// boolean removeAlchemyTable(@Nonnull ItemStack... input); -// -// /** -// * Adds a new recipe to the Soul/Tartaric Forge. -// * -// * @param output An output {@link ItemStack}. -// * @param minimumSouls The minimum number of souls that must be contained in the -// * Soul Gem. -// * @param soulDrain The number of souls to drain from the Soul Gem. -// * @param input An array of {@link Ingredient}s to accept as inputs. -// */ -// void addTartaricForge(@Nonnull ItemStack output, @Nonnegative double minimumSouls, @Nonnegative double soulDrain, -// @Nonnull Ingredient... input); -// -// /** -// * Removes a Soul/Tartaric Forge recipe based on an input {@link ItemStack} -// * array. -// * -// * @param input The input items to remove the recipe of. -// * @return Whether or not a recipe was removed. -// */ -// boolean removeTartaricForge(@Nonnull ItemStack... input); -// -// /** -// * Adds a new recipe to the Alchemy Array. -// * -// * @param input An input {@link Ingredient}. First item put into the -// * Alchemy Array. -// * @param catalyst A catalyst {@link Ingredient}. Second item put into the -// * Alchemy Array. -// * @param output An output {@link ItemStack}. -// * @param circleTexture The texture to render for the Alchemy Array circle. -// */ -// void addAlchemyArray(@Nonnull Ingredient input, @Nonnull Ingredient catalyst, @Nonnull ItemStack output, -// @Nullable ResourceLocation circleTexture); -// -// /** -// * Removes an Alchemy Array recipe based on an input {@link ItemStack} and it's -// * catalyst {@link ItemStack}. -// * -// * @param input The input item to remove the recipe of. -// * @param catalyst The catalyst item to remove the recipe of. -// * @return Whether or not a recipe was removed. -// */ -// boolean removeAlchemyArray(@Nonnull ItemStack input, @Nonnull ItemStack catalyst); -// -// void addSacrificeCraft(@Nonnull ItemStack output, @Nonnegative double healthRequired, @Nonnull Ingredient... input); -// -// boolean removeSacrificeCraft(@Nonnull ItemStack... input); -} diff --git a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicValueManager.java b/src/main/java/wayoftime/bloodmagic/api/IBloodMagicValueManager.java index 0658e253..da1676d6 100644 --- a/src/main/java/wayoftime/bloodmagic/api/IBloodMagicValueManager.java +++ b/src/main/java/wayoftime/bloodmagic/api/IBloodMagicValueManager.java @@ -21,10 +21,10 @@ public interface IBloodMagicValueManager * @param entityId The registry name of the entity. * @param value The amount of LP per health point to receive upon sacrifice. */ - void setSacrificialValue(@Nonnull ResourceLocation entityId, @Nonnegative int value); + default void setSacrificialValue(@Nonnull ResourceLocation entityId, @Nonnegative int value) {} /** - * Sets the Tranquility value of a given {@link IBlockState}. + * Sets the Tranquility value of a given {@link BlockState}. * <p> * Valid tranquility types: * <ul> @@ -37,9 +37,9 @@ public interface IBloodMagicValueManager * <li>LAVA</li> * </ul> * - * @param state The {@link IBlockState} to set the value of. + * @param state The {@link BlockState} to set the value of. * @param tranquilityType The type of Tranquility this block should provide. * @param value The amount of tranquility this block should provide. */ - void setTranquility(@Nonnull BlockState state, @Nonnull String tranquilityType, double value); + default void setTranquility(@Nonnull BlockState state, @Nonnull String tranquilityType, double value) {} } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/compat/EnumDemonWillType.java b/src/main/java/wayoftime/bloodmagic/api/compat/EnumDemonWillType.java new file mode 100644 index 00000000..87829daf --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/api/compat/EnumDemonWillType.java @@ -0,0 +1,46 @@ +package wayoftime.bloodmagic.api.compat; + +import net.minecraft.util.IStringSerializable; + +import java.util.Locale; + +public enum EnumDemonWillType implements IStringSerializable +{ + DEFAULT("default"), + CORROSIVE("corrosive"), + DESTRUCTIVE("destructive"), + VENGEFUL("vengeful"), + STEADFAST("steadfast"); + + public final String name; + + EnumDemonWillType(String name) + { + this.name = name; + } + + @Override + public String toString() + { + return name().toLowerCase(Locale.ENGLISH); + } + + @Override + public String getString() + { + return this.toString(); + } + + public static EnumDemonWillType getType(String type) + { + for (EnumDemonWillType t : values()) + { + if (t.name().equalsIgnoreCase(type)) + { + return t; + } + } + + return null; + } +} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IAltarReader.java b/src/main/java/wayoftime/bloodmagic/api/compat/IAltarReader.java similarity index 77% rename from src/main/java/wayoftime/bloodmagic/api/item/IAltarReader.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IAltarReader.java index 8e69a282..7eb672fd 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IAltarReader.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IAltarReader.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.api.compat; /** * Any item that implements this interface will not be pulled into the Altar on diff --git a/src/main/java/wayoftime/bloodmagic/api/item/ICustomAlchemyConsumable.java b/src/main/java/wayoftime/bloodmagic/api/compat/ICustomAlchemyConsumable.java similarity index 85% rename from src/main/java/wayoftime/bloodmagic/api/item/ICustomAlchemyConsumable.java rename to src/main/java/wayoftime/bloodmagic/api/compat/ICustomAlchemyConsumable.java index 58f57972..10822cee 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/ICustomAlchemyConsumable.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/ICustomAlchemyConsumable.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.api.compat; import net.minecraft.item.ItemStack; diff --git a/src/main/java/wayoftime/bloodmagic/will/IDemonWill.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWill.java similarity index 93% rename from src/main/java/wayoftime/bloodmagic/will/IDemonWill.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDemonWill.java index 3234d1fd..0957789f 100644 --- a/src/main/java/wayoftime/bloodmagic/will/IDemonWill.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWill.java @@ -1,7 +1,10 @@ -package wayoftime.bloodmagic.will; +package wayoftime.bloodmagic.api.compat; import net.minecraft.item.ItemStack; +/** + * Interface for Items that contain Will + */ public interface IDemonWill { /** @@ -35,7 +38,6 @@ public interface IDemonWill * Creates a new ItemStack with the specified number of will. Implementation * should respect the number requested. * - * @param meta - The meta of the ItemStack to create * @param number - The amount of Will to create the Stack with. * @return - An ItemStack with the set amount of Will */ diff --git a/src/main/java/wayoftime/bloodmagic/will/IDemonWillConduit.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillConduit.java similarity index 78% rename from src/main/java/wayoftime/bloodmagic/will/IDemonWillConduit.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillConduit.java index 61fa7138..b069377b 100644 --- a/src/main/java/wayoftime/bloodmagic/will/IDemonWillConduit.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillConduit.java @@ -1,7 +1,7 @@ -package wayoftime.bloodmagic.will; +package wayoftime.bloodmagic.api.compat; /** - * Implement this interface on a block that can accept and store Demonic Will. + * Implement this interface on a Block that can accept and store Demonic Will. */ public interface IDemonWillConduit { diff --git a/src/main/java/wayoftime/bloodmagic/will/IDemonWillGem.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillGem.java similarity index 92% rename from src/main/java/wayoftime/bloodmagic/will/IDemonWillGem.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillGem.java index e1f9a799..2e0ef4e9 100644 --- a/src/main/java/wayoftime/bloodmagic/will/IDemonWillGem.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillGem.java @@ -1,7 +1,10 @@ -package wayoftime.bloodmagic.will; +package wayoftime.bloodmagic.api.compat; import net.minecraft.item.ItemStack; +/** + * Interface for Items that store Will + */ public interface IDemonWillGem { /** diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IDemonWillViewer.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillViewer.java similarity index 73% rename from src/main/java/wayoftime/bloodmagic/api/item/IDemonWillViewer.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillViewer.java index 9ee2ef1a..7f646c72 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IDemonWillViewer.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillViewer.java @@ -1,9 +1,12 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.api.compat; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +/** + * Interface for Items that allow players to see Will inside of chunks + */ public interface IDemonWillViewer { boolean canSeeDemonWillAura(World world, ItemStack stack, PlayerEntity player); diff --git a/src/main/java/wayoftime/bloodmagic/will/IDemonWillWeapon.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillWeapon.java similarity index 69% rename from src/main/java/wayoftime/bloodmagic/will/IDemonWillWeapon.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillWeapon.java index e74f7ac5..95a894c7 100644 --- a/src/main/java/wayoftime/bloodmagic/will/IDemonWillWeapon.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDemonWillWeapon.java @@ -1,10 +1,13 @@ -package wayoftime.bloodmagic.will; +package wayoftime.bloodmagic.api.compat; import java.util.List; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; +/** + * Interface for weapons that drop will when a LivingEntity is killed + */ public interface IDemonWillWeapon { List<ItemStack> getRandomDemonWillDrop(LivingEntity killedEntity, LivingEntity attackingEntity, ItemStack stack, int looting); diff --git a/src/main/java/wayoftime/bloodmagic/will/IDiscreteDemonWill.java b/src/main/java/wayoftime/bloodmagic/api/compat/IDiscreteDemonWill.java similarity index 90% rename from src/main/java/wayoftime/bloodmagic/will/IDiscreteDemonWill.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IDiscreteDemonWill.java index 9388ce13..2b79fbb4 100644 --- a/src/main/java/wayoftime/bloodmagic/will/IDiscreteDemonWill.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IDiscreteDemonWill.java @@ -1,7 +1,10 @@ -package wayoftime.bloodmagic.will; +package wayoftime.bloodmagic.api.compat; import net.minecraft.item.ItemStack; +/** + * Interface for Items that contain a discrete amount of Will + */ public interface IDiscreteDemonWill { /** diff --git a/src/main/java/wayoftime/bloodmagic/incense/IIncensePath.java b/src/main/java/wayoftime/bloodmagic/api/compat/IIncensePath.java similarity index 73% rename from src/main/java/wayoftime/bloodmagic/incense/IIncensePath.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IIncensePath.java index ae5ef122..2ba87a7d 100644 --- a/src/main/java/wayoftime/bloodmagic/incense/IIncensePath.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IIncensePath.java @@ -1,9 +1,12 @@ -package wayoftime.bloodmagic.incense; +package wayoftime.bloodmagic.api.compat; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +/** + * Any Block that implements this will be considered to be a valid path block for the Incense Altar + */ public interface IIncensePath { /** diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IMultiWillTool.java b/src/main/java/wayoftime/bloodmagic/api/compat/IMultiWillTool.java similarity index 53% rename from src/main/java/wayoftime/bloodmagic/api/item/IMultiWillTool.java rename to src/main/java/wayoftime/bloodmagic/api/compat/IMultiWillTool.java index 02b84710..790dbf62 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IMultiWillTool.java +++ b/src/main/java/wayoftime/bloodmagic/api/compat/IMultiWillTool.java @@ -1,8 +1,10 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.api.compat; import net.minecraft.item.ItemStack; -import wayoftime.bloodmagic.will.EnumDemonWillType; +/** + * Interface for Items that can contain multiple Will types + */ public interface IMultiWillTool { EnumDemonWillType getCurrentType(ItemStack stack); diff --git a/src/main/java/wayoftime/bloodmagic/api/tile/IAltarComponent.java b/src/main/java/wayoftime/bloodmagic/api/tile/IAltarComponent.java deleted file mode 100644 index 730351d3..00000000 --- a/src/main/java/wayoftime/bloodmagic/api/tile/IAltarComponent.java +++ /dev/null @@ -1,14 +0,0 @@ -package wayoftime.bloodmagic.api.tile; - -import javax.annotation.Nullable; - -import net.minecraft.block.BlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import wayoftime.bloodmagic.altar.ComponentType; - -public interface IAltarComponent -{ - @Nullable - ComponentType getType(World world, BlockState state, BlockPos pos); -} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/block/enums/BloodRuneType.java b/src/main/java/wayoftime/bloodmagic/block/enums/BloodRuneType.java index 2c7f6d8d..cce55391 100644 --- a/src/main/java/wayoftime/bloodmagic/block/enums/BloodRuneType.java +++ b/src/main/java/wayoftime/bloodmagic/block/enums/BloodRuneType.java @@ -6,7 +6,16 @@ import net.minecraft.util.IStringSerializable; public enum BloodRuneType implements IStringSerializable { - BLANK, SPEED, EFFICIENCY, SACRIFICE, SELF_SACRIFICE, DISPLACEMENT, CAPACITY, AUGMENTED_CAPACITY, ORB, ACCELERATION, + BLANK, + SPEED, + EFFICIENCY, + SACRIFICE, + SELF_SACRIFICE, + DISPLACEMENT, + CAPACITY, + AUGMENTED_CAPACITY, + ORB, + ACCELERATION, CHARGING; @Override diff --git a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java index 6795ceed..1ad86927 100644 --- a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java +++ b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java @@ -19,7 +19,6 @@ import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.item.IMultiWillTool; import wayoftime.bloodmagic.client.model.MimicColor; import wayoftime.bloodmagic.client.render.block.RenderAlchemyArray; import wayoftime.bloodmagic.client.render.block.RenderAltar; @@ -35,6 +34,7 @@ import wayoftime.bloodmagic.common.item.ItemSacrificialDagger; import wayoftime.bloodmagic.common.item.sigil.ItemSigilToggleable; import wayoftime.bloodmagic.common.item.soul.ItemSentientSword; import wayoftime.bloodmagic.common.registries.BloodMagicEntityTypes; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.tile.TileAlchemyArray; import wayoftime.bloodmagic.tile.TileAltar; import wayoftime.bloodmagic.tile.TileDemonCrucible; diff --git a/src/main/java/wayoftime/bloodmagic/client/hud/Elements.java b/src/main/java/wayoftime/bloodmagic/client/hud/Elements.java index 7a4697fd..18515e0f 100644 --- a/src/main/java/wayoftime/bloodmagic/client/hud/Elements.java +++ b/src/main/java/wayoftime/bloodmagic/client/hud/Elements.java @@ -31,7 +31,7 @@ public class Elements // Current tier information.accept(Pair.of(new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 0, 46, 16, 16), altar -> altar == null ? "IV" - : NumeralHelper.toRoman(altar.getTier().toInt()))); + : NumeralHelper.toRoman(altar.getTier()))); // Stored/Capacity information.accept(Pair.of(new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 16, 46, 16, 16), altar -> String.format("%d/%d", altar == null ? 0 @@ -47,7 +47,7 @@ public class Elements // Current tier information.accept(Pair.of(new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 0, 46, 16, 16), altar -> altar == null ? "IV" - : NumeralHelper.toRoman(altar.getTier().toInt()))); + : NumeralHelper.toRoman(altar.getTier()))); // Stored/Capacity information.accept(Pair.of(new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 16, 46, 16, 16), altar -> String.format("%d/%d", altar == null ? 0 diff --git a/src/main/java/wayoftime/bloodmagic/client/hud/element/ElementDemonAura.java b/src/main/java/wayoftime/bloodmagic/client/hud/element/ElementDemonAura.java index 5555edf9..6f29cf8a 100644 --- a/src/main/java/wayoftime/bloodmagic/client/hud/element/ElementDemonAura.java +++ b/src/main/java/wayoftime/bloodmagic/client/hud/element/ElementDemonAura.java @@ -12,7 +12,7 @@ import net.minecraft.util.ResourceLocation; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.util.Utils; import wayoftime.bloodmagic.util.handler.event.ClientHandler; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class ElementDemonAura extends HUDElement { diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockAltar.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockAltar.java index b421ff46..af1908e3 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockAltar.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockAltar.java @@ -16,7 +16,7 @@ import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorld; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; -import wayoftime.bloodmagic.api.item.IAltarReader; +import wayoftime.bloodmagic.api.compat.IAltarReader; import wayoftime.bloodmagic.tile.TileAltar; import wayoftime.bloodmagic.util.Utils; diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockBloodRune.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockBloodRune.java index 41bad0eb..470ba08a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockBloodRune.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockBloodRune.java @@ -16,7 +16,7 @@ import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; import wayoftime.bloodmagic.block.enums.BloodRuneType; -import wayoftime.bloodmagic.api.tile.IBloodRune; +import wayoftime.bloodmagic.altar.IBloodRune; public class BlockBloodRune extends Block implements IBloodRune { diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java index b369f27e..41a302a7 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java @@ -18,8 +18,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.ToolType; import wayoftime.bloodmagic.tile.TileDemonCrucible; import wayoftime.bloodmagic.util.Utils; -import wayoftime.bloodmagic.will.IDemonWillGem; -import wayoftime.bloodmagic.will.IDiscreteDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; +import wayoftime.bloodmagic.api.compat.IDiscreteDemonWill; public class BlockDemonCrucible extends Block { diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrystal.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrystal.java index ca889a01..291b6e69 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrystal.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrystal.java @@ -29,9 +29,10 @@ import net.minecraft.world.IWorld; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; +import wayoftime.bloodmagic.common.item.BloodMagicItems; import wayoftime.bloodmagic.common.item.ItemDemonCrystal; import wayoftime.bloodmagic.tile.TileDemonCrystal; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class BlockDemonCrystal extends Block @@ -95,21 +96,21 @@ public class BlockDemonCrystal extends Block ItemStack stack = ItemStack.EMPTY; switch (type) { - case CORROSIVE: - stack = EnumDemonWillType.CORROSIVE.getStack(); - break; - case DEFAULT: - stack = EnumDemonWillType.DEFAULT.getStack(); - break; - case DESTRUCTIVE: - stack = EnumDemonWillType.DESTRUCTIVE.getStack(); - break; - case STEADFAST: - stack = EnumDemonWillType.STEADFAST.getStack(); - break; - case VENGEFUL: - stack = EnumDemonWillType.VENGEFUL.getStack(); - break; + case CORROSIVE: + stack = new ItemStack(BloodMagicItems.CORROSIVE_CRYSTAL.get()); + break; + case DEFAULT: + stack = new ItemStack(BloodMagicItems.RAW_CRYSTAL.get()); + break; + case DESTRUCTIVE: + stack = new ItemStack(BloodMagicItems.DESTRUCTIVE_CRYSTAL.get()); + break; + case STEADFAST: + stack = new ItemStack(BloodMagicItems.STEADFAST_CRYSTAL.get()); + break; + case VENGEFUL: + stack = new ItemStack(BloodMagicItems.VENGEFUL_CRYSTAL.get()); + break; } stack.setCount(crystalNumber); diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockMasterRitualStone.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockMasterRitualStone.java index 1bb6c062..360118bb 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockMasterRitualStone.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockMasterRitualStone.java @@ -20,7 +20,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ToolType; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.ItemActivationCrystal; -import wayoftime.bloodmagic.api.item.IBindable; +import wayoftime.bloodmagic.common.item.IBindable; import wayoftime.bloodmagic.ritual.Ritual; import wayoftime.bloodmagic.tile.TileMasterRitualStone; import wayoftime.bloodmagic.util.helper.RitualHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockPath.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockPath.java index bc854616..d0888152 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BlockPath.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockPath.java @@ -4,7 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import wayoftime.bloodmagic.incense.IIncensePath; +import wayoftime.bloodmagic.api.compat.IIncensePath; public class BlockPath extends Block implements IIncensePath { diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java index 97f75b94..5b32fd7a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java @@ -36,7 +36,7 @@ import wayoftime.bloodmagic.ritual.EnumRuneType; import wayoftime.bloodmagic.tile.container.ContainerAlchemicalReactionChamber; import wayoftime.bloodmagic.tile.container.ContainerAlchemyTable; import wayoftime.bloodmagic.tile.container.ContainerSoulForge; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class BloodMagicBlocks { diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java index a7ca5890..70e010b6 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java @@ -11,7 +11,7 @@ import net.minecraftforge.fml.RegistryObject; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.common.item.BloodMagicItems; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class GeneratorItemModels extends ItemModelProvider { diff --git a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/ARCRecipeBuilder.java b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/ARCRecipeBuilder.java index 9bb51c4a..cda7631a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/ARCRecipeBuilder.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/ARCRecipeBuilder.java @@ -14,9 +14,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; -import wayoftime.bloodmagic.api.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient; +import wayoftime.bloodmagic.recipe.RecipeARC; import wayoftime.bloodmagic.common.data.recipe.BloodMagicRecipeBuilder; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyArrayRecipeBuilder.java b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyArrayRecipeBuilder.java index dd6fcdcf..429c8f58 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyArrayRecipeBuilder.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyArrayRecipeBuilder.java @@ -7,7 +7,7 @@ import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.SerializerHelper; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; import wayoftime.bloodmagic.common.data.recipe.BloodMagicRecipeBuilder; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyTableRecipeBuilder.java b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyTableRecipeBuilder.java index d2a49e56..19384024 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyTableRecipeBuilder.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/AlchemyTableRecipeBuilder.java @@ -12,8 +12,8 @@ import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; import wayoftime.bloodmagic.common.data.recipe.BloodMagicRecipeBuilder; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/BloodAltarRecipeBuilder.java b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/BloodAltarRecipeBuilder.java index 1b6ef6eb..9abb52ea 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/BloodAltarRecipeBuilder.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/BloodAltarRecipeBuilder.java @@ -7,7 +7,7 @@ import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.SerializerHelper; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; import wayoftime.bloodmagic.common.data.recipe.BloodMagicRecipeBuilder; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/TartaricForgeRecipeBuilder.java b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/TartaricForgeRecipeBuilder.java index 25c88c51..2813fbeb 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/TartaricForgeRecipeBuilder.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/recipe/builder/TartaricForgeRecipeBuilder.java @@ -10,7 +10,7 @@ import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.SerializerHelper; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; import wayoftime.bloodmagic.common.data.recipe.BloodMagicRecipeBuilder; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java index e21d8959..869fdb16 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java @@ -30,10 +30,9 @@ import wayoftime.bloodmagic.common.item.soul.ItemSoulGem; import wayoftime.bloodmagic.common.item.soul.ItemSoulSnare; import wayoftime.bloodmagic.common.registration.impl.BloodOrbDeferredRegister; import wayoftime.bloodmagic.common.registration.impl.BloodOrbRegistryObject; -import wayoftime.bloodmagic.orb.BloodOrb; import wayoftime.bloodmagic.ritual.EnumRuneType; import wayoftime.bloodmagic.structures.ItemDungeonTester; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class BloodMagicItems { diff --git a/src/main/java/wayoftime/bloodmagic/orb/BloodOrb.java b/src/main/java/wayoftime/bloodmagic/common/item/BloodOrb.java similarity index 84% rename from src/main/java/wayoftime/bloodmagic/orb/BloodOrb.java rename to src/main/java/wayoftime/bloodmagic/common/item/BloodOrb.java index 753bd1f6..a0a88332 100644 --- a/src/main/java/wayoftime/bloodmagic/orb/BloodOrb.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/BloodOrb.java @@ -1,12 +1,12 @@ -package wayoftime.bloodmagic.orb; +package wayoftime.bloodmagic.common.item; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.registries.ForgeRegistryEntry; /** - * Refactoring of the original BloodOrb. BloodOrbs are no longer registered due - * to The Flattening. + * Base Blood Orb class object for blood orbs */ -public class BloodOrb extends net.minecraftforge.registries.ForgeRegistryEntry<BloodOrb> +public final class BloodOrb extends ForgeRegistryEntry<BloodOrb> { private final ResourceLocation name; private final int tier; diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IActivatable.java b/src/main/java/wayoftime/bloodmagic/common/item/IActivatable.java similarity index 88% rename from src/main/java/wayoftime/bloodmagic/api/item/IActivatable.java rename to src/main/java/wayoftime/bloodmagic/common/item/IActivatable.java index fa63a190..096e30b6 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IActivatable.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/IActivatable.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.common.item; import javax.annotation.Nonnull; @@ -7,7 +7,7 @@ import net.minecraft.nbt.CompoundNBT; import wayoftime.bloodmagic.util.Constants; /** - * Interface for activatable items + * Interface for activatable Items */ public interface IActivatable { diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IBindable.java b/src/main/java/wayoftime/bloodmagic/common/item/IBindable.java similarity index 95% rename from src/main/java/wayoftime/bloodmagic/api/item/IBindable.java rename to src/main/java/wayoftime/bloodmagic/common/item/IBindable.java index a9c1c3e9..95017ea7 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IBindable.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/IBindable.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.common.item; import javax.annotation.Nullable; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/IBloodOrb.java b/src/main/java/wayoftime/bloodmagic/common/item/IBloodOrb.java new file mode 100644 index 00000000..903467a1 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/common/item/IBloodOrb.java @@ -0,0 +1,15 @@ +package wayoftime.bloodmagic.common.item; + +import javax.annotation.Nullable; + +import net.minecraft.item.ItemStack; + +/** + * Interface for any items that are Blood Orbs + * TODO: Should either merge this implementation with BloodOrb or clean it up idk + */ +public interface IBloodOrb +{ + @Nullable + BloodOrb getOrb(ItemStack stack); +} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemActivationCrystal.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemActivationCrystal.java index a6380e0a..430f5823 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemActivationCrystal.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemActivationCrystal.java @@ -14,7 +14,6 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.core.data.Binding; -import wayoftime.bloodmagic.api.item.IBindable; public class ItemActivationCrystal extends Item implements IBindable { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemBindableBase.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemBindableBase.java index d6793ad9..9dd810c5 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemBindableBase.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemBindableBase.java @@ -12,7 +12,6 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.core.data.Binding; -import wayoftime.bloodmagic.api.item.IBindable; public class ItemBindableBase extends Item implements IBindable { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemBloodOrb.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemBloodOrb.java index 080417c2..08189f4a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemBloodOrb.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemBloodOrb.java @@ -21,8 +21,6 @@ import net.minecraftforge.common.extensions.IForgeItem; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.orb.BloodOrb; -import wayoftime.bloodmagic.orb.IBloodOrb; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonCrystal.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonCrystal.java index 3c9a72f3..8e36fe65 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonCrystal.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonCrystal.java @@ -3,8 +3,8 @@ package wayoftime.bloodmagic.common.item; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDiscreteDemonWill; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDiscreteDemonWill; public class ItemDemonCrystal extends Item implements IDiscreteDemonWill { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonWillGauge.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonWillGauge.java index fcc54745..704c8ada 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonWillGauge.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemDemonWillGauge.java @@ -13,7 +13,7 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.item.IDemonWillViewer; +import wayoftime.bloodmagic.api.compat.IDemonWillViewer; import wayoftime.bloodmagic.util.handler.event.GenericHandler; public class ItemDemonWillGauge extends Item implements IDemonWillViewer diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualDiviner.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualDiviner.java index 3e20849f..13f2c0a9 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualDiviner.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualDiviner.java @@ -45,7 +45,7 @@ import wayoftime.bloodmagic.util.Utils; import wayoftime.bloodmagic.util.handler.event.ClientHandler; import wayoftime.bloodmagic.util.helper.RitualHelper; import wayoftime.bloodmagic.util.helper.TextHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class ItemRitualDiviner extends Item { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualReader.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualReader.java index 923b4ba8..bae5f453 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualReader.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemRitualReader.java @@ -38,8 +38,8 @@ import wayoftime.bloodmagic.util.handler.event.ClientHandler; import wayoftime.bloodmagic.util.helper.NBTHelper; import wayoftime.bloodmagic.util.helper.TextHelper; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDiscreteDemonWill; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDiscreteDemonWill; public class ItemRitualReader extends Item { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemSigil.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemSigil.java index 1b0d5d35..f609305f 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemSigil.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemSigil.java @@ -11,8 +11,7 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.core.data.Binding; -import wayoftime.bloodmagic.api.item.IBindable; -import wayoftime.bloodmagic.api.item.ISigil; +import wayoftime.bloodmagic.common.item.sigil.ISigil; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; diff --git a/src/main/java/wayoftime/bloodmagic/api/item/IARCTool.java b/src/main/java/wayoftime/bloodmagic/common/item/arc/IARCTool.java similarity index 69% rename from src/main/java/wayoftime/bloodmagic/api/item/IARCTool.java rename to src/main/java/wayoftime/bloodmagic/common/item/arc/IARCTool.java index 681d07ec..f4c094ba 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/IARCTool.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/arc/IARCTool.java @@ -1,7 +1,10 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.common.item.arc; import net.minecraft.item.ItemStack; +/** + * Interface for items that affect ARC operation + */ public interface IARCTool { default double getCraftingSpeedMultiplier(ItemStack stack) diff --git a/src/main/java/wayoftime/bloodmagic/common/item/arc/ItemARCToolBase.java b/src/main/java/wayoftime/bloodmagic/common/item/arc/ItemARCToolBase.java index defbb762..96aeec6a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/arc/ItemARCToolBase.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/arc/ItemARCToolBase.java @@ -11,7 +11,6 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.item.IARCTool; import wayoftime.bloodmagic.util.ChatUtil; public class ItemARCToolBase extends Item implements IARCTool diff --git a/src/main/java/wayoftime/bloodmagic/api/item/ISigil.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ISigil.java similarity index 75% rename from src/main/java/wayoftime/bloodmagic/api/item/ISigil.java rename to src/main/java/wayoftime/bloodmagic/common/item/sigil/ISigil.java index 8225fe06..b438154b 100644 --- a/src/main/java/wayoftime/bloodmagic/api/item/ISigil.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ISigil.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.item; +package wayoftime.bloodmagic.common.item.sigil; import javax.annotation.Nonnull; @@ -6,14 +6,12 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import wayoftime.bloodmagic.common.item.ItemSigil; /** - * Used for all {@link ItemSigil} <b>EXCEPT</b> Sigils of Holdings. + * Used for all ItemSigils <b>EXCEPT</b> for Sigils of Holding. */ public interface ISigil { - default boolean performArrayEffect(World world, BlockPos pos) { return false; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilAir.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilAir.java index 0105d0ba..3fca97f4 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilAir.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilAir.java @@ -9,7 +9,6 @@ import net.minecraft.util.SoundEvents; import net.minecraft.util.math.vector.Vector3d; import net.minecraft.world.World; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.ISigil; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilBloodLight.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilBloodLight.java index 76730f9a..e7245bae 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilBloodLight.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilBloodLight.java @@ -14,7 +14,6 @@ import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.core.data.SoulTicket; import wayoftime.bloodmagic.entity.projectile.EntityBloodLight; -import wayoftime.bloodmagic.api.item.ISigil; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; import wayoftime.bloodmagic.util.helper.NetworkHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilDivination.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilDivination.java index 2a32b311..98591287 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilDivination.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilDivination.java @@ -16,10 +16,9 @@ import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.World; -import wayoftime.bloodmagic.api.tile.IBloodAltar; +import wayoftime.bloodmagic.altar.IBloodAltar; import wayoftime.bloodmagic.core.data.Binding; -import wayoftime.bloodmagic.api.item.IAltarReader; -import wayoftime.bloodmagic.api.item.ISigil; +import wayoftime.bloodmagic.api.compat.IAltarReader; import wayoftime.bloodmagic.tile.TileIncenseAltar; import wayoftime.bloodmagic.util.ChatUtil; import wayoftime.bloodmagic.util.helper.NetworkHelper; @@ -72,7 +71,7 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader if (tile != null && tile instanceof IBloodAltar) { IBloodAltar altar = (IBloodAltar) tile; - int tier = altar.getTier().ordinal() + 1; + int tier = altar.getTier(); int currentEssence = altar.getCurrentBlood(); int capacity = altar.getCapacity(); altar.checkTier(); diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilLava.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilLava.java index 7f5b3bf2..7affee21 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilLava.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilLava.java @@ -14,7 +14,6 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.ISigil; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilToggleable.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilToggleable.java index 501b461e..7d583316 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilToggleable.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilToggleable.java @@ -14,8 +14,7 @@ import net.minecraft.world.World; import wayoftime.bloodmagic.common.item.ItemSigil; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.IActivatable; -import wayoftime.bloodmagic.api.item.ISigil; +import wayoftime.bloodmagic.common.item.IActivatable; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; import wayoftime.bloodmagic.util.helper.NetworkHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilVoid.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilVoid.java index 771f3315..ef7dace9 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilVoid.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilVoid.java @@ -15,7 +15,6 @@ import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.ISigil; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilWater.java b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilWater.java index 78dc4395..a3a9356a 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilWater.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/sigil/ItemSigilWater.java @@ -16,7 +16,6 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.ISigil; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemMonsterSoul.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemMonsterSoul.java index 8558b314..f49a47fe 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemMonsterSoul.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemMonsterSoul.java @@ -17,8 +17,8 @@ import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.util.ChatUtil; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; public class ItemMonsterSoul extends Item implements IDemonWill { diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientAxe.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientAxe.java index b371bbe8..6bf3c0c0 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientAxe.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientAxe.java @@ -36,12 +36,12 @@ import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.BMItemTier; import wayoftime.bloodmagic.common.item.BloodMagicItems; -import wayoftime.bloodmagic.api.item.IMultiWillTool; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillWeapon; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillWeapon; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class ItemSentientAxe extends AxeItem implements IDemonWillWeapon, IMultiWillTool diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientPickaxe.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientPickaxe.java index 125fb0ff..e7c96f3b 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientPickaxe.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientPickaxe.java @@ -36,12 +36,12 @@ import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.BMItemTier; import wayoftime.bloodmagic.common.item.BloodMagicItems; -import wayoftime.bloodmagic.api.item.IMultiWillTool; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillWeapon; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillWeapon; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class ItemSentientPickaxe extends PickaxeItem implements IDemonWillWeapon, IMultiWillTool diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientShovel.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientShovel.java index b7f00f64..d17ce52e 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientShovel.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientShovel.java @@ -36,12 +36,12 @@ import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.BMItemTier; import wayoftime.bloodmagic.common.item.BloodMagicItems; -import wayoftime.bloodmagic.api.item.IMultiWillTool; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillWeapon; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillWeapon; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class ItemSentientShovel extends ShovelItem implements IDemonWillWeapon, IMultiWillTool diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientSword.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientSword.java index 41b27cf4..8e194b7f 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientSword.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSentientSword.java @@ -35,12 +35,12 @@ import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.BMItemTier; import wayoftime.bloodmagic.common.item.BloodMagicItems; -import wayoftime.bloodmagic.api.item.IMultiWillTool; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillWeapon; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillWeapon; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class ItemSentientSword extends SwordItem implements IDemonWillWeapon, IMultiWillTool diff --git a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSoulGem.java b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSoulGem.java index 56e78285..fc799373 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSoulGem.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/soul/ItemSoulGem.java @@ -20,13 +20,13 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.item.IMultiWillTool; +import wayoftime.bloodmagic.api.compat.IMultiWillTool; import wayoftime.bloodmagic.util.ChatUtil; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NBTHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillGem; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class ItemSoulGem extends Item implements IDemonWillGem, IMultiWillTool diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java b/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java index 9cbe1048..1a7bbd1e 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java @@ -16,7 +16,7 @@ import net.minecraftforge.common.crafting.conditions.NotCondition; import net.minecraftforge.common.crafting.conditions.TagEmptyCondition; import net.minecraftforge.fluids.FluidStack; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; +import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient; import wayoftime.bloodmagic.common.data.recipe.builder.ARCRecipeBuilder; import wayoftime.bloodmagic.common.item.BloodMagicItems; import wayoftime.bloodmagic.common.tags.BloodMagicTags; diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/BloodMagicRecipeType.java b/src/main/java/wayoftime/bloodmagic/common/recipe/BloodMagicRecipeType.java index f176e79a..7c70c83f 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/BloodMagicRecipeType.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/BloodMagicRecipeType.java @@ -1,11 +1,11 @@ package wayoftime.bloodmagic.common.recipe; import net.minecraft.item.crafting.IRecipeType; -import wayoftime.bloodmagic.api.recipe.RecipeARC; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; public class BloodMagicRecipeType { diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/ARCRecipeSerializer.java b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/ARCRecipeSerializer.java index 9ce6ea5a..57869822 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/ARCRecipeSerializer.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/ARCRecipeSerializer.java @@ -21,9 +21,9 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.registries.ForgeRegistryEntry; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; -import wayoftime.bloodmagic.api.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient; +import wayoftime.bloodmagic.recipe.RecipeARC; import wayoftime.bloodmagic.util.Constants; public class ARCRecipeSerializer<RECIPE extends RecipeARC> extends ForgeRegistryEntry<IRecipeSerializer<?>> diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyArrayRecipeSerializer.java b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyArrayRecipeSerializer.java index 08e8ae0c..6ebf7753 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyArrayRecipeSerializer.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyArrayRecipeSerializer.java @@ -12,8 +12,8 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistryEntry; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; import wayoftime.bloodmagic.util.Constants; public class AlchemyArrayRecipeSerializer<RECIPE extends RecipeAlchemyArray> diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyTableRecipeSerializer.java b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyTableRecipeSerializer.java index 34a42e0f..032c1837 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyTableRecipeSerializer.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/AlchemyTableRecipeSerializer.java @@ -16,8 +16,8 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistryEntry; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; import wayoftime.bloodmagic.util.Constants; public class AlchemyTableRecipeSerializer<RECIPE extends RecipeAlchemyTable> diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/BloodAltarRecipeSerializer.java b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/BloodAltarRecipeSerializer.java index fd6e19fa..a50c1fbd 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/BloodAltarRecipeSerializer.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/BloodAltarRecipeSerializer.java @@ -12,8 +12,8 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistryEntry; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; import wayoftime.bloodmagic.util.Constants; public class BloodAltarRecipeSerializer<RECIPE extends RecipeBloodAltar> diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/TartaricForgeRecipeSerializer.java b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/TartaricForgeRecipeSerializer.java index e6b460ce..18fadfb4 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/TartaricForgeRecipeSerializer.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/serializer/TartaricForgeRecipeSerializer.java @@ -15,8 +15,8 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistryEntry; -import wayoftime.bloodmagic.api.SerializerHelper; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.helper.SerializerHelper; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; import wayoftime.bloodmagic.util.Constants; public class TartaricForgeRecipeSerializer<RECIPE extends RecipeTartaricForge> diff --git a/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbDeferredRegister.java b/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbDeferredRegister.java index cc54ca3b..0663347b 100644 --- a/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbDeferredRegister.java +++ b/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbDeferredRegister.java @@ -4,7 +4,7 @@ import java.util.function.Supplier; import net.minecraft.util.ResourceLocation; import wayoftime.bloodmagic.common.registration.WrappedDeferredRegister; -import wayoftime.bloodmagic.orb.BloodOrb; +import wayoftime.bloodmagic.common.item.BloodOrb; public class BloodOrbDeferredRegister extends WrappedDeferredRegister<BloodOrb> { diff --git a/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbRegistryObject.java b/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbRegistryObject.java index f97d2347..e9818ea3 100644 --- a/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbRegistryObject.java +++ b/src/main/java/wayoftime/bloodmagic/common/registration/impl/BloodOrbRegistryObject.java @@ -2,7 +2,7 @@ package wayoftime.bloodmagic.common.registration.impl; import net.minecraftforge.fml.RegistryObject; import wayoftime.bloodmagic.common.registration.WrappedRegistryObject; -import wayoftime.bloodmagic.orb.BloodOrb; +import wayoftime.bloodmagic.common.item.BloodOrb; public class BloodOrbRegistryObject<ORB extends BloodOrb> extends WrappedRegistryObject<ORB> { diff --git a/src/main/java/wayoftime/bloodmagic/common/registration/impl/EntityTypeRegistryObject.java b/src/main/java/wayoftime/bloodmagic/common/registration/impl/EntityTypeRegistryObject.java index 13b1aa1c..e6e51ee2 100644 --- a/src/main/java/wayoftime/bloodmagic/common/registration/impl/EntityTypeRegistryObject.java +++ b/src/main/java/wayoftime/bloodmagic/common/registration/impl/EntityTypeRegistryObject.java @@ -5,7 +5,7 @@ import javax.annotation.Nonnull; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraftforge.fml.RegistryObject; -import wayoftime.bloodmagic.api.providers.IEntityTypeProvider; +import wayoftime.bloodmagic.util.providers.IEntityTypeProvider; import wayoftime.bloodmagic.common.registration.WrappedRegistryObject; public class EntityTypeRegistryObject<ENTITY extends Entity> extends WrappedRegistryObject<EntityType<ENTITY>> diff --git a/src/main/java/wayoftime/bloodmagic/common/registries/BloodMagicRecipeSerializers.java b/src/main/java/wayoftime/bloodmagic/common/registries/BloodMagicRecipeSerializers.java index f191aef7..38a6012b 100644 --- a/src/main/java/wayoftime/bloodmagic/common/registries/BloodMagicRecipeSerializers.java +++ b/src/main/java/wayoftime/bloodmagic/common/registries/BloodMagicRecipeSerializers.java @@ -1,11 +1,11 @@ package wayoftime.bloodmagic.common.registries; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeARC; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; import wayoftime.bloodmagic.common.recipe.serializer.ARCRecipeSerializer; import wayoftime.bloodmagic.common.recipe.serializer.AlchemyArrayRecipeSerializer; import wayoftime.bloodmagic.common.recipe.serializer.AlchemyTableRecipeSerializer; @@ -13,11 +13,6 @@ import wayoftime.bloodmagic.common.recipe.serializer.BloodAltarRecipeSerializer; import wayoftime.bloodmagic.common.recipe.serializer.TartaricForgeRecipeSerializer; import wayoftime.bloodmagic.common.registration.impl.IRecipeSerializerDeferredRegister; import wayoftime.bloodmagic.common.registration.impl.IRecipeSerializerRegistryObject; -import wayoftime.bloodmagic.recipe.IRecipeARC; -import wayoftime.bloodmagic.recipe.IRecipeAlchemyArray; -import wayoftime.bloodmagic.recipe.IRecipeAlchemyTable; -import wayoftime.bloodmagic.recipe.IRecipeBloodAltar; -import wayoftime.bloodmagic.recipe.IRecipeTartaricForge; public class BloodMagicRecipeSerializers { @@ -28,11 +23,11 @@ public class BloodMagicRecipeSerializers public static final IRecipeSerializerDeferredRegister RECIPE_SERIALIZERS = new IRecipeSerializerDeferredRegister(BloodMagic.MODID); - public static final IRecipeSerializerRegistryObject<RecipeBloodAltar> ALTAR = RECIPE_SERIALIZERS.register("altar", () -> new BloodAltarRecipeSerializer<>(IRecipeBloodAltar::new)); - public static final IRecipeSerializerRegistryObject<RecipeAlchemyArray> ARRAY = RECIPE_SERIALIZERS.register("array", () -> new AlchemyArrayRecipeSerializer<>(IRecipeAlchemyArray::new)); - public static final IRecipeSerializerRegistryObject<RecipeTartaricForge> TARTARIC = RECIPE_SERIALIZERS.register("soulforge", () -> new TartaricForgeRecipeSerializer<>(IRecipeTartaricForge::new)); - public static final IRecipeSerializerRegistryObject<RecipeARC> ARC = RECIPE_SERIALIZERS.register("arc", () -> new ARCRecipeSerializer<>(IRecipeARC::new)); - public static final IRecipeSerializerRegistryObject<RecipeAlchemyTable> ALCHEMYTABLE = RECIPE_SERIALIZERS.register("alchemytable", () -> new AlchemyTableRecipeSerializer<>(IRecipeAlchemyTable::new)); + public static final IRecipeSerializerRegistryObject<RecipeBloodAltar> ALTAR = RECIPE_SERIALIZERS.register("altar", () -> new BloodAltarRecipeSerializer<>(RecipeBloodAltar::new)); + public static final IRecipeSerializerRegistryObject<RecipeAlchemyArray> ARRAY = RECIPE_SERIALIZERS.register("array", () -> new AlchemyArrayRecipeSerializer<>(RecipeAlchemyArray::new)); + public static final IRecipeSerializerRegistryObject<RecipeTartaricForge> TARTARIC = RECIPE_SERIALIZERS.register("soulforge", () -> new TartaricForgeRecipeSerializer<>(RecipeTartaricForge::new)); + public static final IRecipeSerializerRegistryObject<RecipeARC> ARC = RECIPE_SERIALIZERS.register("arc", () -> new ARCRecipeSerializer<>(RecipeARC::new)); + public static final IRecipeSerializerRegistryObject<RecipeAlchemyTable> ALCHEMYTABLE = RECIPE_SERIALIZERS.register("alchemytable", () -> new AlchemyTableRecipeSerializer<>(RecipeAlchemyTable::new)); // public static final DeferredRegister<IRecipeSerializer<?>> RECIPE_SERIALIZERS = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, BloodMagic.MODID); diff --git a/src/main/java/wayoftime/bloodmagic/compat/jei/alchemytable/AlchemyTableRecipeCategory.java b/src/main/java/wayoftime/bloodmagic/compat/jei/alchemytable/AlchemyTableRecipeCategory.java index b11a400d..69454311 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/jei/alchemytable/AlchemyTableRecipeCategory.java +++ b/src/main/java/wayoftime/bloodmagic/compat/jei/alchemytable/AlchemyTableRecipeCategory.java @@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.core.registry.OrbRegistry; import wayoftime.bloodmagic.util.Constants; diff --git a/src/main/java/wayoftime/bloodmagic/compat/jei/altar/BloodAltarRecipeCategory.java b/src/main/java/wayoftime/bloodmagic/compat/jei/altar/BloodAltarRecipeCategory.java index c48573e7..72c72c3f 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/jei/altar/BloodAltarRecipeCategory.java +++ b/src/main/java/wayoftime/bloodmagic/compat/jei/altar/BloodAltarRecipeCategory.java @@ -22,7 +22,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.util.ChatUtil; import wayoftime.bloodmagic.util.Constants; @@ -119,7 +119,7 @@ public class BloodAltarRecipeCategory implements IRecipeCategory<RecipeBloodAlta { Minecraft mc = Minecraft.getInstance(); String[] infoString = new String[] - { TextHelper.localize("jei.bloodmagic.recipe.requiredtier", NumeralHelper.toRoman(recipe.getMinimumTier().toInt())), + { TextHelper.localize("jei.bloodmagic.recipe.requiredtier", NumeralHelper.toRoman(recipe.getMinimumTier() + 1)), TextHelper.localize("jei.bloodmagic.recipe.requiredlp", recipe.getSyphon()) }; mc.fontRenderer.drawString(matrixStack, infoString[0], 90 - mc.fontRenderer.getStringWidth(infoString[0]) / 2, 0, Color.gray.getRGB()); diff --git a/src/main/java/wayoftime/bloodmagic/compat/jei/arc/ARCRecipeCategory.java b/src/main/java/wayoftime/bloodmagic/compat/jei/arc/ARCRecipeCategory.java index 434155b0..668ebcb0 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/jei/arc/ARCRecipeCategory.java +++ b/src/main/java/wayoftime/bloodmagic/compat/jei/arc/ARCRecipeCategory.java @@ -22,7 +22,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraftforge.fluids.FluidStack; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.RecipeARC; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.handler.event.ClientHandler; diff --git a/src/main/java/wayoftime/bloodmagic/compat/jei/array/AlchemyArrayCraftingCategory.java b/src/main/java/wayoftime/bloodmagic/compat/jei/array/AlchemyArrayCraftingCategory.java index 823eaef9..101b7e3b 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/jei/array/AlchemyArrayCraftingCategory.java +++ b/src/main/java/wayoftime/bloodmagic/compat/jei/array/AlchemyArrayCraftingCategory.java @@ -13,7 +13,7 @@ import mezz.jei.api.recipe.category.IRecipeCategory; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; import wayoftime.bloodmagic.common.item.BloodMagicItems; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.TextHelper; diff --git a/src/main/java/wayoftime/bloodmagic/compat/jei/forge/TartaricForgeRecipeCategory.java b/src/main/java/wayoftime/bloodmagic/compat/jei/forge/TartaricForgeRecipeCategory.java index 1b1a4637..27061b92 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/jei/forge/TartaricForgeRecipeCategory.java +++ b/src/main/java/wayoftime/bloodmagic/compat/jei/forge/TartaricForgeRecipeCategory.java @@ -20,7 +20,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.common.item.BloodMagicItems; import wayoftime.bloodmagic.util.ChatUtil; diff --git a/src/main/java/wayoftime/bloodmagic/core/data/SoulTicket.java b/src/main/java/wayoftime/bloodmagic/core/data/SoulTicket.java index e3cc6325..fd20d500 100644 --- a/src/main/java/wayoftime/bloodmagic/core/data/SoulTicket.java +++ b/src/main/java/wayoftime/bloodmagic/core/data/SoulTicket.java @@ -8,9 +8,12 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; +/** + * Wrapper for any interactions with the SoulNetwork + * Contains a description on what the interaction is and any extra data + */ public class SoulTicket { - private static final ITextComponent EMPTY = new StringTextComponent(""); private final ITextComponent description; diff --git a/src/main/java/wayoftime/bloodmagic/core/recipe/IngredientBloodOrb.java b/src/main/java/wayoftime/bloodmagic/core/recipe/IngredientBloodOrb.java index ab607824..9e69b0f2 100644 --- a/src/main/java/wayoftime/bloodmagic/core/recipe/IngredientBloodOrb.java +++ b/src/main/java/wayoftime/bloodmagic/core/recipe/IngredientBloodOrb.java @@ -14,7 +14,7 @@ import net.minecraftforge.common.crafting.IIngredientSerializer; import net.minecraftforge.common.crafting.VanillaIngredientSerializer; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.core.registry.OrbRegistry; -import wayoftime.bloodmagic.orb.BloodOrb; +import wayoftime.bloodmagic.common.item.BloodOrb; public class IngredientBloodOrb extends Ingredient { diff --git a/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRegistry.java b/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRegistry.java index 94f1fe27..3eb9c539 100644 --- a/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRegistry.java +++ b/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRegistry.java @@ -9,7 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; import wayoftime.bloodmagic.common.alchemyarray.AlchemyArrayEffect; import wayoftime.bloodmagic.common.alchemyarray.AlchemyArrayEffectCrafting; diff --git a/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRendererRegistry.java b/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRendererRegistry.java index bbebf4c9..e499be7d 100644 --- a/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRendererRegistry.java +++ b/src/main/java/wayoftime/bloodmagic/core/registry/AlchemyArrayRendererRegistry.java @@ -11,7 +11,7 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; import wayoftime.bloodmagic.client.render.alchemyarray.AlchemyArrayRenderer; public class AlchemyArrayRendererRegistry diff --git a/src/main/java/wayoftime/bloodmagic/core/registry/OrbRegistry.java b/src/main/java/wayoftime/bloodmagic/core/registry/OrbRegistry.java index ee76030b..9db6a683 100644 --- a/src/main/java/wayoftime/bloodmagic/core/registry/OrbRegistry.java +++ b/src/main/java/wayoftime/bloodmagic/core/registry/OrbRegistry.java @@ -10,7 +10,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.registries.ForgeRegistries; import wayoftime.bloodmagic.altar.AltarTier; -import wayoftime.bloodmagic.orb.BloodOrb; +import wayoftime.bloodmagic.common.item.BloodOrb; /** * This is only for those who wish to add a basic {@link BloodOrb}. If you need diff --git a/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java b/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java index dc17585b..eccb6748 100644 --- a/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java +++ b/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java @@ -12,7 +12,7 @@ import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunk; import wayoftime.bloodmagic.util.BMLog; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class WorldDemonWillHandler { diff --git a/src/main/java/wayoftime/bloodmagic/event/ItemBindEvent.java b/src/main/java/wayoftime/bloodmagic/event/ItemBindEvent.java index 03857aea..80e11c1c 100644 --- a/src/main/java/wayoftime/bloodmagic/event/ItemBindEvent.java +++ b/src/main/java/wayoftime/bloodmagic/event/ItemBindEvent.java @@ -4,7 +4,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraftforge.eventbus.api.Cancelable; import net.minecraftforge.eventbus.api.Event; -import wayoftime.bloodmagic.api.item.IBindable; +import wayoftime.bloodmagic.common.item.IBindable; @Cancelable public class ItemBindEvent extends Event diff --git a/src/main/java/wayoftime/bloodmagic/gson/Serializers.java b/src/main/java/wayoftime/bloodmagic/gson/Serializers.java index 41f6d28d..f5546799 100644 --- a/src/main/java/wayoftime/bloodmagic/gson/Serializers.java +++ b/src/main/java/wayoftime/bloodmagic/gson/Serializers.java @@ -18,7 +18,7 @@ import net.minecraft.network.datasync.IDataSerializer; import net.minecraft.util.Direction; import net.minecraft.util.ResourceLocation; import net.minecraftforge.registries.ForgeRegistries; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class Serializers { diff --git a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicAPI.java b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicAPI.java index 2f0853ec..fe0d975a 100644 --- a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicAPI.java +++ b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicAPI.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.impl; import java.util.List; +import java.util.function.Predicate; import javax.annotation.Nonnull; @@ -8,9 +9,15 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; import wayoftime.bloodmagic.altar.ComponentType; import wayoftime.bloodmagic.api.IBloodMagicAPI; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.incense.EnumTranquilityType; +import wayoftime.bloodmagic.incense.IncenseTranquilityRegistry; +import wayoftime.bloodmagic.incense.TranquilityStack; import wayoftime.bloodmagic.util.BMLog; +import wayoftime.bloodmagic.will.PlayerDemonWillHandler; public class BloodMagicAPI implements IBloodMagicAPI { @@ -36,9 +43,8 @@ public class BloodMagicAPI implements IBloodMagicAPI // { // return blacklist; // } -// + @Nonnull - @Override public BloodMagicRecipeRegistrar getRecipeRegistrar() { return recipeRegistrar; @@ -55,15 +61,7 @@ public class BloodMagicAPI implements IBloodMagicAPI @Override public void registerAltarComponent(@Nonnull BlockState state, @Nonnull String componentType) { - ComponentType component = null; - for (ComponentType type : ComponentType.VALUES) - { - if (type.name().equalsIgnoreCase(componentType)) - { - component = type; - break; - } - } + ComponentType component = ComponentType.getType(componentType); if (component != null) { @@ -76,15 +74,7 @@ public class BloodMagicAPI implements IBloodMagicAPI @Override public void unregisterAltarComponent(@Nonnull BlockState state, @Nonnull String componentType) { - ComponentType component = null; - for (ComponentType type : ComponentType.VALUES) - { - if (type.name().equalsIgnoreCase(componentType)) - { - component = type; - break; - } - } + ComponentType component = ComponentType.getType(componentType); if (component != null) { @@ -94,6 +84,27 @@ public class BloodMagicAPI implements IBloodMagicAPI BMLog.API.warn("Invalid Altar component type: {}.", componentType); } + @Override + public void registerTranquilityHandler(@Nonnull Predicate<BlockState> blockState, @Nonnull String tranquilityType, double value) + { + EnumTranquilityType type = EnumTranquilityType.getType(tranquilityType); + + if (type != null) + { + IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> blockState.test(state) ? new TranquilityStack(type, value) : null); + } + else + { + BMLog.API.warn("Invalid Tranquility type: {}.", tranquilityType); + } + } + + @Override + public double getTotalDemonWill(String willType, PlayerEntity player) + { + return PlayerDemonWillHandler.getTotalDemonWill(EnumDemonWillType.getType(willType), player); + } + @Nonnull public List<BlockState> getComponentStates(ComponentType component) { diff --git a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicCorePlugin.java b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicCorePlugin.java index 84c796dd..040e82c3 100644 --- a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicCorePlugin.java +++ b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicCorePlugin.java @@ -1,11 +1,16 @@ package wayoftime.bloodmagic.impl; import net.minecraft.block.Blocks; +import net.minecraft.block.FireBlock; +import net.minecraft.block.GrassBlock; +import net.minecraft.block.LeavesBlock; +import net.minecraft.tags.BlockTags; import wayoftime.bloodmagic.altar.ComponentType; import wayoftime.bloodmagic.api.IBloodMagicAPI; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.incense.EnumTranquilityType; import wayoftime.bloodmagic.incense.TranquilityStack; +import wayoftime.bloodmagic.incense.IncenseTranquilityRegistry; public class BloodMagicCorePlugin { @@ -28,6 +33,13 @@ public class BloodMagicCorePlugin api.getValueManager().setTranquility(Blocks.NETHER_WART, new TranquilityStack(EnumTranquilityType.CROP, 1.0D)); api.getValueManager().setTranquility(Blocks.BEETROOTS, new TranquilityStack(EnumTranquilityType.CROP, 1.0D)); + apiInterface.registerTranquilityHandler(state -> state.getBlock() instanceof LeavesBlock, EnumTranquilityType.PLANT.name(), 1.0D); + apiInterface.registerTranquilityHandler(state -> state.getBlock() instanceof FireBlock, EnumTranquilityType.FIRE.name(), 1.0D); + apiInterface.registerTranquilityHandler(state -> state.getBlock() instanceof GrassBlock, EnumTranquilityType.EARTHEN.name(), 0.5D); + apiInterface.registerTranquilityHandler(state -> BlockTags.LOGS.contains(state.getBlock()), EnumTranquilityType.TREE.name(), 1.0D); + + IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> BloodMagicAPI.INSTANCE.getValueManager().getTranquility().get(state)); + apiInterface.registerAltarComponent(Blocks.GLOWSTONE.getDefaultState(), ComponentType.GLOWSTONE.name()); apiInterface.registerAltarComponent(Blocks.SEA_LANTERN.getDefaultState(), ComponentType.GLOWSTONE.name()); apiInterface.registerAltarComponent(BloodMagicBlocks.BLOODSTONE.get().getDefaultState(), ComponentType.BLOODSTONE.name()); diff --git a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicRecipeRegistrar.java b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicRecipeRegistrar.java index 28bc9b0a..3fc055e1 100644 --- a/src/main/java/wayoftime/bloodmagic/impl/BloodMagicRecipeRegistrar.java +++ b/src/main/java/wayoftime/bloodmagic/impl/BloodMagicRecipeRegistrar.java @@ -16,228 +16,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; -import wayoftime.bloodmagic.api.IBloodMagicRecipeRegistrar; -import wayoftime.bloodmagic.api.recipe.RecipeARC; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.RecipeARC; +import wayoftime.bloodmagic.recipe.RecipeAlchemyArray; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.RecipeBloodAltar; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -public class BloodMagicRecipeRegistrar implements IBloodMagicRecipeRegistrar +public class BloodMagicRecipeRegistrar { - -// private final Set<RecipeBloodAltar> altarRecipes; -// private final Set<RecipeAlchemyTable> alchemyRecipes; -// private final Set<RecipeTartaricForge> tartaricForgeRecipes; -// private final Set<RecipeAlchemyArray> alchemyArrayRecipes; -// private final Set<RecipeSacrificeCraft> sacrificeCraftRecipes; - - public BloodMagicRecipeRegistrar() - { -// this.altarRecipes = Sets.newHashSet(); -// this.alchemyRecipes = Sets.newHashSet(); -// this.tartaricForgeRecipes = Sets.newHashSet(); -// this.alchemyArrayRecipes = Sets.newHashSet(); -// this.sacrificeCraftRecipes = Sets.newHashSet(); - } - -// @Override -// public void addBloodAltar(@Nonnull Ingredient input, @Nonnull ItemStack output, @Nonnegative int minimumTier, -// @Nonnegative int syphon, @Nonnegative int consumeRate, @Nonnegative int drainRate) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(minimumTier >= 0, "minimumTier cannot be negative."); -// Preconditions.checkArgument(syphon >= 0, "syphon cannot be negative."); -// Preconditions.checkArgument(consumeRate >= 0, "consumeRate cannot be negative."); -// Preconditions.checkArgument(drainRate >= 0, "drainRate cannot be negative."); -// -// // TODO: Got to adda ResourceLocation argument. -// altarRecipes.add(new IRecipeBloodAltar(null, input, output, minimumTier, syphon, consumeRate, drainRate)); -// } -// -// @Override -// public boolean removeBloodAltar(@Nonnull ItemStack input) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// return altarRecipes.remove(getBloodAltar(input)); -// } - -// @Override -// public void addAlchemyTable(@Nonnull ItemStack output, @Nonnegative int syphon, @Nonnegative int ticks, -// @Nonnegative int minimumTier, @Nonnull Ingredient... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(syphon >= 0, "syphon cannot be negative."); -// Preconditions.checkArgument(ticks >= 0, "ticks cannot be negative."); -// Preconditions.checkArgument(minimumTier >= 0, "minimumTier cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// NonNullList<Ingredient> inputs = NonNullList.from(Ingredient.EMPTY, input); -// alchemyRecipes.add(new RecipeAlchemyTable(inputs, output, syphon, ticks, minimumTier)); -// } -// -// public void addAlchemyTable(@Nonnull ItemStack output, @Nonnegative int syphon, @Nonnegative int ticks, -// @Nonnegative int minimumTier, @Nonnull Object... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(syphon >= 0, "syphon cannot be negative."); -// Preconditions.checkArgument(ticks >= 0, "ticks cannot be negative."); -// Preconditions.checkArgument(minimumTier >= 0, "minimumTier cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// List<Ingredient> ingredients = Lists.newArrayList(); -// for (Object object : input) -// { -// if (object instanceof ItemStack && ((ItemStack) object).getItem() instanceof IBloodOrb) -// { -// ingredients.add(new IngredientBloodOrb(((IBloodOrb) ((ItemStack) object).getItem()).getOrb((ItemStack) object))); -// continue; -// } -// -// ingredients.add(CraftingHelper.getIngredient(object)); -// } -// -// addAlchemyTable(output, syphon, ticks, minimumTier, ingredients.toArray(new Ingredient[0])); -// } -// -// public void addAlchemyTable(RecipeAlchemyTable recipe) -// { -// alchemyRecipes.add(recipe); -// } -// -// @Override -// public boolean removeAlchemyTable(@Nonnull ItemStack... input) -// { -// Preconditions.checkNotNull(input, "inputs cannot be null."); -// -// for (ItemStack stack : input) Preconditions.checkNotNull(stack, "input cannot be null."); -// -// return alchemyRecipes.remove(getAlchemyTable(Lists.newArrayList(input))); -// } -// -// @Override -// public void addTartaricForge(@Nonnull ItemStack output, @Nonnegative double minimumSouls, -// @Nonnegative double soulDrain, @Nonnull Ingredient... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(minimumSouls >= 0, "minimumSouls cannot be negative."); -// Preconditions.checkArgument(soulDrain >= 0, "soulDrain cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// NonNullList<Ingredient> inputs = NonNullList.from(Ingredient.EMPTY, input); -// tartaricForgeRecipes.add(new RecipeTartaricForge(inputs, output, minimumSouls, soulDrain)); -// } -// -// @Override -// public boolean removeTartaricForge(@Nonnull ItemStack... input) -// { -// Preconditions.checkNotNull(input, "inputs cannot be null."); -// -// for (ItemStack stack : input) Preconditions.checkNotNull(stack, "input cannot be null."); -// -// return tartaricForgeRecipes.remove(getTartaricForge(Lists.newArrayList(input))); -// } -// -// public void addTartaricForge(@Nonnull ItemStack output, @Nonnegative double minimumSouls, -// @Nonnegative double soulDrain, @Nonnull Object... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(minimumSouls >= 0, "minimumSouls cannot be negative."); -// Preconditions.checkArgument(soulDrain >= 0, "soulDrain cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// List<Ingredient> ingredients = Lists.newArrayList(); -// for (Object object : input) -// { -// if (object instanceof ItemStack && ((ItemStack) object).getItem() instanceof IBloodOrb) -// { -// ingredients.add(new IngredientBloodOrb(((IBloodOrb) ((ItemStack) object).getItem()).getOrb((ItemStack) object))); -// continue; -// } -// -// ingredients.add(CraftingHelper.getIngredient(object)); -// } -// -// addTartaricForge(output, minimumSouls, soulDrain, ingredients.toArray(new Ingredient[0])); -// } -// -// @Override -// public void addAlchemyArray(@Nonnull Ingredient input, @Nonnull Ingredient catalyst, @Nonnull ItemStack output, -// @Nullable ResourceLocation circleTexture) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// Preconditions.checkNotNull(catalyst, "catalyst cannot be null."); -// Preconditions.checkNotNull(output, "output cannot be null."); -// -// alchemyArrayRecipes.add(new RecipeAlchemyArray(input, catalyst, output, circleTexture)); -// } -// -// @Override -// public boolean removeAlchemyArray(@Nonnull ItemStack input, @Nonnull ItemStack catalyst) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// Preconditions.checkNotNull(catalyst, "catalyst cannot be null."); -// -// return alchemyArrayRecipes.remove(getAlchemyArray(input, catalyst)); -// } -// -// public void addAlchemyArray(@Nonnull ItemStack input, @Nonnull ItemStack catalyst, @Nonnull ItemStack output, -// @Nullable ResourceLocation circleTexture) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// Preconditions.checkNotNull(catalyst, "catalyst cannot be null."); -// Preconditions.checkNotNull(output, "output cannot be null."); -// -// addAlchemyArray(Ingredient.fromStacks(input), Ingredient.fromStacks(catalyst), output, circleTexture); -// } -// -// public void addSacrificeCraft(@Nonnull ItemStack output, @Nonnegative double healthRequired, -// @Nonnull Object... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(healthRequired >= 0, "healthRequired cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// List<Ingredient> ingredients = Lists.newArrayList(); -// for (Object object : input) -// { -// if (object instanceof ItemStack && ((ItemStack) object).getItem() instanceof IBloodOrb) -// { -// ingredients.add(new IngredientBloodOrb(((IBloodOrb) ((ItemStack) object).getItem()).getOrb((ItemStack) object))); -// continue; -// } -// -// ingredients.add(CraftingHelper.getIngredient(object)); -// } -// -// addSacrificeCraft(output, healthRequired, ingredients.toArray(new Ingredient[0])); -// } -// -// @Override -// public boolean removeSacrificeCraft(@Nonnull ItemStack... input) -// { -// Preconditions.checkNotNull(input, "inputs cannot be null."); -// -// for (ItemStack stack : input) Preconditions.checkNotNull(stack, "input cannot be null."); -// -// return sacrificeCraftRecipes.remove(getSacrificeCraft(Lists.newArrayList(input))); -// } -// -// @Override -// public void addSacrificeCraft(@Nonnull ItemStack output, @Nonnegative double healthRequired, -// @Nonnull Ingredient... input) -// { -// Preconditions.checkNotNull(output, "output cannot be null."); -// Preconditions.checkArgument(healthRequired >= 0, "healthRequired cannot be negative."); -// Preconditions.checkNotNull(input, "input cannot be null."); -// -// NonNullList<Ingredient> inputs = NonNullList.from(Ingredient.EMPTY, input); -// sacrificeCraftRecipes.add(new RecipeSacrificeCraft(inputs, output, healthRequired)); -// } - @Nullable public RecipeBloodAltar getBloodAltar(World world, @Nonnull ItemStack input) { @@ -287,44 +74,6 @@ public class BloodMagicRecipeRegistrar implements IBloodMagicRecipeRegistrar return null; } -// @Nullable -// public RecipeAlchemyTable getAlchemyTable(@Nonnull List<ItemStack> input) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// if (input.isEmpty()) -// return null; -// -// mainLoop: for (RecipeAlchemyTable recipe : alchemyRecipes) -// { -// if (recipe.getInput().size() != input.size()) -// continue; -// -// List<Ingredient> recipeInput = new ArrayList<>(recipe.getInput()); -// -// for (int i = 0; i < input.size(); i++) -// { -// boolean matched = false; -// for (int j = 0; j < recipeInput.size(); j++) -// { -// Ingredient ingredient = recipeInput.get(j); -// if (ingredient.apply(input.get(i))) -// { -// matched = true; -// recipeInput.remove(j); -// break; -// } -// } -// -// if (!matched) -// continue mainLoop; -// } -// -// return recipe; -// } -// -// return null; -// } -// @Nullable public RecipeAlchemyTable getAlchemyTable(World world, @Nonnull List<ItemStack> input) { @@ -403,45 +152,6 @@ public class BloodMagicRecipeRegistrar implements IBloodMagicRecipeRegistrar return null; } -// -// @Nullable -// public RecipeSacrificeCraft getSacrificeCraft(@Nonnull List<ItemStack> input) -// { -// Preconditions.checkNotNull(input, "input cannot be null."); -// if (input.isEmpty()) -// return null; -// -// mainLoop: for (RecipeSacrificeCraft recipe : sacrificeCraftRecipes) -// { -// if (recipe.getInput().size() != input.size()) -// continue; -// -// List<Ingredient> recipeInput = new ArrayList<>(recipe.getInput()); -// -// for (int i = 0; i < input.size(); i++) -// { -// boolean matched = false; -// for (int j = 0; j < recipeInput.size(); j++) -// { -// Ingredient ingredient = recipeInput.get(j); -// if (ingredient.apply(input.get(i))) -// { -// matched = true; -// recipeInput.remove(j); -// break; -// } -// } -// -// if (!matched) -// continue mainLoop; -// } -// -// return recipe; -// } -// -// return null; -// } -// /** * * @param world @@ -516,19 +226,4 @@ public class BloodMagicRecipeRegistrar implements IBloodMagicRecipeRegistrar return copyRecipes; } - -// public Set<RecipeAlchemyTable> getAlchemyRecipes() -// { -// return ImmutableSet.copyOf(alchemyRecipes); -// } -// -// public Set<RecipeTartaricForge> getTartaricForgeRecipes() -// { -// return ImmutableSet.copyOf(tartaricForgeRecipes); -// } -// -// public Set<RecipeAlchemyArray> getAlchemyArrayRecipes() -// { -// return ImmutableSet.copyOf(alchemyArrayRecipes); -// } } diff --git a/src/main/java/wayoftime/bloodmagic/incense/EnumTranquilityType.java b/src/main/java/wayoftime/bloodmagic/incense/EnumTranquilityType.java index 0bdbe0ad..4c1dc495 100644 --- a/src/main/java/wayoftime/bloodmagic/incense/EnumTranquilityType.java +++ b/src/main/java/wayoftime/bloodmagic/incense/EnumTranquilityType.java @@ -9,4 +9,17 @@ public enum EnumTranquilityType WATER(), FIRE(), LAVA(),; + + public static EnumTranquilityType getType(String type) + { + for (EnumTranquilityType t : values()) + { + if (t.name().equalsIgnoreCase(type)) + { + return t; + } + } + + return null; + } } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/incense/ITranquilityHandler.java b/src/main/java/wayoftime/bloodmagic/incense/ITranquilityHandler.java index 557870e4..e0b8d7c0 100644 --- a/src/main/java/wayoftime/bloodmagic/incense/ITranquilityHandler.java +++ b/src/main/java/wayoftime/bloodmagic/incense/ITranquilityHandler.java @@ -5,6 +5,9 @@ import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +/** + * This is a functional interface to return the TranquilityStack of a certain Block type + */ public interface ITranquilityHandler { TranquilityStack getTranquilityOfBlock(World world, BlockPos pos, Block block, BlockState state); diff --git a/src/main/java/wayoftime/bloodmagic/incense/TranquilityStack.java b/src/main/java/wayoftime/bloodmagic/incense/TranquilityStack.java index 2d066476..470f7b81 100644 --- a/src/main/java/wayoftime/bloodmagic/incense/TranquilityStack.java +++ b/src/main/java/wayoftime/bloodmagic/incense/TranquilityStack.java @@ -1,5 +1,8 @@ package wayoftime.bloodmagic.incense; +/** + * Holds the tranquility type and value for valid tranquility modifiers + */ public class TranquilityStack { public final EnumTranquilityType type; diff --git a/src/main/java/wayoftime/bloodmagic/network/DemonAuraClientPacket.java b/src/main/java/wayoftime/bloodmagic/network/DemonAuraClientPacket.java index 829c80b7..a3d29b9e 100644 --- a/src/main/java/wayoftime/bloodmagic/network/DemonAuraClientPacket.java +++ b/src/main/java/wayoftime/bloodmagic/network/DemonAuraClientPacket.java @@ -8,7 +8,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.network.NetworkEvent.Context; import wayoftime.bloodmagic.util.handler.event.ClientHandler; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class DemonAuraClientPacket { diff --git a/src/main/java/wayoftime/bloodmagic/orb/IBloodOrb.java b/src/main/java/wayoftime/bloodmagic/orb/IBloodOrb.java deleted file mode 100644 index ae3a637b..00000000 --- a/src/main/java/wayoftime/bloodmagic/orb/IBloodOrb.java +++ /dev/null @@ -1,11 +0,0 @@ -package wayoftime.bloodmagic.orb; - -import javax.annotation.Nullable; - -import net.minecraft.item.ItemStack; - -public interface IBloodOrb -{ - @Nullable - BloodOrb getOrb(ItemStack stack); -} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/BloodMagicRecipe.java b/src/main/java/wayoftime/bloodmagic/recipe/BloodMagicRecipe.java similarity index 92% rename from src/main/java/wayoftime/bloodmagic/api/recipe/BloodMagicRecipe.java rename to src/main/java/wayoftime/bloodmagic/recipe/BloodMagicRecipe.java index 6ff4eaf9..06555bcd 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/BloodMagicRecipe.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/BloodMagicRecipe.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import javax.annotation.Nonnull; @@ -7,7 +7,7 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import wayoftime.bloodmagic.api.inventory.IgnoredIInventory; +import wayoftime.bloodmagic.recipe.helper.IgnoredIInventory; public abstract class BloodMagicRecipe implements IRecipe<IgnoredIInventory> { diff --git a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeARC.java b/src/main/java/wayoftime/bloodmagic/recipe/IRecipeARC.java deleted file mode 100644 index fe41fe5e..00000000 --- a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeARC.java +++ /dev/null @@ -1,42 +0,0 @@ -package wayoftime.bloodmagic.recipe; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.tuple.Pair; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.IRecipeType; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.FluidStack; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; -import wayoftime.bloodmagic.api.recipe.RecipeARC; -import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; - -public class IRecipeARC extends RecipeARC -{ - public IRecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, FluidStack outputFluid, boolean consumeIngredient) - { - super(id, input, arc_tool, inputFluid, output, new ArrayList<Pair<ItemStack, Double>>(), outputFluid, consumeIngredient); - } - - public IRecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, List<Pair<ItemStack, Double>> addedItems, FluidStack outputFluid, boolean consumeIngredient) - { - super(id, input, arc_tool, inputFluid, output, addedItems, outputFluid, consumeIngredient); - } - - @Override - public IRecipeSerializer<RecipeARC> getSerializer() - { - return BloodMagicRecipeSerializers.ARC.getRecipeSerializer(); - } - - @Override - public IRecipeType<RecipeARC> getType() - { - return BloodMagicRecipeType.ARC; - } -} diff --git a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyArray.java b/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyArray.java deleted file mode 100644 index 8ad20f61..00000000 --- a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyArray.java +++ /dev/null @@ -1,30 +0,0 @@ -package wayoftime.bloodmagic.recipe; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.IRecipeType; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyArray; -import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; - -public class IRecipeAlchemyArray extends RecipeAlchemyArray -{ - public IRecipeAlchemyArray(ResourceLocation id, ResourceLocation texture, Ingredient baseIngredient, Ingredient addedIngredient, ItemStack result) - { - super(id, texture, baseIngredient, addedIngredient, result); - } - - @Override - public IRecipeSerializer<RecipeAlchemyArray> getSerializer() - { - return BloodMagicRecipeSerializers.ARRAY.getRecipeSerializer(); - } - - @Override - public IRecipeType<RecipeAlchemyArray> getType() - { - return BloodMagicRecipeType.ARRAY; - } -} diff --git a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyTable.java b/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyTable.java deleted file mode 100644 index 2f3c8561..00000000 --- a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeAlchemyTable.java +++ /dev/null @@ -1,32 +0,0 @@ -package wayoftime.bloodmagic.recipe; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.IRecipeType; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; -import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; - -public class IRecipeAlchemyTable extends RecipeAlchemyTable -{ - public IRecipeAlchemyTable(ResourceLocation id, List<Ingredient> input, ItemStack output, int syphon, int ticks, int minimumTier) - { - super(id, input, output, syphon, ticks, minimumTier); - } - - @Override - public IRecipeSerializer<RecipeAlchemyTable> getSerializer() - { - return BloodMagicRecipeSerializers.ALCHEMYTABLE.getRecipeSerializer(); - } - - @Override - public IRecipeType<RecipeAlchemyTable> getType() - { - return BloodMagicRecipeType.ALCHEMYTABLE; - } -} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeBloodAltar.java b/src/main/java/wayoftime/bloodmagic/recipe/IRecipeBloodAltar.java deleted file mode 100644 index 5516492b..00000000 --- a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeBloodAltar.java +++ /dev/null @@ -1,30 +0,0 @@ -package wayoftime.bloodmagic.recipe; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.IRecipeType; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.recipe.RecipeBloodAltar; -import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; - -public class IRecipeBloodAltar extends RecipeBloodAltar -{ - public IRecipeBloodAltar(ResourceLocation id, Ingredient input, ItemStack output, int minimumTier, int syphon, int consumeRate, int drainRate) - { - super(id, input, output, minimumTier, syphon, consumeRate, drainRate); - } - - @Override - public IRecipeSerializer<RecipeBloodAltar> getSerializer() - { - return BloodMagicRecipeSerializers.ALTAR.getRecipeSerializer(); - } - - @Override - public IRecipeType<RecipeBloodAltar> getType() - { - return BloodMagicRecipeType.ALTAR; - } -} diff --git a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeTartaricForge.java b/src/main/java/wayoftime/bloodmagic/recipe/IRecipeTartaricForge.java deleted file mode 100644 index 9a27d688..00000000 --- a/src/main/java/wayoftime/bloodmagic/recipe/IRecipeTartaricForge.java +++ /dev/null @@ -1,35 +0,0 @@ -package wayoftime.bloodmagic.recipe; - -import java.util.List; - -import javax.annotation.Nonnegative; -import javax.annotation.Nonnull; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.IRecipeType; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; -import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; -import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; - -public class IRecipeTartaricForge extends RecipeTartaricForge -{ - public IRecipeTartaricForge(ResourceLocation id, @Nonnull List<Ingredient> input, @Nonnull ItemStack output, @Nonnegative double minimumSouls, @Nonnegative double soulDrain) - { - super(id, input, output, minimumSouls, soulDrain); - } - - @Override - public IRecipeSerializer<RecipeTartaricForge> getSerializer() - { - return BloodMagicRecipeSerializers.TARTARIC.getRecipeSerializer(); - } - - @Override - public IRecipeType<RecipeTartaricForge> getType() - { - return BloodMagicRecipeType.TARTARICFORGE; - } -} diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeARC.java b/src/main/java/wayoftime/bloodmagic/recipe/RecipeARC.java similarity index 76% rename from src/main/java/wayoftime/bloodmagic/api/recipe/RecipeARC.java rename to src/main/java/wayoftime/bloodmagic/recipe/RecipeARC.java index 80d9f289..702794eb 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeARC.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/RecipeARC.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import java.util.ArrayList; import java.util.List; @@ -6,6 +6,8 @@ import java.util.Random; import javax.annotation.Nonnull; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; import org.apache.commons.lang3.tuple.Pair; import net.minecraft.item.ItemStack; @@ -14,9 +16,11 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; +import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; +import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; +import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient; -public abstract class RecipeARC extends BloodMagicRecipe +public class RecipeARC extends BloodMagicRecipe { public static final int MAX_RANDOM_OUTPUTS = 3; @@ -32,12 +36,12 @@ public abstract class RecipeARC extends BloodMagicRecipe private final List<Pair<ItemStack, Double>> addedItems; - protected RecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, FluidStack outputFluid, boolean consumeIngredient) + public RecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, FluidStack outputFluid, boolean consumeIngredient) { this(id, input, arc_tool, inputFluid, output, new ArrayList<Pair<ItemStack, Double>>(), outputFluid, consumeIngredient); } - protected RecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, List<Pair<ItemStack, Double>> addedItems, FluidStack outputFluid, boolean consumeIngredient) + public RecipeARC(ResourceLocation id, Ingredient input, Ingredient arc_tool, FluidStackIngredient inputFluid, ItemStack output, List<Pair<ItemStack, Double>> addedItems, FluidStack outputFluid, boolean consumeIngredient) { super(id); this.input = input; @@ -163,4 +167,16 @@ public abstract class RecipeARC extends BloodMagicRecipe } buffer.writeBoolean(consumeIngredient); } + + @Override + public IRecipeSerializer<RecipeARC> getSerializer() + { + return BloodMagicRecipeSerializers.ARC.getRecipeSerializer(); + } + + @Override + public IRecipeType<RecipeARC> getType() + { + return BloodMagicRecipeType.ARC; + } } diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyArray.java b/src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyArray.java similarity index 66% rename from src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyArray.java rename to src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyArray.java index 06dfab42..0c0a92a4 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyArray.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyArray.java @@ -1,14 +1,18 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import javax.annotation.Nonnull; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.PacketBuffer; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; +import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; +import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; -public abstract class RecipeAlchemyArray extends BloodMagicRecipe +public class RecipeAlchemyArray extends BloodMagicRecipe { private final ResourceLocation id; private final ResourceLocation texture; @@ -19,7 +23,7 @@ public abstract class RecipeAlchemyArray extends BloodMagicRecipe @Nonnull private final ItemStack output; - protected RecipeAlchemyArray(ResourceLocation id, ResourceLocation texture, @Nonnull Ingredient baseIngredient, @Nonnull Ingredient addedIngredient, @Nonnull ItemStack result) + public RecipeAlchemyArray(ResourceLocation id, ResourceLocation texture, @Nonnull Ingredient baseIngredient, @Nonnull Ingredient addedIngredient, @Nonnull ItemStack result) { super(id); this.id = id; @@ -84,4 +88,16 @@ public abstract class RecipeAlchemyArray extends BloodMagicRecipe addedInput.write(buffer); buffer.writeItemStack(output); } + + @Override + public IRecipeSerializer<RecipeAlchemyArray> getSerializer() + { + return BloodMagicRecipeSerializers.ARRAY.getRecipeSerializer(); + } + + @Override + public IRecipeType<RecipeAlchemyArray> getType() + { + return BloodMagicRecipeType.ARRAY; + } } diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyTable.java b/src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyTable.java similarity index 75% rename from src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyTable.java rename to src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyTable.java index 25346944..96306e2f 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeAlchemyTable.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/RecipeAlchemyTable.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import java.util.List; @@ -8,11 +8,15 @@ import javax.annotation.Nonnull; import com.google.common.base.Preconditions; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; +import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; -public abstract class RecipeAlchemyTable extends BloodMagicRecipe +public class RecipeAlchemyTable extends BloodMagicRecipe { @Nonnull private final List<Ingredient> input; @@ -83,4 +87,16 @@ public abstract class RecipeAlchemyTable extends BloodMagicRecipe buffer.writeInt(ticks); buffer.writeInt(minimumTier); } + + @Override + public IRecipeSerializer<RecipeAlchemyTable> getSerializer() + { + return BloodMagicRecipeSerializers.ALCHEMYTABLE.getRecipeSerializer(); + } + + @Override + public IRecipeType<RecipeAlchemyTable> getType() + { + return BloodMagicRecipeType.ALCHEMYTABLE; + } } diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeBloodAltar.java b/src/main/java/wayoftime/bloodmagic/recipe/RecipeBloodAltar.java similarity index 72% rename from src/main/java/wayoftime/bloodmagic/api/recipe/RecipeBloodAltar.java rename to src/main/java/wayoftime/bloodmagic/recipe/RecipeBloodAltar.java index c959c176..1633e130 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeBloodAltar.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/RecipeBloodAltar.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import javax.annotation.Nonnegative; import javax.annotation.Nonnull; @@ -6,20 +6,23 @@ import javax.annotation.Nonnull; import com.google.common.base.Preconditions; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.PacketBuffer; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; -import wayoftime.bloodmagic.altar.AltarTier; +import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; +import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; -public abstract class RecipeBloodAltar extends BloodMagicRecipe +public class RecipeBloodAltar extends BloodMagicRecipe { @Nonnull private final Ingredient input; @Nonnull private final ItemStack output; @Nonnull - private final AltarTier minimumTier; + private final int minimumTier; @Nonnegative private final int syphon; @Nonnegative @@ -33,14 +36,14 @@ public abstract class RecipeBloodAltar extends BloodMagicRecipe Preconditions.checkNotNull(input, "input cannot be null."); Preconditions.checkNotNull(output, "output cannot be null."); Preconditions.checkArgument(minimumTier >= 0, "minimumTier cannot be negative."); - Preconditions.checkArgument(minimumTier <= AltarTier.MAXTIERS, "minimumTier cannot be higher than max tier"); + Preconditions.checkArgument(minimumTier <= 6, "minimumTier cannot be higher than max tier"); Preconditions.checkArgument(syphon >= 0, "syphon cannot be negative."); Preconditions.checkArgument(consumeRate >= 0, "consumeRate cannot be negative."); Preconditions.checkArgument(drainRate >= 0, "drain cannot be negative."); this.input = input; this.output = output; - this.minimumTier = AltarTier.values()[minimumTier]; + this.minimumTier = minimumTier; this.syphon = syphon; this.consumeRate = consumeRate; this.drainRate = drainRate; @@ -66,8 +69,7 @@ public abstract class RecipeBloodAltar extends BloodMagicRecipe return output; } - @Nonnull - public AltarTier getMinimumTier() + public int getMinimumTier() { return minimumTier; } @@ -95,9 +97,21 @@ public abstract class RecipeBloodAltar extends BloodMagicRecipe { input.write(buffer); buffer.writeItemStack(output); - buffer.writeInt(minimumTier.ordinal()); + buffer.writeInt(minimumTier); buffer.writeInt(syphon); buffer.writeInt(consumeRate); buffer.writeInt(drainRate); } + + @Override + public IRecipeSerializer<RecipeBloodAltar> getSerializer() + { + return BloodMagicRecipeSerializers.ALTAR.getRecipeSerializer(); + } + + @Override + public IRecipeType<RecipeBloodAltar> getType() + { + return BloodMagicRecipeType.ALTAR; + } } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeTartaricForge.java b/src/main/java/wayoftime/bloodmagic/recipe/RecipeTartaricForge.java similarity index 73% rename from src/main/java/wayoftime/bloodmagic/api/recipe/RecipeTartaricForge.java rename to src/main/java/wayoftime/bloodmagic/recipe/RecipeTartaricForge.java index 8a1f53fb..6fb61f2b 100644 --- a/src/main/java/wayoftime/bloodmagic/api/recipe/RecipeTartaricForge.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/RecipeTartaricForge.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.recipe; +package wayoftime.bloodmagic.recipe; import java.util.List; @@ -8,11 +8,15 @@ import javax.annotation.Nonnull; import com.google.common.base.Preconditions; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import wayoftime.bloodmagic.common.recipe.BloodMagicRecipeType; +import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; -public abstract class RecipeTartaricForge extends BloodMagicRecipe +public class RecipeTartaricForge extends BloodMagicRecipe { @Nonnull private final List<Ingredient> input; @@ -72,6 +76,17 @@ public abstract class RecipeTartaricForge extends BloodMagicRecipe buffer.writeItemStack(output); buffer.writeDouble(minimumSouls); buffer.writeDouble(soulDrain); + } + @Override + public IRecipeSerializer<RecipeTartaricForge> getSerializer() + { + return BloodMagicRecipeSerializers.TARTARIC.getRecipeSerializer(); + } + + @Override + public IRecipeType<RecipeTartaricForge> getType() + { + return BloodMagicRecipeType.TARTARICFORGE; } } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/api/event/recipes/FluidStackIngredient.java b/src/main/java/wayoftime/bloodmagic/recipe/helper/FluidStackIngredient.java similarity index 99% rename from src/main/java/wayoftime/bloodmagic/api/event/recipes/FluidStackIngredient.java rename to src/main/java/wayoftime/bloodmagic/recipe/helper/FluidStackIngredient.java index cdcecea2..16bf4a28 100644 --- a/src/main/java/wayoftime/bloodmagic/api/event/recipes/FluidStackIngredient.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/helper/FluidStackIngredient.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.event.recipes; +package wayoftime.bloodmagic.recipe.helper; import java.util.ArrayList; import java.util.Arrays; @@ -23,7 +23,6 @@ import net.minecraft.tags.TagCollectionManager; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import wayoftime.bloodmagic.api.SerializerHelper; import wayoftime.bloodmagic.util.Constants; /** diff --git a/src/main/java/wayoftime/bloodmagic/api/inventory/IgnoredIInventory.java b/src/main/java/wayoftime/bloodmagic/recipe/helper/IgnoredIInventory.java similarity index 95% rename from src/main/java/wayoftime/bloodmagic/api/inventory/IgnoredIInventory.java rename to src/main/java/wayoftime/bloodmagic/recipe/helper/IgnoredIInventory.java index 757fa7a5..be062c29 100644 --- a/src/main/java/wayoftime/bloodmagic/api/inventory/IgnoredIInventory.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/helper/IgnoredIInventory.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.inventory; +package wayoftime.bloodmagic.recipe.helper; import javax.annotation.Nonnull; diff --git a/src/main/java/wayoftime/bloodmagic/api/event/recipes/InputIngredient.java b/src/main/java/wayoftime/bloodmagic/recipe/helper/InputIngredient.java similarity index 96% rename from src/main/java/wayoftime/bloodmagic/api/event/recipes/InputIngredient.java rename to src/main/java/wayoftime/bloodmagic/recipe/helper/InputIngredient.java index 9e7f8e52..366e712d 100644 --- a/src/main/java/wayoftime/bloodmagic/api/event/recipes/InputIngredient.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/helper/InputIngredient.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.event.recipes; +package wayoftime.bloodmagic.recipe.helper; import java.util.List; import java.util.function.Predicate; diff --git a/src/main/java/wayoftime/bloodmagic/api/SerializerHelper.java b/src/main/java/wayoftime/bloodmagic/recipe/helper/SerializerHelper.java similarity index 98% rename from src/main/java/wayoftime/bloodmagic/api/SerializerHelper.java rename to src/main/java/wayoftime/bloodmagic/recipe/helper/SerializerHelper.java index b61fec48..da325df7 100644 --- a/src/main/java/wayoftime/bloodmagic/api/SerializerHelper.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/helper/SerializerHelper.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api; +package wayoftime.bloodmagic.recipe.helper; import javax.annotation.Nonnull; diff --git a/src/main/java/wayoftime/bloodmagic/api/event/recipes/TagResolverHelper.java b/src/main/java/wayoftime/bloodmagic/recipe/helper/TagResolverHelper.java similarity index 94% rename from src/main/java/wayoftime/bloodmagic/api/event/recipes/TagResolverHelper.java rename to src/main/java/wayoftime/bloodmagic/recipe/helper/TagResolverHelper.java index e66237e5..02a5eaac 100644 --- a/src/main/java/wayoftime/bloodmagic/api/event/recipes/TagResolverHelper.java +++ b/src/main/java/wayoftime/bloodmagic/recipe/helper/TagResolverHelper.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.event.recipes; +package wayoftime.bloodmagic.recipe.helper; import java.util.Collections; import java.util.List; diff --git a/src/main/java/wayoftime/bloodmagic/registry/ModTranquilityHandlers.java b/src/main/java/wayoftime/bloodmagic/registry/ModTranquilityHandlers.java deleted file mode 100644 index e9083d33..00000000 --- a/src/main/java/wayoftime/bloodmagic/registry/ModTranquilityHandlers.java +++ /dev/null @@ -1,31 +0,0 @@ -package wayoftime.bloodmagic.registry; - -import net.minecraft.block.FireBlock; -import net.minecraft.block.GrassBlock; -import net.minecraft.block.LeavesBlock; -import net.minecraft.tags.BlockTags; -import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.incense.EnumTranquilityType; -import wayoftime.bloodmagic.incense.IncenseTranquilityRegistry; -import wayoftime.bloodmagic.incense.TranquilityStack; - -public class ModTranquilityHandlers -{ - - public static void init() - { - IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof LeavesBlock - ? new TranquilityStack(EnumTranquilityType.PLANT, 1.0D) - : null); - IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof FireBlock - ? new TranquilityStack(EnumTranquilityType.FIRE, 1.0D) - : null); - IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> block instanceof GrassBlock - ? new TranquilityStack(EnumTranquilityType.EARTHEN, 0.5D) - : null); - IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> BlockTags.LOGS.contains(block) - ? new TranquilityStack(EnumTranquilityType.TREE, 1.0D) - : null); - IncenseTranquilityRegistry.registerTranquilityHandler((world, pos, block, state) -> BloodMagicAPI.INSTANCE.getValueManager().getTranquility().get(state)); - } -} diff --git a/src/main/java/wayoftime/bloodmagic/ritual/IMasterRitualStone.java b/src/main/java/wayoftime/bloodmagic/ritual/IMasterRitualStone.java index e82e2deb..775e5642 100644 --- a/src/main/java/wayoftime/bloodmagic/ritual/IMasterRitualStone.java +++ b/src/main/java/wayoftime/bloodmagic/ritual/IMasterRitualStone.java @@ -11,7 +11,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; /** * This interface is for internal implementation only. diff --git a/src/main/java/wayoftime/bloodmagic/ritual/Ritual.java b/src/main/java/wayoftime/bloodmagic/ritual/Ritual.java index 0ecd8c43..648e18e6 100644 --- a/src/main/java/wayoftime/bloodmagic/ritual/Ritual.java +++ b/src/main/java/wayoftime/bloodmagic/ritual/Ritual.java @@ -20,7 +20,7 @@ import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.World; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; /** * Abstract class for creating new rituals. Register your ritual by annotating diff --git a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualCrushing.java b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualCrushing.java index 87c264bf..92af0383 100644 --- a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualCrushing.java +++ b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualCrushing.java @@ -37,7 +37,7 @@ import wayoftime.bloodmagic.ritual.Ritual; import wayoftime.bloodmagic.ritual.RitualComponent; import wayoftime.bloodmagic.ritual.RitualRegister; import wayoftime.bloodmagic.util.Utils; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; @RitualRegister("crushing") public class RitualCrushing extends Ritual diff --git a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualFeatheredKnife.java b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualFeatheredKnife.java index db41851b..b2fd9885 100644 --- a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualFeatheredKnife.java +++ b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualFeatheredKnife.java @@ -13,7 +13,7 @@ import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.World; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.ConfigHandler; -import wayoftime.bloodmagic.api.tile.IBloodAltar; +import wayoftime.bloodmagic.altar.IBloodAltar; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.potion.BloodMagicPotions; import wayoftime.bloodmagic.ritual.AreaDescriptor; @@ -23,7 +23,7 @@ import wayoftime.bloodmagic.ritual.Ritual; import wayoftime.bloodmagic.ritual.RitualComponent; import wayoftime.bloodmagic.ritual.RitualRegister; import wayoftime.bloodmagic.util.helper.PlayerSacrificeHelper; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; @RitualRegister("feathered_knife") public class RitualFeatheredKnife extends Ritual diff --git a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualLava.java b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualLava.java index 14e9acdb..2cbfba90 100644 --- a/src/main/java/wayoftime/bloodmagic/ritual/types/RitualLava.java +++ b/src/main/java/wayoftime/bloodmagic/ritual/types/RitualLava.java @@ -33,7 +33,7 @@ import wayoftime.bloodmagic.ritual.RitualRegister; import wayoftime.bloodmagic.util.DamageSourceBloodMagic; import wayoftime.bloodmagic.util.Utils; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; @RitualRegister("lava") public class RitualLava extends Ritual diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileAlchemicalReactionChamber.java b/src/main/java/wayoftime/bloodmagic/tile/TileAlchemicalReactionChamber.java index bf38f795..2196d608 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileAlchemicalReactionChamber.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileAlchemicalReactionChamber.java @@ -33,10 +33,10 @@ import net.minecraftforge.fluids.capability.templates.FluidTank; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.event.recipes.FluidStackIngredient; +import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeARC; -import wayoftime.bloodmagic.api.item.IARCTool; +import wayoftime.bloodmagic.recipe.RecipeARC; +import wayoftime.bloodmagic.common.item.arc.IARCTool; import wayoftime.bloodmagic.common.item.inventory.InventoryWrapper; import wayoftime.bloodmagic.common.tags.BloodMagicTags; import wayoftime.bloodmagic.network.ARCTanksPacket; diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileAlchemyTable.java b/src/main/java/wayoftime/bloodmagic/tile/TileAlchemyTable.java index 1c0d85dc..af52463b 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileAlchemyTable.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileAlchemyTable.java @@ -27,13 +27,13 @@ import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.api.event.BloodMagicCraftedEvent; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeAlchemyTable; +import wayoftime.bloodmagic.recipe.RecipeAlchemyTable; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.core.data.SoulTicket; -import wayoftime.bloodmagic.api.item.IBindable; -import wayoftime.bloodmagic.orb.BloodOrb; -import wayoftime.bloodmagic.orb.IBloodOrb; +import wayoftime.bloodmagic.common.item.IBindable; +import wayoftime.bloodmagic.common.item.BloodOrb; +import wayoftime.bloodmagic.common.item.IBloodOrb; import wayoftime.bloodmagic.tile.container.ContainerAlchemyTable; import wayoftime.bloodmagic.util.Constants; import wayoftime.bloodmagic.util.helper.NetworkHelper; diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileAltar.java b/src/main/java/wayoftime/bloodmagic/tile/TileAltar.java index c35979b6..6f3c579d 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileAltar.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileAltar.java @@ -14,7 +14,7 @@ import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.altar.AltarTier; import wayoftime.bloodmagic.altar.BloodAltar; -import wayoftime.bloodmagic.api.tile.IBloodAltar; +import wayoftime.bloodmagic.altar.IBloodAltar; public class TileAltar extends TileInventory implements IBloodAltar, ITickableTileEntity { @@ -86,9 +86,9 @@ public class TileAltar extends TileInventory implements IBloodAltar, ITickableTi } @Override - public AltarTier getTier() + public int getTier() { - return bloodAltar.getTier(); + return bloodAltar.getTier().toInt(); } @Override diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java index 1e55cc31..8e1cd973 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java @@ -11,10 +11,10 @@ import net.minecraft.tileentity.TileEntityType; import net.minecraft.util.Direction; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWillConduit; -import wayoftime.bloodmagic.will.IDemonWillGem; -import wayoftime.bloodmagic.will.IDiscreteDemonWill; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWillConduit; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; +import wayoftime.bloodmagic.api.compat.IDiscreteDemonWill; public class TileDemonCrucible extends TileInventory implements ITickableTileEntity, IDemonWillConduit, ISidedInventory { diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystal.java b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystal.java index d62fe823..241eed3e 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystal.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystal.java @@ -11,7 +11,7 @@ import wayoftime.bloodmagic.common.block.BlockDemonCrystal; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.tile.base.TileTicking; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class TileDemonCrystal extends TileTicking { diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystallizer.java b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystallizer.java index b8cefb0d..96f91f52 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystallizer.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrystallizer.java @@ -11,8 +11,8 @@ import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.tile.base.TileTicking; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWillConduit; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWillConduit; public class TileDemonCrystallizer extends TileTicking implements IDemonWillConduit { diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileIncenseAltar.java b/src/main/java/wayoftime/bloodmagic/tile/TileIncenseAltar.java index 6e8ed14e..e68eb31c 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileIncenseAltar.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileIncenseAltar.java @@ -18,7 +18,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.server.ServerWorld; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.incense.EnumTranquilityType; -import wayoftime.bloodmagic.incense.IIncensePath; +import wayoftime.bloodmagic.api.compat.IIncensePath; import wayoftime.bloodmagic.incense.IncenseAltarHandler; import wayoftime.bloodmagic.incense.IncenseTranquilityRegistry; import wayoftime.bloodmagic.incense.TranquilityStack; diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileMasterRitualStone.java b/src/main/java/wayoftime/bloodmagic/tile/TileMasterRitualStone.java index e4991dc0..dee9573e 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileMasterRitualStone.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileMasterRitualStone.java @@ -27,7 +27,7 @@ import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.event.RitualEvent; -import wayoftime.bloodmagic.api.item.IBindable; +import wayoftime.bloodmagic.common.item.IBindable; import wayoftime.bloodmagic.ritual.AreaDescriptor; import wayoftime.bloodmagic.ritual.EnumReaderBoundaries; import wayoftime.bloodmagic.ritual.IMasterRitualStone; @@ -41,7 +41,7 @@ import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; import wayoftime.bloodmagic.util.helper.RitualHelper; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class TileMasterRitualStone extends TileTicking implements IMasterRitualStone { diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileSoulForge.java b/src/main/java/wayoftime/bloodmagic/tile/TileSoulForge.java index 31ab172b..b812ad48 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/TileSoulForge.java +++ b/src/main/java/wayoftime/bloodmagic/tile/TileSoulForge.java @@ -19,13 +19,13 @@ import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.registries.ObjectHolder; import wayoftime.bloodmagic.api.event.BloodMagicCraftedEvent; import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.api.recipe.RecipeTartaricForge; +import wayoftime.bloodmagic.recipe.RecipeTartaricForge; import wayoftime.bloodmagic.tile.container.ContainerSoulForge; import wayoftime.bloodmagic.util.Constants; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillConduit; -import wayoftime.bloodmagic.will.IDemonWillGem; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillConduit; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; public class TileSoulForge extends TileInventory implements ITickableTileEntity, INamedContainerProvider, IDemonWillConduit diff --git a/src/main/java/wayoftime/bloodmagic/tile/container/ContainerAlchemyTable.java b/src/main/java/wayoftime/bloodmagic/tile/container/ContainerAlchemyTable.java index 10afc977..c8fe9fa3 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/container/ContainerAlchemyTable.java +++ b/src/main/java/wayoftime/bloodmagic/tile/container/ContainerAlchemyTable.java @@ -11,7 +11,7 @@ import net.minecraft.inventory.container.Slot; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketBuffer; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; -import wayoftime.bloodmagic.orb.IBloodOrb; +import wayoftime.bloodmagic.common.item.IBloodOrb; import wayoftime.bloodmagic.tile.TileAlchemyTable; public class ContainerAlchemyTable extends Container diff --git a/src/main/java/wayoftime/bloodmagic/tile/container/ContainerSoulForge.java b/src/main/java/wayoftime/bloodmagic/tile/container/ContainerSoulForge.java index 0deaed05..9dd10330 100644 --- a/src/main/java/wayoftime/bloodmagic/tile/container/ContainerSoulForge.java +++ b/src/main/java/wayoftime/bloodmagic/tile/container/ContainerSoulForge.java @@ -13,8 +13,8 @@ import net.minecraft.util.IIntArray; import net.minecraft.util.IntArray; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.tile.TileSoulForge; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillGem; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; public class ContainerSoulForge extends Container { diff --git a/src/main/java/wayoftime/bloodmagic/util/Utils.java b/src/main/java/wayoftime/bloodmagic/util/Utils.java index 753c7a29..799470f4 100644 --- a/src/main/java/wayoftime/bloodmagic/util/Utils.java +++ b/src/main/java/wayoftime/bloodmagic/util/Utils.java @@ -29,7 +29,7 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.wrapper.PlayerMainInvWrapper; -import wayoftime.bloodmagic.api.item.IDemonWillViewer; +import wayoftime.bloodmagic.api.compat.IDemonWillViewer; import wayoftime.bloodmagic.tile.TileInventory; public class Utils diff --git a/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java b/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java index f07871bd..2d4ed58e 100644 --- a/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java +++ b/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java @@ -19,16 +19,16 @@ import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.api.item.IBindable; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.common.item.ItemExperienceBook; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.event.ItemBindEvent; +import wayoftime.bloodmagic.common.item.IBindable; import wayoftime.bloodmagic.network.DemonAuraClientPacket; -import wayoftime.bloodmagic.orb.BloodOrb; -import wayoftime.bloodmagic.orb.IBloodOrb; +import wayoftime.bloodmagic.common.item.BloodOrb; +import wayoftime.bloodmagic.common.item.IBloodOrb; import wayoftime.bloodmagic.util.helper.BindableHelper; import wayoftime.bloodmagic.util.helper.NetworkHelper; import wayoftime.bloodmagic.util.helper.PlayerHelper; diff --git a/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java b/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java index 60e26970..1474aa41 100644 --- a/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java +++ b/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java @@ -36,9 +36,9 @@ import wayoftime.bloodmagic.demonaura.WillChunk; import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.potion.BloodMagicPotions; import wayoftime.bloodmagic.will.DemonWillHolder; -import wayoftime.bloodmagic.will.EnumDemonWillType; -import wayoftime.bloodmagic.will.IDemonWill; -import wayoftime.bloodmagic.will.IDemonWillWeapon; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillWeapon; import wayoftime.bloodmagic.will.PlayerDemonWillHandler; @Mod.EventBusSubscriber(modid = BloodMagic.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) diff --git a/src/main/java/wayoftime/bloodmagic/util/helper/NetworkHelper.java b/src/main/java/wayoftime/bloodmagic/util/helper/NetworkHelper.java index debf1d4f..0dc98add 100644 --- a/src/main/java/wayoftime/bloodmagic/util/helper/NetworkHelper.java +++ b/src/main/java/wayoftime/bloodmagic/util/helper/NetworkHelper.java @@ -9,15 +9,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.storage.DimensionSavedDataManager; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.server.ServerLifecycleHooks; -import wayoftime.bloodmagic.api.item.IBindable; import wayoftime.bloodmagic.core.data.BMWorldSavedData; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; import wayoftime.bloodmagic.core.data.SoulTicket; import wayoftime.bloodmagic.core.registry.OrbRegistry; import wayoftime.bloodmagic.event.SoulNetworkEvent; -import wayoftime.bloodmagic.orb.BloodOrb; -import wayoftime.bloodmagic.orb.IBloodOrb; +import wayoftime.bloodmagic.common.item.IBindable; +import wayoftime.bloodmagic.common.item.BloodOrb; +import wayoftime.bloodmagic.common.item.IBloodOrb; public class NetworkHelper { diff --git a/src/main/java/wayoftime/bloodmagic/util/helper/PlayerSacrificeHelper.java b/src/main/java/wayoftime/bloodmagic/util/helper/PlayerSacrificeHelper.java index aea347e2..0f247bbc 100644 --- a/src/main/java/wayoftime/bloodmagic/util/helper/PlayerSacrificeHelper.java +++ b/src/main/java/wayoftime/bloodmagic/util/helper/PlayerSacrificeHelper.java @@ -8,7 +8,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import wayoftime.bloodmagic.ConfigHandler; -import wayoftime.bloodmagic.api.tile.IBloodAltar; +import wayoftime.bloodmagic.altar.IBloodAltar; import wayoftime.bloodmagic.event.SacrificeKnifeUsedEvent; public class PlayerSacrificeHelper diff --git a/src/main/java/wayoftime/bloodmagic/api/providers/IBaseProvider.java b/src/main/java/wayoftime/bloodmagic/util/providers/IBaseProvider.java similarity index 74% rename from src/main/java/wayoftime/bloodmagic/api/providers/IBaseProvider.java rename to src/main/java/wayoftime/bloodmagic/util/providers/IBaseProvider.java index e59271db..af0a7f94 100644 --- a/src/main/java/wayoftime/bloodmagic/api/providers/IBaseProvider.java +++ b/src/main/java/wayoftime/bloodmagic/util/providers/IBaseProvider.java @@ -1,10 +1,10 @@ -package wayoftime.bloodmagic.api.providers; +package wayoftime.bloodmagic.util.providers; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; -import wayoftime.bloodmagic.api.text.IHasTextComponent; -import wayoftime.bloodmagic.api.text.IHasTranslationKey; +import wayoftime.bloodmagic.util.text.IHasTextComponent; +import wayoftime.bloodmagic.util.text.IHasTranslationKey; public interface IBaseProvider extends IHasTextComponent, IHasTranslationKey { diff --git a/src/main/java/wayoftime/bloodmagic/api/providers/IEntityTypeProvider.java b/src/main/java/wayoftime/bloodmagic/util/providers/IEntityTypeProvider.java similarity index 92% rename from src/main/java/wayoftime/bloodmagic/api/providers/IEntityTypeProvider.java rename to src/main/java/wayoftime/bloodmagic/util/providers/IEntityTypeProvider.java index db92683c..07785354 100644 --- a/src/main/java/wayoftime/bloodmagic/api/providers/IEntityTypeProvider.java +++ b/src/main/java/wayoftime/bloodmagic/util/providers/IEntityTypeProvider.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.providers; +package wayoftime.bloodmagic.util.providers; import javax.annotation.Nonnull; diff --git a/src/main/java/wayoftime/bloodmagic/api/text/IHasTextComponent.java b/src/main/java/wayoftime/bloodmagic/util/text/IHasTextComponent.java similarity index 75% rename from src/main/java/wayoftime/bloodmagic/api/text/IHasTextComponent.java rename to src/main/java/wayoftime/bloodmagic/util/text/IHasTextComponent.java index d0b25951..9f77ad56 100644 --- a/src/main/java/wayoftime/bloodmagic/api/text/IHasTextComponent.java +++ b/src/main/java/wayoftime/bloodmagic/util/text/IHasTextComponent.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.text; +package wayoftime.bloodmagic.util.text; import net.minecraft.util.text.ITextComponent; diff --git a/src/main/java/wayoftime/bloodmagic/api/text/IHasTranslationKey.java b/src/main/java/wayoftime/bloodmagic/util/text/IHasTranslationKey.java similarity index 63% rename from src/main/java/wayoftime/bloodmagic/api/text/IHasTranslationKey.java rename to src/main/java/wayoftime/bloodmagic/util/text/IHasTranslationKey.java index 63be3d74..b23d79b6 100644 --- a/src/main/java/wayoftime/bloodmagic/api/text/IHasTranslationKey.java +++ b/src/main/java/wayoftime/bloodmagic/util/text/IHasTranslationKey.java @@ -1,4 +1,4 @@ -package wayoftime.bloodmagic.api.text; +package wayoftime.bloodmagic.util.text; public interface IHasTranslationKey { diff --git a/src/main/java/wayoftime/bloodmagic/will/DemonWillHolder.java b/src/main/java/wayoftime/bloodmagic/will/DemonWillHolder.java index 21997641..aa122e23 100644 --- a/src/main/java/wayoftime/bloodmagic/will/DemonWillHolder.java +++ b/src/main/java/wayoftime/bloodmagic/will/DemonWillHolder.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Map.Entry; import net.minecraft.nbt.CompoundNBT; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; public class DemonWillHolder { diff --git a/src/main/java/wayoftime/bloodmagic/will/EnumDemonWillType.java b/src/main/java/wayoftime/bloodmagic/will/EnumDemonWillType.java deleted file mode 100644 index ed237683..00000000 --- a/src/main/java/wayoftime/bloodmagic/will/EnumDemonWillType.java +++ /dev/null @@ -1,54 +0,0 @@ -package wayoftime.bloodmagic.will; - -import java.util.Locale; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.IStringSerializable; -import wayoftime.bloodmagic.common.item.BloodMagicItems; - -public enum EnumDemonWillType implements IStringSerializable -{ - DEFAULT("default"), - CORROSIVE("corrosive"), - DESTRUCTIVE("destructive"), - VENGEFUL("vengeful"), - STEADFAST("steadfast"); - - public final String name; - - EnumDemonWillType(String name) - { - this.name = name; - } - - @Override - public String toString() - { - return name().toLowerCase(Locale.ENGLISH); - } - - @Override - public String getString() - { - return this.toString(); - } - - public ItemStack getStack() - { - switch (this) - { - case CORROSIVE: - return new ItemStack(BloodMagicItems.CORROSIVE_CRYSTAL.get()); - case DEFAULT: - return new ItemStack(BloodMagicItems.RAW_CRYSTAL.get()); - case DESTRUCTIVE: - return new ItemStack(BloodMagicItems.DESTRUCTIVE_CRYSTAL.get()); - case STEADFAST: - return new ItemStack(BloodMagicItems.STEADFAST_CRYSTAL.get()); - case VENGEFUL: - return new ItemStack(BloodMagicItems.VENGEFUL_CRYSTAL.get()); - default: - return ItemStack.EMPTY; - } - } -} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/will/PlayerDemonWillHandler.java b/src/main/java/wayoftime/bloodmagic/will/PlayerDemonWillHandler.java index 1576c5e2..3a9de35a 100644 --- a/src/main/java/wayoftime/bloodmagic/will/PlayerDemonWillHandler.java +++ b/src/main/java/wayoftime/bloodmagic/will/PlayerDemonWillHandler.java @@ -3,6 +3,9 @@ package wayoftime.bloodmagic.will; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; +import wayoftime.bloodmagic.api.compat.EnumDemonWillType; +import wayoftime.bloodmagic.api.compat.IDemonWill; +import wayoftime.bloodmagic.api.compat.IDemonWillGem; import wayoftime.bloodmagic.util.helper.NetworkHelper; /**