Add all the botania multiblocks.

This commit is contained in:
Lizbeth Rika committed 2015-06-28 01:48:41 +01:00
1 parent 822dd99a62
commit 4ef18f8ce0
10 files changed
+73 -7

No files matched your search

@@ -13,6 +13,8 @@ package vazkii.botania.api.lexicon.multiblock;
import java.util.ArrayList;
import java.util.List;
import vazkii.botania.api.lexicon.multiblock.component.MultiblockComponent;
import com.sun.org.apache.xpath.internal.operations.Mult;
import net.minecraft.block.Block;
@@ -8,7 +8,7 @@
*
* File Created @ [Jun 27, 2015, 7:20:09 PM (GMT)]
*/
package vazkii.botania.api.lexicon.multiblock;
package vazkii.botania.api.lexicon.multiblock.component;
import net.minecraft.block.Block;
import net.minecraft.util.ChunkCoordinates;
@@ -8,7 +8,7 @@
*
* File Created @ [Jun 27, 2015, 2:42:32 PM (GMT)]
*/
package vazkii.botania.api.lexicon.multiblock;
package vazkii.botania.api.lexicon.multiblock.component;
import net.minecraft.block.Block;
import net.minecraft.util.ChunkCoordinates;
@@ -26,8 +26,8 @@ import org.lwjgl.opengl.GL11;
import vazkii.botania.api.lexicon.multiblock.IMultiblockRenderHook;
import vazkii.botania.api.lexicon.multiblock.Multiblock;
import vazkii.botania.api.lexicon.multiblock.MultiblockComponent;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.api.lexicon.multiblock.component.MultiblockComponent;
import vazkii.botania.common.block.ModMultiblocks;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@@ -49,8 +49,8 @@ public final class MultiblockRenderHandler {
}
private void renderPlayerLook(EntityPlayer player, MovingObjectPosition src) {
if(currentMultiblock == null) // TODO Remove debug
currentMultiblock = ModMultiblocks.enchanter;
//if(currentMultiblock == null) // TODO Remove debug
currentMultiblock = ModMultiblocks.gaiaRitual;
if(currentMultiblock != null) {
Multiblock mb = currentMultiblock.getForEntity(player);
@@ -11,14 +11,23 @@
package vazkii.botania.common.block;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.common.block.tile.TileAlfPortal;
import vazkii.botania.common.block.tile.TileEnchanter;
import vazkii.botania.common.block.tile.TileTerraPlate;
import vazkii.botania.common.entity.EntityDoppleganger;
public final class ModMultiblocks {
public static MultiblockSet enchanter;
public static MultiblockSet alfPortal;
public static MultiblockSet terrasteelPlate;
public static MultiblockSet gaiaRitual;
public static void init() {
enchanter = TileEnchanter.makeMultiblockSet();
alfPortal = TileAlfPortal.makeMultiblockSet();
terrasteelPlate = TileTerraPlate.makeMultiblockSet();
gaiaRitual = EntityDoppleganger.makeMultiblockSet();
}
}
@@ -20,9 +20,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChunkCoordinates;
import net.minecraftforge.common.MinecraftForge;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.api.lexicon.ILexicon;
import vazkii.botania.api.lexicon.multiblock.Multiblock;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.api.lexicon.multiblock.component.ColorSwitchingComponent;
import vazkii.botania.api.recipe.ElvenPortalUpdateEvent;
import vazkii.botania.api.recipe.IElvenItem;
import vazkii.botania.api.recipe.RecipeElvenTrade;
@@ -90,6 +94,23 @@ public class TileAlfPortal extends TileMod {
return new int[] { input[0], input[1], -input[2] };
}
};
public static MultiblockSet makeMultiblockSet() {
Multiblock mb = new Multiblock();
for(int[] l : LIVINGWOOD_POSITIONS)
mb.addComponent(l[0], l[1] + 1, l[2], ModBlocks.livingwood, 0);
for(int[] g : GLIMMERING_LIVINGWOOD_POSITIONS)
mb.addComponent(g[0], g[1] + 1, g[2], ModBlocks.livingwood, 5);
for(int[] p : PYLON_POSITIONS)
mb.addComponent(-p[0], p[1] + 1, -p[2], ModBlocks.pylon, 1);
for(int[] p : POOL_POSITIONS)
mb.addComponent(-p[0], p[1] + 1, -p[2], ModBlocks.pool, 0);
mb.addComponent(0, 1, 0, ModBlocks.alfPortal, 0);
return mb.makeSet();
}
@Override
public void updateEntity() {
@@ -31,9 +31,9 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
import vazkii.botania.api.internal.VanillaPacketDispatcher;
import vazkii.botania.api.lexicon.multiblock.ColorSwitchingComponent;
import vazkii.botania.api.lexicon.multiblock.Multiblock;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.api.lexicon.multiblock.component.ColorSwitchingComponent;
import vazkii.botania.api.mana.IManaPool;
import vazkii.botania.api.mana.spark.ISparkAttachable;
import vazkii.botania.api.mana.spark.ISparkEntity;
@@ -26,6 +26,8 @@ public class TilePylon extends TileEntity {
int centerX, centerY, centerZ;
int ticks = 0;
@Override
public void updateEntity() {
++ticks;
@@ -20,6 +20,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import vazkii.botania.api.internal.VanillaPacketDispatcher;
import vazkii.botania.api.lexicon.multiblock.Multiblock;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.api.mana.IManaPool;
import vazkii.botania.api.mana.spark.ISparkAttachable;
import vazkii.botania.api.mana.spark.ISparkEntity;
@@ -44,6 +46,19 @@ public class TileTerraPlate extends TileMod implements ISparkAttachable {
int mana;
public static MultiblockSet makeMultiblockSet() {
Multiblock mb = new Multiblock();
for(int[] l : LAPIS_BLOCKS)
mb.addComponent(l[0], 0, l[1], Blocks.lapis_block, 0);
for(int[] l : LIVINGROCK_BLOCKS)
mb.addComponent(l[0], 0, l[1], ModBlocks.livingrock, 0);
mb.addComponent(0, 1, 0, ModBlocks.terraPlate, 0);
return mb.makeSet();
}
@Override
public void updateEntity() {
boolean removeMana = true;
@@ -52,6 +52,8 @@ import org.lwjgl.opengl.ARBShaderObjects;
import vazkii.botania.api.boss.IBotaniaBossWithShader;
import vazkii.botania.api.internal.ShaderCallback;
import vazkii.botania.api.lexicon.multiblock.Multiblock;
import vazkii.botania.api.lexicon.multiblock.MultiblockSet;
import vazkii.botania.client.core.handler.BossBarHandler;
import vazkii.botania.client.core.helper.ShaderHelper;
import vazkii.botania.common.Botania;
@@ -108,6 +110,21 @@ public class EntityDoppleganger extends EntityCreature implements IBotaniaBossWi
isImmuneToFire = true;
experienceValue = 825;
}
public static MultiblockSet makeMultiblockSet() {
Multiblock mb = new Multiblock();
for(int[] p : PYLON_LOCATIONS)
mb.addComponent(p[0], p[1] + 1, p[2], ModBlocks.pylon, 2);
for(int i = 0; i < 3; i++)
for(int j = 0; j < 3; j++)
mb.addComponent(i - 1, 0, j - 1, Blocks.iron_block, 0);
mb.addComponent(0, 1, 0, Blocks.beacon, 0);
return mb.makeSet();
}
public static boolean spawn(EntityPlayer player, ItemStack par1ItemStack, World par3World, int par4, int par5, int par6, boolean hard) {
Block block = par3World.getBlock(par4, par5, par6);