Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////// Main Class ////////////////
- package net.cooldude.factory;
- import net.cooldude.factory.blocks.FactoryBlocks;
- import net.cooldude.factory.items.FactoryItems;
- import net.cooldude.factory.proxy.CommonProxy;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.init.Items;
- import net.minecraft.item.Item;
- import cpw.mods.fml.common.Mod;
- import cpw.mods.fml.common.Mod.EventHandler;
- import cpw.mods.fml.common.Mod.Instance;
- import cpw.mods.fml.common.SidedProxy;
- import cpw.mods.fml.common.event.FMLInitializationEvent;
- import cpw.mods.fml.common.event.FMLPostInitializationEvent;
- import cpw.mods.fml.common.event.FMLPreInitializationEvent;
- @Mod(modid = FactoryMod.MODID, name = FactoryMod.NAME, version = FactoryMod.VERSION)
- public class FactoryMod {
- public static final String MODID = "factory";
- public static final String NAME = "FactoryCraft";
- public static final String VERSION = "1.0";
- public static final String CLIENT_PROXY = "net.cooldude.factory.proxy.ClientProxy";
- public static final String SERVER_PROXY = "net.cooldude.factory.proxy.CommonProxy";
- @SidedProxy(clientSide = CLIENT_PROXY, serverSide = SERVER_PROXY)
- public static CommonProxy proxy;
- @Instance
- public static FactoryMod instance;
- public static CreativeTabs tabFactory = new CreativeTabs("tabFactory") {
- @Override
- public Item getTabIconItem() {
- return Items.iron_ingot;
- }
- };
- @EventHandler
- public void preInit(FMLPreInitializationEvent e) {
- FactoryBlocks.init();
- FactoryBlocks.register();
- FactoryBlocks.registerTileEntities();
- FactoryItems.item();
- FactoryItems.register();
- }
- @EventHandler
- public void init(FMLInitializationEvent e) {
- }
- @EventHandler
- public void postInit(FMLPostInitializationEvent e) {
- }
- }
- //////////////// Blocks Class (FactoryBlocks) ////////////////
- package net.cooldude.factory.blocks;
- import cpw.mods.fml.common.registry.GameRegistry;
- import net.cooldude.factory.FactoryMod;
- import net.minecraft.block.Block;
- import net.minecraft.tileentity.TileEntityComparator;
- public class FactoryBlocks {
- public static Block conveyor;
- public static void init() {
- conveyor = new BlockConveyor();
- }
- public static void register() {
- GameRegistry.registerBlock(conveyor, "conveyor");
- }
- public static void registerTileEntities() {
- GameRegistry.registerTileEntity(TileEntityComparator.class, FactoryMod.MODID + "_conveyor");
- }
- }
- //////////////// Conveyor Block Class ////////////////
- package net.cooldude.factory.blocks;
- import net.cooldude.factory.FactoryMod;
- import net.cooldude.factory.blocks.tile.TileEntityConveyor;
- import net.minecraft.block.Block;
- import net.minecraft.block.BlockContainer;
- import net.minecraft.block.material.Material;
- import net.minecraft.client.renderer.texture.IIconRegister;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.item.ItemStack;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.IIcon;
- import net.minecraft.util.MathHelper;
- import net.minecraft.world.World;
- import cpw.mods.fml.relauncher.Side;
- import cpw.mods.fml.relauncher.SideOnly;
- public class BlockConveyor extends BlockContainer {
- @SideOnly(Side.CLIENT)
- public IIcon[] icon_top;
- @SideOnly(Side.CLIENT)
- public IIcon icon_side;
- @SideOnly(Side.CLIENT)
- public IIcon icon_front;
- @SideOnly(Side.CLIENT)
- public IIcon icon_bottom;
- public BlockConveyor() {
- super(Material.iron);
- this.setBlockName("conveyor");
- this.setCreativeTab(FactoryMod.tabFactory);
- float pixel = 1f / 16f;
- this.setBlockBounds(0, 0, 0, 1, pixel * 6f, 1);
- }
- @Override
- public void registerBlockIcons(IIconRegister reg) {
- icon_top = new IIcon[6];
- for(int i = 0;i < 6; i ++) {
- icon_top[i] = reg.registerIcon(FactoryMod.MODID + ":conveyor_top_" + (i - 2));
- }
- icon_side = reg.registerIcon(FactoryMod.MODID + ":conveyor_side");
- icon_front = reg.registerIcon(FactoryMod.MODID + ":conveyor_front");
- icon_bottom = reg.registerIcon(FactoryMod.MODID + ":conveyor_bottom");
- }
- @Override
- public IIcon getIcon(int side, int meta) {
- if(side == 1) {
- if(meta < 2) {
- return icon_top[3];
- }
- return icon_top[meta];
- }
- if(side == 0) {
- return icon_bottom;
- }
- if((side == 4 || side == 5) && (meta == 2 || meta == 3)) {
- return icon_side;
- }
- if((side == 2 || side == 3) && (meta == 4 || meta == 5)) {
- return icon_side;
- }
- return icon_front;
- }
- @Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase el, ItemStack stack) {
- int l = MathHelper.floor_double((double)(el.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
- if (l == 0)
- {
- world.setBlockMetadataWithNotify(x, y, z, 2, 2);
- }
- if (l == 1)
- {
- world.setBlockMetadataWithNotify(x, y, z, 5, 2);
- }
- if (l == 2)
- {
- world.setBlockMetadataWithNotify(x, y, z, 3, 2);
- }
- if (l == 3)
- {
- world.setBlockMetadataWithNotify(x, y, z, 4, 2);
- }
- System.out.println(world.getBlockMetadata(x, y, z));
- }
- @Override
- public TileEntity createNewTileEntity(World world, int meta) {
- return new TileEntityConveyor(0.1f);
- }
- @Override
- public boolean isOpaqueCube() {
- return false;
- }
- @Override
- public boolean renderAsNormalBlock() {
- return false;
- }
- }
- //////////////// Conveyor Tileentity Class ////////////////
- package net.cooldude.factory.blocks.tile;
- import java.util.List;
- import net.minecraft.entity.Entity;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.AxisAlignedBB;
- public class TileEntityConveyor extends TileEntity {
- public final float speed;
- public TileEntityConveyor(float speed) {
- this.speed = speed;
- }
- @Override
- public void updateEntity() {
- List<Entity> entities = worldObj.getEntitiesWithinAABB(Entity.class,
- AxisAlignedBB.getBoundingBox(xCoord, yCoord + 0.1, zCoord,
- xCoord + 1.0, yCoord + 1.0, zCoord + 1.0));
- int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
- System.out.println(worldObj.isRemote);
- for (Entity e : entities) {
- if(worldObj.isRemote) {
- if (meta == 2) {
- e.setVelocity(e.motionX, e.motionY, -speed);
- }
- if (meta == 3) {
- e.setVelocity(e.motionX, e.motionY, speed);
- }
- if (meta == 4) {
- e.setVelocity(-speed, e.motionY, e.motionZ);
- }
- if (meta == 5) {
- e.setVelocity(speed, e.motionY, e.motionZ);
- }
- } else {
- if (meta == 2) {
- e.posZ -= speed;
- }
- if (meta == 3) {
- e.posZ += speed;
- }
- if (meta == 4) {
- e.posX -= speed;
- }
- if (meta == 5) {
- e.posX += speed;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement