Jump to content

Preventing the player from punching/attacking on left click


Eilux

Recommended Posts

3 minutes ago, Eilux said:

not able to punch/attack when they hit left click.

Define not able to. Do you mean no animation or no actual damage or knockback.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

20 minutes ago, Eilux said:

no damage, or knockback

I think you can just cancel the LivingDamageEvent(maybe another one) and no damage will be applied. If that doesnt work for knockback then you can use the KnockBack event.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

the function says that it will still consume absorption hearts and armor durability I need a way to prevent this.

* Also note that appropriate resources (like armor durability and absorption extra hearths) have already been consumed.<br>
...
* If this event is canceled, the Entity is not hurt. Used resources WILL NOT be restored.

 

Link to comment
Share on other sites

What version of Minecraft are we looking at?

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

Spoiler

Logs (Most issues require logs to diagnose):

Spoiler

Please post logs using one of the following sites (Thank you Lumber Wizard for the list):

https://gist.github.com/100MB Requires member (Free)

https://pastebin.com/: 512KB as guest, 10MB as Pro ($$$)

https://hastebin.com/: 400KB

Do NOT use sites like Mediafire, Dropbox, OneDrive, Google Drive, or a site that has a countdown before offering downloads.

 

What to provide:

...for Crashes and Runtime issues:

Minecraft 1.14.4 and newer:

Post debug.log

Older versions:

Please update...

 

...for Installer Issues:

Post your installer log, found in the same place you ran the installer

This log will be called either installer.log or named the same as the installer but with .log on the end

Note for Windows users:

Windows hides file extensions by default so the installer may appear without the .jar extension then when the .log is added the log will appear with the .jar extension

 

Where to get it:

Mojang Launcher: When using the Mojang launcher debug.log is found in .minecraft\logs.

 

Curse/Overwolf: If you are using the Curse Launcher, their configurations break Forge's log settings, fortunately there is an easier workaround than I originally thought, this works even with Curse's installation of the Minecraft launcher as long as it is not launched THROUGH Twitch:

