Basic sigils implementation
This commit is contained in:
parent
ae85224003
commit
5dff08380d
61 changed files with 1394 additions and 106 deletions
|
@ -1,36 +1,16 @@
|
|||
package WayofTime.bloodmagic.registry;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.ConfigHandler;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.block.*;
|
||||
import WayofTime.bloodmagic.item.block.*;
|
||||
import WayofTime.bloodmagic.tile.*;
|
||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.ConfigHandler;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.block.BlockAlchemyArray;
|
||||
import WayofTime.bloodmagic.block.BlockAltar;
|
||||
import WayofTime.bloodmagic.block.BlockBloodLight;
|
||||
import WayofTime.bloodmagic.block.BlockBloodRune;
|
||||
import WayofTime.bloodmagic.block.BlockBloodStoneBrick;
|
||||
import WayofTime.bloodmagic.block.BlockCrystal;
|
||||
import WayofTime.bloodmagic.block.BlockLifeEssence;
|
||||
import WayofTime.bloodmagic.block.BlockPedestal;
|
||||
import WayofTime.bloodmagic.block.BlockRitualController;
|
||||
import WayofTime.bloodmagic.block.BlockRitualStone;
|
||||
import WayofTime.bloodmagic.block.BlockTeleposer;
|
||||
import WayofTime.bloodmagic.block.BlockTestSpellBlock;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockBloodRune;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockBloodStoneBrick;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockCrystal;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockPedestal;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockRitualController;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileAlchemyArray;
|
||||
import WayofTime.bloodmagic.tile.TileAltar;
|
||||
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TilePlinth;
|
||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||
|
||||
public class ModBlocks {
|
||||
public static Block altar;
|
||||
|
@ -42,6 +22,8 @@ public class ModBlocks {
|
|||
public static Block pedestal;
|
||||
public static Block teleposer;
|
||||
public static Block alchemyArray;
|
||||
public static Block spectralBlock;
|
||||
public static Block phantomBlock;
|
||||
|
||||
public static Block lifeEssence;
|
||||
|
||||
|
@ -61,6 +43,8 @@ public class ModBlocks {
|
|||
pedestal = registerBlock(new BlockPedestal(), ItemBlockPedestal.class);
|
||||
teleposer = registerBlock(new BlockTeleposer());
|
||||
alchemyArray = registerBlock(new BlockAlchemyArray());
|
||||
spectralBlock = registerBlock(new BlockSpectral());
|
||||
phantomBlock = registerBlock(new BlockPhantom());
|
||||
crystal = registerBlock(new BlockCrystal(), ItemBlockCrystal.class);
|
||||
bloodStoneBrick = registerBlock(new BlockBloodStoneBrick(), ItemBlockBloodStoneBrick.class);
|
||||
|
||||
|
@ -72,7 +56,9 @@ public class ModBlocks {
|
|||
GameRegistry.registerTileEntity(TileImperfectRitualStone.class, Constants.Mod.MODID + ":" + TileImperfectRitualStone.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileMasterRitualStone.class, Constants.Mod.MODID + ":" + TileMasterRitualStone.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TilePlinth.class, Constants.Mod.MODID + ":" + TilePlinth.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileAlchemyArray.class, Constants.Mod.MODID + ":" + TileAlchemyArray.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileAlchemyArray.class, Constants.Mod.MODID + TileAlchemyArray.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileSpectralBlock.class, Constants.Mod.MODID + ":" + TileSpectralBlock.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TilePhantomBlock.class, Constants.Mod.MODID + ":" + TilePhantomBlock.class.getSimpleName());
|
||||
}
|
||||
|
||||
public static void initRenders() {
|
||||
|
@ -107,6 +93,8 @@ public class ModBlocks {
|
|||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(pedestal), 1);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(teleposer));
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(alchemyArray));
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(spectralBlock));
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(phantomBlock));
|
||||
}
|
||||
|
||||
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) {
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
package WayofTime.bloodmagic.registry;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
||||
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
||||
|
||||
public class ModEntities {
|
||||
|
||||
public static void init() {
|
||||
int id = 0;
|
||||
|
||||
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package WayofTime.bloodmagic.registry;
|
|||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.ConfigHandler;
|
||||
import WayofTime.bloodmagic.api.BloodMagicAPI;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.api.orb.BloodOrb;
|
||||
import WayofTime.bloodmagic.api.registry.OrbRegistry;
|
||||
|
@ -40,6 +39,18 @@ public class ModItems {
|
|||
public static Item sigilWater;
|
||||
public static Item sigilLava;
|
||||
public static Item sigilVoid;
|
||||
public static Item sigilGreenGrove;
|
||||
public static Item sigilBloodLight;
|
||||
public static Item sigilElementalAffinity;
|
||||
public static Item sigilHaste;
|
||||
public static Item sigilMagnetism;
|
||||
public static Item sigilSuppression;
|
||||
public static Item sigilFastMiner;
|
||||
public static Item sigilSeer;
|
||||
public static Item sigilEnderSeverance;
|
||||
public static Item sigilHurricane;
|
||||
public static Item sigilPhantomBridge;
|
||||
public static Item sigilCompression;
|
||||
|
||||
public static Item livingArmourHelmet;
|
||||
public static Item livingArmourChest;
|
||||
|
@ -78,6 +89,15 @@ public class ModItems {
|
|||
sigilWater = registerItem(new ItemSigilWater());
|
||||
sigilLava = registerItem(new ItemSigilLava());
|
||||
sigilVoid = registerItem(new ItemSigilVoid());
|
||||
sigilGreenGrove = registerItem(new ItemSigilGreenGrove());
|
||||
sigilBloodLight = registerItem(new ItemSigilBloodLight());
|
||||
sigilElementalAffinity = registerItem(new ItemSigilElementalAffinity());
|
||||
sigilMagnetism = registerItem(new ItemSigilMagnetism());
|
||||
sigilSuppression = registerItem(new ItemSigilSuppression());
|
||||
sigilHaste = registerItem(new ItemSigilHaste());
|
||||
sigilFastMiner = registerItem(new ItemSigilFastMiner());
|
||||
sigilSeer = registerItem(new ItemSigilSeer());
|
||||
sigilPhantomBridge = registerItem(new ItemSigilPhantomBridge());
|
||||
|
||||
livingArmourHelmet = registerItem(new ItemLivingArmour(0), "ItemLivingArmourHelmet");
|
||||
livingArmourChest = registerItem(new ItemLivingArmour(1), "ItemLivingArmourChest");
|
||||
|
@ -127,6 +147,22 @@ public class ModItems {
|
|||
renderHelper.itemRender(sigilWater);
|
||||
renderHelper.itemRender(sigilLava);
|
||||
renderHelper.itemRender(sigilVoid);
|
||||
renderHelper.itemRender(sigilGreenGrove, 0);
|
||||
renderHelper.itemRender(sigilGreenGrove, 1);
|
||||
renderHelper.itemRender(sigilBloodLight);
|
||||
renderHelper.itemRender(sigilElementalAffinity, 0);
|
||||
renderHelper.itemRender(sigilElementalAffinity, 1);
|
||||
renderHelper.itemRender(sigilMagnetism, 0);
|
||||
renderHelper.itemRender(sigilMagnetism, 1);
|
||||
renderHelper.itemRender(sigilSuppression, 0);
|
||||
renderHelper.itemRender(sigilSuppression, 1);
|
||||
renderHelper.itemRender(sigilHaste, 0);
|
||||
renderHelper.itemRender(sigilHaste, 1);
|
||||
renderHelper.itemRender(sigilFastMiner, 0);
|
||||
renderHelper.itemRender(sigilFastMiner, 1);
|
||||
renderHelper.itemRender(sigilSeer);
|
||||
renderHelper.itemRender(sigilPhantomBridge, 0);
|
||||
renderHelper.itemRender(sigilPhantomBridge, 1);
|
||||
|
||||
renderHelper.itemRender(livingArmourHelmet);
|
||||
renderHelper.itemRender(livingArmourChest);
|
||||
|
|
|
@ -1,8 +1,55 @@
|
|||
package WayofTime.bloodmagic.registry;
|
||||
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.potion.PotionBloodMagic;
|
||||
import WayofTime.bloodmagic.potion.PotionEventHandlers;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
public class ModPotions {
|
||||
|
||||
public static void init() {
|
||||
public static Potion drowning;
|
||||
public static Potion boost;
|
||||
public static Potion heavyHeart;
|
||||
|
||||
public static void init() {
|
||||
if (Potion.potionTypes.length < 256) extendPortionArray();
|
||||
|
||||
new PotionEventHandlers();
|
||||
|
||||
//TODO FUTURE MAKE POTION TEXTURES
|
||||
|
||||
// final String resourceLocation = Constants.Mod.MODID + ":textures/potions/";
|
||||
|
||||
// drowning = new PotionBloodMagic("Drowning", new ResourceLocation(resourceLocation + drowning.getName().toLowerCase()), true, 0, 0, 0);
|
||||
boost = new PotionBloodMagic("Boost", new ResourceLocation("Minecraft:textures/gui/container/inventory.png")
|
||||
// new ResourceLocation(resourceLocation + boost.getName().toLowerCase())
|
||||
, false, 0, 0, 0);
|
||||
// heavyHeart = new PotionBloodMagic("Heavy Heart", new ResourceLocation(resourceLocation + heavyHeart.getName().toLowerCase()), true, 0, 0, 0);
|
||||
}
|
||||
|
||||
public static void extendPortionArray() {
|
||||
Potion[] potionTypes;
|
||||
|
||||
for (Field f : Potion.class.getDeclaredFields()) {
|
||||
f.setAccessible(true);
|
||||
try {
|
||||
if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) {
|
||||
Field field = Field.class.getDeclaredField("modifiers");
|
||||
field.setAccessible(true);
|
||||
field.setInt(f, f.getModifiers() & ~Modifier.FINAL);
|
||||
|
||||
potionTypes = (Potion[]) f.get(null);
|
||||
final Potion[] newPotionTypes = new Potion[256];
|
||||
System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length);
|
||||
f.set(null, newPotionTypes);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.err.println(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue