Jump to content

[1.6.4] Custom Projectile detonating on character if target is within 5 blocks?


Recommended Posts

Posted

Hello guys! Me again! So I'm having a weird issue and I can't find a solution anywhere on the interwebs, so I thought I'd ask it here. So I have an item that, when right clicked, shoots a small invisible projectile that calls down lightning when it hits the ground. It works perfectly at mid/long range, but when the projectile would hit something within 5 blocks, it breaks in the player model and calls down lightning on the player. I tried making the projectile spawn further in front of the player, but no luck. I at one point spawned it in 2 blocks in front of the player and it didn't make a difference. I was however able to find that the acceleration on the projectile is what's causing the issue. I usually set it's x/y/z motion to the players look vector * 5, to negate gravity drop. I found that when I lower it to 2 and below I no longer get this issue. But I don't want my projectile to be affected by gravity! So my question is this: How can I make my projectile not affected by gravity without increasing its x/y/z motion? Or is there a way to increase it's x/y/z motion speed without causing this issue? I'll post a bit of code below.

 

 

here is the code in the item that sets the projectile's speed and angle:

 

lightningProjectile lp= new lightningProjectile(par2World, par3EntityPlayer);

      Vec3 look = par3EntityPlayer.getLookVec();

      lp.setPosition(par3EntityPlayer.posX + look.xCoord * par3EntityPlayer.getEyeHeight(), par3EntityPlayer.posY + look.yCoord * par3EntityPlayer.getEyeHeight()+1, par3EntityPlayer.posZ + look.zCoord * par3EntityPlayer.getEyeHeight());

      lp.motionX = look.xCoord * 2;

          lp.motionY = look.yCoord * 2;

          lp.motionZ = look.zCoord * 2;

par2World.spawnEntityInWorld(lp);

 

where "lightningProjectile" is my projectile that calls down lightning on impact. This is in an onItemRightClick() function.

the lightningProjectile class doesn't really have much relevant code, it just spans a lightning bolt on impact. It's basicly a re-skinned snowball that spawns lightning.

 

Anyway, thank you guys again for all of your help! Sorry if I ask a ton of questions on here, I'm just still pretty new at this :P

Posted

Thank you! That works perfectly! And also thank you so much for your extended properties tutorial, that's probably the main reason I was able to get my mana system off the ground! If I'm talking to the same coolAlias that is :D Thanks again, for this and your other resources which I have been using!

Posted

There's also World#raycast_do_do

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Yeah, that's me xD Glad you found those things helpful. What Draco suggested is also very useful, using raycasting or following the vector yourself onItemRightClick can get you the entity/block directly, rather than spawning an entity.

 

Either way works, but I usually go with the raytracing in cases where I don't need anything rendering on the screen (e.g. when I don't have a projectile to render, trailing particles, that kind of thing).

Posted

(As a correction, the function name is rayTraceBlocks_do_do as well as two variations on clip() but both just call rayTraceBlocks_do_do with false for the additional parameters)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I also just tried with iron's spellbooks removed, since that seemed related, but i am still having the same problem, even in newly created worlds. https://mclo.gs/AtrAfaj 
    • My Gradle Project for my Minecraft mod isn't building. Terminal: * Where: Settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle' line: 2 * What went wrong: Could not compile settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle'. > startup failed:   settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle': 2: The pluginManagement {} block must appear before any other statements in the script.   For more information on the pluginManagement {} block, please refer to https://docs.gradle.org/9.0.0/userguide/plugins.html#sec:plugin_management in the Gradle documentation.    @ line 2, column 1.      pluginManagement {      ^   1 error * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to generate a Build Scan (Powered by Develocity). > Get more help at https://help.gradle.org.   Setting.Gradle File:   rootProject.name = 'fusion-lucky-block' pluginManagement {     repositories {         gradlePluginPortal()         maven { url "https://maven.minecraftforge.net/" }         mavenCentral()     } }
    • no change still. here's a new log  https://mclo.gs/RXwiZmn 
    • Whenever I go to build my it says "Build failed in " how many seconds   Here is what is said in my terminal * Where: Build file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\build.gradle' line: 3 * What went wrong: Plugin [id: 'net.minecraftforge.gradle', version: '6.1.51'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Included Builds (No included builds contain this plugin) - Plugin Repositories (could not resolve plugin artifact 'net.minecraftforge.gradle:net.minecraftforge.gradle.gradle.plugin:6.1.51')   Searched in the following repositories:     Gradle Central Plugin Repository     MinecraftForge(https://maven.minecraftforge.net/) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Get more help at https://help.gradle.org.   Here is what is in my build.gradle file plugins {     id 'java'     id 'net.minecraftforge.gradle' version '6.1+' }   group = 'io.github.csonnic03.fusionlucky' version = '1.0.0' archivesBaseName = 'fusionlucky'   java {     toolchain {         languageVersion = JavaLanguageVersion.of(17)     } }   repositories {     mavenCentral()     maven {         name "forgeMaven"         url "https://maven.minecraftforge.net/<repository>" } }   dependencies {     minecraft 'net.minecraftforge:forge:1.20.1-47.1.0' }   minecraft {     mappings channel: 'official', version: '1.20.1'     runs {         client {             workingDirectory project.file('run')         }         server {             workingDirectory project.file('run')         }     } }   tasks.withType(JavaCompile) {     options.encoding = 'UTF-8' }   jar {     manifest {         attributes(             "Specification-Title": "Fusion Lucky Block",             "Specification-Vendor": "example",             "Implementation-Title": project.name,             "Implementation-Version": project.version,             "Implementation-Vendor": "example",             "ModLauncher-TargetFMLVersion": "[47,)"         )     } }  
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

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