this doesn't compile yet, but have something to peek at

This commit is contained in:
Nicholas Ignoffo 2017-08-14 20:53:42 -07:00
parent 973f1019a5
commit 5fcdd978d7
329 changed files with 3247 additions and 2953 deletions

View file

@ -5,26 +5,21 @@ buildscript {
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'org.ajoberstar:gradle-git:0.10.1'
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
id 'com.matthewprenger.cursegradle' version '1.0.9'
id 'io.franzbecker.gradle-lombok' version '1.6'
id 'maven-publish'
}
apply plugin: 'maven-publish'
def build_number = 'CUSTOM'
if (System.getenv('BUILD_NUMBER') != null)
build_number = System.getenv('BUILD_NUMBER')
def username = 'BloodMagicDev'
def username = "${mod_name}"
if (project.hasProperty('dev_username'))
username = "${dev_username}"
@ -32,38 +27,15 @@ group = package_group
archivesBaseName = mod_name
version = "${mc_version}-${mod_version}-${build_number}"
if (project.hasProperty('gitpush'))
version += "-ss"
import org.ajoberstar.grgit.*
ext.repo = Grgit.open(project.file('.'))
def gitHash = 'unknown'
if (new File(projectDir, '.git').exists())
gitHash = repo.log().find().abbreviatedId
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" }
maven { url "http://tehnut.info/maven" }
ivy {
name "Thaumcraft"
artifactPattern "https://dl.dropboxusercontent.com/u/47135879/[module]-[revision]-deobf.[ext]"
}
ivy {
name "Baubles"
artifactPattern "https://dl.dropboxusercontent.com/u/47135879/[module]-1.8.9-[revision]-deobf.[ext]"
}
}
dependencies {
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}"
deobfCompile "mcp.mobius.waila:Hwyla:${waila_version}_${mc_version}"
deobfCompile "info.amerifrance.guideapi:Guide-API:${mc_version}-${guideapi_version}"
// compile name: "Thaumcraft", version: "${mc_version}-${thaumcraft_version}", ext: "jar"
// compile name: 'Baubles', version: "${baubles_version}", ext: 'jar'
}
minecraft {
@ -104,23 +76,6 @@ if (JavaVersion.current().isJava8Compatible()) {
}
}
lombok {
version = "1.16.6"
sha256 = "e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d"
}
import io.franzbecker.gradle.lombok.task.DelombokTask
task delombok(type: DelombokTask) {
args("src/main/java", "-d", "build/sources/delomboked/java")
}
task delombokHelp(type: DelombokTask) {
args "--help"
}
tasks.eclipse.dependsOn installLombok
jar {
classifier = ''
manifest.mainAttributes(
@ -128,7 +83,6 @@ jar {
"Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})",
"Implementation-Title": project.name,
"Implementation-Version": project.version,
"Git-Hash": gitHash,
"Built-On": "${mc_version}-${forge_version}"
)
}
@ -147,11 +101,6 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
}
javadoc {
source = projectDir.path + "/build/sources/delomboked/java"
}
tasks.javadoc.dependsOn delombok
tasks.build.dependsOn javadoc, javadocJar, apiJar
tasks.withType(JavaCompile) { task ->
@ -202,7 +151,7 @@ String getChangelogText() {
def curseRelations = {
optionalLibrary 'just-enough-items-jei'
optionalLibrary 'waila'
optionalLibrary 'hwyla'
requiredLibrary 'guide-api'
}
@ -216,7 +165,6 @@ curseforge {
releaseType = 'beta'
relations curseRelations
addGameVersion '1.11.2'
addArtifact javadocJar
addArtifact sourceJar

View file

@ -1,12 +1,12 @@
mod_name=BloodMagic
package_group=com.wayoftime.bloodmagic
mod_version=2.1.11
mc_version=1.11
forge_version=13.19.1.2189
mod_version=2.2.0
mc_version=1.12
forge_version=14.21.1.2443
curse_id=224791
mappings_version=snapshot_20161212
mappings_version=snapshot_20170814
jei_version=4.0.5.203
waila_version=1.8.5-B19
guideapi_version=2.1.0-50
jei_version=4.7.5.85
waila_version=1.8.20-B35
guideapi_version=2.1.4-56

View file

@ -5,7 +5,6 @@ import java.io.File;
import WayofTime.bloodmagic.command.CommandBloodMagic;
import WayofTime.bloodmagic.api.registry.RitualRegistry;
import WayofTime.bloodmagic.meteor.MeteorConfigHandler;
import lombok.Getter;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.launchwrapper.Launch;
@ -15,19 +14,14 @@ import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import WayofTime.bloodmagic.annot.Handler;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.LogHelper;
import WayofTime.bloodmagic.client.gui.GuiHandler;
import WayofTime.bloodmagic.compat.ICompatibility;
import WayofTime.bloodmagic.network.BloodMagicPacketHandler;
import WayofTime.bloodmagic.proxy.CommonProxy;
import WayofTime.bloodmagic.registry.ModArmourTrackers;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.ModCompatibility;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.registry.ModCorruptionBlocks;
import WayofTime.bloodmagic.registry.ModEntities;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.ModPotions;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.registry.ModRecipes;
import WayofTime.bloodmagic.registry.ModRituals;
import WayofTime.bloodmagic.registry.ModTranquilityHandlers;
@ -35,31 +29,27 @@ import WayofTime.bloodmagic.structures.ModDungeons;
import WayofTime.bloodmagic.util.Utils;
import WayofTime.bloodmagic.util.handler.IMCHandler;
@Mod(modid = Constants.Mod.MODID, name = Constants.Mod.NAME, version = Constants.Mod.VERSION, dependencies = Constants.Mod.DEPEND, guiFactory = "WayofTime.bloodmagic.client.gui.config.ConfigGuiFactory")
@Getter
@Mod(modid = BloodMagic.MODID, name = BloodMagic.NAME, version = BloodMagic.VERSION, dependencies = BloodMagic.DEPEND, guiFactory = "WayofTime.bloodmagic.client.gui.config.ConfigGuiFactory")
public class BloodMagic
{
@SidedProxy(serverSide = "WayofTime.bloodmagic.proxy.CommonProxy", clientSide = "WayofTime.bloodmagic.proxy.ClientProxy")
public static CommonProxy proxy;
@Mod.Instance(Constants.Mod.MODID)
public static BloodMagic instance;
public static CreativeTabs tabBloodMagic = new CreativeTabs(Constants.Mod.MODID + ".creativeTab")
public static final String MODID = "bloodmagic";
public static final String NAME = "Blood Magic: Alchemical Wizardry";
public static final String VERSION = "@VERSION@";
public static final String DEPEND = "required-after:guideapi;";
public static final CreativeTabs TAB_BM = new CreativeTabs(MODID + ".creativeTab")
{
@Override
public ItemStack getTabIconItem()
{
return new ItemStack(ModItems.BLOOD_ORB);
return new ItemStack(RegistrarBloodMagicItems.BLOOD_ORB);
}
};
public static CreativeTabs tabUpgradeTome = new CreativeTabs(Constants.Mod.MODID + ".creativeTabTome")
public static CreativeTabs TAB_TOMES = new CreativeTabs(MODID + ".creativeTabTome")
{
@Override
public ItemStack getTabIconItem()
{
return new ItemStack(ModItems.UPGRADE_TOME);
return new ItemStack(RegistrarBloodMagicItems.UPGRADE_TOME);
}
@Override
@ -67,33 +57,28 @@ public class BloodMagic
{
return true;
}
}.setNoTitle().setBackgroundImageName("upgrade_tomes.png");
@Getter
private static boolean isDev = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
}.setNoTitle().setBackgroundImageName("items_search.png");
public static final boolean IS_DEV = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
static
{
tabUpgradeTome.setNoTitle().setBackgroundImageName("upgrade_tomes.png");
FluidRegistry.enableUniversalBucket();
}
private LogHelper logger = new LogHelper(Constants.Mod.MODID);
@SidedProxy(serverSide = "WayofTime.bloodmagic.proxy.CommonProxy", clientSide = "WayofTime.bloodmagic.proxy.ClientProxy")
public static CommonProxy proxy;
@Mod.Instance(BloodMagic.MODID)
public static BloodMagic instance;
public LogHelper logger = new LogHelper(MODID);
private File configDir;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
configDir = new File(event.getModConfigurationDirectory(), "BloodMagic");
ConfigHandler.init(new File(getConfigDir(), "BloodMagic.cfg"));
ConfigHandler.init(new File(configDir, "BloodMagic.cfg"));
ModBlocks.init();
ModItems.init();
ModPotions.init();
ModEntities.init();
ModCompatibility.registerModCompat();
ModCompatibility.loadCompat(ICompatibility.InitializationPhase.PRE_INIT);
ModTranquilityHandlers.init();
ModDungeons.init();
@ -105,13 +90,13 @@ public class BloodMagic
public void init(FMLInitializationEvent event)
{
BloodMagicPacketHandler.init();
RegistrarBloodMagicBlocks.registerBlacklists();
ModRecipes.init();
ModRituals.initRituals();
ModRituals.initImperfectRituals();
MeteorConfigHandler.init(new File(configDir, "meteors"));
ModArmourTrackers.init();
ModCompatibility.loadCompat(ICompatibility.InitializationPhase.INIT);
NetworkRegistry.INSTANCE.registerGuiHandler(BloodMagic.instance, new GuiHandler());
ModCorruptionBlocks.init();
@ -122,7 +107,6 @@ public class BloodMagic
public void postInit(FMLPostInitializationEvent event)
{
ModRecipes.addCompressionHandlers();
ModCompatibility.loadCompat(ICompatibility.InitializationPhase.POST_INIT);
proxy.postInit();
}
@ -135,7 +119,7 @@ public class BloodMagic
@Mod.EventHandler
public void modMapping(FMLModIdMappingEvent event)
{
ModCompatibility.loadCompat(ICompatibility.InitializationPhase.MAPPING);
}
@Mod.EventHandler

View file

@ -8,11 +8,9 @@ import java.util.List;
import java.util.Map;
import WayofTime.bloodmagic.meteor.MeteorConfigHandler;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
@ -26,28 +24,23 @@ import WayofTime.bloodmagic.util.Utils;
@Handler
public class ConfigHandler
{
@Getter
private static Configuration config;
public static Configuration config;
// Teleposer
public static String[] teleposerBlacklisting;
public static ArrayList<BlockStack> teleposerBlacklist = new ArrayList<BlockStack>();
public static ArrayList<BlockStack> teleposerBlacklist = new ArrayList<>();
public static List<String> teleposerBlacklistEntity;
// Transposition Sigil
public static String[] transpositionBlacklisting;
public static ArrayList<BlockStack> transpositionBlacklist = new ArrayList<BlockStack>();
// Item/Block Disabling
public static List<String> itemBlacklist;
public static List<String> blockBlacklist;
public static ArrayList<BlockStack> transpositionBlacklist = new ArrayList<>();
// Well of Suffering Blacklist
public static List<String> wellOfSufferingBlacklist;
// Blood Altar Sacrificial Values
public static String[] entitySacrificeValuesList;
public static Map<String, Integer> entitySacrificeValues = new HashMap<String, Integer>();
public static Map<String, Integer> entitySacrificeValues = new HashMap<>();
// Rituals
public static boolean ritualAnimalGrowth;
@ -167,23 +160,11 @@ public class ConfigHandler
public static void syncConfig()
{
boolean configVersionChanged = false;
String category;
category = "Version";
Property prop = config.get(category, "Config Version", Constants.Mod.VERSION);
if (!prop.getString().equals(Constants.Mod.VERSION))
{
configVersionChanged = true;
prop.setValue(Constants.Mod.VERSION);
}
category = "Item/Block Blacklisting";
config.addCustomCategoryComment(category, "Allows disabling of specific Blocks/Items.\nNote that using this may result in crashes. Use is not supported.");
config.setCategoryRequiresMcRestart(category, true);
itemBlacklist = Arrays.asList(config.getStringList("itemBlacklist", category, new String[] {}, "Items to not be registered. This requires their mapping name. Usually the same as the class name. Can be found in F3+H mode."));
blockBlacklist = Arrays.asList(config.getStringList("blockBlacklist", category, new String[] {}, "Blocks to not be registered. This requires their mapping name. Usually the same as the class name. Can be found in F3+H mode."));
category = "Teleposer Blacklist";
config.addCustomCategoryComment(category, "Block blacklisting");
@ -306,7 +287,7 @@ public class ConfigHandler
category = "General";
config.addCustomCategoryComment(category, "General settings");
BloodMagicAPI.setLoggingEnabled(config.getBoolean("enableLogging", category, true, "Allows logging information to the console. Fatal errors will bypass this"));
BloodMagicAPI.loggingEnabled = config.getBoolean("enableLogging", category, true, "Allows logging information to the console. Fatal errors will bypass this");
sacrificialPackConversion = config.getInt("sacrificialPackConversion", category, 20, 0, 100, "Base multiplier for the Coat of Arms. DamageDealt * sacrificialPackConversion");
sacrificialDaggerDamage = config.getInt("sacrificialDaggerDamage", category, 2, 0, 10000, "Damage done from using the Sacrificial Dagger");
sacrificialDaggerConversion = config.getInt("sacrificialDaggerConversion", category, 100, 0, 10000, "Amount of LP received per damage point (not heart!)");
@ -376,7 +357,7 @@ public class ConfigHandler
@SubscribeEvent
public void onConfigChanged(ConfigChangedEvent event)
{
if (event.getModID().equals(Constants.Mod.MODID))
if (event.getModID().equals(BloodMagic.MODID))
{
syncConfig();
MeteorConfigHandler.handleMeteors(false);

View file

@ -6,6 +6,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.ai.EntityAIBase;
@ -28,7 +29,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.alchemyCrafting.AlchemyArrayEffect;
import WayofTime.bloodmagic.fakePlayer.FakePlayerBM;
import WayofTime.bloodmagic.tile.TileAlchemyArray;
@ -400,7 +400,7 @@ public class AlchemyArrayEffectAttractor extends AlchemyArrayEffect
{
public Target(World world, BlockPos pos)
{
super(world, pos, new GameProfile(null, Constants.Mod.MODID + "ArrayAttractor" + ":" + pos));
super(world, pos, new GameProfile(null, BloodMagic.MODID + "ArrayAttractor" + ":" + pos));
posY += 1;
}
}

View file

@ -2,7 +2,6 @@ package WayofTime.bloodmagic.altar;
import java.util.List;
import lombok.Getter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@ -54,7 +53,7 @@ public class BloodAltar implements IFluidHandler
private EnumAltarTier altarTier = EnumAltarTier.ONE;
private AltarUpgrade upgrade;
private int capacity = Fluid.BUCKET_VOLUME * 10;
private FluidStack fluid = new FluidStack(BloodMagicAPI.getLifeEssence(), 0);
private FluidStack fluid = new FluidStack(BlockLifeEssence.getLifeEssence(), 0);
private int liquidRequired; // mB
private boolean canBeFilled;
private int consumptionRate;
@ -84,7 +83,6 @@ public class BloodAltar implements IFluidHandler
private AltarRecipe recipe;
private ItemStack result = ItemStack.EMPTY;
@Getter
private EnumAltarTier currentTierDisplayed = EnumAltarTier.ONE;
public BloodAltar(TileAltar tileAltar)
@ -132,9 +130,9 @@ public class BloodAltar implements IFluidHandler
} else if (worldBlock.getBlock() != Utils.getBlockForComponent(altarComponent.getComponent())) // Special case Vanilla
{
return false;
} else if (BloodMagicAPI.getAltarComponents().get(worldBlock.getState()) != null) // Mod compat
} else if (BloodMagicAPI.altarComponents.get(worldBlock.getState()) != null) // Mod compat
{
return BloodMagicAPI.getAltarComponents().get(worldBlock.getState()) == altarComponent.getComponent();
return BloodMagicAPI.altarComponents.get(worldBlock.getState()) == altarComponent.getComponent();
}
} else
{
@ -261,10 +259,10 @@ public class BloodAltar implements IFluidHandler
if (fluid != null)
setMainFluid(fluid);
FluidStack fluidOut = new FluidStack(BloodMagicAPI.getLifeEssence(), tagCompound.getInteger(Constants.NBT.OUTPUT_AMOUNT));
FluidStack fluidOut = new FluidStack(BloodMagicAPI.lifeEssence, tagCompound.getInteger(Constants.NBT.OUTPUT_AMOUNT));
setOutputFluid(fluidOut);
FluidStack fluidIn = new FluidStack(BloodMagicAPI.getLifeEssence(), tagCompound.getInteger(Constants.NBT.INPUT_AMOUNT));
FluidStack fluidIn = new FluidStack(BloodMagicAPI.lifeEssence, tagCompound.getInteger(Constants.NBT.INPUT_AMOUNT));
setInputFluid(fluidIn);
}
@ -880,4 +878,8 @@ public class BloodAltar implements IFluidHandler
{
return new IFluidTankProperties[] { new FluidTankPropertiesWrapper(new FluidTank(fluid, capacity)) };
}
public EnumAltarTier getCurrentTierDisplayed() {
return currentTierDisplayed;
}
}

View file

@ -1,15 +1,11 @@
package WayofTime.bloodmagic.api;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@Getter
@EqualsAndHashCode(exclude = { "state" })
public class BlockStack
{
private final Block block;
@ -39,6 +35,36 @@ public class BlockStack
return new ItemStack(block, 1, meta);
}
public Block getBlock() {
return block;
}
public int getMeta() {
return meta;
}
public IBlockState getState() {
return state;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof BlockStack)) return false;
BlockStack that = (BlockStack) o;
if (meta != that.meta) return false;
return block != null ? block.equals(that.block) : that.block == null;
}
@Override
public int hashCode() {
int result = block != null ? block.hashCode() : 0;
result = 31 * result + meta;
return result;
}
@Override
public String toString()
{

View file

@ -1,9 +1,8 @@
package WayofTime.bloodmagic.api;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.altar.EnumAltarComponent;
import WayofTime.bloodmagic.api.util.helper.LogHelper;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
@ -35,38 +34,27 @@ import java.util.Map;
*/
public class BloodMagicAPI
{
@Getter
private static final List<BlockStack> teleposerBlacklist = new ArrayList<BlockStack>();
@Getter
private static final List<BlockStack> transpositionBlacklist = new ArrayList<BlockStack>();
@Getter
private static final Map<String, Integer> entitySacrificeValues = new HashMap<String, Integer>();
@Getter
private static final ArrayList<Block> greenGroveBlacklist = new ArrayList<Block>();
@Getter
private static final Map<IBlockState, EnumAltarComponent> altarComponents = new HashMap<IBlockState, EnumAltarComponent>();
public static final List<BlockStack> teleposerBlacklist = new ArrayList<BlockStack>();
public static final List<BlockStack> transpositionBlacklist = new ArrayList<BlockStack>();
public static final Map<String, Integer> entitySacrificeValues = new HashMap<String, Integer>();
public static final ArrayList<Block> greenGroveBlacklist = new ArrayList<Block>();
public static final Map<IBlockState, EnumAltarComponent> altarComponents = new HashMap<IBlockState, EnumAltarComponent>();
@Getter
@Setter
private static boolean loggingEnabled;
public static boolean loggingEnabled;
@Getter
private static LogHelper logger = new LogHelper("BloodMagic|API");
public static LogHelper logger = new LogHelper("BloodMagic|API");
@Getter
private static DamageSource damageSource = new DamageSourceBloodMagic();
public static DamageSource damageSource = new DamageSourceBloodMagic();
@Getter
@Setter
private static Fluid lifeEssence;
private static ItemStack lifeEssenceBucket;
public static Fluid lifeEssence;
public static ItemStack lifeEssenceBucket;
public static ItemStack getLifeEssenceBucket()
{
if (lifeEssenceBucket != null)
return lifeEssenceBucket;
lifeEssenceBucket = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, getLifeEssence());
lifeEssenceBucket = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, lifeEssence);
return lifeEssenceBucket;
}
@ -82,7 +70,7 @@ public class BloodMagicAPI
*/
public static Item getItem(String name)
{
return ForgeRegistries.ITEMS.getValue(new ResourceLocation(Constants.Mod.MODID, name));
return ForgeRegistries.ITEMS.getValue(new ResourceLocation(BloodMagic.MODID, name));
}
/**
@ -110,7 +98,7 @@ public class BloodMagicAPI
*/
public static Block getBlock(String name)
{
return ForgeRegistries.BLOCKS.getValue(new ResourceLocation(Constants.Mod.MODID, name));
return ForgeRegistries.BLOCKS.getValue(new ResourceLocation(BloodMagic.MODID, name));
}
/**

View file

@ -2,7 +2,7 @@ package WayofTime.bloodmagic.api;
import java.util.Locale;
import lombok.Getter;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
@ -132,11 +132,7 @@ public class Constants
public static class Mod
{
public static final String MODID = "bloodmagic";
public static final String DOMAIN = MODID.toLowerCase(Locale.ENGLISH) + ":";
public static final String NAME = "Blood Magic: Alchemical Wizardry";
public static final String VERSION = "@VERSION@";
public static final String DEPEND = "required-after:guideapi;";
public static final String DOMAIN = BloodMagic.MODID.toLowerCase(Locale.ENGLISH) + ":";
}
public static final class Gui
@ -151,19 +147,19 @@ public class Constants
public static class Compat
{
public static final String JEI_CATEGORY_ALTAR = Mod.MODID + ":altar";
public static final String JEI_CATEGORY_BINDING = Mod.MODID + ":binding";
public static final String JEI_CATEGORY_ALCHEMYARRAY = Mod.MODID + ":alchemyArray";
public static final String JEI_CATEGORY_SOULFORGE = Mod.MODID + ":soulForge";
public static final String JEI_CATEGORY_ALCHEMYTABLE = Mod.MODID + ":salchemyTable";
public static final String JEI_CATEGORY_ARMOURDOWNGRADE = Mod.MODID + ":armourDowngrade";
public static final String JEI_CATEGORY_ALTAR = BloodMagic.MODID + ":altar";
public static final String JEI_CATEGORY_BINDING = BloodMagic.MODID + ":binding";
public static final String JEI_CATEGORY_ALCHEMYARRAY = BloodMagic.MODID + ":alchemyArray";
public static final String JEI_CATEGORY_SOULFORGE = BloodMagic.MODID + ":soulForge";
public static final String JEI_CATEGORY_ALCHEMYTABLE = BloodMagic.MODID + ":salchemyTable";
public static final String JEI_CATEGORY_ARMOURDOWNGRADE = BloodMagic.MODID + ":armourDowngrade";
public static final String WAILA_CONFIG_BYPASS_SNEAK = Mod.MODID + ".bypassSneak";
public static final String WAILA_CONFIG_ALTAR = Mod.MODID + ".bloodAltar";
public static final String WAILA_CONFIG_TELEPOSER = Mod.MODID + ".teleposer";
public static final String WAILA_CONFIG_RITUAL = Mod.MODID + ".ritualController";
public static final String WAILA_CONFIG_ARRAY = Mod.MODID + ".array";
public static final String WAILA_CONFIG_BLOOD_TANK = Mod.MODID + ".bloodTank";
public static final String WAILA_CONFIG_BYPASS_SNEAK = BloodMagic.MODID + ".bypassSneak";
public static final String WAILA_CONFIG_ALTAR = BloodMagic.MODID + ".bloodAltar";
public static final String WAILA_CONFIG_TELEPOSER = BloodMagic.MODID + ".teleposer";
public static final String WAILA_CONFIG_RITUAL = BloodMagic.MODID + ".ritualController";
public static final String WAILA_CONFIG_ARRAY = BloodMagic.MODID + ".array";
public static final String WAILA_CONFIG_BLOOD_TANK = BloodMagic.MODID + ".bloodTank";
public static final Item THAUMCRAFT_GOGGLES = ForgeRegistries.ITEMS.getValue(new ResourceLocation("Thaumcraft", "goggles"));
}
@ -187,12 +183,6 @@ public class Constants
BOUND_PICKAXE("ItemBoundPickaxe"),
BOUND_SHOVEL("ItemBoundShovel"),
BOUND_SWORD("ItemBoundSword"),
/**
* @deprecated - Use
* {@code UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, BloodMagicAPI.getLifeEssence())}
**/
@Deprecated
BUCKET_ESSENCE("ItemBucketEssence"),
COMPONENT("ItemComponent"),
CUTTING_FLUID("ItemCuttingFluid"),
DEMON_CRYSTAL("ItemDemonCrystal"),
@ -257,7 +247,6 @@ public class Constants
SIGIL_BOUNCE("ItemSigilBounce"),
SIGIL_FROST("ItemSigilFrost");
@Getter
private final String regName;
BloodMagicItem(String regName)
@ -267,7 +256,12 @@ public class Constants
public Item getItem()
{
return BloodMagicAPI.getItem(getRegName());
return BloodMagicAPI.getItem(regName);
}
public String getRegName()
{
return regName;
}
}
@ -319,7 +313,6 @@ public class Constants
INVERSION_PILLAR("BlockInversionPillar"),
INVERSION_PILLAR_END("BlockInversionPillarEnd");
@Getter
private final String regName;
BloodMagicBlock(String regName)
@ -329,7 +322,12 @@ public class Constants
public Block getBlock()
{
return BloodMagicAPI.getBlock(getRegName());
return BloodMagicAPI.getBlock(regName);
}
public String getRegName()
{
return regName;
}
}
}

