Jump to content

[1.7.10] Modify vanilla base classes


czaarek99

Recommended Posts

There is something that I'd like to do but there are no forge hooks for. Is it possible to tell forge to replace something in vanilla class to my own liking? Or maybe replace the whole class?

I'd still like to get the functionality of forge but still be able to perform what isn't possible in forge.

Link to comment
Share on other sites

Is it absolutely necessary to change something already in the game? Can you get most of what you want by adding something new instead? What is your goal anyway?

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

i have something that may help

Block.blocksList[78] = null;
	Block snow = (new BlockSnow1(78)).setHardness(0.1F).setStepSound(Block.soundSnowFootstep).setUnlocalizedName("snow").setLightOpacity(0).setTextureName("snow");
	/* At last we have to register it. */
	GameRegistry.registerBlock(snow, "Snow");
	LanguageRegistry.addName(snow, "Snow");

that code sets the vanilla block snow to null and adds your own block in its place

Its best to only ask questions when you did most of the work yourself.

Link to comment
Share on other sites

Before you change something in vanilla you should first consider whether you can accomplish what you need with the following:

 

1. Check for public methods in the vanilla classes.  For example you can completely overwrite the AI for vanilla entities by accessing their tasks and targetTasks because these are public methods.  Attack damage, movement speed and so on can be changed.  I'm not certain because I haven't tried by i think you can probably register your own models and renderers by accessing the registry.  Anyway, look for this type of stuff because it is directly modifiable with standard Java because that is what public fields and methods are for.

 

2. Check for events that can be used.  These are Forge hooks and allow you to cancel (and replace with your own code) all sorts of functionality that is commonly of interest to modders.  If you don't want a certain entity to spawn you can intercept the living spawn events, if you want to render something differently you can intercept the render events, you want them to drop different stuff you can intercept the drops events.

 

3.  Java reflection.  This is easier than it sounds and allows you to access private fields and methods.  You can modify private fields, but you cannot modify methods.  Anyway, this opens up a whole bunch more stuff you can do.

 

4. ASM Access transformers.  This is an actual replacement of functional code.  Look it up, but it creates a lot of possibilities.

 

With the combination of the above powerful approaches, it is very rare that you need to actually modify base classes or "core" code.

 

 

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • no this one https://pastebin.com/5uMxHeWf
    • I am in such a mess. I have lost over 4.7m due to a scammer... It started as bank wires and then bitcoin. it is hard to imagine but it is true and can send any proof, then I tried to use a couple of recovery companies and was as well. Graphic design has been more than just a hobby for me since high school—it has become a thriving career. Starting in my parents' garage, I eventually expanded to my office, running a successful graphic design business. However, like many, I faced the need to diversify my investments due to inflation. This led me to invest 60.16 in Bitcoin, a decision that paid off handsomely as my investment grew to 4.7m over time. This financial windfall allowed me to upgrade my equipment and take on more ambitious projects, furthering the growth of my business. Unfortunately, my excitement was abruptly cut short when I fell victim to a hacking incident. Malware infected my computer, giving hackers access to my Bitcoin wallet. The devastation of potentially losing all my hard-earned savings and plans weighed heavily on me. At this dire moment, a fellow designer suggested Linux Cyber Security Company as a potential solution. Desperate for a lifeline, I reached out to them, hoping for a miracle. The response from Linux Cyber Security Company was prompt, incredibly professional, and effective. Their team quickly traced the hacker’s activities and recovered most of my funds, alleviating a significant amount of stress and uncertainty. Beyond the recovery, they took the time to educate me on essential practices to secure my Bitcoin holdings better. They emphasized using antivirus software to prevent malware infections, avoiding suspicious downloads, and the added security provided by hardware wallets. This experience served as a critical wake-up call for me. It highlighted the vulnerabilities inherent in digital assets and underscored the importance of robust security measures. Thanks to the guidance and expertise of Linux Cyber Security Company, I now feel more equipped to protect my digital assets proactively. Their insights have empowered me to implement stronger security protocols in my business operations and personal finances alike. With my Bitcoin funds securely recovered and a newfound understanding of digital security best practices, I am more confident in navigating future challenges. This journey has reinforced my commitment to safeguarding my hard-earned assets and leveraging technology responsibly. I am optimistic about the growth opportunities ahead, creatively in graphic design and prudently in investment strategies. In conclusion, while the hacking incident was a setback, it ultimately became a catalyst for enhancing my digital security awareness and resilience. I am grateful to Linux Cyber Security Company for their expertise and support during a challenging time, enabling me to continue pursuing my passion for graphic design with renewed confidence and financial stability. Contact a professional company I am sure they can help you with your case too, Website [www.linuxcybersecurity.com Email the team; info@)(linuxcybersecurity.com
    • https://pastebin.com/B2HnBZTa
    • it was easy villager mate, thanks ill see how to do it without that mod! thanks
  • Topics

×
×
  • Create New...

Important Information

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