Jump to content

SantacreeperLP

Members
  • Posts

    104
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

SantacreeperLP's Achievements

Creeper Killer

Creeper Killer (4/8)

2

Reputation

  1. Hey guys, im rendering with a IBakedModel and i typed the following code: @Override public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand) { ArrayList<BakedQuad> bakedQuadArrayList = new ArrayList<BakedQuad>(); bakedQuadArrayList.add(new BakedQuad(new int[]{0, 16, 0, 16}, 255, EnumFacing.DOWN, Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite())); return bakedQuadArrayList; } @Override public boolean isAmbientOcclusion() { return false; } @Override public boolean isGui3d() { return true; } @Override public boolean isBuiltInRenderer() { return false; } , Its crashing with the following error: Caused by: java.lang.ArrayIndexOutOfBoundsException: 4 at net.minecraftforge.client.model.pipeline.LightUtil.unpack(LightUtil.java:156) ~[LightUtil.class:?]
  2. Hey, How can I render a Quad in the world and apply an TextureAtlasSprite to it? I tried: GL11.glBegin(GL11.GL_QUADS); GL11.glColor3f(1.0f, 1.0f, 1.0f); GL11.glVertex3d(x, y, z); GL11.glVertex3d(x + 1, y, z); GL11.glVertex3d(x + 1, y + 1, z); GL11.glVertex3d(x, y + 1, z); GL11.glEnd(); But it isnt working... Please help me I think i cant use the default openGL functions
  3. Hey can you tell me how I can render a simple Block that ignores the world lightning and is always glowing? Im really new and dont know how to do it in 1.9
  4. I tried this but it isnt working... I registred it with FMLCommonHandler.instance().bus().register but it isnt working... So I thought it isnt working, you know?
  5. Hey, is there an event that gets active when the world is loading? And an event that's stopped? Please help me
  6. Hey guys, I need your help: I want to create a simple JSON Block, but I have no experience with the new render system, so Im looking for people that can help me : My json block should be an ore like the Thaumcraft 4 Infused Ores, where some parts glow in the darkness(not really emit light, just ignore the lightning system and render as it was day) I would be really happy if you help me Have a nice day, Legend
  7. Hey, I would be know if there's some rewrite for 1.9 thats similar to the ISBRH in 1.7.. I mean a mod/util that let me render blocks without json files with custom model... like it was in the 1.7 Thank you and have a nice day Legend
  8. Yea, the TileEntitySpecialRenderer isnt really an option, because it causes performance problems if the blocks are rendered in the world(the renderer is required for an ore block)
  9. So your looking for sb who's helping you updating ur mod? Yea, I could probably help you
  10. Hey, Im searching for an ISBRH replacement for version 1.9 The Json Models are the replacement in 1.9, right? Thats quite a problem because I need OpenGL access which isnt possible from the JSON-Models as far as I know... So to be directly: I want to port my old 1.7.10 renderer which makes some parts of my block glow in the night Can you help me ? Best Regards and have a nice day, Legend
  11. Hey, sorry for annoying again, but I have some question to equivalents...: What are the following methods in 1.9? Block : getMixedBrightnessForBlock() BlockRendererDispatcher : .getModelFromBlockState(state, worldIn, pos); BlockRendererDispatcher : .isRenderTypeChest(block, meta), Please answer even if you know one Thank you and have a great day Legend
  12. Hey, im updating my 1.8 mod, and I need the 1.9 equivalent for WorldRenderer... Can you help me? Thank you and have a nice day Beast Regards, Legend
  13. Yea, I changed it as the following, still no change You looked at the grow void? @Override protected boolean canPlaceBlockOn(Block block) { if(block == Blocks.farmland ||block == LegendConstruction.cropAbsorbation) { return true; } return false; }
  14. Hey, Ive created a crop that should do: 1 : Growing to AGE 7 when placed... THEN: Placing the same crop Y+1 | Starting to grow up from 0 to 8 2 : When second block reached AGE 8 => should place a crop on Y+2 | Starting to grow up from 0 to 9 THEN it should be ready BUT : It starts at stage 0, growths to stage 7 and then, it does nothing... I dont know what Im doing wrong, can you look @ my "void grow", there should be the error Thank you very much package com.beastle9end.legendconstruction.blocks.crop; /** * Created by Le9enD on 10.02.2016. */ import java.util.ArrayList; import java.util.Random; import com.beastle9end.legendconstruction.LegendConstruction; import com.beastle9end.legendconstruction.network.ChatTextHandler; import com.sun.javafx.charts.Legend; import net.minecraft.block.Block; import net.minecraft.block.BlockAir; import net.minecraft.block.BlockBush; import net.minecraft.block.BlockCrops; import net.minecraft.block.BlockFarmland; import net.minecraft.block.IGrowable; import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentText; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraft.block.BlockPotato; public class BlockCropAbsorbation extends BlockCropsMain implements IGrowable { private IBlockState air = Blocks.air.getDefaultState(); public BlockCropAbsorbation(String unlocalName) { this.setUnlocalizedName(unlocalName); this.setHardness(0.0f); this.setResistance(0.0f); this.setTickRandomly(true); this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.25f, 0.0f); this.setCreativeTab(LegendConstruction.tabLegendEngineering); //this.setCreativeTab((CreativeTabs) null); this.setStepSound(soundTypeGrass); this.disableStats(); GameRegistry.registerBlock(this, "cropAbsorbation"); } @Override public void setBlockBoundsBasedOnState(IBlockAccess world, BlockPos pos) { IBlockState state = world.getBlockState(pos); int l = ((Integer)((IBlockState) state).getValue(AGE)).intValue(); if (l <= 2) { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F); } else if (l <= 4) { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } else if (l <= 6) { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.75F, 1.0F); } else { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } } @Override public void onBlockHarvested(World world, BlockPos pos, IBlockState state, EntityPlayer player) { if(world.getBlockState(pos).getBlock() instanceof BlockCropAbsorbation) { if(world.getBlockState(pos).getValue(AGE).intValue() == 9)//THIRD BLOCK { world.setBlockState(new BlockPos(pos.getX(), pos.getY() - 1, pos.getZ()), air); world.setBlockState(new BlockPos(pos.getX(), pos.getY() -2 , pos.getZ()), (IBlockState) AGE, 5); } if(world.getBlockState(pos).getValue(AGE).intValue() == 8)//SECOND BLOCK { world.setBlockState(new BlockPos(pos.getX(), pos.getY() -1 , pos.getZ()), (IBlockState) AGE, 5); } } } public void fertilize(World world, BlockPos pos) { int meta = world.getBlockState(pos).getValue(AGE).intValue(); if(world.getBlockState(pos).getBlock() instanceof BlockAir) { if(meta < 5) { world.setBlockState(new BlockPos(pos.getX(), pos.getY()-1, pos.getZ()), (IBlockState) AGE, 7); world.setBlockState(new BlockPos(pos.getX(), pos.getY() , pos.getZ()), LegendConstruction.cropAbsorbation.getDefaultState()); return; } return; } else { if(meta < 5) { world.setBlockState(pos, (IBlockState) AGE, 5); } } } @Override protected Item getSeed() { return LegendConstruction.absorbationSeeds; } @Override protected Item getCrop() { return Items.string; } @Override protected boolean canPlaceBlockOn(Block block) { return block == Blocks.farmland; } @Override public void updateTick(World world,BlockPos pos, IBlockState state, Random random) { super.updateTick(world, pos, state, random); if(world.getBlockState(pos).getBlock().getLightValue() >= 9) { //Testet ob Block oben frei und unten farmland ist if((world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 1, pos.getZ())).getBlock() == Blocks.farmland || world.getBlockState(new BlockPos(pos.getX(), pos.getY()-1, pos.getZ())).getBlock() == LegendConstruction.cropAbsorbation)&& world.getBlockState(new BlockPos(pos.getX() , pos.getY() +1 , pos.getZ())) == Blocks.air) { } else { //Block ist falsch return; } } if(world.getBlockState(pos).getBlock().getLightValue() < 9)//if lightvalue ist kleiner wie 9 { return; } } @Override public void grow(World world, BlockPos pos, IBlockState state) { int currentMeta = world.getBlockState(pos).getValue(AGE).intValue(); if(world.getBlockState(new BlockPos(pos.getX() ,pos.getY() - 1, pos.getZ())).getBlock() == Blocks.farmland) { //Erster Block if(currentMeta < 7) { System.out.println("Updating growth state"); world.setBlockState(pos, (IBlockState) AGE, world.getBlockState(pos).getValue(AGE).intValue() + 1); } if(currentMeta >= 7) { System.out.println("Setting block above"); world.setBlockState(new BlockPos(pos.getX(), pos.getY() + 1, pos.getZ()), LegendConstruction.cropAbsorbation.getDefaultState()); } } if(world.getBlockState(new BlockPos(pos.getX() , pos.getY() - 1 , pos.getZ())).getBlock() == LegendConstruction.cropAbsorbation && world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 2, pos.getZ())).getBlock() == Blocks.farmland) { //Zweiter Block if(currentMeta < { world.setBlockState(pos, (IBlockState) AGE, world.getBlockState(pos).getValue(AGE).intValue() + 1); } if(currentMeta >= { world.setBlockState(new BlockPos(pos.getX(), pos.getY() + 1, pos.getZ()), LegendConstruction.cropAbsorbation.getDefaultState()); } } if(world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 1, pos.getZ())).getBlock() == LegendConstruction.cropAbsorbation && world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 2, pos.getZ())).getBlock() == LegendConstruction.cropAbsorbation && world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 3, pos.getZ())).getBlock() == Blocks.farmland) { if(currentMeta < 9) { world.setBlockState(pos, (IBlockState) AGE, world.getBlockState(pos).getValue(AGE).intValue() + 1); } if(currentMeta == 9) { //Crop ready grown } } } @Override public void dropBlockAsItemWithChance(World world, BlockPos pos, IBlockState state, float chance, int fortune) { super.dropBlockAsItemWithChance(world, pos, state, chance, 0); } @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return ((Integer)state.getValue(AGE)).intValue() == 8 ? this.getCrop() : this.getSeed(); } @Override public int quantityDropped(Random random) { return random.nextInt(2); } @Override public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) { return ((Integer)state.getValue(AGE)).intValue() != 7; } @Override public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) { return true; } @Override @SideOnly(Side.CLIENT) public Item getItem(World worldIn, BlockPos pos) { return this.getSeed(); } @Override public java.util.List<ItemStack> getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { ArrayList<ItemStack> ret = (ArrayList<ItemStack>) super.getDrops(world, pos, state, fortune); int metadata = this.getMetaFromState(state); Random rand = world instanceof World ? ((World)world).rand : new Random(); if (metadata >= { for (int i = 0; i < 3 + fortune; ++i) { if (rand.nextInt(15) <= metadata) { ret.add(new ItemStack(this.getCrop(), 1, 0)); } } } return ret; } @Override public boolean canPlaceBlockAt(World world, BlockPos pos) { return true; } @Override protected void checkAndDropBlock(World world, BlockPos pos, IBlockState state) { if (!this.canBlockStay(world, pos, state)) { int l = this.getMetaFromState(state); this.dropBlockAsItem(world, pos, state, 0); world.setBlockState(pos, Blocks.air.getDefaultState()); } } @Override public boolean canBlockStay(World world, BlockPos pos, IBlockState state) { if (world.getBlockState(pos).getBlock() != this) return super.canBlockStay(world, pos, state); return (world.getBlockState(getPos(pos.getX(), pos.getY()- 1, pos.getZ())).getBlock() instanceof BlockFarmland) || (world.getBlockState(getPos(pos.getX(), pos.getY()- 1, pos.getZ())).getBlock() instanceof BlockCropAbsorbation); } public BlockPos getPos(int x, int y, int z) { return new BlockPos(x,y,z); } }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.