View file

@ -1,7 +1,5 @@
package WayofTime.bloodmagic.api.alchemyCrafting;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;
@ -10,12 +8,14 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.iface.IAlchemyArray;
@RequiredArgsConstructor
public abstract class AlchemyArrayEffect
{
@Getter
public final String key;
public AlchemyArrayEffect(String key) {
this.key = key;
}
public abstract boolean update(TileEntity tile, int ticksActive);
public abstract void writeToNBT(NBTTagCompound tag);
@ -28,4 +28,8 @@ public abstract class AlchemyArrayEffect
{
}
public String getKey() {
return key;
}
}

View file

@ -1,12 +1,10 @@
package WayofTime.bloodmagic.api.altar;
import lombok.Getter;
import net.minecraft.util.math.BlockPos;
/**
* Used for building the altar structure.
*/
@Getter
public class AltarComponent
{
private BlockPos offset;
@ -50,4 +48,16 @@ public class AltarComponent
this.upgradeSlot = true;
return this;
}
public BlockPos getOffset() {
return offset;
}
public boolean isUpgradeSlot() {
return upgradeSlot;
}
public EnumAltarComponent getComponent() {
return component;
}
}

View file

@ -1,12 +1,5 @@
package WayofTime.bloodmagic.api.altar;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class AltarUpgrade
{
private int speedCount;
@ -20,6 +13,22 @@ public class AltarUpgrade
private int accelerationCount;
private int chargingCount;
public AltarUpgrade(int speedCount, int efficiencyCount, int sacrificeCount, int selfSacrificeCount, int displacementCount, int capacityCount, int orbCapacityCount, int betterCapacityCount, int accelerationCount, int chargingCount) {
this.speedCount = speedCount;
this.efficiencyCount = efficiencyCount;
this.sacrificeCount = sacrificeCount;
this.selfSacrificeCount = selfSacrificeCount;
this.displacementCount = displacementCount;
this.capacityCount = capacityCount;
this.orbCapacityCount = orbCapacityCount;
this.betterCapacityCount = betterCapacityCount;
this.accelerationCount = accelerationCount;
this.chargingCount = chargingCount;
}
public AltarUpgrade() {
}
// Adders
public AltarUpgrade addSpeed()
@ -81,4 +90,44 @@ public class AltarUpgrade
chargingCount++;
return this;
}
public int getSpeedCount() {
return speedCount;
}
public int getEfficiencyCount() {
return efficiencyCount;
}
public int getSacrificeCount() {
return sacrificeCount;
}
public int getSelfSacrificeCount() {
return selfSacrificeCount;
}
public int getDisplacementCount() {
return displacementCount;
}
public int getCapacityCount() {
return capacityCount;
}
public int getOrbCapacityCount() {
return orbCapacityCount;
}
public int getBetterCapacityCount() {
return betterCapacityCount;
}
public int getAccelerationCount() {
return accelerationCount;
}
public int getChargingCount() {
return chargingCount;
}
}

View file

@ -2,12 +2,9 @@ package WayofTime.bloodmagic.api.altar;
import java.util.Locale;
import lombok.Getter;
/**
* List of different components used to construct different tiers of altars.
*/
@Getter
public enum EnumAltarComponent
{
GLOWSTONE,
@ -24,4 +21,8 @@ public enum EnumAltarComponent
{
this.key = BASE + name().toLowerCase(Locale.ENGLISH);
}
public String getKey() {
return key;
}
}

View file

@ -1,12 +1,10 @@
package WayofTime.bloodmagic.api.altar;
import lombok.Getter;
import net.minecraft.util.math.BlockPos;
import java.util.ArrayList;
//@formatter:off
@Getter
public enum EnumAltarTier
{
ONE(), TWO()
@ -152,4 +150,8 @@ public enum EnumAltarTier
{
return ordinal() + 1;
}
public ArrayList<AltarComponent> getAltarComponents() {
return altarComponents;
}
}

View file

@ -1,7 +1,6 @@
package WayofTime.bloodmagic.api.event;
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
import lombok.Getter;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.eventhandler.Event;
@ -10,7 +9,6 @@ import net.minecraftforge.fml.common.eventhandler.Event;
*
* It is not cancelable, however you can modify the output stack.
*/
@Getter
public class AltarCraftedEvent extends Event
{
@ -28,4 +26,12 @@ public class AltarCraftedEvent extends Event
this.altarRecipe = altarRecipe;
this.output = output;
}
public AltarRecipeRegistry.AltarRecipe getAltarRecipe() {
return altarRecipe;
}
public ItemStack getOutput() {
return output;
}
}

View file

@ -4,5 +4,5 @@ import net.minecraft.util.EnumFacing;
public interface IAlchemyArray
{
public abstract EnumFacing getRotation();
EnumFacing getRotation();
}

View file

@ -3,7 +3,6 @@ package WayofTime.bloodmagic.api.impl;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.iface.ISigil;
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
import lombok.Getter;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -13,7 +12,6 @@ import net.minecraft.world.World;
*/
public class ItemSigil extends ItemBindable implements ISigil
{
@Getter
private int lpUsed;
public ItemSigil(int lpUsed)
@ -49,4 +47,8 @@ public class ItemSigil extends ItemBindable implements ISigil
{
return false;
}
public int getLpUsed() {
return lpUsed;
}
}

View file