Spoiler
  1. Make sure you have the correct version of Forge installed (some packs are heavily dependent on one specific build of Forge)
  2. Make a launcher profile targeting this version of Forge.
  3. Set the launcher profile's GameDir property to the pack's instance folder (not the instances folder, the folder that has the pack's name on it).
  4. Now launch the pack through that profile and follow the "Mojang Launcher" instructions above.

Video:

Spoiler

 

 

 

or alternately, 

 

Fallback ("No logs are generated"):

If you don't see logs generated in the usual place, provide the launcher_log.txt from .minecraft

 

Server Not Starting:

Spoiler

If your server does not start or a command window appears and immediately goes away, run the jar manually and provide the output.

 

Reporting Illegal/Inappropriate Adfocus Ads:

Spoiler

Get a screenshot of the URL bar or copy/paste the whole URL into a thread on the General Discussion board with a description of the Ad.

Lex will need the Ad ID contained in that URL to report it to Adfocus' support team.

 

Posting your mod as a GitHub Repo:

Spoiler

When you have an issue with your mod the most helpful thing you can do when asking for help is to provide your code to those helping you. The most convenient way to do this is via GitHub or another source control hub.

When setting up a GitHub Repo it might seem easy to just upload everything, however this method has the potential for mistakes that could lead to trouble later on, it is recommended to use a Git client or to get comfortable with the Git command line. The following instructions will use the Git Command Line and as such they assume you already have it installed and that you have created a repository.

 

  1. Open a command prompt (CMD, Powershell, Terminal, etc).
  2. Navigate to the folder you extracted Forge’s MDK to (the one that had all the licenses in).
  3. Run the following commands:
    1. git init
    2. git remote add origin [Your Repository's URL]
      • In the case of GitHub it should look like: https://GitHub.com/[Your Username]/[Repo Name].git
    3. git fetch
    4. git checkout --track origin/master
    5. git stage *
    6. git commit -m "[Your commit message]"
    7. git push
  4. Navigate to GitHub and you should now see most of the files.
    • note that it is intentional that some are not synced with GitHub and this is done with the (hidden) .gitignore file that Forge’s MDK has provided (hence the strictness on which folder git init is run from)
  5. Now you can share your GitHub link with those who you are asking for help.

[Workaround line, please ignore]

 

Link to comment
Share on other sites

Are we talking about stopping the player attacking all entities, specific entities, entities and blocks, etc.?

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

Spoiler

Logs (Most issues require logs to diagnose):

Spoiler

Please post logs using one of the following sites (Thank you Lumber Wizard for the list):

https://gist.github.com/100MB Requires member (Free)

https://pastebin.com/: 512KB as guest, 10MB as Pro ($$$)

https://hastebin.com/: 400KB

Do NOT use sites like Mediafire, Dropbox, OneDrive, Google Drive, or a site that has a countdown before offering downloads.

 

What to provide:

...for Crashes and Runtime issues:

Minecraft 1.14.4 and newer:

Post debug.log

Older versions:

Please update...

 

...for Installer Issues:

Post your installer log, found in the same place you ran the installer

This log will be called either installer.log or named the same as the installer but with .log on the end

Note for Windows users:

Windows hides file extensions by default so the installer may appear without the .jar extension then when the .log is added the log will appear with the .jar extension

 

Where to get it:

Mojang Launcher: When using the Mojang launcher debug.log is found in .minecraft\logs.

 

Curse/Overwolf: If you are using the Curse Launcher, their configurations break Forge's log settings, fortunately there is an easier workaround than I originally thought, this works even with Curse's installation of the Minecraft launcher as long as it is not launched THROUGH Twitch:

Spoiler
  1. Make sure you have the correct version of Forge installed (some packs are heavily dependent on one specific build of Forge)
  2. Make a launcher profile targeting this version of Forge.
  3. Set the launcher profile's GameDir property to the pack's instance folder (not the instances folder, the folder that has the pack's name on it).
  4. Now launch the pack through that profile and follow the "Mojang Launcher" instructions above.

Video:

Spoiler

 

 

 

or alternately, 

 

Fallback ("No logs are generated"):

If you don't see logs generated in the usual place, provide the launcher_log.txt from .minecraft

 

Server Not Starting:

Spoiler

If your server does not start or a command window appears and immediately goes away, run the jar manually and provide the output.

 

Reporting Illegal/Inappropriate Adfocus Ads:

Spoiler

Get a screenshot of the URL bar or copy/paste the whole URL into a thread on the General Discussion board with a description of the Ad.

Lex will need the Ad ID contained in that URL to report it to Adfocus' support team.

 

Posting your mod as a GitHub Repo:

Spoiler

When you have an issue with your mod the most helpful thing you can do when asking for help is to provide your code to those helping you. The most convenient way to do this is via GitHub or another source control hub.

When setting up a GitHub Repo it might seem easy to just upload everything, however this method has the potential for mistakes that could lead to trouble later on, it is recommended to use a Git client or to get comfortable with the Git command line. The following instructions will use the Git Command Line and as such they assume you already have it installed and that you have created a repository.

 

  1. Open a command prompt (CMD, Powershell, Terminal, etc).
  2. Navigate to the folder you extracted Forge’s MDK to (the one that had all the licenses in).
  3. Run the following commands:
    1. git init
    2. git remote add origin [Your Repository's URL]
      • In the case of GitHub it should look like: https://GitHub.com/[Your Username]/[Repo Name].git
    3. git fetch
    4. git checkout --track origin/master
    5. git stage *
    6. git commit -m "[Your commit message]"
    7. git push
  4. Navigate to GitHub and you should now see most of the files.
    • note that it is intentional that some are not synced with GitHub and this is done with the (hidden) .gitignore file that Forge’s MDK has provided (hence the strictness on which folder git init is run from)
  5. Now you can share your GitHub link with those who you are asking for help.

[Workaround line, please ignore]

 

Link to comment
Share on other sites

I think you'll want to listen for both PlayerInteractEvent.LeftClickBlock and AttackEntityEvent

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

Spoiler

Logs (Most issues require logs to diagnose):

Spoiler

Please post logs using one of the following sites (Thank you Lumber Wizard for the list):

https://gist.github.com/100MB Requires member (Free)

https://pastebin.com/: 512KB as guest, 10MB as Pro ($$$)

https://hastebin.com/: 400KB

Do NOT use sites like Mediafire, Dropbox, OneDrive, Google Drive, or a site that has a countdown before offering downloads.

 

What to provide:

...for Crashes and Runtime issues:

Minecraft 1.14.4 and newer:

Post debug.log

Older versions:

Please update...

 

...for Installer Issues:

Post your installer log, found in the same place you ran the installer

This log will be called either installer.log or named the same as the installer but with .log on the end

Note for Windows users:

Windows hides file extensions by default so the installer may appear without the .jar extension then when the .log is added the log will appear with the .jar extension

 

Where to get it:

Mojang Launcher: When using the Mojang launcher debug.log is found in .minecraft\logs.

 

Curse/Overwolf: If you are using the Curse Launcher, their configurations break Forge's log settings, fortunately there is an easier workaround than I originally thought, this works even with Curse's installation of the Minecraft launcher as long as it is not launched THROUGH Twitch:

Spoiler
  1. Make sure you have the correct version of Forge installed (some packs are heavily dependent on one specific build of Forge)
  2. Make a launcher profile targeting this version of Forge.
  3. Set the launcher profile's GameDir property to the pack's instance folder (not the instances folder, the folder that has the pack's name on it).
  4. Now launch the pack through that profile and follow the "Mojang Launcher" instructions above.

Video:

Spoiler

 

 

 

or alternately, 

 

Fallback ("No logs are generated"):

If you don't see logs generated in the usual place, provide the launcher_log.txt from .minecraft

 

Server Not Starting:

Spoiler

If your server does not start or a command window appears and immediately goes away, run the jar manually and provide the output.

 

Reporting Illegal/Inappropriate Adfocus Ads:

Spoiler

Get a screenshot of the URL bar or copy/paste the whole URL into a thread on the General Discussion board with a description of the Ad.

Lex will need the Ad ID contained in that URL to report it to Adfocus' support team.

 

Posting your mod as a GitHub Repo:

Spoiler

When you have an issue with your mod the most helpful thing you can do when asking for help is to provide your code to those helping you. The most convenient way to do this is via GitHub or another source control hub.

When setting up a GitHub Repo it might seem easy to just upload everything, however this method has the potential for mistakes that could lead to trouble later on, it is recommended to use a Git client or to get comfortable with the Git command line. The following instructions will use the Git Command Line and as such they assume you already have it installed and that you have created a repository.

 

  1. Open a command prompt (CMD, Powershell, Terminal, etc).
  2. Navigate to the folder you extracted Forge’s MDK to (the one that had all the licenses in).
  3. Run the following commands:
    1. git init
    2. git remote add origin [Your Repository's URL]
      • In the case of GitHub it should look like: https://GitHub.com/[Your Username]/[Repo Name].git
    3. git fetch
    4. git checkout --track origin/master
    5. git stage *
    6. git commit -m "[Your commit message]"
    7. git push
  4. Navigate to GitHub and you should now see most of the files.
    • note that it is intentional that some are not synced with GitHub and this is done with the (hidden) .gitignore file that Forge’s MDK has provided (hence the strictness on which folder git init is run from)
  5. Now you can share your GitHub link with those who you are asking for help.

[Workaround line, please ignore]

 

Link to comment
Share on other sites

4 hours ago, Eilux said:

how do you actually cancel the event.

event.setCanceled(true);

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

heres the rest of my main if that helps:

package eilux.mod;



import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

@Mod(modid = Main.MODID, name = Main.NAME, version = Main.VERSION, acceptedMinecraftVersions = Main.MC_VERSION)
public class Main {
    public static final String MODID = "mc_general_expansion";
    public static final String NAME = "Minecraft General Expansion";
    public static final String VERSION = "0.0";
    public static final String MC_VERSION = "[1.12.2]";


    public static final Logger LOGGER = LogManager.getLogger(Main.MODID);



    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event){

    }

    @Mod.EventHandler
    public void init(FMLInitializationEvent event){
        LOGGER.info(Main.NAME + " says it wants functionality.");
    }

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent event){

    }

    @SubscribeEvent
    public void AttackEntityEvent(AttackEntityEvent event) {
        event.setCanceled(true);
    }
}

 

Link to comment
Share on other sites

Just now, Eilux said:

public void AttackEntityEvent(AttackEntityEvent event) {

You never register this event. Read this.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

I have tried putting the event in an event handler class and registering it but it still isn't working.

package eilux.mod.util;


import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@Mod.EventBusSubscriber
public class EventHandler {

    @SubscribeEvent
    public void AttackEntityEvent(AttackEntityEvent event) {
        event.setCanceled(true);
    }
}

 

Link to comment
Share on other sites

2 minutes ago, Eilux said:

I have tried putting the event in an event handler class and registering it but it still isn't working.

You must not have read it thoroughly enough. Because you need to make your method static if you use the EventBusSubscriber

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

3 hours ago, Eilux said:

It's working now. I was wondering if there is also a way to prevent the animation from happening and the attack speed from reseting. Thank you everyone for your help so far.

 

I think you can cancel MouseEvent when the player left clicks and that solves your issues. Since the client needs to be notified

Edited by Differentiation
Link to comment
Share on other sites

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

    • ヨーロッパカジノ遊び場↙BCGAME33·COM□ベラルーシのカジノ方法ヨーロッパ北欧カジノ中継[本社お問い合わせテレJBOX7]ヨーロッパカジノ♧▥ツアーエルサルバドルカジノ旅行ヨーロッパ西アフリカヨーロッパカジノコミュニティ[総販お問い合わせカカオトークJBOX7]ヨーロッパカジノ↕♠キャッシュゲームジブチカジノ検証ヨーロッパボリビアヨーロッパカジノ業者[各種オフィコミュニティ制作]欧州カジノ† サイトケニア カジノ接続 欧州アフリカ欧州カジノ接続[マーケティングお問い合わせ]欧州カジノ@放送 ボリビア カジノサイト 欧州 欧州 カジノサイト 欧州 カジノサイト 欧州 カジブチノサイト セルビア競技場] パラオカジノ旅行ヨーロッパカナダヨーロッパカジノツアー[トト本社お問い合わせ]ヨーロッパカジノ☎♨京畿アイランドカジノおすすめヨーロッパキプロスヨーロッパカジノおすすめ[トト総販購入]ヨーロッパカジノ☏↓接続アゼルバイジャンカジノツアーヨーロッパバルバドスヨーロッパカジノホールダンバ[カジノ総販]欧州カジノ#■賭博場ニジェールカジノゲーム場欧州アンドラ 欧州カジノゲーム[ヤマト本社]欧州カジノ↔@映像ガボン カジノホールダンバ 欧州バーデンバーデン 欧州 カジノ映像[バカラ総販] º㏘コミュニティスリナムアジア カジノポーカー大会 欧州東南アジア カジノンホールメニスタンバ おすすめ購読、いいですね
    • 横滨SPA链接♤BCGAME55·COM↙横滨SPA聚会信息地板运动横滨SPA故事按摩SPA地址快速SPA验证[本社咨询的Tele@JBOX7]横滨SPA地图跳高横滨SPA视频连接水上运动SPA社区[总经销的Kakao Talk JBOX7]横滨Spa Telegram 踢拳头横滨Youtube拳击Spa系统标枪机Instagram[各种官方网站制作]KOko Kakao Talk 机械马术spa SPA视频连接水上运动spa Spagram 诱导拳击运动视频 电子竞技横滨spa旅行冰球spa地图乒乓球spa巡回赛[体育总公司]横滨spa登录壁球横滨spa招聘广告跳马spa网站拳击spa最新地址[TOTO总公司咨询]横滨spa社区软网球横滨SPA新地址真实SPA登录[TOTO总经销购买]横滨pas验证长曲棍球横滨SPA认证跳马SPA公开聊天游泳SPA视频[赌场总经销]横滨SPA总经销网SPA网站推荐的YOSPA位置 短视频[KO] 做SPA的地方短道速滑SPA视频手球SPA同好会[赛马总经销]横滨SPA亚东滚球横滨SPA连接掷铅球SPA地址美式足球SPA Youtube[BCGAME BC游戏总经销咨询]通知设置推荐 订阅点赞
    • 私設ブラックジャック遊び場=BCGAME33·COM▦ヨルダンブラックジャック映像私設英国ブラックジャックツアー[本社お問い合わせテレJBOX7]私設ブラックジャック▒YouTubeアンティークガバーブーダブラックジャック募集私設ギニア私設ブラックジャック賭博場[総販お問い合わせカカオトークJBOX7]私設ブラックジャック▤️コミュニティアルバニアブラックジャックグループトーク私設フィジー私設ブラッグリーグ[各種オフィコミュニティ制作]社説黒ザック♪▨業者アラブ首長国連邦の黒ザックキャッシュゲーム社説チュニジア社説黒ザック映像[マーケティングお問い合わせ]社説黒ザック↘↗カジノパブ 韓国ブラックジャック動画私設マリ私設ブラックジャックホールダンパブ[ト本社お問い合わせ]私設ブラックジャック▲▨業者ルクセンブルクブラックジャックサイト私設ギリシャ私設ブラックジャック業者[ト総販購入]私設ブラックジャック↔§ホールダンバジョージアブラックジャックカジノパブ私設セネガル私設ブラックジャックコミュニティ[カジノ総販]社説ブラックジャッキ▲▼遊び場コモロ ブラックジャッキキャッシュゲーム社説北マケドニア社説ブラックジャッキグループチャット[大和本社]社説 ブラックジャッキ™¶ クープーンベラジオカジノ ブラックジャッキ [バサミコ] 総販のお問い合わせ]お知らせ設定おすすめ購読いいですね
    • 东京都酒吧招聘广告↑BCGAME55·COM◎东京都酒吧Kakao Talk真实东京都酒吧地图棒球酒吧地址菜马酒吧广播[本社的Tele @JBOX7] 东京都酒吧度假村掷铁饼 东京都酒吧系统跆拳道酒吧链接[总经销的Kakao Talk JBOX7] 东京都酒店链接阿尔法-东京都酒店酒店单角球馆制作单角球杆公寓[Talk Talk Talk Talk Talk Talk] 聚会信息 [赌场总公司] 东京都丹兰酒馆位置滑雪 东京都丹兰酒馆Youtube柔道丹兰酒馆推荐 拳击丹兰酒馆地图 [体育总公司] 东京都丹兰酒馆 影像乒乓球 东京都丹兰酒馆 Youtube Pickle Ball 丹兰酒馆Line[TOTO总公司咨询] 东京都丹兰酒馆故事马拉松比赛东京都验证藤球单板滑雪 [TOTOTO总店购买单板滑雪] DANTACTALKTALKTALKSETALKTALKETALKETALKETALKYOOKSATINGOOK YouTube自行车短跑酒吧验证排球短跑酒吧位置[百家乐总经销]东京短跑酒吧广播击剑东京短跑酒吧视频掷铁饼短跑酒吧广播E体育短跑酒吧社区[赛马总经销] 东京短跑酒吧总经销调整短跑酒吧联谊会硬地滚滚酒庄店业所招募[BCGAME BC游戏总经销咨询] 设置通知 订阅 点赞
  • Topics

×
×
  • Create New...

Important Information

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