Jump to content

Making Forge .patch


tarun1998

Recommended Posts

Your failure to double click two scrips makes me instantly weary of anything you have to input.

However, how exactly is getEntityData not working.. My tests show it working..

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

As long as you call getEntityData() it'll save it to the entity next time it is written.

It's been working for quite some time.

It does not save anything if getEntityData() was never called for that entity.

So...

Show me code.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Made a quick test mod, it was saying it was reading and all. But no ForgeData in the dats and the value went back to zero. Never read.

 

 

package net.minecraft.src;

import java.util.EnumSet;

import net.minecraft.client.Minecraft;
import net.minecraft.src.thirstmod.ThirstMod;

import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.TickRegistry;

@Mod(modid = "Test", version = "1.0.0")
public class TestModNBT implements ITickHandler {

private boolean shouldRead = true;
private float randomValue;
private int writeTime;

@Init
public void onLoad(FMLInitializationEvent event) {
	TickRegistry.registerTickHandler(this, Side.CLIENT);
}

@Override
public void tickStart(EnumSet<TickType> type, Object... tickData) {

}

@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData) {
	if(ModLoader.getMinecraftInstance().currentScreen != null) {
		tickGui(ModLoader.getMinecraftInstance().currentScreen);
	} else if(ModLoader.getMinecraftInstance().thePlayer != null) {
		tickGame(ModLoader.getMinecraftInstance());
	}
}

@Override
public EnumSet<TickType> ticks() {
	return EnumSet.of(TickType.CLIENT);
}

@Override
public String getLabel() {
	return null;
}

private void tickGui(GuiScreen gui) {
	if(gui instanceof GuiMainMenu) {
		shouldRead = true;
		//Just to make sure the data gets read and I don't get tricked.
		randomValue = 0f;
	}
}

private void tickGame(Minecraft minecraft) {
	if(shouldRead == true) {
		randomValue = minecraft.thePlayer.getEntityData().getFloat("value");
		System.out.println("Data was read. Value is: " + randomValue);
		shouldRead = false;
	} else {
		randomValue = randomValue + 0.0000001f;
		writeTime++;
		if(writeTime > 100 /*5 seconds*/) {
			minecraft.thePlayer.getEntityData().setFloat("value", randomValue);
			System.out.println("Data was written");
			System.out.println(randomValue);
			writeTime = 0;
		}
	}
}
}

 

I know it used to work cause I used it! But now for some reason it doesn't. The code looks the same as in 1.2.5. Don't know what the problem is. I'll continue using the NBTEvent thing I made until you fix this or I find out out the make patches.

Link to comment
Share on other sites

That.. is some horrible code. There is a function around there to get the player by name.

Your code wont get you what you want if someone happened to join the server before you.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

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



×
×
  • Create New...

Important Information

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