@ -1,22 +1,23 @@
package WayofTime.bloodmagic.api.orb;
import WayofTime.bloodmagic.api.registry.OrbRegistry;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraftforge.registries.IForgeRegistryEntry;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
* Base object for all Blood Orbs. Makes Orb creation quite a bit easier.
*
* Just create a new BloodOrb instance then register it with
* {@link OrbRegistry#registerOrb(BloodOrb)} This will allow the use of just one
* item ID for all orbs. If an addon dev needs more control over the intricacies
* of their orb (custom right clicking, renderers, etc), they can just create
* their own item as normal.
* Just create a new BloodOrb instance then register it in {@link net.minecraftforge.event.RegistryEvent.Register<BloodOrb>}
*/
public class BloodOrb
public class BloodOrb extends IForgeRegistryEntry.Impl<BloodOrb>
{
private String name;
private int tier;
private int capacity;
private String owner = "BloodMagic";
private final String name;
private final int tier;
private final int capacity;
@Nullable
private ModelResourceLocation modelLocation;
/**
* A base object for BloodOrbs. A bit cleaner than the old way through
@ -51,26 +52,19 @@ public class BloodOrb
return capacity;
}
public String getOwner()
{
return owner;
@Nullable
public ModelResourceLocation getModelLocation() {
return modelLocation;
}
/**
* For setting the MODID of the mod that creates the Orb. Not required, but
* preferred.
*
* @return - The BloodOrb object for further use.
*/
public BloodOrb setOwner(String owner)
{
this.owner = owner;
public BloodOrb withModel(@Nonnull ModelResourceLocation modelLocation) {
this.modelLocation = modelLocation;
return this;
}
@Override
public String toString()
{
return "BloodOrb{" + "name='" + name + '\'' + ", tier=" + tier + ", capacity=" + capacity + ", owner=" + owner + '}';
return "BloodOrb{" + "name='" + name + '\'' + ", tier=" + tier + ", capacity=" + capacity + ", owner=" + getRegistryName() + '}';
}
}

View file

@ -1,10 +1,11 @@
package WayofTime.bloodmagic.api.orb;
import net.minecraft.item.ItemStack;
import javax.annotation.Nullable;
public interface IBloodOrb
{
BloodOrb getOrb(int meta);
int getMaxEssence(int meta);
int getOrbLevel(int meta);
@Nullable
BloodOrb getOrb(ItemStack stack);
}

View file

@ -1,4 +1,5 @@
@API(owner = Constants.Mod.MODID, provides = Constants.Mod.MODID + "|API", apiVersion = Constants.Mod.VERSION)
@API(owner = BloodMagic.MODID, provides = BloodMagic.MODID + "|API", apiVersion = BloodMagic.VERSION)
package WayofTime.bloodmagic.api;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraftforge.fml.common.API;

View file

@ -5,27 +5,20 @@ import java.util.Iterator;
import java.util.List;
import com.google.common.collect.ImmutableList;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.builder.ToStringBuilder;
@EqualsAndHashCode
@ToString
public class AlchemyTableRecipe
{
protected ItemStack output = ItemStack.EMPTY;
protected ArrayList<Object> input = new ArrayList<Object>();
@Getter
protected int lpDrained;
@Getter
protected int ticksRequired;
@Getter
protected int tierRequired;
public AlchemyTableRecipe(Block result, int lpDrained, int ticksRequired, int tierRequired, Object... recipe)
@ -186,4 +179,52 @@ public class AlchemyTableRecipe
return copyStack;
}
public int getLpDrained() {
return lpDrained;
}
public int getTicksRequired() {
return ticksRequired;
}
public int getTierRequired() {
return tierRequired;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("output", output)
.append("input", input)
.append("lpDrained", lpDrained)
.append("ticksRequired", ticksRequired)
.append("tierRequired", tierRequired)
.append("recipeSize", getRecipeSize())
.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof AlchemyTableRecipe)) return false;
AlchemyTableRecipe that = (AlchemyTableRecipe) o;
if (lpDrained != that.lpDrained) return false;
if (ticksRequired != that.ticksRequired) return false;
if (tierRequired != that.tierRequired) return false;
if (output != null ? !output.equals(that.output) : that.output != null) return false;
return input != null ? input.equals(that.input) : that.input == null;
}
@Override
public int hashCode() {
int result = output != null ? output.hashCode() : 0;
result = 31 * result + (input != null ? input.hashCode() : 0);
result = 31 * result + lpDrained;
result = 31 * result + ticksRequired;
result = 31 * result + tierRequired;
return result;
}
}

View file

@ -1,28 +1,22 @@
package WayofTime.bloodmagic.api.recipe;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@EqualsAndHashCode
@ToString
public class TartaricForgeRecipe
{
protected ItemStack output = null;
protected List<Object> input = new ArrayList<Object>();
@Getter
protected double minimumSouls;
@Getter
protected double soulsDrained;
public TartaricForgeRecipe(Block result, double minSouls, double drain, Object... recipe)
@ -145,4 +139,50 @@ public class TartaricForgeRecipe
{
return this.input;
}
public double getMinimumSouls() {
return minimumSouls;
}
public double getSoulsDrained() {
return soulsDrained;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("output", output)
.append("input", input)
.append("minimumSouls", minimumSouls)
.append("soulsDrained", soulsDrained)
.append("recipeSize", getRecipeSize())
.append("recipeOutput", getRecipeOutput())
.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof TartaricForgeRecipe)) return false;
TartaricForgeRecipe that = (TartaricForgeRecipe) o;
if (Double.compare(that.minimumSouls, minimumSouls) != 0) return false;
if (Double.compare(that.soulsDrained, soulsDrained) != 0) return false;
if (output != null ? !output.equals(that.output) : that.output != null) return false;
return input != null ? input.equals(that.input) : that.input == null;
}
@Override
public int hashCode() {
int result;
long temp;
result = output != null ? output.hashCode() : 0;
result = 31 * result + (input != null ? input.hashCode() : 0);
temp = Double.doubleToLongBits(minimumSouls);
result = 31 * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(soulsDrained);
result = 31 * result + (int) (temp ^ (temp >>> 32));
return result;
}
}

View file

@ -5,11 +5,9 @@ import WayofTime.bloodmagic.api.ItemStackWrapper;
import WayofTime.bloodmagic.api.altar.EnumAltarTier;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.Collections;
import java.util.List;
@ -34,7 +32,7 @@ public class AltarRecipeRegistry
if (!recipes.containsValue(altarRecipe) && altarRecipe.getInput().size() > 0)
recipes.put(altarRecipe.getInput(), altarRecipe);
else
BloodMagicAPI.getLogger().error("Error adding altar recipe for input [{}].", altarRecipe.toString());
BloodMagicAPI.logger.error("Error adding altar recipe for input [{}].", altarRecipe.toString());
}
public static void registerFillRecipe(ItemStack orbStack, EnumAltarTier tier, int maxForOrb, int consumeRate, int drainRate)
@ -87,9 +85,6 @@ public class AltarRecipeRegistry
return HashBiMap.create(recipes);
}
@Getter
@ToString
@EqualsAndHashCode
public static class AltarRecipe
{
private final List<ItemStackWrapper> input;
@ -174,5 +169,74 @@ public class AltarRecipeRegistry
return false;
}
public List<ItemStackWrapper> getInput() {
return input;
}
public ItemStack getOutput() {
return output;
}
public EnumAltarTier getMinTier() {
return minTier;
}
public int getSyphon() {
return syphon;
}
public int getConsumeRate() {
return consumeRate;
}
public int getDrainRate() {
return drainRate;
}
public boolean isFillable() {
return fillable;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof AltarRecipe)) return false;
AltarRecipe that = (AltarRecipe) o;
if (syphon != that.syphon) return false;
if (consumeRate != that.consumeRate) return false;
if (drainRate != that.drainRate) return false;
if (fillable != that.fillable) return false;
if (input != null ? !input.equals(that.input) : that.input != null) return false;
if (output != null ? !output.equals(that.output) : that.output != null) return false;
return minTier == that.minTier;
}
@Override
public int hashCode() {
int result = input != null ? input.hashCode() : 0;
result = 31 * result + (output != null ? output.hashCode() : 0);
result = 31 * result + (minTier != null ? minTier.hashCode() : 0);
result = 31 * result + syphon;
result = 31 * result + consumeRate;
result = 31 * result + drainRate;
result = 31 * result + (fillable ? 1 : 0);
return result;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("input", input)
.append("output", output)
.append("minTier", minTier)
.append("syphon", syphon)
.append("consumeRate", consumeRate)
.append("drainRate", drainRate)
.append("fillable", fillable)
.toString();
}
}
}

View file

@ -5,13 +5,16 @@ import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.altar.EnumAltarTier;
import WayofTime.bloodmagic.api.orb.BloodOrb;
import WayofTime.bloodmagic.api.orb.IBloodOrb;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import com.google.common.collect.ArrayListMultimap;
import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@ -23,57 +26,14 @@ import java.util.List;
* This is only for those who wish to add a basic {@link BloodOrb}. If you need
* custom handling, you will need your own item class.
*/
@Deprecated
public class OrbRegistry
{
private static List<BloodOrb> orbs = new ArrayList<BloodOrb>();
private static ArrayListMultimap<Integer, ItemStack> tierMap = ArrayListMultimap.create();
public static ArrayListMultimap<Integer, ItemStack> tierMap = ArrayListMultimap.create();
private static Item orbItem = Constants.BloodMagicItem.BLOOD_ORB.getItem();
public static void registerOrb(BloodOrb orb)
{
if (!orbs.contains(orb))
{
orbs.add(orb);
registerOrbForTier(orb.getTier(), getOrbStack(orb));
} else
BloodMagicAPI.getLogger().error("Error adding orb %s. Orb already exists!", orb.toString());
}
public static void registerOrbForTier(int tier, ItemStack stack)
{
if (stack.getItem() instanceof IBloodOrb)
tierMap.put(tier, stack);
}
@SideOnly(Side.CLIENT)
public static void registerOrbTexture(BloodOrb orb, ResourceLocation resourceLocation)
{
int meta = getIndexOf(orb);
ModelBakery.registerItemVariants(orbItem, resourceLocation);
ModelLoader.setCustomModelResourceLocation(orbItem, meta, new ModelResourceLocation(resourceLocation, "inventory"));
}
public static BloodOrb getOrb(int index)
{
return orbs.get(index);
}
public static int getIndexOf(BloodOrb orb)
{
return orbs.indexOf(orb);
}
public static boolean isEmpty()
{
return orbs.isEmpty();
}
public static int getSize()
{
return orbs.size();
}
@GameRegistry.ObjectHolder("bloodmagic:blood_orb")
private static final Item ORB_ITEM = null;
public static List<ItemStack> getOrbsForTier(int tier)
{
@ -105,12 +65,11 @@ public class OrbRegistry
public static ItemStack getOrbStack(BloodOrb orb)
{
return new ItemStack(orbItem, 1, getIndexOf(orb));
}
public static List<BloodOrb> getOrbs()
{
return new ArrayList<BloodOrb>(orbs);
ItemStack ret = new ItemStack(ORB_ITEM);
NBTTagCompound tag = new NBTTagCompound();
tag.setString("orb", orb.getRegistryName().toString());
ret.setTagCompound(tag);
return ret;
}
public static ArrayListMultimap<Integer, ItemStack> getTierMap()

View file

@ -6,10 +6,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@ -21,15 +17,12 @@ import net.minecraft.world.World;
import WayofTime.bloodmagic.api.soul.DemonWillHolder;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* Abstract class for creating new rituals. Rituals need be registered with
* {@link WayofTime.bloodmagic.api.registry.RitualRegistry#registerRitual(Ritual, String)}
*/
@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(exclude = { "modableRangeMap", "ritualComponents", "renderer", "volumeRangeMap", "horizontalRangeMap", "verticalRangeMap" })
@ToString
public abstract class Ritual
{
public final ArrayList<RitualComponent> ritualComponents = new ArrayList<RitualComponent>();
@ -44,6 +37,14 @@ public abstract class Ritual
protected final Map<String, Integer> horizontalRangeMap = new HashMap<String, Integer>();
protected final Map<String, Integer> verticalRangeMap = new HashMap<String, Integer>();
public Ritual(String name, int crystalLevel, int activationCost, RitualRenderer renderer, String unlocalizedName) {
this.name = name;
this.crystalLevel = crystalLevel;
this.activationCost = activationCost;
this.renderer = renderer;
this.unlocalizedName = unlocalizedName;
}
/**
* @param name
* - The name of the ritual
@ -365,4 +366,84 @@ public abstract class Ritual
}
public abstract Ritual getNewCopy();
public ArrayList<RitualComponent> getRitualComponents() {
return ritualComponents;
}
public String getName() {
return name;
}
public int getCrystalLevel() {
return crystalLevel;
}
public int getActivationCost() {
return activationCost;
}
public RitualRenderer getRenderer() {
return renderer;
}
public String getUnlocalizedName() {
return unlocalizedName;
}
public Map<String, AreaDescriptor> getModableRangeMap() {
return modableRangeMap;
}
public Map<String, Integer> getVolumeRangeMap() {
return volumeRangeMap;
}
public Map<String, Integer> getHorizontalRangeMap() {
return horizontalRangeMap;
}
public Map<String, Integer> getVerticalRangeMap() {
return verticalRangeMap;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("ritualComponents", ritualComponents)
.append("name", name)
.append("crystalLevel", crystalLevel)
.append("activationCost", activationCost)
.append("renderer", renderer)
.append("unlocalizedName", unlocalizedName)
.append("modableRangeMap", modableRangeMap)
.append("volumeRangeMap", volumeRangeMap)
.append("horizontalRangeMap", horizontalRangeMap)
.append("verticalRangeMap", verticalRangeMap)
.append("refreshTime", getRefreshTime())
.append("listOfRanges", getListOfRanges())
.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Ritual)) return false;
Ritual ritual = (Ritual) o;
if (crystalLevel != ritual.crystalLevel) return false;
if (activationCost != ritual.activationCost) return false;
if (name != null ? !name.equals(ritual.name) : ritual.name != null) return false;
return unlocalizedName != null ? unlocalizedName.equals(ritual.unlocalizedName) : ritual.unlocalizedName == null;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + crystalLevel;
result = 31 * result + activationCost;
result = 31 * result + (unlocalizedName != null ? unlocalizedName.hashCode() : 0);
return result;
}
}

View file

@ -1,7 +1,5 @@
package WayofTime.bloodmagic.api.ritual;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
@ -9,13 +7,16 @@ import net.minecraft.util.math.BlockPos;
* Used to set a {@link EnumRuneType} type to a given {@link BlockPos} for usage
* in Ritual creation.
*/
@Getter
@RequiredArgsConstructor
public class RitualComponent
{
private final BlockPos offset;
private final EnumRuneType runeType;
public RitualComponent(BlockPos offset, EnumRuneType runeType) {
this.offset = offset;
this.runeType = runeType;
}
public int getX(EnumFacing direction)
{
switch (direction)
@ -55,4 +56,12 @@ public class RitualComponent
{
return new BlockPos(getX(direction), offset.getY(), getZ(direction));
}
public BlockPos getOffset() {
return offset;
}
public EnumRuneType getRuneType() {
return runeType;
}
}

View file

@ -1,9 +1,6 @@
package WayofTime.bloodmagic.api.ritual.imperfect;
import WayofTime.bloodmagic.api.BlockStack;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
@ -12,9 +9,6 @@ import net.minecraft.world.World;
* registered with
* {@link WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry#registerRitual(ImperfectRitual)}
*/
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode
public abstract class ImperfectRitual
{
@ -24,6 +18,14 @@ public abstract class ImperfectRitual
private final boolean lightshow;
private final String unlocalizedName;
public ImperfectRitual(String name, BlockStack requiredBlock, int activationCost, boolean lightshow, String unlocalizedName) {
this.name = name;
this.requiredBlock = requiredBlock;
this.activationCost = activationCost;
this.lightshow = lightshow;
this.unlocalizedName = unlocalizedName;
}
/**
* @param name
* - The name of the ritual
@ -49,9 +51,54 @@ public abstract class ImperfectRitual
*/
public abstract boolean onActivate(IImperfectRitualStone imperfectRitualStone, EntityPlayer player);
public String getName() {
return name;
}
public BlockStack getRequiredBlock() {
return requiredBlock;
}
public int getActivationCost() {
return activationCost;
}
public boolean isLightshow() {
return lightshow;
}
public String getUnlocalizedName() {
return unlocalizedName;
}
@Override
public String toString()
{
return getName() + ":" + getRequiredBlock().toString() + "@" + getActivationCost();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ImperfectRitual)) return false;
ImperfectRitual that = (ImperfectRitual) o;
if (activationCost != that.activationCost) return false;
if (lightshow != that.lightshow) return false;
if (name != null ? !name.equals(that.name) : that.name != null) return false;
if (requiredBlock != null ? !requiredBlock.equals(that.requiredBlock) : that.requiredBlock != null)
return false;
return unlocalizedName != null ? unlocalizedName.equals(that.unlocalizedName) : that.unlocalizedName == null;
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (requiredBlock != null ? requiredBlock.hashCode() : 0);
result = 31 * result + activationCost;
result = 31 * result + (lightshow ? 1 : 0);
result = 31 * result + (unlocalizedName != null ? unlocalizedName.hashCode() : 0);
return result;
}
}

View file

@ -4,7 +4,7 @@ import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.world.WorldSavedData;
import net.minecraft.world.storage.WorldSavedData;
import java.util.*;

View file

@ -5,7 +5,6 @@ import WayofTime.bloodmagic.api.event.AddToNetworkEvent;
import WayofTime.bloodmagic.api.event.SoulNetworkEvent;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import com.google.common.base.Strings;
import lombok.Getter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.nbt.NBTTagCompound;
@ -18,7 +17,6 @@ import net.minecraftforge.fml.common.eventhandler.Event;
import javax.annotation.Nullable;
import java.util.UUID;
@Getter
public class SoulNetwork implements INBTSerializable<NBTTagCompound>
{
private BMWorldSavedData parent;
@ -129,7 +127,7 @@ public class SoulNetwork implements INBTSerializable<NBTTagCompound>
if (!user.capabilities.isCreativeMode)
{
user.hurtResistantTime = 0;
user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 1.0F);
user.attackEntityFrom(BloodMagicAPI.damageSource, 1.0F);
}
} else if (syphon >= 100)
@ -139,7 +137,7 @@ public class SoulNetwork implements INBTSerializable<NBTTagCompound>
for (int i = 0; i < ((syphon + 99) / 100); i++)
{
user.hurtResistantTime = 0;
user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 1.0F);
user.attackEntityFrom(BloodMagicAPI.damageSource, 1.0F);
}
}
}
@ -151,7 +149,7 @@ public class SoulNetwork implements INBTSerializable<NBTTagCompound>
if (getParent() != null)
getParent().markDirty();
else
BloodMagicAPI.getLogger().error("A SoulNetwork was created, but a parent was not set to allow saving.");
BloodMagicAPI.logger.error("A SoulNetwork was created, but a parent was not set to allow saving.");
}
@Nullable
@ -184,6 +182,26 @@ public class SoulNetwork implements INBTSerializable<NBTTagCompound>
return this;
}
public BMWorldSavedData getParent() {
return parent;
}
public EntityPlayer getCachedPlayer() {
return cachedPlayer;
}
public UUID getPlayerId() {
return playerId;
}
public int getCurrentEssence() {
return currentEssence;
}
public int getOrbTier() {
return orbTier;
}
// INBTSerializable
@Override

