mirror of
https://github.com/GTNewHorizons/Botania.git
synced 2026-11-14 01:04:16 +00:00
Add all the botania multiblocks.
This commit is contained in:
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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
+1
-1
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user