+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.095
    Minecraft
    Stuuupiiid

    [Block über Pflanze weg -> entferne die Pflanze] funktioniert nicht (updateTick)

    Code:
        public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
        {
            if (par1World.getBlockId(par2, par3 + 1, par4) != block.blockID)
            {
                par1World.setBlockWithNotify(par2, par3, par4, -1);
            }
        }
    das ist mein Code; ich möchte, dass der Block entfernt wird, wenn der spezielle Block darüber nicht mehr "block" ist (hab die Variable im Konstruktor festgelegt, also welcher Block das eigentlich ist xD)

    mfG

  2. #2
    Creeper-Jäger Avatar von Hiroscho
    Registriert seit
    16.10.2011
    Beiträge
    370
    Minecraft
    hiroscho
    setBlockWithNotify(par2, par3, par4, 0 /*<-ID*/);

  3. #3
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.095
    Minecraft
    Stuuupiiid
    habe das mit 0 schon probiert

  4. #4
    Creeper-Jäger Avatar von Hiroscho
    Registriert seit
    16.10.2011
    Beiträge
    370
    Minecraft
    hiroscho
    Könntest du mal deinen kompletten Code posten?

  5. #5
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.095
    Minecraft
    Stuuupiiid
    Code:
    package net.minecraft.src;
    
    import java.util.Random;
    
    import net.minecraft.src.forge.*;
    
    public class BlockFruit extends Block implements ITextureProvider 
    {
    
    	public Item dropped;
    	public Block block;
    	
    	public BlockFruit(int par1, int par2, Item par3Item, Block par4Block)
    	{
    		super(par1, par2, Material.unused);
    		this.setRequiresSelfNotify();
    		this.setHardness(0.1F);
    		this.setStepSound(soundGrassFootstep);
    		this.dropped = par3Item;
            float var4 = 0.4F;
            this.setBlockBounds(0.2F, 0.3F, 0.2F, 0.8F, 0.9F, 0.8F);
            this.block = par4Block;
        }
    
        public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
        {
            if (par1World.getBlockId(par2, par3 + 1, par4) != block.blockID)
            {
                par1World.setBlockWithNotify(par2, par3, par4, -1);
            }
        }
        
        public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
        {
            return null;
        }
    	
    	public String getTextureFile()
    	{
    		return "/stuuupiiid/fruits.png";
    	}
    	
    	public boolean isOpaqueCube()
    	{
    		return false;
    	}
    	
    	public int getRenderType()
    	{
    		return 1;
    	}
    	
    	public boolean renderAsNormalBlock()
    	{
    		return false;
    	}
    	
    	public int idDropped(int par1, Random par2Random, int par3)
    	{
    		return dropped.shiftedIndex;
    	}
    	
    }

  6. #6
    Creeper-Jäger Avatar von Hiroscho
    Registriert seit
    16.10.2011
    Beiträge
    370
    Minecraft
    hiroscho
    Versuchs mal damit, anstatt deinem updateTick:

    Geändert von Hiroscho (04.05.2012 um 23:30 Uhr)

  7. #7
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.095
    Minecraft
    Stuuupiiid
    Code:
    java.lang.NullPointerException
    	at net.minecraft.src.BlockFruit.canPlaceBlockAt(BlockFruit.java:29)
    	at net.minecraft.src.BlockFruit.canBlockStay(BlockFruit.java:63)
    	at net.minecraft.src.BlockFruit.checkBlockCoordValid(BlockFruit.java:51)
    	at net.minecraft.src.BlockFruit.onNeighborBlockChange(BlockFruit.java:43)
    	at net.minecraft.src.World.notifyBlockOfNeighborChange(World.java:919)
    	at net.minecraft.src.World.notifyBlocksOfNeighborChange(World.java:902)
    	at net.minecraft.src.World.notifyBlockChange(World.java:848)
    	at net.minecraft.src.World.setBlockWithNotify(World.java:806)
    	at net.minecraft.src.Block.removeBlockByPlayer(Block.java:1248)
    	at net.minecraft.src.PlayerController.onPlayerDestroyBlock(PlayerController.java:43)
    	at net.minecraft.src.PlayerControllerCreative.clickBlockCreative(PlayerControllerCreative.java:62)
    	at net.minecraft.src.PlayerControllerCreative.clickBlock(PlayerControllerCreative.java:104)
    	at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1346)
    	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1789)
    	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:819)
    	at net.minecraft.client.Minecraft.run(Minecraft.java:747)
    	at java.lang.Thread.run(Unknown Source)
    --- END ERROR REPORT f40bd08b ----------

  8. #8
    Creeper-Jäger Avatar von Hiroscho
    Registriert seit
    16.10.2011
    Beiträge
    370
    Minecraft
    hiroscho
    Bei mir funktioniert es, hier der ganze Code, allerdings mit den 3 Forgestellen in Kommentaren

  9. #9
    Architekt
    Registriert seit
    27.03.2012
    Beiträge
    1.000
    @OpiKenopi

    Wie sieht denn bei dir der gesamte Code aus?
    Und: Kannst du vielleicht folgende Zeile makieren:
    29, 63, 51, 42
    ?

    Mit Freundlichen Grüßen

    Johannes_C25

    PS:
    Forgestellen

    Sry...konnte ich gerade nicht lassen

+ Antworten