View file

@ -15,19 +15,19 @@ public class LogHelper
public void info(String info, Object... format)
{
if (BloodMagicAPI.isLoggingEnabled())
if (BloodMagicAPI.loggingEnabled)
logger.info(info, format);
}
public void error(String error, Object... format)
{
if (BloodMagicAPI.isLoggingEnabled())
if (BloodMagicAPI.loggingEnabled)
logger.error(error, format);
}
public void debug(String debug, Object... format)
{
if (BloodMagicAPI.isLoggingEnabled())
if (BloodMagicAPI.loggingEnabled)
logger.debug(debug, format);
}

View file

@ -3,12 +3,11 @@ package WayofTime.bloodmagic.block;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@ -23,8 +22,7 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.tile.TileAlchemyArray;
import WayofTime.bloodmagic.util.Utils;
@ -38,13 +36,12 @@ public class BlockAlchemyArray extends Block
{
super(Material.CLOTH);
setUnlocalizedName(Constants.Mod.MODID + ".alchemyArray");
setUnlocalizedName(BloodMagic.MODID + ".alchemyArray");
setHardness(0.1f);
}
@Override
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB mask, List<AxisAlignedBB> list, Entity collidingEntity)
{
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean p_185477_7_) {
// No-op
}
@ -134,7 +131,7 @@ public class BlockAlchemyArray extends Block
@Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
{
return new ItemStack(ModItems.ARCANE_ASHES);
return new ItemStack(RegistrarBloodMagicItems.ARCANE_ASHES);
}
@Override

View file

@ -1,15 +1,14 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.item.block.ItemBlockAlchemyTable;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumBlockRenderType;
@ -24,7 +23,7 @@ import WayofTime.bloodmagic.tile.TileAlchemyTable;
import javax.annotation.Nullable;
public class BlockAlchemyTable extends Block
public class BlockAlchemyTable extends Block implements IBMBlock
{
public static final PropertyBool INVISIBLE = PropertyBool.create("invisible");
public static final PropertyEnum<EnumFacing> DIRECTION = PropertyEnum.<EnumFacing>create("direction", EnumFacing.class);
@ -34,8 +33,8 @@ public class BlockAlchemyTable extends Block
super(Material.ROCK);
// this.setDefaultState(this.blockState.getBaseState().withProperty(DIRECTION, EnumFacing.DOWN).withProperty(INVISIBLE, false));
setUnlocalizedName(Constants.Mod.MODID + ".alchemyTable");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".alchemyTable");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);
@ -173,4 +172,9 @@ public class BlockAlchemyTable extends Block
}
}
}
@Override
public ItemBlock getItem() {
return new ItemBlockAlchemyTable(this);
}
}

View file

