Jump to content

BaersMakeNoiseee

Members
  • Posts

    10
  • Joined

  • Last visited

Posts posted by BaersMakeNoiseee

  1. Yeah, of course it crashes. You copied and pasted code that crashes. Don't do that.

     

    Read the code, read the crash report, and figure out why the code as written is crashing (hint: ItemStack's nbt tag is usually null). If you don't know how to handle the case where a field might be null, I suggest you take some time to learn up on basic programming skills.

    I tried changing it, but it didn't work.

    public ItemStack onItemRightClick(ItemStack Stack, World World, EntityPlayer p) {
    	Stack.getTagCompound().setInteger("float_time", 20);
    	return Stack;
    }
    
    @SuppressWarnings("null")
    public void onUpdate(ItemStack Stack, World World, Entity p, int par4, boolean par5) {
    	NBTTagCompound tag = Stack.getTagCompound();
    	if (tag == null && tag.getInteger("float_time") > 0) {
    	  tag.setInteger("float_time", tag.getInteger("float_time") - 1); // decrement float time
    	  p.motionY = 0.1F;
    	}
    }
    }

     

  2. Yeah, of course it crashes. You copied and pasted code that crashes. Don't do that.

     

    Read the code, read the crash report, and figure out why the code as written is crashing (hint: ItemStack's nbt tag is usually null). If you don't know how to handle the case where a field might be null, I suggest you take some time to learn up on basic programming skills.

    Can you please tell me what certain parts of the code do? I think i would understand better if you actually explained what parts of the code are.

  3. I already told you: store some kind of flag in the ItemStack's NBT compound onRightClick, then only apply the motionY when that flag exists. You can remove the flag at any time, too, e.g. after 10 ticks or whatever.

    # onRightClick
    stack.getTagCompound().setInteger("float_time", 20);
    
    #onUpdate
    NBTTagCompound tag = stack.getTagCompound();
    if (tag != null && tag.getInteger("float_time") > 0) {
      tag.setInteger("float_time", tag.getInteger("float_time") - 1); // decrement float time
      player.motionY = 0.1F;
    }
    

    crashes.

    crash msg:

    java.lang.NullPointerException: Unexpected error
    at com.baers.test.item.ItemBalloonChest.onItemRightClick(ItemBalloonChest.java:19)
    at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164)
    at net.minecraft.client.multiplayer.PlayerControllerMP.sendUseItem(PlayerControllerMP.java:430)
    at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1557)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:2044)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039)
    at net.minecraft.client.Minecraft.run(Minecraft.java:962)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Stacktrace:
    at com.baers.test.item.ItemBalloonChest.onItemRightClick(ItemBalloonChest.java:19)
    at net.minecraft.item.ItemStack.useItemRightClick(ItemStack.java:164)
    at net.minecraft.client.multiplayer.PlayerControllerMP.sendUseItem(PlayerControllerMP.java:430)
    at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1557)
    
    -- Affected level --
    Details:
    Level name: MpServer
    All players: 1 total; [EntityClientPlayerMP['Player962'/206, l='MpServer', x=-34.46, y=65.62, z=179.27]]
    Chunk stats: MultiplayerChunkCache: 169, 169
    Level seed: 0
    Level generator: ID 00 - default, ver 1. Features enabled: false
    Level generator options: 
    Level spawn location: World: (-48,64,172), Chunk: (at 0,4,12 in -3,10; contains blocks -48,0,160 to -33,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
    Level time: 101544 game time, 4535 day time
    Level dimension: 0
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Forced entities: 88 total; [EntityChicken['Chicken'/128, l='MpServer', x=-23.47, y=64.00, z=125.66], EntityBat['Bat'/129, l='MpServer', x=-21.56, y=44.10, z=170.50], EntitySkeleton['Skeleton'/130, l='MpServer', x=-27.06, y=41.00, z=172.47], EntityCreeper['Creeper'/131, l='MpServer', x=-19.97, y=43.00, z=169.66], EntityZombie['Zombie'/132, l='MpServer', x=-25.66, y=44.00, z=174.50], EntityZombie['Zombie'/133, l='MpServer', x=-18.03, y=43.00, z=171.50], EntityCreeper['Creeper'/134, l='MpServer', x=-16.13, y=43.00, z=167.84], EntityBat['Bat'/135, l='MpServer', x=-24.91, y=45.92, z=168.13], EntityItem['item.item.ItemBalloonChest'/136, l='MpServer', x=-29.13, y=62.13, z=171.31], EntitySpider['Spider'/137, l='MpServer', x=-15.22, y=44.00, z=180.19], EntitySkeleton['Skeleton'/139, l='MpServer', x=-21.50, y=15.00, z=239.50], EntityZombie['Zombie'/149, l='MpServer', x=-9.84, y=31.00, z=143.38], EntityBat['Bat'/150, l='MpServer', x=2.97, y=40.02, z=145.16], EntityCreeper['Creeper'/151, l='MpServer', x=-10.63, y=32.00, z=146.50], EntitySkeleton['Skeleton'/152, l='MpServer', x=-15.50, y=25.00, z=163.50], EntitySkeleton['Skeleton'/153, l='MpServer', x=-9.72, y=43.00, z=167.97], EntityBat['Bat'/154, l='MpServer', x=5.47, y=39.36, z=172.09], EntityBat['Bat'/155, l='MpServer', x=3.25, y=39.00, z=171.50], EntityBat['Bat'/156, l='MpServer', x=2.50, y=38.82, z=165.25], EntityCreeper['Creeper'/157, l='MpServer', x=-12.50, y=47.00, z=166.50], EntityEnderman['Enderman'/285, l='MpServer', x=4.47, y=27.00, z=180.44], EntityBat['Bat'/158, l='MpServer', x=8.03, y=39.79, z=173.34], EntitySkeleton['Skeleton'/159, l='MpServer', x=-13.50, y=27.00, z=189.50], EntitySkeleton['Skeleton'/160, l='MpServer', x=-12.50, y=27.00, z=192.50], EntityEnderman['Enderman'/162, l='MpServer', x=5.56, y=22.00, z=122.50], EntityEnderman['Enderman'/163, l='MpServer', x=6.47, y=22.00, z=122.50], EntityBat['Bat'/164, l='MpServer', x=6.63, y=41.70, z=152.50], EntityCreeper['Creeper'/165, l='MpServer', x=5.91, y=27.00, z=161.69], EntitySkeleton['Skeleton'/166, l='MpServer', x=15.50, y=26.00, z=168.50], EntityBat['Bat'/167, l='MpServer', x=5.84, y=42.73, z=172.50], EntityBat['Bat'/168, l='MpServer', x=10.28, y=29.11, z=187.13], EntityZombie['Zombie'/170, l='MpServer', x=17.50, y=24.00, z=169.50], EntityCreeper['Creeper'/171, l='MpServer', x=18.41, y=25.00, z=172.00], EntityCreeper['Creeper'/172, l='MpServer', x=31.18, y=14.25, z=211.49], EntityCreeper['Creeper'/301, l='MpServer', x=14.50, y=26.00, z=171.50], EntityZombie['Zombie'/173, l='MpServer', x=29.34, y=25.00, z=225.41], EntityZombie['Zombie'/174, l='MpServer', x=28.50, y=29.00, z=244.50], EntitySkeleton['Skeleton'/175, l='MpServer', x=26.78, y=29.00, z=244.69], EntitySkeleton['Skeleton'/303, l='MpServer', x=-109.50, y=26.00, z=245.50], EntityCreeper['Creeper'/176, l='MpServer', x=43.03, y=21.00, z=220.47], EntitySkeleton['Skeleton'/177, l='MpServer', x=30.50, y=19.02, z=220.69], EntityCreeper['Creeper'/178, l='MpServer', x=31.22, y=17.00, z=219.08], EntityBat['Bat'/179, l='MpServer', x=36.38, y=28.10, z=225.25], EntityCreeper['Creeper'/62, l='MpServer', x=-98.41, y=21.00, z=110.97], EntityZombie['Zombie'/65, l='MpServer', x=-88.50, y=25.00, z=239.50], EntityCreeper['Creeper'/66, l='MpServer', x=-80.50, y=41.00, z=236.50], EntitySkeleton['Skeleton'/67, l='MpServer', x=-83.88, y=12.00, z=240.50], EntityCreeper['Creeper'/68, l='MpServer', x=-81.41, y=29.00, z=258.50], EntityCreeper['Creeper'/69, l='MpServer', x=-86.69, y=28.00, z=252.78], EntityBat['Bat'/70, l='MpServer', x=-85.41, y=23.32, z=250.97], EntityCreeper['Creeper'/77, l='MpServer', x=-66.50, y=28.00, z=122.50], EntitySheep['Sheep'/78, l='MpServer', x=-77.91, y=70.00, z=123.06], EntitySheep['Sheep'/79, l='MpServer', x=-69.56, y=70.00, z=127.97], EntityCreeper['Creeper'/80, l='MpServer', x=-79.06, y=21.00, z=243.63], EntityCreeper['Creeper'/81, l='MpServer', x=-77.13, y=23.00, z=240.13], EntitySpider['Spider'/82, l='MpServer', x=-86.13, y=21.00, z=239.50], EntityZombie['Zombie'/83, l='MpServer', x=-67.06, y=36.00, z=253.50], EntityCreeper['Creeper'/339, l='MpServer', x=3.50, y=25.00, z=171.50], EntityZombie['Zombie'/84, l='MpServer', x=-86.69, y=28.00, z=253.65], EntityClientPlayerMP['Player962'/206, l='MpServer', x=-34.46, y=65.62, z=179.27], EntitySpider['Spider'/224, l='MpServer', x=-49.50, y=32.00, z=253.50], EntitySkeleton['Skeleton'/226, l='MpServer', x=-49.50, y=32.00, z=249.50], EntityPig['Pig'/98, l='MpServer', x=-59.69, y=69.00, z=100.16], EntitySheep['Sheep'/99, l='MpServer', x=-51.09, y=65.00, z=111.47], EntityCreeper['Creeper'/100, l='MpServer', x=-63.50, y=21.00, z=246.50], EntityCreeper['Creeper'/101, l='MpServer', x=-60.50, y=21.00, z=248.50], EntityCreeper['Creeper'/102, l='MpServer', x=-61.50, y=21.00, z=250.50], EntityBat['Bat'/103, l='MpServer', x=-51.09, y=16.79, z=251.56], EntityZombie['Zombie'/104, l='MpServer', x=-58.50, y=36.00, z=252.50], EntityCreeper['Creeper'/360, l='MpServer', x=2.50, y=44.00, z=133.50], EntityZombie['Zombie'/105, l='MpServer', x=-57.50, y=36.00, z=253.50], EntityZombie['Zombie'/106, l='MpServer', x=-59.50, y=36.00, z=254.50], EntityCow['Cow'/113, l='MpServer', x=-37.78, y=64.00, z=102.25], EntitySkeleton['Skeleton'/370, l='MpServer', x=-59.50, y=16.00, z=249.50], EntityPig['Pig'/114, l='MpServer', x=-43.50, y=67.00, z=99.47], EntityChicken['Chicken'/115, l='MpServer', x=-44.44, y=64.00, z=116.53], EntitySkeleton['Skeleton'/371, l='MpServer', x=-55.50, y=16.00, z=249.50], EntityPig['Pig'/116, l='MpServer', x=-39.13, y=64.00, z=123.94], EntitySkeleton['Skeleton'/372, l='MpServer', x=-54.50, y=16.00, z=250.50], EntityPig['Pig'/117, l='MpServer', x=-37.84, y=64.00, z=137.13], EntityBat['Bat'/118, l='MpServer', x=-21.53, y=32.32, z=149.63], EntityBat['Bat'/119, l='MpServer', x=-36.34, y=47.10, z=165.75], EntityCreeper['Creeper'/248, l='MpServer', x=-68.50, y=23.00, z=229.50], EntityCreeper['Creeper'/124, l='MpServer', x=-24.44, y=26.00, z=115.06], EntityCreeper['Creeper'/125, l='MpServer', x=-25.50, y=24.00, z=110.50], EntitySheep['Sheep'/126, l='MpServer', x=-23.34, y=64.00, z=124.69], EntityChicken['Chicken'/127, l='MpServer', x=-29.53, y=64.00, z=120.44], EntitySkeleton['Skeleton'/383, l='MpServer', x=-100.50, y=21.00, z=101.50]]
    Retry entities: 0 total; []
    Server brand: fml,forge
    Server type: Integrated singleplayer server
    Stacktrace:
    at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
    at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566)
    at net.minecraft.client.Minecraft.run(Minecraft.java:991)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    
    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_73, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 722125696 bytes (688 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
    FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHIJAAAA	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
    UCHIJAAAA	FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
    UCHIJAAAA	Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
    UCHIJAAAA	tm{1.0} [TestMod] (bin) 
    GL info: ' Vendor: 'Intel' Version: '4.3.0 - Build 10.18.15.4248' Renderer: 'Intel(R) HD Graphics 4400'
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: Intel(R) HD Graphics 4400 GL version 4.3.0 - Build 10.18.15.4248, Intel
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.
    
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)

  4. It's pretty simple:

    player.motionY = 0.1F;

    So, I did it, the floating works, but that's whenever i have it in my inventory, I float. How would i add the right click method into here:

    public void onUpdate(ItemStack is, World World, Entity Entity, int par, boolean par5, EntityPlayer p) {
    	if (p.isAirBorne) {
    		p.motionY = 0.1F;
    	}
    }

    EDIT: Also, if you could, could you tell me how to drop the person at a specific point? Thanks.

  5. Well, 10 is a HUGE amount of upward velocity.

     

    To put it in context, a vanilla jump adds 0.15F, which is approximately one block height worth of upward momentum, so 10 should be about 66.67 blocks though I think it launches you even farther than that, iirc.

     

    Try player.motionY += 1.0F for less of a jump, but even that won't get you a levitation-like effect. If you want a slow-moving upward trek, you have to set (not add) the player's upward motion every tick to a small positive value such as 0.1F or less.

     

    You can do that either by setting a flag in your Item's enclosing ItemStack and using the Item's update tick method, or setting a flag on the player themselves and using the PlayerTickEvent.

    can you give me some example / pseudo code? I don't understand how i set the upward motion.
  6. This is the code i have so far:

    public ItemStack onItemRightClick(ItemStack Stack, World World, EntityPlayer p) {
        p.addVelocity(0, 10, 0);
        return Stack;

    I am trying to slow down when it launches the player so i can make it like the player is floating up.

    What would i add?

    I tried motionY, but that didn't slow it down.

     

    Can anyone help me with this?

     

  7. I know how to do it for bukkit, but forge seems to be a little different and i just don't get it. Here is my code

    	public void onBlockRightClick(PlayerInteractEvent e) {
    	e.useBlock = Result.DENY;
    	e.useItem = Result.DEFAULT;
    	if (!(e.action.equals(e.action.RIGHT_CLICK_AIR)))
    		return;
    
    	e.entityPlayer.playSound("tm:ballooninflate", 1.0F, 1.0F);
    }
    }
    

×
×
  • Create New...

Important Information

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