
SantacreeperLP
Members-
Posts
104 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
SantacreeperLP's Achievements

Creeper Killer (4/8)
2
Reputation
-
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:?]
-
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
-
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?
-
Hey, is there an event that gets active when the world is loading? And an event that's stopped? Please help me
-
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
-
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
-
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)
-
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
-
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
-
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
-
[1.8.9] Crop isnt growing properly [UNSOLVED]
SantacreeperLP replied to SantacreeperLP's topic in Modder Support
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; } -
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); } }