@ -26,7 +26,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.altar.IAltarManipulator;
import WayofTime.bloodmagic.api.iface.IAltarReader;
import WayofTime.bloodmagic.api.iface.IBindable;
@ -47,8 +46,8 @@ public class BlockAltar extends Block implements IVariantProvider, IDocumentedBl
{
super(Material.ROCK);
setUnlocalizedName(Constants.Mod.MODID + ".altar");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".altar");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 1);
@ -73,7 +72,7 @@ public class BlockAltar extends Block implements IVariantProvider, IDocumentedBl
TileAltar altar = (TileAltar) tile;
ItemStack orbStack = altar.getStackInSlot(0);
if (world.getBlockState(pos.down()).getBlock() instanceof BlockBloodStoneBrick)
if (world.getBlockState(pos.down()).getBlock() instanceof BlockDecorative)
{
if (orbStack.getItem() instanceof IBloodOrb && orbStack.getItem() instanceof IBindable)
{

View file

@ -2,6 +2,7 @@ package WayofTime.bloodmagic.block;
import java.util.Random;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -16,8 +17,7 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import javax.annotation.Nullable;
@ -29,7 +29,7 @@ public class BlockBloodLight extends Block
{
super(Material.CLOTH);
setUnlocalizedName(Constants.Mod.MODID + ".bloodLight");
setUnlocalizedName(BloodMagic.MODID + ".bloodLight");
}
@Nullable
@ -109,7 +109,7 @@ public class BlockBloodLight extends Block
if (rand.nextInt(3) != 0)
{
world.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D + rand.nextGaussian() / 8, pos.getY() + 0.5D, pos.getZ() + 0.5D + rand.nextGaussian() / 8, 0, 0, 0, 0);
if (!playerSP.getActiveItemStack().isEmpty() && playerSP.getActiveItemStack().getItem() == ModItems.SIGIL_BLOOD_LIGHT)
if (!playerSP.getActiveItemStack().isEmpty() && playerSP.getActiveItemStack().getItem() == RegistrarBloodMagicItems.SIGIL_BLOOD_LIGHT)
{
world.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D + rand.nextGaussian() / 8, pos.getY() + 0.5D, pos.getZ() + 0.5D + rand.nextGaussian() / 8, 0, 0, 0, 0);
world.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D + rand.nextGaussian() / 8, pos.getY() + 0.5D, pos.getZ() + 0.5D + rand.nextGaussian() / 8, 0, 0, 0, 0);

View file

@ -5,27 +5,28 @@ import java.util.List;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumBloodRune;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class BlockBloodRune extends BlockEnum<EnumBloodRune> implements IVariantProvider
public class BlockBloodRune extends BlockEnum<EnumBloodRune>
{
public BlockBloodRune()
{
super(Material.ROCK, EnumBloodRune.class);
setUnlocalizedName(Constants.Mod.MODID + ".rune.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".rune.");
setCreativeTab(BloodMagic.TAB_BM);
setSoundType(SoundType.STONE);
setHardness(2.0F);
setResistance(5.0F);
@ -38,18 +39,9 @@ public class BlockBloodRune extends BlockEnum<EnumBloodRune> implements IVariant
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag tooltipFlag)
{
tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
super.addInformation(stack, player, tooltip, advanced);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
super.addInformation(stack, world, tooltip, tooltipFlag);
}
}

View file

@ -1,40 +0,0 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumBrickSize;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockBloodStoneBrick extends BlockEnum<EnumBrickSize> implements IVariantProvider
{
public BlockBloodStoneBrick()
{
super(Material.ROCK, EnumBrickSize.class);
setUnlocalizedName(Constants.Mod.MODID + ".bloodstonebrick.");
setCreativeTab(BloodMagic.tabBloodMagic);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
setHarvestLevel("pickaxe", 2);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -1,9 +1,9 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockInteger;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.item.block.ItemBlockBloodTank;
import WayofTime.bloodmagic.tile.TileBloodTank;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
@ -11,6 +11,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@ -31,12 +32,11 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
public class BlockBloodTank extends BlockInteger implements IVariantProvider
public class BlockBloodTank extends BlockInteger implements IVariantProvider, IBMBlock
{
public static final AxisAlignedBB BOX = new AxisAlignedBB(0.25, 0, 0.25, 0.75, 0.8, 0.75);
@ -44,12 +44,12 @@ public class BlockBloodTank extends BlockInteger implements IVariantProvider
{
super(Material.IRON, TileBloodTank.CAPACITIES.length - 1, "tier");
setUnlocalizedName(Constants.Mod.MODID + ".bloodTank");
setUnlocalizedName(BloodMagic.MODID + ".bloodTank");
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.GLASS);
setHarvestLevel("pickaxe", 1);
setCreativeTab(BloodMagic.tabBloodMagic);
setCreativeTab(BloodMagic.TAB_BM);
setLightOpacity(0);
}
@ -105,12 +105,9 @@ public class BlockBloodTank extends BlockInteger implements IVariantProvider
@Override
public boolean onBlockActivated(World world, BlockPos blockPos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
ItemStack held = player.getHeldItem(hand);
TileBloodTank fluidHandler = (TileBloodTank) world.getTileEntity(blockPos);
FluidActionResult result = FluidUtil.interactWithFluidHandler(held, fluidHandler.getTank(), player);
if (result.isSuccess())
boolean success = FluidUtil.interactWithFluidHandler(player, hand, world, blockPos, side);
if (success)
{
player.setHeldItem(hand, result.getResult());
world.checkLight(blockPos);
world.updateComparatorOutputLevel(blockPos, this);
world.markAndNotifyBlock(blockPos, world.getChunkFromBlockCoords(blockPos), state, state, 3);
@ -216,14 +213,19 @@ public class BlockBloodTank extends BlockInteger implements IVariantProvider
return true;
}
@Override
public ItemBlock getItem() {
return new ItemBlockBloodTank(this);
}
// IVariantProvider
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
List<Pair<Integer, String>> ret = Lists.newArrayList();
for (int i = 0; i < TileBloodTank.CAPACITIES.length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "inventory"));
ret.add(Pair.of(i, "inventory"));
return ret;
}

View file

@ -1,40 +0,0 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumBrickSize;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockCrystal extends BlockEnum<EnumBrickSize> implements IVariantProvider
{
public BlockCrystal()
{
super(Material.ROCK, EnumBrickSize.class);
setUnlocalizedName(Constants.Mod.MODID + ".crystal.");
setCreativeTab(BloodMagic.tabBloodMagic);
setSoundType(SoundType.STONE);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -0,0 +1,23 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumDecorative;
public class BlockDecorative extends BlockEnum<EnumDecorative>
{
public BlockDecorative()
{
super(Material.ROCK, EnumDecorative.class);
setUnlocalizedName(BloodMagic.MODID + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
setHarvestLevel("pickaxe", 2);
}
}

View file

@ -1,17 +1,15 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.IStringSerializable;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.client.IVariantProvider;
@ -21,20 +19,11 @@ public class BlockDemonBase<E extends Enum<E> & IStringSerializable> extends Blo
{
super(Material.ROCK, enumClass);
setUnlocalizedName(Constants.Mod.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
setHarvestLevel("pickaxe", 2);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
@ -21,7 +20,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.soul.IDemonWillGem;
import WayofTime.bloodmagic.api.soul.IDiscreteDemonWill;
import WayofTime.bloodmagic.client.IVariantProvider;
@ -36,8 +34,8 @@ public class BlockDemonCrucible extends Block implements IVariantProvider
{
super(Material.ROCK);
setUnlocalizedName(Constants.Mod.MODID + ".demonCrucible");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".demonCrucible");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);

View file

@ -1,12 +1,10 @@
package WayofTime.bloodmagic.block;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.item.block.ItemBlockDemonCrystal;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
@ -14,6 +12,7 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
@ -26,7 +25,6 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
import WayofTime.bloodmagic.item.ItemDemonCrystal;
@ -34,7 +32,7 @@ import WayofTime.bloodmagic.tile.TileDemonCrystal;
import javax.annotation.Nullable;
public class BlockDemonCrystal extends Block
public class BlockDemonCrystal extends Block implements IBMBlock
{
public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 6);
public static final PropertyEnum<EnumDemonWillType> TYPE = PropertyEnum.<EnumDemonWillType>create("type", EnumDemonWillType.class);
@ -45,8 +43,8 @@ public class BlockDemonCrystal extends Block
super(Material.ROCK);
this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, EnumDemonWillType.DEFAULT).withProperty(ATTACHED, EnumFacing.UP));
setUnlocalizedName(Constants.Mod.MODID + ".demonCrystal.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".demonCrystal.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
@ -89,8 +87,7 @@ public class BlockDemonCrystal extends Block
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, NonNullList<ItemStack> list)
public void getSubBlocks(CreativeTabs creativeTabs, NonNullList<ItemStack> list)
{
for (int i = 0; i < EnumDemonWillType.values().length; i++)
list.add(new ItemStack(this, 1, i));
@ -233,6 +230,11 @@ public class BlockDemonCrystal extends Block
return new TileDemonCrystal();
}
@Override
public ItemBlock getItem() {
return new ItemBlockDemonCrystal(this);
}
// @Override
// public java.util.List<ItemStack> getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
// {

View file

@ -17,7 +17,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileDemonCrystallizer;
@ -27,8 +26,8 @@ public class BlockDemonCrystallizer extends BlockContainer implements IVariantPr
{
super(Material.ROCK);
setUnlocalizedName(Constants.Mod.MODID + ".demonCrystallizer");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".demonCrystallizer");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);

View file

@ -10,32 +10,22 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumSubWillType;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockDemonLight extends BlockEnum<EnumSubWillType> implements IVariantProvider
public class BlockDemonLight extends BlockEnum<EnumSubWillType>
{
public BlockDemonLight()
{
super(Material.ROCK, EnumSubWillType.class);
setUnlocalizedName(Constants.Mod.MODID + ".demonlight.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".demonlight.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
setHarvestLevel("pickaxe", 2);
setLightLevel(1);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -1,29 +1,26 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnumPillar;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockDemonPillarBase<E extends Enum<E> & IStringSerializable> extends BlockEnumPillar<E> implements IVariantProvider
public class BlockDemonPillarBase<E extends Enum<E> & IStringSerializable> extends BlockEnumPillar<E>
{
public BlockDemonPillarBase(String baseName, Material materialIn, Class<E> enumClass)
{
super(materialIn, enumClass);
setUnlocalizedName(Constants.Mod.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -33,18 +30,14 @@ public class BlockDemonPillarBase<E extends Enum<E> & IStringSerializable> exten
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
List<Pair<Integer, String>> ret = Lists.newArrayList();
//This is done to make the ItemBlocks have the proper model
EnumFacing.Axis[] axis = new EnumFacing.Axis[] { EnumFacing.Axis.Y, EnumFacing.Axis.X, EnumFacing.Axis.Z };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < this.getTypes().length; j++)
{
ret.add(new ImmutablePair<Integer, String>(i * 5 + j, "axis=" + axis[i] + ",type=" + this.getTypes()[j]));
}
}
ret.add(Pair.of(i * 5 + j, "axis=" + axis[i] + ",type=" + this.getTypes()[j]));
return ret;
}

View file

@ -1,29 +1,26 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnumPillarCap;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockDemonPillarCapBase<E extends Enum<E> & IStringSerializable> extends BlockEnumPillarCap<E> implements IVariantProvider
public class BlockDemonPillarCapBase<E extends Enum<E> & IStringSerializable> extends BlockEnumPillarCap<E>
{
public BlockDemonPillarCapBase(String baseName, Material materialIn, Class<E> enumClass)
{
super(materialIn, enumClass);
setUnlocalizedName(Constants.Mod.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -33,17 +30,13 @@ public class BlockDemonPillarCapBase<E extends Enum<E> & IStringSerializable> ex
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
List<Pair<Integer, String>> ret = Lists.newArrayList();
//This is done to make the ItemBlocks have the proper model
for (int i = 0; i < EnumFacing.values().length; i++)
{
for (int j = 0; j < this.getTypes().length; j++)
{
ret.add(new ImmutablePair<Integer, String>(i * 2 + j, "facing=" + EnumFacing.values()[i] + ",type=" + this.getTypes()[j]));
}
}
ret.add(Pair.of(i * 2 + j, "facing=" + EnumFacing.values()[i] + ",type=" + this.getTypes()[j]));
return ret;
}

View file

@ -16,7 +16,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileDemonPylon;
@ -26,8 +25,8 @@ public class BlockDemonPylon extends BlockContainer implements IVariantProvider
{
super(Material.ROCK);
setUnlocalizedName(Constants.Mod.MODID + ".demonPylon");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".demonPylon");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);

View file

@ -3,6 +3,7 @@ package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.IStringSerializable;
@ -11,18 +12,17 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnumStairs;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockDemonStairsBase<E extends Enum<E> & IStringSerializable> extends BlockEnumStairs<E> implements IVariantProvider
public class BlockDemonStairsBase<E extends Enum<E> & IStringSerializable> extends BlockEnumStairs<E>
{
public BlockDemonStairsBase(String baseName, Material materialIn, Class<E> enumClass)
{
super(materialIn, enumClass);
setUnlocalizedName(Constants.Mod.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -32,12 +32,10 @@ public class BlockDemonStairsBase<E extends Enum<E> & IStringSerializable> exten
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
List<Pair<Integer, String>> ret = Lists.newArrayList();
for (int i = 0; i < this.getTypes().length; i++)
{
ret.add(new ImmutablePair<Integer, String>(i, "facing=south,half=bottom,shape=straight,type=" + this.getTypes()[i]));
}
ret.add(Pair.of(i, "facing=south,half=bottom,shape=straight,type=" + this.getTypes()[i]));
return ret;
}

View file

@ -3,6 +3,7 @@ package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.IStringSerializable;
@ -10,18 +11,17 @@ import net.minecraft.util.IStringSerializable;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnumWall;
import WayofTime.bloodmagic.client.IVariantProvider;
public class BlockDemonWallBase<E extends Enum<E> & IStringSerializable> extends BlockEnumWall<E> implements IVariantProvider
public class BlockDemonWallBase<E extends Enum<E> & IStringSerializable> extends BlockEnumWall<E>
{
public BlockDemonWallBase(String baseName, Material materialIn, Class<E> enumClass)
{
super(materialIn, enumClass);
setUnlocalizedName(Constants.Mod.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + "." + baseName + ".");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -31,7 +31,7 @@ public class BlockDemonWallBase<E extends Enum<E> & IStringSerializable> extends
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
List<Pair<Integer, String>> ret = Lists.newArrayList();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(Pair.of(i, "east=true,north=false,south=false,type=" + this.getTypes()[i] + ",up=true,west=true"));

View file

@ -3,6 +3,7 @@ package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.Random;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.block.base.BlockInteger;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -16,7 +17,6 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
import WayofTime.bloodmagic.api.teleport.PortalLocation;
import WayofTime.bloodmagic.api.teleport.TeleportQueue;
@ -35,7 +35,7 @@ public class BlockDimensionalPortal extends BlockInteger
public BlockDimensionalPortal()
{
super(Material.PORTAL, 2);
setUnlocalizedName(Constants.Mod.MODID + ".dimensionalPortal");
setUnlocalizedName(BloodMagic.MODID + ".dimensionalPortal");
setBlockUnbreakable();
setResistance(2000);
setLightOpacity(0);

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.tileentity.TileEntity;
@ -18,7 +17,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileIncenseAltar;
@ -32,8 +30,8 @@ public class BlockIncenseAltar extends Block implements IVariantProvider
{
super(Material.ROCK);
setUnlocalizedName(Constants.Mod.MODID + ".incenseAltar");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".incenseAltar");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);

View file

@ -2,7 +2,6 @@ package WayofTime.bloodmagic.block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@ -20,7 +19,7 @@ public class BlockInputRoutingNode extends BlockRoutingNode
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".inputRouting");
setUnlocalizedName(BloodMagic.MODID + ".inputRouting");
}
@Override

View file

@ -19,19 +19,18 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.enums.EnumSubWillType;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileInversionPillar;
public class BlockInversionPillar extends BlockEnum<EnumSubWillType> implements IVariantProvider
public class BlockInversionPillar extends BlockEnum<EnumSubWillType>
{
public BlockInversionPillar()
{
super(Material.ROCK, EnumSubWillType.class);
setUnlocalizedName(Constants.Mod.MODID + ".inversionpillar.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".inversionpillar.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -92,7 +91,7 @@ public class BlockInversionPillar extends BlockEnum<EnumSubWillType> implements
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "static=false,type=" + this.getTypes()[i]));
ret.add(Pair.of(i, "static=false,type=" + this.getTypes()[i]));
return ret;
}

View file

@ -14,7 +14,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumInversionCap;
import WayofTime.bloodmagic.client.IVariantProvider;
@ -25,8 +24,8 @@ public class BlockInversionPillarEnd extends BlockEnum<EnumInversionCap> impleme
{
super(Material.ROCK, EnumInversionCap.class);
setUnlocalizedName(Constants.Mod.MODID + ".inversionpillarend.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".inversionpillarend.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);

View file

@ -1,10 +1,10 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.state.IBlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.routing.TileItemRoutingNode;
import WayofTime.bloodmagic.tile.routing.TileRoutingNode;
@ -16,7 +16,7 @@ public class BlockItemRoutingNode extends BlockRoutingNode
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".itemRouting");
setUnlocalizedName(BloodMagic.MODID + ".itemRouting");
}
@Override

View file

@ -2,9 +2,8 @@ package WayofTime.bloodmagic.block;
import java.awt.Color;
import lombok.Getter;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -19,16 +18,15 @@ import WayofTime.bloodmagic.util.helper.TextHelper;
public class BlockLifeEssence extends BlockFluidClassic
{
@Getter
private static Fluid lifeEssence = new FluidLifeEssence();
private static final Fluid LIFE_ESSENCE = new FluidLifeEssence();
public BlockLifeEssence()
{
super(lifeEssence, Material.WATER);
super(LIFE_ESSENCE, Material.WATER);
setUnlocalizedName(Constants.Mod.MODID + ".fluid.lifeEssence");
setUnlocalizedName(BloodMagic.MODID + ".fluid.lifeEssence");
getLifeEssence().setBlock(this);
BloodMagicAPI.setLifeEssence(getLifeEssence());
BloodMagicAPI.lifeEssence = LIFE_ESSENCE;
}
@Override
@ -43,6 +41,10 @@ public class BlockLifeEssence extends BlockFluidClassic
return !world.getBlockState(blockPos).getBlock().getMaterial(world.getBlockState(blockPos)).isLiquid() && super.displaceIfPossible(world, blockPos);
}
public static Fluid getLifeEssence() {
return LIFE_ESSENCE;
}
@Override
public BlockRenderLayer getBlockLayer()
{

View file

@ -4,7 +4,6 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.routing.TileMasterRoutingNode;
import javax.annotation.Nullable;
@ -15,8 +14,8 @@ public class BlockMasterRoutingNode extends BlockRoutingNode
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".masterRouting");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".masterRouting");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);

View file

@ -1,8 +1,5 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import WayofTime.bloodmagic.block.base.BlockEnum;
@ -26,20 +23,15 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.altar.EnumAltarComponent;
import WayofTime.bloodmagic.api.altar.IAltarComponent;
import WayofTime.bloodmagic.block.enums.EnumMimic;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.tile.TileMimic;
import WayofTime.bloodmagic.util.Utils;
public class BlockMimic extends BlockEnum<EnumMimic> implements IVariantProvider, IAltarComponent
public class BlockMimic extends BlockEnum<EnumMimic> implements IAltarComponent
{
public static final int sentientMimicMeta = 4;
@ -47,8 +39,8 @@ public class BlockMimic extends BlockEnum<EnumMimic> implements IVariantProvider
{
super(Material.ROCK, EnumMimic.class);
setUnlocalizedName(Constants.Mod.MODID + ".mimic.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".mimic.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -171,7 +163,7 @@ public class BlockMimic extends BlockEnum<EnumMimic> implements IVariantProvider
{
if (block.getRenderType(mimicState) == EnumBlockRenderType.ENTITYBLOCK_ANIMATED)
{
return ModBlocks.BLOOD_LIGHT.getDefaultState(); //Small and invisible-ish, basically this is returned in order to not render over the animated block (TESR)
return RegistrarBloodMagicBlocks.BLOOD_LIGHT.getDefaultState(); //Small and invisible-ish, basically this is returned in order to not render over the animated block (TESR)
}
return block.getActualState(mimicState, world, pos);
@ -225,15 +217,6 @@ public class BlockMimic extends BlockEnum<EnumMimic> implements IVariantProvider
super.breakBlock(world, blockPos, blockState);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
@Override
public boolean hasTileEntity(IBlockState state) {
return true;

View file

@ -2,7 +2,6 @@ package WayofTime.bloodmagic.block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@ -20,7 +19,7 @@ public class BlockOutputRoutingNode extends BlockRoutingNode
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".outputRouting");
setUnlocalizedName(BloodMagic.MODID + ".outputRouting");
}
@Override

View file

@ -6,6 +6,7 @@ import java.util.List;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
@ -15,22 +16,21 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.incense.IIncensePath;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.block.enums.EnumPath;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class BlockPath extends BlockEnum<EnumPath> implements IIncensePath, IVariantProvider
public class BlockPath extends BlockEnum<EnumPath> implements IIncensePath
{
public BlockPath()
{
super(Material.ROCK, EnumPath.class);
setUnlocalizedName(Constants.Mod.MODID + ".path.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".path.");
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.STONE);
@ -46,10 +46,10 @@ public class BlockPath extends BlockEnum<EnumPath> implements IIncensePath, IVar
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag tooltipFlag)
{
tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
super.addInformation(stack, player, tooltip, advanced);
super.addInformation(stack, world, tooltip, tooltipFlag);
}
@Override
@ -73,13 +73,4 @@ public class BlockPath extends BlockEnum<EnumPath> implements IIncensePath, IVar
return 0;
}
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -5,7 +5,6 @@ import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.tileentity.TileEntity;
@ -22,7 +21,6 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TilePhantomBlock;
@ -34,8 +32,8 @@ public class BlockPhantom extends Block implements IVariantProvider
{
super(Material.CLOTH);
setUnlocalizedName(Constants.Mod.MODID + ".phantom");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".phantom");
setCreativeTab(BloodMagic.TAB_BM);
}
@Override

View file

@ -1,8 +1,5 @@
package WayofTime.bloodmagic.block;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import WayofTime.bloodmagic.api.iface.IBindable;
@ -21,36 +18,28 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.Optional;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.BlockStack;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
import WayofTime.bloodmagic.api.registry.RitualRegistry;
import WayofTime.bloodmagic.api.ritual.Ritual;
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
import WayofTime.bloodmagic.api.util.helper.RitualHelper;
import WayofTime.bloodmagic.block.enums.EnumRitualController;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
import WayofTime.bloodmagic.util.ChatUtil;
import amerifrance.guideapi.api.IGuideLinked;
@Optional.Interface(modid = "guideapi", iface = "amerifrance.guideapi.api.IGuideLinked")
public class BlockRitualController extends BlockEnum<EnumRitualController> implements IVariantProvider, IGuideLinked
public class BlockRitualController extends BlockEnum<EnumRitualController> implements IGuideLinked
{
public BlockRitualController()
{
super(Material.ROCK, EnumRitualController.class);
setUnlocalizedName(Constants.Mod.MODID + ".stone.ritual.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".stone.ritual.");
setCreativeTab(BloodMagic.TAB_BM);
setSoundType(SoundType.STONE);
setHardness(2.0F);
setResistance(5.0F);
@ -65,7 +54,7 @@ public class BlockRitualController extends BlockEnum<EnumRitualController> imple
if (state.getValue(getProperty()) != EnumRitualController.IMPERFECT && tile instanceof TileMasterRitualStone)
{
if (heldItem.getItem() == ModItems.ACTIVATION_CRYSTAL)
if (heldItem.getItem() == RegistrarBloodMagicItems.ACTIVATION_CRYSTAL)
{
IBindable bindable = (IBindable) heldItem.getItem();
if (Strings.isNullOrEmpty(bindable.getOwnerName(heldItem)))
@ -129,17 +118,6 @@ public class BlockRitualController extends BlockEnum<EnumRitualController> imple
return state.getValue(getProperty()) != EnumRitualController.IMPERFECT ? new TileMasterRitualStone() : new TileImperfectRitualStone();
}
// IVariantProvider
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
// IGuideLinked
@Override

View file

@ -6,42 +6,45 @@ import java.util.List;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
import WayofTime.bloodmagic.api.ritual.IRitualStone;
import WayofTime.bloodmagic.block.base.BlockEnum;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class BlockRitualStone extends BlockEnum<EnumRuneType> implements IRitualStone, IVariantProvider
public class BlockRitualStone extends BlockEnum<EnumRuneType> implements IRitualStone
{
public BlockRitualStone()
{
super(Material.IRON, EnumRuneType.class);
setUnlocalizedName(Constants.Mod.MODID + ".ritualStone.");
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(BloodMagic.MODID + ".ritualStone.");
setCreativeTab(BloodMagic.TAB_BM);
setSoundType(SoundType.STONE);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag tooltipFlag)
{
tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
super.addInformation(stack, player, tooltip, advanced);
super.addInformation(stack, world, tooltip, tooltipFlag);
}
@Override
@ -66,16 +69,7 @@ public class BlockRitualStone extends BlockEnum<EnumRuneType> implements IRitual
public void setRuneType(World world, BlockPos pos, EnumRuneType runeType)
{
int meta = runeType.ordinal();
IBlockState newState = ModBlocks.RITUAL_STONE.getStateFromMeta(meta);
IBlockState newState = RegistrarBloodMagicBlocks.RITUAL_STONE.getStateFromMeta(meta);
world.setBlockState(pos, newState);
}
@Override
public List<Pair<Integer, String>> getVariants()
{
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (int i = 0; i < this.getTypes().length; i++)
ret.add(new ImmutablePair<Integer, String>(i, "type=" + this.getTypes()[i]));
return ret;
}
}

View file

@ -1,11 +1,11 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumBlockRenderType;
@ -18,7 +18,7 @@ import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.tile.routing.TileMasterRoutingNode;
import WayofTime.bloodmagic.tile.routing.TileRoutingNode;
public class BlockRoutingNode extends Block
public class BlockRoutingNode extends Block implements IBMBlock
{
protected static final AxisAlignedBB AABB = new AxisAlignedBB(0.378F, 0.378F, 0.378F, 0.625F, 0.625F, 0.625F);
@ -33,7 +33,7 @@ public class BlockRoutingNode extends Block
{
super(Material.ROCK);
setCreativeTab(BloodMagic.tabBloodMagic);
setCreativeTab(BloodMagic.TAB_BM);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
@ -140,4 +140,9 @@ public class BlockRoutingNode extends Block
super.breakBlock(world, pos, blockState);
}
@Override
public ItemBlock getItem() {
return new ItemBlock(this);
}
}

View file

@ -4,12 +4,10 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
@ -37,12 +35,12 @@ public class BlockSoulForge extends Block implements IVariantProvider
{
super(Material.IRON);
setUnlocalizedName(Constants.Mod.MODID + ".soulForge");
setUnlocalizedName(BloodMagic.MODID + ".soulForge");
setHardness(2.0F);
setResistance(5.0F);
setSoundType(SoundType.METAL);
setHarvestLevel("pickaxe", 1);
setCreativeTab(BloodMagic.tabBloodMagic);
setCreativeTab(BloodMagic.TAB_BM);
}
@Override

View file

@ -4,9 +4,9 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.ConfigHandler;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
@ -24,7 +24,6 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileSpectralBlock;
@ -38,7 +37,7 @@ public class BlockSpectral extends Block implements IVariantProvider
{
super(Material.CLOTH);
setUnlocalizedName(Constants.Mod.MODID + ".spectral");
setUnlocalizedName(BloodMagic.MODID + ".spectral");
}
@Override

View file

@ -30,8 +30,8 @@ public class BlockTeleposer extends BlockContainer implements IVariantProvider
{
super(Material.ROCK);
setCreativeTab(BloodMagic.tabBloodMagic);
setUnlocalizedName(Constants.Mod.MODID + ".teleposer");
setCreativeTab(BloodMagic.TAB_BM);
setUnlocalizedName(BloodMagic.MODID + ".teleposer");
setHardness(2.0F);
setResistance(5.0F);
}

View file

@ -0,0 +1,8 @@
package WayofTime.bloodmagic.block;
import net.minecraft.item.ItemBlock;
public interface IBMBlock {
ItemBlock getItem();
}

View file

@ -1,23 +1,24 @@
package WayofTime.bloodmagic.block.base;
import lombok.Getter;
import WayofTime.bloodmagic.block.IBMBlock;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.item.block.base.ItemBlockEnum;
import com.google.common.collect.Lists;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.NonNullList;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
@Getter
public class BlockEnum<E extends Enum<E> & IStringSerializable> extends Block
public class BlockEnum<E extends Enum<E> & IStringSerializable> extends Block implements IBMBlock, IVariantProvider
{
private final E[] types;
private final PropertyEnum<E> property;
@ -68,16 +69,44 @@ public class BlockEnum<E extends Enum<E> & IStringSerializable> extends Block
return getMetaFromState(state);
}
@SideOnly(Side.CLIENT)
@Override
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subBlocks)
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> subBlocks)
{
for (E type : types)
subBlocks.add(new ItemStack(item, 1, type.ordinal()));
subBlocks.add(new ItemStack(this, 1, type.ordinal()));
}
protected BlockStateContainer createStateContainer()
{
return new BlockStateContainer.Builder(this).add(property).build();
}
@Override
public ItemBlock getItem() {
return new ItemBlockEnum<>(this);
}
@Override
public List<Pair<Integer, String>> getVariants() {
List<Pair<Integer, String>> variants = Lists.newArrayList();
if (getItem() == null)
return variants;
for (int i = 0; i < types.length; i++)
variants.add(Pair.of(i, getProperty().getName() + "=" + types[i].name()));
return variants;
}
public E[] getTypes() {
return types;
}
public PropertyEnum<E> getProperty() {
return property;
}
public BlockStateContainer getRealStateContainer() {
return realStateContainer;
}
}

View file

@ -71,7 +71,7 @@ public class BlockEnumStairs<E extends Enum<E> & IStringSerializable> extends Bl
}
@Override
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn)
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean bool)
{
state = this.getActualState(state, worldIn, pos);

View file

@ -1,6 +1,5 @@
package WayofTime.bloodmagic.block.base;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger;
@ -18,7 +17,6 @@ import net.minecraftforge.fml.relauncher.SideOnly;
*
* These states will be numbered 0 through {@code maxMeta}.
*/
@Getter
public class BlockInteger extends Block
{
private final int maxMeta;
@ -65,11 +63,10 @@ public class BlockInteger extends Block
return getMetaFromState(state);
}
@SideOnly(Side.CLIENT)
@Override
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subBlocks) {
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> subBlocks) {
for (int i = 0; i < maxMeta; i++)
subBlocks.add(new ItemStack(item, 1, i));
subBlocks.add(new ItemStack(this, 1, i));
}
protected BlockStateContainer createStateContainer() {

View file

@ -1,6 +1,5 @@
package WayofTime.bloodmagic.block.base;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockStateContainer;
@ -21,7 +20,6 @@ import org.apache.commons.lang3.ArrayUtils;
* way, each value is {@code toLowerCase()}'ed, so the blockstate JSON needs all
* values to be lowercase.
*/
@Getter
public class BlockString extends Block
{
private final int maxMeta;
@ -78,10 +76,10 @@ public class BlockString extends Block
@SideOnly(Side.CLIENT)
@Override
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> subBlocks)
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> subBlocks)
{
for (int i = 0; i < maxMeta; i++)
subBlocks.add(new ItemStack(item, 1, i));
subBlocks.add(new ItemStack(this, 1, i));
}
protected BlockStateContainer createStateContainer()
@ -91,4 +89,20 @@ public class BlockString extends Block
System.out.println("Number of states: " + ctn.getValidStates().size());
return ctn;
}
public int getMaxMeta() {
return maxMeta;
}
public String[] getTypes() {
return types;
}
public PropertyString getProperty() {
return property;
}
public BlockStateContainer getRealStateContainer() {
return realStateContainer;
}
}

View file

@ -4,20 +4,23 @@ import java.util.Locale;
import net.minecraft.util.IStringSerializable;
public enum EnumBrickSize implements IStringSerializable
public enum EnumDecorative implements IStringSerializable
{
LARGE,
BRICK;
BLOODSTONE_TILE,
BLOODSTONE_BRICK,
CRYSTAL_TILE,
CRYSTAL_BRICK,
;
@Override
public String toString()
{
return name().toLowerCase(Locale.ENGLISH);
return name().toLowerCase(Locale.ROOT);
}
@Override
public String getName()
{
return this.toString();
return toString();
}
}

View file

@ -1,5 +1,6 @@
package WayofTime.bloodmagic.client.gui;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.player.InventoryPlayer;
@ -8,7 +9,6 @@ import net.minecraft.inventory.Slot;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileAlchemyTable;
import WayofTime.bloodmagic.tile.container.ContainerAlchemyTable;
import WayofTime.bloodmagic.util.helper.TextHelper;
@ -37,7 +37,7 @@ public class GuiAlchemyTable extends GuiContainer
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ResourceLocation soulForgeGuiTextures = new ResourceLocation(Constants.Mod.MODID + ":textures/gui/alchemyTable.png");
ResourceLocation soulForgeGuiTextures = new ResourceLocation(BloodMagic.MODID + ":textures/gui/alchemyTable.png");
this.mc.getTextureManager().bindTexture(soulForgeGuiTextures);
int i = (this.width - this.xSize) / 2;
int j = (this.height - this.ySize) / 2;

View file

@ -1,10 +1,10 @@
package WayofTime.bloodmagic.client.gui;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.item.inventory.ContainerHolding;
import WayofTime.bloodmagic.item.inventory.InventoryHolding;
import WayofTime.bloodmagic.item.sigil.ItemSigilHolding;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.util.helper.TextHelper;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
@ -16,7 +16,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class GuiHolding extends GuiContainer
{
private ResourceLocation texture = new ResourceLocation(Constants.Mod.MODID, "gui/SigilHolding.png");
private ResourceLocation texture = new ResourceLocation(BloodMagic.MODID, "gui/SigilHolding.png");
private EntityPlayer player;
public GuiHolding(EntityPlayer player, InventoryHolding inventoryHolding)
@ -43,7 +43,7 @@ public class GuiHolding extends GuiContainer
int x = (width - xSize) / 2;
int y = (height - ySize) / 2;
this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
if (player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == ModItems.SIGIL_HOLDING)
if (player.getHeldItemMainhand() != null && player.getHeldItemMainhand().getItem() == RegistrarBloodMagicItems.SIGIL_HOLDING)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.drawTexturedModalRect(4 + x + 36 * ItemSigilHolding.getCurrentItemOrdinal(player.getHeldItemMainhand()), y + 13, 0, 123, 24, 24);

View file

@ -2,6 +2,7 @@ package WayofTime.bloodmagic.client.gui;
import java.io.IOException;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
@ -15,7 +16,6 @@ import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.network.BloodMagicPacketHandler;
import WayofTime.bloodmagic.network.ItemRouterAmountPacketProcessor;
import WayofTime.bloodmagic.network.ItemRouterButtonPacketProcessor;
@ -211,7 +211,7 @@ public class GuiItemRoutingNode extends GuiContainer
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ResourceLocation soulForgeGuiTextures = new ResourceLocation(Constants.Mod.MODID + ":textures/gui/routingNode.png");
ResourceLocation soulForgeGuiTextures = new ResourceLocation(BloodMagic.MODID + ":textures/gui/routingNode.png");
this.mc.getTextureManager().bindTexture(soulForgeGuiTextures);
this.drawTexturedModalRect(left, top, 0, 0, this.xSize, this.ySize);
GlStateManager.disableLighting();

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.gui;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.tile.container.ContainerMasterRoutingNode;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
@ -35,7 +35,7 @@ public class GuiMasterRoutingNode extends GuiContainer
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ResourceLocation soulForgeGuiTextures = new ResourceLocation(Constants.Mod.MODID + ":textures/gui/masterRoutingNode.png");
ResourceLocation soulForgeGuiTextures = new ResourceLocation(BloodMagic.MODID + ":textures/gui/masterRoutingNode.png");
this.mc.getTextureManager().bindTexture(soulForgeGuiTextures);
int i = (this.width - this.xSize) / 2;
int j = (this.height - this.ySize) / 2;

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.gui;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.tile.TileSoulForge;
import WayofTime.bloodmagic.tile.container.ContainerSoulForge;
import WayofTime.bloodmagic.util.helper.TextHelper;
@ -36,7 +36,7 @@ public class GuiSoulForge extends GuiContainer
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ResourceLocation soulForgeGuiTextures = new ResourceLocation(Constants.Mod.MODID + ":textures/gui/soulForge.png");
ResourceLocation soulForgeGuiTextures = new ResourceLocation(BloodMagic.MODID + ":textures/gui/soulForge.png");
this.mc.getTextureManager().bindTexture(soulForgeGuiTextures);
int i = (this.width - this.xSize) / 2;
int j = (this.height - this.ySize) / 2;

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.gui;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.tile.container.ContainerTeleposer;
import WayofTime.bloodmagic.util.helper.TextHelper;
import net.minecraft.client.gui.inventory.GuiContainer;
@ -30,7 +30,7 @@ public class GuiTeleposer extends GuiContainer
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ResourceLocation teleposerGuiTextures = new ResourceLocation(Constants.Mod.MODID + ":textures/gui/teleposer.png");
ResourceLocation teleposerGuiTextures = new ResourceLocation(BloodMagic.MODID + ":textures/gui/teleposer.png");
this.mc.getTextureManager().bindTexture(teleposerGuiTextures);
int i = (this.width - this.xSize) / 2;
int j = (this.height - this.ySize) / 2;

View file

@ -1,7 +1,7 @@
package WayofTime.bloodmagic.client.gui.config;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.ConfigHandler;
import WayofTime.bloodmagic.api.Constants;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.fml.client.config.GuiConfig;
@ -15,7 +15,7 @@ public class ConfigGui extends GuiConfig
public ConfigGui(GuiScreen parentScreen)
{
super(parentScreen, getConfigElements(parentScreen), Constants.Mod.MODID, false, false, "BloodMagic Configuration");
super(parentScreen, getConfigElements(parentScreen), BloodMagic.MODID, false, false, "BloodMagic Configuration");
}
@SuppressWarnings("rawtypes")

View file

@ -1,17 +1,13 @@
package WayofTime.bloodmagic.client.hud;
import WayofTime.bloodmagic.util.handler.event.ClientHandler;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
@Getter
@Setter
public abstract class HUDElement
{
@ -52,12 +48,32 @@ public abstract class HUDElement
float f = 0.00390625F;
float f1 = 0.00390625F;
Tessellator tessellator = Tessellator.getInstance();
VertexBuffer vertexbuffer = tessellator.getBuffer();
vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
vertexbuffer.pos((double) (x + 0), (double) (y + height), 0).tex((double) ((float) (textureX + 0) * f), (double) ((float) (textureY + height) * f1)).endVertex();
vertexbuffer.pos((double) (x + width), (double) (y + height), 0).tex((double) ((float) (textureX + width) * f), (double) ((float) (textureY + height) * f1)).endVertex();
vertexbuffer.pos((double) (x + width), (double) (y + 0), 0).tex((double) ((float) (textureX + width) * f), (double) ((float) (textureY + 0) * f1)).endVertex();
vertexbuffer.pos((double) (x + 0), (double) (y + 0), 0).tex((double) ((float) (textureX + 0) * f), (double) ((float) (textureY + 0) * f1)).endVertex();
BufferBuilder buffer = tessellator.getBuffer();
buffer.begin(7, DefaultVertexFormats.POSITION_TEX);
buffer.pos(x + 0, y + height, 0).tex((double) ((float) (textureX + 0) * f), (double) ((float) (textureY + height) * f1)).endVertex();
buffer.pos(x + width, y + height, 0).tex((double) ((float) (textureX + width) * f), (double) ((float) (textureY + height) * f1)).endVertex();
buffer.pos(x + width, y + 0, 0).tex((double) ((float) (textureX + width) * f), (double) ((float) (textureY + 0) * f1)).endVertex();
buffer.pos(x + 0, y + 0, 0).tex((double) ((float) (textureX + 0) * f), (double) ((float) (textureY + 0) * f1)).endVertex();
tessellator.draw();
}
public int getxOffset() {
return xOffset;
}
public int getyOffset() {
return yOffset;
}
public int getxOffsetDefault() {
return xOffsetDefault;
}
public int getyOffsetDefault() {
return yOffsetDefault;
}
public RenderGameOverlayEvent.ElementType getElementType() {
return elementType;
}
}

View file

@ -3,15 +3,14 @@ package WayofTime.bloodmagic.client.hud;
import java.util.ArrayList;
import java.util.List;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.proxy.ClientProxy;
import WayofTime.bloodmagic.util.Utils;
@ -41,7 +40,7 @@ public class HUDElementDemonWillAura extends HUDElement
return;
}
minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/hud/bars.png"));
minecraft.getTextureManager().bindTexture(new ResourceLocation(BloodMagic.MODID, "textures/hud/bars.png"));
GlStateManager.color(1.0F, 1.0F, 1.0F);
this.drawTexturedModalRect(getXOffset(), getYOffset(), 0, 105 * 2, 80, 46);
@ -52,7 +51,7 @@ public class HUDElementDemonWillAura extends HUDElement
{
i++;
GlStateManager.color(1.0F, 1.0F, 1.0F);
minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/hud/bars.png"));
minecraft.getTextureManager().bindTexture(new ResourceLocation(BloodMagic.MODID, "textures/hud/bars.png"));
int textureXOffset = (i > 3) ? (i - 3) : (3 - i);
int maxBarSize = 30 - 2 * textureXOffset;

View file

@ -1,8 +1,8 @@
package WayofTime.bloodmagic.client.hud;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.item.sigil.ItemSigilHolding;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.ScaledResolution;
@ -28,15 +28,15 @@ public class HUDElementHolding extends HUDElement
{
ItemStack sigilHolding = minecraft.player.getHeldItemMainhand();
// Check mainhand for Sigil of Holding
if (!(sigilHolding.getItem() == ModItems.SIGIL_HOLDING))
if (!(sigilHolding.getItem() == RegistrarBloodMagicItems.SIGIL_HOLDING))
sigilHolding = minecraft.player.getHeldItemOffhand();
// Check offhand for Sigil of Holding
if (!(sigilHolding.getItem() == ModItems.SIGIL_HOLDING))
if (!(sigilHolding.getItem() == RegistrarBloodMagicItems.SIGIL_HOLDING))
return;
Gui ingameGui = minecraft.ingameGUI;
minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/gui/widgets.png"));
minecraft.getTextureManager().bindTexture(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"));
GlStateManager.color(1.0F, 1.0F, 1.0F);
ingameGui.drawTexturedModalRect(resolution.getScaledWidth() / 2 + 100 + getXOffset(), resolution.getScaledHeight() - 22 + getYOffset(), 0, 0, 102, 22);
int currentSlot = ItemSigilHolding.getCurrentItemOrdinal(sigilHolding);

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.key;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.relauncher.Side;
@ -11,7 +11,7 @@ public class KeyBindingBloodMagic extends KeyBinding
{
public KeyBindingBloodMagic(KeyBindings key)
{
super(key.getDescription(), key.getKeyConflictContext(), key.getKeyModifier(), key.getKeyCode(), Constants.Mod.NAME);
super(key.getDescription(), key.getKeyConflictContext(), key.getKeyModifier(), key.getKeyCode(), BloodMagic.NAME);
ClientRegistry.registerKeyBinding(this);
}

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.key;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.item.sigil.ItemSigilHolding;
import WayofTime.bloodmagic.network.BloodMagicPacketHandler;
import WayofTime.bloodmagic.network.KeyProcessor;
@ -106,6 +106,6 @@ public enum KeyBindings
public String getDescription()
{
return Constants.Mod.MODID + ".keybind." + name().toLowerCase(Locale.ENGLISH);
return BloodMagic.MODID + ".keybind." + name().toLowerCase(Locale.ENGLISH);
}
}

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.mesh;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.iface.IActivatable;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
@ -21,8 +21,8 @@ public class CustomMeshDefinitionActivatable implements ItemMeshDefinition
{
if (stack != null && stack.getItem() instanceof IActivatable)
if (((IActivatable) stack.getItem()).getActivated(stack))
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "active=true");
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "active=true");
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "active=false");
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "active=false");
}
}

View file

@ -1,10 +1,10 @@
package WayofTime.bloodmagic.client.mesh;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.iface.IMultiWillTool;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
@ -23,9 +23,9 @@ public class CustomMeshDefinitionMultiWill implements ItemMeshDefinition
if (stack != null && stack.getItem() instanceof IMultiWillTool)
{
EnumDemonWillType type = ((IMultiWillTool) stack.getItem()).getCurrentType(stack);
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "type=" + type.getName().toLowerCase());
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "type=" + type.getName().toLowerCase());
}
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "type=default");
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "type=default");
}
}

View file

@ -1,13 +1,13 @@
package WayofTime.bloodmagic.client.mesh;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.item.soul.ItemSoulGem;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
public class CustomMeshDefinitionWillGem implements ItemMeshDefinition
{
@ -21,12 +21,12 @@ public class CustomMeshDefinitionWillGem implements ItemMeshDefinition
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
if (stack != null && stack.getItem() == ModItems.SOUL_GEM)
if (stack != null && stack.getItem() == RegistrarBloodMagicItems.SOUL_GEM)
{
EnumDemonWillType type = ((ItemSoulGem) stack.getItem()).getCurrentType(stack);
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "type=" + ItemSoulGem.names[stack.getItemDamage()] + "_" + type.getName().toLowerCase());
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "type=" + ItemSoulGem.names[stack.getItemDamage()] + "_" + type.getName().toLowerCase());
}
return new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), "type=petty_default");
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + name), "type=petty_default");
}
}

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.client.render;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.item.armour.ItemLivingArmour;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import net.minecraft.client.entity.AbstractClientPlayer;
@ -31,7 +31,7 @@ public class LayerBloodElytra implements LayerRenderer<AbstractClientPlayer>
if (LivingArmour.hasFullSet(clientPlayer))
{
ItemStack chestStack = clientPlayer.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
if (ItemLivingArmour.hasUpgrade(Constants.Mod.MODID + ".upgrade.elytra", chestStack))
if (ItemLivingArmour.hasUpgrade(BloodMagic.MODID + ".upgrade.elytra", chestStack))
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.enableBlend();

View file

@ -50,7 +50,7 @@ public class AttractorAlchemyCircleRenderer extends AlchemyCircleRenderer
{
if (craftTime < secondaryOffset)
{
float modifier = 90 * (craftTime - offset) / (float) (secondaryOffset - offset);
float modifier = 90 * (craftTime - offset) / (secondaryOffset - offset);
return modifier;
} else
{

View file

@ -96,7 +96,7 @@ public class BindingAlchemyCircleRenderer extends AlchemyCircleRenderer
float offset = 2;
if (circle == -1)
{
return (float) (craftTime * 360 * 2 / 5 / sweepTime);
return craftTime * 360 * 2 / 5 / sweepTime;
}
if (craftTime >= offset)
{

View file

@ -1,7 +1,7 @@
package WayofTime.bloodmagic.client.render.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.ConfigHandler;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.iface.INodeRenderer;
import WayofTime.bloodmagic.client.helper.ShaderHelper;
import WayofTime.bloodmagic.tile.routing.TileRoutingNode;
@ -20,7 +20,7 @@ import java.util.List;
public class RenderItemRoutingNode extends TileEntitySpecialRenderer<TileRoutingNode>
{
private static final ResourceLocation beamTexture = new ResourceLocation(Constants.Mod.MODID, "textures/entities/nodeBeam.png");
private static final ResourceLocation beamTexture = new ResourceLocation(BloodMagic.MODID, "textures/entities/nodeBeam.png");
private static final Minecraft mc = Minecraft.getMinecraft();
// private static final ResourceLocation test = new ResourceLocation("luminescence:textures/models/InputMirror.png");
@ -71,11 +71,11 @@ public class RenderItemRoutingNode extends TileEntitySpecialRenderer<TileRouting
double d23 = width / 2;
double d24 = width / 2;
double d25 = width / 2;
double d26 = (double) (distance * f1);
double d26 = distance * f1;
double d27 = 0.0D;
double d28 = 1.0D;
double d29 = (double) (f3) + test;
double d30 = (double) (distance * f1) + d29;
double d30 = distance * f1 + d29;
GlStateManager.translate(x + 0.5, y + 0.5, z + 0.5);

View file

@ -1,11 +1,11 @@
package WayofTime.bloodmagic.client.render.entity;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.render.model.ModelMeteor;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
@ -13,7 +13,7 @@ public class RenderEntityMeteor extends Render<EntityMeteor>
{
public ModelBase model = new ModelMeteor();
private float scale = 1;
private static final ResourceLocation resource = new ResourceLocation(Constants.Mod.MODID, "textures/models/Meteor.png");
private static final ResourceLocation resource = new ResourceLocation(BloodMagic.MODID, "textures/models/Meteor.png");
public RenderEntityMeteor(RenderManager renderManagerIn)
{

View file

@ -82,7 +82,7 @@ public class RenderEntityMimic extends RenderLiving<EntityMimic>
if (!StringUtils.isNullOrEmpty(s))
{
gameprofile = TileEntitySkull.updateGameprofile(new GameProfile((UUID) null, s));
gameprofile = TileEntitySkull.updateGameprofile(new GameProfile(null, s));
nbttagcompound.setTag("SkullOwner", NBTUtil.writeGameProfile(new NBTTagCompound(), gameprofile));
}
}

View file

@ -1,7 +1,7 @@
package WayofTime.bloodmagic.client.render.entity;
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderItem;
@ -30,7 +30,7 @@ public class RenderEntitySoulSnare extends Render<EntitySoulSnare>
GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
this.renderItem.renderItem(new ItemStack(ModItems.SOUL_SNARE), ItemCameraTransforms.TransformType.GROUND);
this.renderItem.renderItem(new ItemStack(RegistrarBloodMagicItems.SOUL_SNARE), ItemCameraTransforms.TransformType.GROUND);
GlStateManager.disableRescaleNormal();
GlStateManager.popMatrix();
super.doRender(entity, x, y, z, entityYaw, partialTicks);

View file

@ -35,7 +35,7 @@ public class LayerAlchemyCircle<T extends EntityCorruptedSheep> implements Layer
VertexBuffer wr = tessellator.getBuffer();
GlStateManager.pushMatrix();
float rot = (float) this.rotationspeed * (partialTicks + demon.ticksExisted);
float rot = this.rotationspeed * (partialTicks + demon.ticksExisted);
float secondaryRot = 0;
float size = 3.0F;

View file

@ -1,59 +0,0 @@
package WayofTime.bloodmagic.compat;
/**
* Implement on all primary compatibility classes.
*/
public interface ICompatibility
{
/**
* Called during each initialization phase after the given
* {@link #getModId()} has been verified as loaded.
*
* @param phase
* - The load phase at which this method is being called.
*/
void loadCompatibility(InitializationPhase phase);
/**
* @return The {@code modid} of the mod we are adding compatibility for.
*/
String getModId();
/**
* Whether or not compatibility should be loaded even if the mod were to be
* found.
*
* Generally a determined by a config option.
*
* @return If Compatibility should load.
*/
boolean enableCompat();
/**
* Represents a given mod initialization state.
*/
enum InitializationPhase
{
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLPreInitializationEvent}
*/
PRE_INIT,
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLInitializationEvent}
*/
INIT,
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLPostInitializationEvent}
*/
POST_INIT,
/**
* Represents
* {@link net.minecraftforge.fml.common.event.FMLModIdMappingEvent}
*/
MAPPING,
;
}
}

View file

@ -1,60 +1,55 @@
package WayofTime.bloodmagic.compat.guideapi;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.compat.guideapi.book.*;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import amerifrance.guideapi.api.GuideAPI;
import amerifrance.guideapi.api.GuideBook;
import amerifrance.guideapi.api.IGuideBook;
import amerifrance.guideapi.api.impl.Book;
import amerifrance.guideapi.category.CategoryItemStack;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.awt.Color;
@GuideBook
public class GuideBloodMagic implements IGuideBook
{
public static Book guideBook;
@GuideBook(priority = EventPriority.HIGHEST)
public class GuideBloodMagic implements IGuideBook {
public static final Book GUIDE_BOOK = new Book();
@Nullable
@Override
public Book buildBook() {
guideBook = new Book();
guideBook.setTitle("guide.bloodmagic.title");
guideBook.setDisplayName("guide.bloodmagic.display");
guideBook.setWelcomeMessage("guide.bloodmagic.welcome");
guideBook.setAuthor("guide.bloodmagic.author");
guideBook.setRegistryName(new ResourceLocation(Constants.Mod.MODID, "guide"));
guideBook.setColor(Color.RED);
GUIDE_BOOK.setTitle("guide.bloodmagic.title");
GUIDE_BOOK.setDisplayName("guide.bloodmagic.display");
GUIDE_BOOK.setWelcomeMessage("guide.bloodmagic.welcome");
GUIDE_BOOK.setAuthor("guide.bloodmagic.author");
GUIDE_BOOK.setRegistryName(new ResourceLocation(BloodMagic.MODID, "guide"));
GUIDE_BOOK.setColor(Color.RED);
return guideBook;
}
@Override
public void handleModel(ItemStack bookStack) {
GuideAPI.setModel(guideBook);
return GUIDE_BOOK;
}
@Override
public void handlePost(ItemStack bookStack) {
if (FMLCommonHandler.instance().getSide() == Side.CLIENT) {
guideBook.addCategory(new CategoryItemStack(CategoryAlchemy.buildCategory(), "guide.bloodmagic.category.alchemy", new ItemStack(ModItems.ARCANE_ASHES)));
guideBook.addCategory(new CategoryItemStack(CategoryArchitect.buildCategory(), "guide.bloodmagic.category.architect", new ItemStack(ModItems.SIGIL_DIVINATION)));
guideBook.addCategory(new CategoryItemStack(CategoryDemon.buildCategory(), "guide.bloodmagic.category.demon", new ItemStack(ModItems.BLOOD_SHARD)));
guideBook.addCategory(new CategoryItemStack(CategoryRitual.buildCategory(), "guide.bloodmagic.category.ritual", new ItemStack(ModBlocks.RITUAL_CONTROLLER)));
// guideBook.addCategory(new CategoryItemStack(CategorySpell.buildCategory(), "guide.bloodmagic.category.spell", new ItemStack(ModItems.ritualDiviner)));
}
GUIDE_BOOK.addCategory(new CategoryItemStack(CategoryAlchemy.buildCategory(), "guide.bloodmagic.category.alchemy", new ItemStack(RegistrarBloodMagicItems.ARCANE_ASHES)));
GUIDE_BOOK.addCategory(new CategoryItemStack(CategoryArchitect.buildCategory(), "guide.bloodmagic.category.architect", new ItemStack(RegistrarBloodMagicItems.SIGIL_DIVINATION)));
GUIDE_BOOK.addCategory(new CategoryItemStack(CategoryDemon.buildCategory(), "guide.bloodmagic.category.demon", new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD)));
GUIDE_BOOK.addCategory(new CategoryItemStack(CategoryRitual.buildCategory(), "guide.bloodmagic.category.ritual", new ItemStack(RegistrarBloodMagicBlocks.RITUAL_CONTROLLER)));
// guideBook.addCategory(new CategoryItemStack(CategorySpell.buildCategory(), "guide.bloodmagic.category.spell", new ItemStack(ModItems.ritualDiviner)));
}
GameRegistry.addRecipe(new ShapelessOreRecipe(GuideAPI.getStackFromBook(GuideBloodMagic.guideBook), new ItemStack(Items.BOOK), Blocks.GLASS, Items.FEATHER));
@Nullable
@Override
public IRecipe getRecipe(@Nonnull ItemStack bookStack) {
return new ShapelessOreRecipe(new ResourceLocation(BloodMagic.MODID, "guide"), GuideAPI.getStackFromBook(GUIDE_BOOK), new ItemStack(Items.BOOK), "glass", "feather");
}
}

View file

@ -1,12 +1,12 @@
package WayofTime.bloodmagic.compat.guideapi.book;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
import WayofTime.bloodmagic.compat.guideapi.BookUtils;
import WayofTime.bloodmagic.compat.guideapi.entry.EntryText;
import WayofTime.bloodmagic.compat.guideapi.page.PageAlchemyArray;
import WayofTime.bloodmagic.compat.guideapi.page.PageTartaricForgeRecipe;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.util.helper.RecipeHelper;
import WayofTime.bloodmagic.util.helper.TextHelper;
import amerifrance.guideapi.api.IPage;
@ -27,7 +27,7 @@ public class CategoryAlchemy
public static Map<ResourceLocation, EntryAbstract> buildCategory()
{
Map<ResourceLocation, EntryAbstract> entries = new LinkedHashMap<ResourceLocation, EntryAbstract>();
String keyBase = "guide." + Constants.Mod.MODID + ".entry.alchemy.";
String keyBase = "guide." + BloodMagic.MODID + ".entry.alchemy.";
List<IPage> introPages = new ArrayList<IPage>();
introPages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "intro" + ".info"), 370));
@ -35,7 +35,7 @@ public class CategoryAlchemy
List<IPage> ashPages = new ArrayList<IPage>();
TartaricForgeRecipe ashRecipe = RecipeHelper.getForgeRecipeForOutput(new ItemStack(ModItems.ARCANE_ASHES));
TartaricForgeRecipe ashRecipe = RecipeHelper.getForgeRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.ARCANE_ASHES));
if (ashRecipe != null)
{
ashPages.add(new PageTartaricForgeRecipe(ashRecipe));

View file

@ -6,10 +6,10 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry.AltarRecipe;
import WayofTime.bloodmagic.api.registry.OrbRegistry;
@ -19,8 +19,8 @@ import WayofTime.bloodmagic.compat.guideapi.page.PageAlchemyArray;
import WayofTime.bloodmagic.compat.guideapi.page.PageAltarRecipe;
import WayofTime.bloodmagic.compat.guideapi.page.PageTartaricForgeRecipe;
import WayofTime.bloodmagic.item.ItemComponent;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.registry.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.util.helper.RecipeHelper;
import WayofTime.bloodmagic.util.helper.TextHelper;
import amerifrance.guideapi.api.IPage;
@ -33,7 +33,7 @@ public class CategoryArchitect
public static Map<ResourceLocation, EntryAbstract> buildCategory()
{
Map<ResourceLocation, EntryAbstract> entries = new LinkedHashMap<ResourceLocation, EntryAbstract>();
String keyBase = "guide." + Constants.Mod.MODID + ".entry.architect.";
String keyBase = "guide." + BloodMagic.MODID + ".entry.architect.";
List<IPage> introPages = new ArrayList<IPage>();
introPages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "intro" + ".info"), 370));
@ -42,7 +42,7 @@ public class CategoryArchitect
List<IPage> altarPages = new ArrayList<IPage>();
IRecipe altarRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.ALTAR));
IRecipe altarRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.ALTAR));
if (altarRecipe != null)
{
altarPages.add(BookUtils.getPageForRecipe(altarRecipe));
@ -50,7 +50,7 @@ public class CategoryArchitect
altarPages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "bloodaltar" + ".info.1"), 370));
IRecipe daggerRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModItems.SACRIFICIAL_DAGGER));
IRecipe daggerRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.SACRIFICIAL_DAGGER));
if (daggerRecipe != null)
{
altarPages.add(BookUtils.getPageForRecipe(daggerRecipe));
@ -61,7 +61,7 @@ public class CategoryArchitect
List<IPage> ashPages = new ArrayList<IPage>();
TartaricForgeRecipe ashRecipe = RecipeHelper.getForgeRecipeForOutput(new ItemStack(ModItems.ARCANE_ASHES));
TartaricForgeRecipe ashRecipe = RecipeHelper.getForgeRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.ARCANE_ASHES));
if (ashRecipe != null)
{
ashPages.add(new PageTartaricForgeRecipe(ashRecipe));
@ -71,7 +71,7 @@ public class CategoryArchitect
List<IPage> divinationPages = new ArrayList<IPage>();
PageAlchemyArray divinationRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_DIVINATION));
PageAlchemyArray divinationRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_DIVINATION));
if (divinationRecipePage != null)
{
divinationPages.add(divinationRecipePage);
@ -88,7 +88,7 @@ public class CategoryArchitect
List<IPage> weakorbPages = new ArrayList<IPage>();
weakorbPages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "weakorb" + ".info.1"), 370));
AltarRecipe weakorbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(ModItems.ORB_WEAK));
AltarRecipe weakorbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(RegistrarBloodMagicItems.ORB_WEAK));
if (weakorbRecipe != null)
{
weakorbPages.add(new PageAltarRecipe(weakorbRecipe));
@ -99,7 +99,7 @@ public class CategoryArchitect
List<IPage> incensePages = new ArrayList<IPage>();
IRecipe incenseRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.INCENSE_ALTAR));
IRecipe incenseRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.INCENSE_ALTAR));
if (incenseRecipe != null)
{
incensePages.add(BookUtils.getPageForRecipe(incenseRecipe));
@ -107,7 +107,7 @@ public class CategoryArchitect
incensePages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "incense" + ".info.1"), 370));
IRecipe woodPathRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.PATH_BLOCK, 1, 0));
IRecipe woodPathRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.PATH, 1, 0));
if (woodPathRecipe != null)
{
incensePages.add(BookUtils.getPageForRecipe(woodPathRecipe));
@ -118,7 +118,7 @@ public class CategoryArchitect
List<IPage> runePages = new ArrayList<IPage>();
IRecipe runeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 0));
IRecipe runeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 0));
if (runeRecipe != null)
{
runePages.add(BookUtils.getPageForRecipe(runeRecipe));
@ -129,7 +129,7 @@ public class CategoryArchitect
List<IPage> inspectPages = new ArrayList<IPage>();
AltarRecipe inspectRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(ModItems.SANGUINE_BOOK));
AltarRecipe inspectRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.SANGUINE_BOOK));
if (inspectRecipe != null)
{
inspectPages.add(new PageAltarRecipe(inspectRecipe));
@ -140,7 +140,7 @@ public class CategoryArchitect
List<IPage> speedRunePages = new ArrayList<IPage>();
IRecipe speedRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 1));
IRecipe speedRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 1));
if (speedRecipe != null)
{
speedRunePages.add(BookUtils.getPageForRecipe(speedRecipe));
@ -157,7 +157,7 @@ public class CategoryArchitect
waterPages.add(new PageTartaricForgeRecipe(waterRecipe));
}
PageAlchemyArray waterRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_WATER));
PageAlchemyArray waterRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_WATER));
if (waterRecipePage != null)
{
waterPages.add(waterRecipePage);
@ -174,7 +174,7 @@ public class CategoryArchitect
lavaPages.add(new PageTartaricForgeRecipe(lavaRecipe));
}
PageAlchemyArray lavaRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_LAVA));
PageAlchemyArray lavaRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_LAVA));
if (lavaRecipePage != null)
{
lavaPages.add(lavaRecipePage);
@ -185,7 +185,7 @@ public class CategoryArchitect
List<IPage> lavaCrystalPages = new ArrayList<IPage>();
IRecipe lavaCrystalRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModItems.LAVA_CRYSTAL));
IRecipe lavaCrystalRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.LAVA_CRYSTAL));
if (lavaCrystalRecipe != null)
{
lavaCrystalPages.add(BookUtils.getPageForRecipe(lavaCrystalRecipe));
@ -196,7 +196,7 @@ public class CategoryArchitect
List<IPage> apprenticeorbPages = new ArrayList<IPage>();
AltarRecipe apprenticeorbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(ModItems.ORB_APPRENTICE));
AltarRecipe apprenticeorbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(RegistrarBloodMagicItems.ORB_APPRENTICE));
if (apprenticeorbRecipe != null)
{
apprenticeorbPages.add(new PageAltarRecipe(apprenticeorbRecipe));
@ -207,7 +207,7 @@ public class CategoryArchitect
List<IPage> daggerPages = new ArrayList<IPage>();
AltarRecipe daggerOfSacrificeRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(ModItems.DAGGER_OF_SACRIFICE));
AltarRecipe daggerOfSacrificeRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.DAGGER_OF_SACRIFICE));
if (daggerOfSacrificeRecipe != null)
{
daggerPages.add(new PageAltarRecipe(daggerOfSacrificeRecipe));
@ -218,7 +218,7 @@ public class CategoryArchitect
List<IPage> runeSacrificePages = new ArrayList<IPage>();
IRecipe runeSacrificeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 3));
IRecipe runeSacrificeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 3));
if (runeSacrificeRecipe != null)
{
runeSacrificePages.add(BookUtils.getPageForRecipe(runeSacrificeRecipe));
@ -229,7 +229,7 @@ public class CategoryArchitect
List<IPage> runeSelfSacrificePages = new ArrayList<IPage>();
IRecipe runeSelfSacrificeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 4));
IRecipe runeSelfSacrificeRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 4));
if (runeSelfSacrificeRecipe != null)
{
runeSelfSacrificePages.add(BookUtils.getPageForRecipe(runeSelfSacrificeRecipe));
@ -246,7 +246,7 @@ public class CategoryArchitect
holdingPages.add(new PageTartaricForgeRecipe(holdingRecipe));
}
PageAlchemyArray holdingRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_HOLDING));
PageAlchemyArray holdingRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING));
if (holdingRecipePage != null)
{
holdingPages.add(holdingRecipePage);
@ -263,7 +263,7 @@ public class CategoryArchitect
airPages.add(new PageTartaricForgeRecipe(airRecipe));
}
PageAlchemyArray airRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_AIR));
PageAlchemyArray airRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR));
if (airRecipePage != null)
{
airPages.add(airRecipePage);
@ -280,7 +280,7 @@ public class CategoryArchitect
voidPages.add(new PageTartaricForgeRecipe(voidRecipe));
}
PageAlchemyArray voidRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_VOID));
PageAlchemyArray voidRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_VOID));
if (voidRecipePage != null)
{
voidPages.add(voidRecipePage);
@ -297,7 +297,7 @@ public class CategoryArchitect
greenGrovePages.add(new PageTartaricForgeRecipe(greenGroveRecipe));
}
PageAlchemyArray greenGroveRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_GREEN_GROVE));
PageAlchemyArray greenGroveRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_GREEN_GROVE));
if (greenGroveRecipePage != null)
{
greenGrovePages.add(greenGroveRecipePage);
@ -314,7 +314,7 @@ public class CategoryArchitect
fastMinerPages.add(new PageTartaricForgeRecipe(fastMinerRecipe));
}
PageAlchemyArray fastMinerRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_FAST_MINER));
PageAlchemyArray fastMinerRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_FAST_MINER));
if (fastMinerRecipePage != null)
{
fastMinerPages.add(fastMinerRecipePage);
@ -331,7 +331,7 @@ public class CategoryArchitect
seerPages.add(new PageTartaricForgeRecipe(seerRecipe));
}
PageAlchemyArray seerRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_SEER));
PageAlchemyArray seerRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_SEER));
if (seerRecipePage != null)
{
seerPages.add(seerRecipePage);
@ -342,7 +342,7 @@ public class CategoryArchitect
List<IPage> magicianOrbPages = new ArrayList<IPage>();
AltarRecipe magicianOrbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(ModItems.ORB_MAGICIAN));
AltarRecipe magicianOrbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(RegistrarBloodMagicItems.ORB_MAGICIAN));
if (magicianOrbRecipe != null)
{
magicianOrbPages.add(new PageAltarRecipe(magicianOrbRecipe));
@ -353,7 +353,7 @@ public class CategoryArchitect
List<IPage> capacityPages = new ArrayList<IPage>();
IRecipe capacityRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 4));
IRecipe capacityRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 4));
if (capacityRecipe != null)
{
capacityPages.add(BookUtils.getPageForRecipe(capacityRecipe));
@ -364,7 +364,7 @@ public class CategoryArchitect
List<IPage> displacementPages = new ArrayList<IPage>();
IRecipe displacementRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 4));
IRecipe displacementRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 4));
if (displacementRecipe != null)
{
displacementPages.add(BookUtils.getPageForRecipe(displacementRecipe));
@ -381,7 +381,7 @@ public class CategoryArchitect
affinityPages.add(new PageTartaricForgeRecipe(affinityRecipe));
}
PageAlchemyArray affinityRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_ELEMENTAL_AFFINITY));
PageAlchemyArray affinityRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_ELEMENTAL_AFFINITY));
if (affinityRecipePage != null)
{
affinityPages.add(affinityRecipePage);
@ -398,7 +398,7 @@ public class CategoryArchitect
lampPages.add(new PageTartaricForgeRecipe(lampRecipe));
}
PageAlchemyArray lampRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_BLOOD_LIGHT));
PageAlchemyArray lampRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_BLOOD_LIGHT));
if (lampRecipePage != null)
{
lampPages.add(lampRecipePage);
@ -415,7 +415,7 @@ public class CategoryArchitect
magnetismPages.add(new PageTartaricForgeRecipe(magnetismRecipe));
}
PageAlchemyArray magnetismRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_MAGNETISM));
PageAlchemyArray magnetismRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_MAGNETISM));
if (magnetismRecipePage != null)
{
magnetismPages.add(magnetismRecipePage);
@ -426,7 +426,7 @@ public class CategoryArchitect
List<IPage> peritiaPages = new ArrayList<IPage>();
IRecipe peritiaRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModItems.EXPERIENCE_TOME));
IRecipe peritiaRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.EXPERIENCE_TOME));
if (peritiaRecipe != null)
{
peritiaPages.add(BookUtils.getPageForRecipe(peritiaRecipe));
@ -443,25 +443,25 @@ public class CategoryArchitect
livingArmourPages.add(new PageTartaricForgeRecipe(bindingRecipe));
}
PageAlchemyArray bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.LIVING_ARMOUR_CHEST));
PageAlchemyArray bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST));
if (bindingRecipePage != null)
{
livingArmourPages.add(bindingRecipePage);
}
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.LIVING_ARMOUR_HELMET));
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET));
if (bindingRecipePage != null)
{
livingArmourPages.add(bindingRecipePage);
}
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.LIVING_ARMOUR_LEGS));
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_LEGS));
if (bindingRecipePage != null)
{
livingArmourPages.add(bindingRecipePage);
}
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.LIVING_ARMOUR_BOOTS));
bindingRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS));
if (bindingRecipePage != null)
{
livingArmourPages.add(bindingRecipePage);
@ -482,13 +482,13 @@ public class CategoryArchitect
List<IPage> teleposerPages = new ArrayList<IPage>();
AltarRecipe teleposerFocusRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(ModItems.TELEPOSITION_FOCUS));
AltarRecipe teleposerFocusRecipe = RecipeHelper.getAltarRecipeForOutput(new ItemStack(RegistrarBloodMagicItems.TELEPOSITION_FOCUS));
if (teleposerFocusRecipe != null)
{
teleposerPages.add(new PageAltarRecipe(teleposerFocusRecipe));
}
IRecipe teleposerRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.TELEPOSER));
IRecipe teleposerRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.TELEPOSER));
if (teleposerRecipe != null)
{
teleposerPages.add(BookUtils.getPageForRecipe(teleposerRecipe));
@ -499,7 +499,7 @@ public class CategoryArchitect
List<IPage> boundBladePages = new ArrayList<IPage>();
PageAlchemyArray boundBladePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.BOUND_SWORD));
PageAlchemyArray boundBladePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.BOUND_SWORD));
if (boundBladePage != null)
{
boundBladePages.add(boundBladePage);
@ -510,19 +510,19 @@ public class CategoryArchitect
List<IPage> boundToolPages = new ArrayList<IPage>();
PageAlchemyArray boundToolPage = BookUtils.getAlchemyPage(new ItemStack(ModItems.BOUND_PICKAXE));
PageAlchemyArray boundToolPage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.BOUND_PICKAXE));
if (boundToolPage != null)
{
boundToolPages.add(boundToolPage);
}
boundToolPage = BookUtils.getAlchemyPage(new ItemStack(ModItems.BOUND_AXE));
boundToolPage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.BOUND_AXE));
if (boundToolPage != null)
{
boundToolPages.add(boundToolPage);
}
boundToolPage = BookUtils.getAlchemyPage(new ItemStack(ModItems.BOUND_SHOVEL));
boundToolPage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.BOUND_SHOVEL));
if (boundToolPage != null)
{
boundToolPages.add(boundToolPage);
@ -538,7 +538,7 @@ public class CategoryArchitect
List<IPage> masterOrbPages = new ArrayList<IPage>();
AltarRecipe masterOrbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(ModItems.ORB_MASTER));
AltarRecipe masterOrbRecipe = RecipeHelper.getAltarRecipeForOutput(OrbRegistry.getOrbStack(RegistrarBloodMagicItems.ORB_MASTER));
if (magicianOrbRecipe != null)
{
masterOrbPages.add(new PageAltarRecipe(masterOrbRecipe));
@ -549,7 +549,7 @@ public class CategoryArchitect
List<IPage> orbRunePages = new ArrayList<IPage>();
IRecipe orbRuneRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 8));
IRecipe orbRuneRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 8));
if (orbRuneRecipe != null)
{
orbRunePages.add(BookUtils.getPageForRecipe(orbRuneRecipe));
@ -560,7 +560,7 @@ public class CategoryArchitect
List<IPage> augmentedCapacityPages = new ArrayList<IPage>();
IRecipe augmentedCapacityRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 7));
IRecipe augmentedCapacityRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 7));
if (orbRuneRecipe != null)
{
augmentedCapacityPages.add(BookUtils.getPageForRecipe(augmentedCapacityRecipe));
@ -571,7 +571,7 @@ public class CategoryArchitect
List<IPage> chargingPages = new ArrayList<IPage>();
IRecipe chargingRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 10));
IRecipe chargingRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 10));
if (orbRuneRecipe != null)
{
chargingPages.add(BookUtils.getPageForRecipe(chargingRecipe));
@ -582,7 +582,7 @@ public class CategoryArchitect
List<IPage> accelerationPages = new ArrayList<IPage>();
IRecipe accelerationRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.BLOOD_RUNE, 1, 9));
IRecipe accelerationRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.BLOOD_RUNE, 1, 9));
if (orbRuneRecipe != null)
{
accelerationPages.add(BookUtils.getPageForRecipe(accelerationRecipe));
@ -599,7 +599,7 @@ public class CategoryArchitect
suppressionPages.add(new PageTartaricForgeRecipe(suppressionRecipe));
}
PageAlchemyArray suppressionRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_SUPPRESSION));
PageAlchemyArray suppressionRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_SUPPRESSION));
if (suppressionRecipePage != null)
{
suppressionPages.add(suppressionRecipePage);
@ -616,7 +616,7 @@ public class CategoryArchitect
hastePages.add(new PageTartaricForgeRecipe(hasteRecipe));
}
PageAlchemyArray hasteRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_HASTE));
PageAlchemyArray hasteRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_HASTE));
if (hasteRecipePage != null)
{
hastePages.add(hasteRecipePage);
@ -633,7 +633,7 @@ public class CategoryArchitect
severancePages.add(new PageTartaricForgeRecipe(severanceRecipe));
}
PageAlchemyArray severanceRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_ENDER_SEVERANCE));
PageAlchemyArray severanceRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_ENDER_SEVERANCE));
if (severanceRecipePage != null)
{
severancePages.add(severanceRecipePage);
@ -650,7 +650,7 @@ public class CategoryArchitect
telepositionPages.add(new PageTartaricForgeRecipe(telepositionRecipe));
}
PageAlchemyArray telepositionRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_TELEPOSITION));
PageAlchemyArray telepositionRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_TELEPOSITION));
if (telepositionRecipePage != null)
{
telepositionPages.add(telepositionRecipePage);
@ -667,7 +667,7 @@ public class CategoryArchitect
compressionPages.add(new PageTartaricForgeRecipe(compressionRecipe));
}
PageAlchemyArray compressionRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_COMPRESSION));
PageAlchemyArray compressionRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_COMPRESSION));
if (compressionRecipePage != null)
{
compressionPages.add(compressionRecipePage);
@ -684,7 +684,7 @@ public class CategoryArchitect
bridgePages.add(new PageTartaricForgeRecipe(bridgeRecipe));
}
PageAlchemyArray bridgeRecipePage = BookUtils.getAlchemyPage(new ItemStack(ModItems.SIGIL_PHANTOM_BRIDGE));
PageAlchemyArray bridgeRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_PHANTOM_BRIDGE));
if (bridgeRecipePage != null)
{
bridgePages.add(bridgeRecipePage);
@ -695,7 +695,7 @@ public class CategoryArchitect
List<IPage> mimicPages = new ArrayList<IPage>();
IRecipe mimicRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(ModBlocks.MIMIC, 1, 1));
IRecipe mimicRecipe = RecipeHelper.getRecipeForOutput(new ItemStack(RegistrarBloodMagicBlocks.MIMIC, 1, 1));
if (mimicRecipe != null)
{
mimicPages.add(BookUtils.getPageForRecipe(mimicRecipe));

Some files were not shown because too many files have changed in this diff Show more