coolboy4531
-
Posts
584 -
Joined
-
Last visited
Posts posted by coolboy4531
-
-
God, giving me a headache unable to help people and making them read the important stuff without using the Bold, Italic, and Underline futures, etc.
None of the features work (utilities), if you still don't understand what I mean I'm talking about the (bold, italic, underline, strike, emoticons, imgtfy, links, pictures, code.
The only feature I use is code and I have to manually type it... (code, /code)
How do I fix this issue?
-
You could create it manually, but here's the problem.
You are just creating a method, and it's never even being called.
A way I would do this probably not the correct way though is:
Create two new classes. One implementing IFMLLoadingPlugin and the other DummyModContainer.
FMLLoadingPlugin:
package your.package; import java.util.Map; import cpw.mods.fml.relauncher.IFMLLoadingPlugin; public class ExampleFMLLoadingPlugin implements IFMLLoadingPlugin { @Override public String[] getASMTransformerClass() { return null; } @Override public String getModContainerClass() { return ExampleContainer.class.getName(); } @Override public String getSetupClass() { return null; } @Override public void injectData(Map<String, Object> data) { } @Override public String getAccessTransformerClass() { return null; } }
Now here is where you create your mcmod.info without actually generating to code, Forge just reads it and puts it into the mods list.
>>>> i decided to be nice and filled in all the things you wanted for your mcmod.info <<<<
Container [DummyMod]
package your.package; import java.util.Arrays; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import cpw.mods.fml.common.DummyModContainer; import cpw.mods.fml.common.LoadController; import cpw.mods.fml.common.ModMetadata; import cpw.mods.fml.common.event.FMLConstructionEvent; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class ExampleContainer extends DummyModContainer { public ExampleContainer() { //Gets ModMetadata super(new ModMetadata()); ModMetadata meta = getMetadata(); //Adds mcmod.info for the mod. meta.modId = "poe"; meta.name = "World of Poe"; meta.version = "Build 1"; meta.credits = "Created by TLHPoE"; meta.authorList = Arrays.asList("TLHPoE"); meta.description = "An extensive RPG mod made by TLHPoE."; meta.url = ""; meta.updateUrl = ""; meta.screenshots = new String[0]; meta.logoFile = "/assets/poe/logo.png"; //You can fill in the Strings that are blank [""] if you want to, but it isn't required. } @Override public boolean registerBus(EventBus bus, LoadController controller) { bus.register(this); return true; } @Subscribe public void modConstruction(FMLConstructionEvent e) { } @Subscribe public void preInit(FMLPreInitializationEvent e) { } @Subscribe public void init(FMLInitializationEvent e) { } @Subscribe public void postInit(FMLPostInitializationEvent e) { } }
-
Oh god, I understand now, I'm just being stupid
sorry
-
I know diesieben was trying to tell me the second parameter in my transform[] method, but I was trying to ask how do you "USE" it.
-
I'm not sure what you are trying to tell me.
Sorry ><
-
I'm trying to use runtime bytecode manipulation w/ help of ASM API.
Is there a list of original class names (e.g. aaa.class, aab.class)
TL;DR(which it shouldn't be):
I'm trying to create a coremod, and need to know the class names originally (aaa.class) etc.
-
Spawn Level:
int randPosX = chunkX + random.nextInt(16); int randPosY = random.nextInt(40); int randPosZ = chunkZ +random.nextInt(16);
Amount:
(new WorldGenMinable(PupletMod.pupletOre, 10)).generate(world, random, randPosX, randPosY, randPosZ);
Spawn Chance:
for (int i = 0; i < 13; i++)
-
Two things.
Are you sure that your modid, name is the same as your base class file and you have registered the modid, and name inside your base class?
dependencies: mod_MinecraftForge
You don't need to verify that if "mcmod.info" does however already require Forge.
-
I don't think:
public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) { EntityIronGolem entityirongolem = (EntityIronGolem)par1EntityLiving; int i = entityirongolem.getAttackTimer(); if (i > 0) { this.ironGolemRightArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); this.ironGolemLeftArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); } else { int j = entityirongolem.getHoldRoseTick(); if (j > 0) { this.ironGolemRightArm.rotateAngleX = -0.8F + 0.025F * this.func_78172_a((float)j, 70.0F); this.ironGolemLeftArm.rotateAngleX = 0.0F; } else { this.ironGolemRightArm.rotateAngleX = (-0.2F + 1.5F * this.func_78172_a(par2, 13.0F)) * par3; this.ironGolemLeftArm.rotateAngleX = (-0.2F - 1.5F * this.func_78172_a(par2, 13.0F)) * par3; } }
is actually changing your mod.
You are changing EntityIronGolem not your own entity. If you want to use the EntityIronGolem code, you need to change the coding to match your entity, not the Iron Golem's.
-
/* *** MADE BY MITHION'S .SCHEMATIC TO JAVA CONVERTING TOOL v1.6 *** */
You'll understand your mistakes easier if you don't use these programs...
-
How about you put that into your base class into PostInit?
Reason is, I don't see it being called anywhere, unless you show us your base class.
-
Add a task in your Entity whenever your method is called which is right-click.
You could look at EntityPigZombie and reverse the effects, as browsing through code is a great way to learn
-
Use (if) statements to determine what you want the requirement to be.
> Spawn an entity, with the texture of the block to do the render the spinning animation from (EntityEnderCrystal / RenderEnderCrystal)
> Use coding from an object that can move with angles (aka render class) to move it up to your desinated location.
-
Use another version of Forge.
-
I have gotten it to work in 1.6.2 before, but updating it to 1.7.2? pain in the ass.
Let me explain my situation, everything works fine, got my events working and tested with [system.out.println("test")]
Whenever I replace System.out.println("test") and run it with my thingy I'm using, it creates GL11 errors.
Is it because I changed the event to boolean, because I'm transferring my ModLoader mod to Forge during 1.7.2 with no ModLoader inside Forge... which I used the "onTickInGame" method, but I really don't know how to transfer a boolean to a void...
Coding:
Event Class:
@SubscribeEvent public boolean onWorldTick(TickEvent.WorldTickEvent event) { Minecraft mc = Minecraft.getMinecraft(); Tracker trck = Tracker.wl; //wl = this (Tracker) trck.doFunction(); //[something with this too in crash report] return true; }
doFunction method:
public boolean doFunction() { Minecraft minecraft = Minecraft.getMinecraft(); if (minecraft == null || minecraft.currentScreen != null || minecraft.gameSettings == null || minecraft.gameSettings.showDebugInfo) { return true; } String s = (new StringBuilder()).append("No mobs tracked! D: (Press ").append(minecraft.gameSettings.getKeyDisplayString(key1.func_151463_i())).append(" to enable/disable this mod.)").toString(); if (membyte != null) { s = (new StringBuilder()).append("Mob Info: [").append(MobStatus.infoList()).append("]\n").toString(); s = (new StringBuilder()).append(s).append("At Coords: X: ").append((int)MobStatus.cur_posX).append(" Y: ").append((int)MobStatus.cur_posY).append(" Z: ").append((int)MobStatus.cur_posZ).append("\n").toString(); EntityPlayerSP entityplayersp = minecraft.thePlayer; if (entityplayersp != null) { s = (new StringBuilder()).append(s).append("X~Away: ").append((int)(MobStatus.cur_posX - ((EntityPlayer)(entityplayersp)).posX)).append(" Y~Away: ").append((int)(MobStatus.cur_posY - ((EntityPlayer)(entityplayersp)).posY)).append(" Z~Away: ").append((int)(MobStatus.cur_posZ - ((EntityPlayer)(entityplayersp)).posZ)).toString(); } } int i = 0; byte byte0 = 7; String as[] = s.split("\n"); int j = as.length; int k = 0; do { if (k >= j) { break; } String s1 = as[k]; if (++i > byte0) { break; } minecraft.fontRenderer.drawStringWithShadow(s1, 23, 10 + i * 10, 0xffffff); //[main error] k++; } while (true); canChangeSettings++; if (!coords) { return true; } if (minecraft.theWorld == null) { return true; } if (membyte2 != null && MobStatus.isMobDead) { MobStatus.curMob = null; } MobStatus.curMob = null; boolean flag = false; Iterator iterator = minecraft.theWorld.loadedEntityList.iterator(); do { if (!iterator.hasNext()) { break; } Object obj = iterator.next(); if (obj instanceof EntityMob) { if (MobStatus.curMob != null && obj.equals(MobStatus.cur_Mob)) { flag = true; } if (MobStatus.curMob == null || minecraft.thePlayer != null && minecraft.thePlayer.getDistanceToEntity((EntityMob)obj) < minecraft.thePlayer.getDistanceToEntity(MobStatus.curMob)) { MobStatus.curMob = (EntityMob)obj; } } } while (true); } return true; }
Event Registration [@Init]
@EventHandler public void preInit(FMLPreInitializationEvent event) { //MinecraftForge.EVENT_BUS.register(new WorldUpdateTick()); }
Crash Report:
java.lang.RuntimeException: No OpenGL context found in the current thread. at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124) at org.lwjgl.opengl.GL11.glEnable(GL11.java:1012) at net.minecraft.client.gui.FontRenderer.drawString(FontRenderer.java:245) at net.minecraft.client.gui.FontRenderer.drawStringWithShadow(FontRenderer.java:237) at com.coolboy4531.Tracker.doFunction(Tracker.java:115) at com.coolboy4531.WorldUpdateTick.onWorldTick(WorldUpdateTick.java:15) at cpw.mods.fml.common.eventhandler.ASMEventHandler_4_WorldUpdateTick_onWorldTick_WorldTickEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:39) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:108) at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:242) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:666) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:568) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:114) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:705)
Any help will be appreciated.
Thanks
-
I wonder if its a problem with 1.7.2's EnumChatFormatting (1.6.2 EnumChatFormatting works for me [tested too])
Have you tried using your own String Formatter?
Here try this for example:
public class StringHandler { public static String dark_black = "\u00a70"; public static String dark_blue = "\u00a71"; public static String dark_green = "\u00a72"; public static String dark_cyan = "\u00a73"; public static String dark_red = "\u00a74"; public static String dark_purple = "\u00a75"; public static String dark_yellow = "\u00a76"; public static String gray = "\u00a77"; public static String dark_gray = "\u00a78"; public static String blue = "\u00a79"; public static String green = "\u00a7A"; public static String cyan = "\u00a7B"; public static String red = "\u00a7C"; public static String purple = "\u00a7D"; public static String yellow = "\u00a7E"; public static String white = "\u00a7F"; }
Now, to use it:
StringHandler.red + ModInfo[0] + " (" + ModInfo[1] + ") is out of date! Please visit " + ModInfo[3] + " to get the latest version (" + ModInfo[2] +")";
Good luck
-
In EnumArmorMaterial, when decompiled you should find this.
DIAMOND(33, new int[]{3, 8, 6, 3}, 10);
The 2D array of int ( int[] ) is the amount of damage it reduces (gui on armor, damage reduction)
In others words,
{3, 8, 6, 3} is the Damage Reduction / GUI on armor.
Mess around with the code, and you shall find what changes what.
-
You could use a loop, and set all the blocks from your starting point as air, until it reaches the height of 255.
-
Have you tried adding the method a few more times to reset it?
Try this for example:
EnumChatFormatting.RED + ModInfo[0] + " (" + ModInfo[1] + ") is out of date! Please visit " + EnumChatFormatting.RED + ModInfo[3] + " to get the " + EnumChatFormatting.RED + "latest version (" + ModInfo[2] +")";
I don't know if it would work, because I have never had this issue before...
worth a try
-
1
Are you sure your texture is compatible with the TextureManager? If not, then it can't load the texture correctly.
2-
You have to create an new instance of EntityAICreeperSwell as EntityAICreeperSwell (inside the class) verifies the methods are owned by EntityCreeper.
Also, please put your code into pastebin/in spoilers/code, it swallows the whole entire page...
-
Maybe you can check if the Explosive is near water, and if it is remove the water block every tick, so it doesn't re-flow?
I've actually had the same problem with you, and eventually I gave up looking and just used this method.
Method (lost it, but can explain):
Get the entity location, and get x+1, y+1, z+1, x-1, y-1, z-1 or you can use loops, setBlock(0)
-
is there an event list for forge on 1.7.2? I can only find outdated ones, and I'm not the type of person who has toooooooooo much information about Forge.
-
[RESOLVED]
READ POST BELOW FOR INFORMATION.
-
You need to use gradle to compile it.
Open your build.gradle (with NotePad, NotePad++, etc.) and change these:
version="1.0" //ex: 2.6, 1.3 group="com.yourname.modid" //ex: (your package) com.example.example archivesBaseName="modid" //ex: ExampleMod
After that... save it and quit out of build.gradle.
You now need to compile it.
Use (cmd for Windows) (terminal -- I believe -- for Mac OSX)
gradlew.bat build
Be sure your extension goes to where you gradlew.bat is (aka your Forge folder or MCP)
[solved] [1.7] How do you color item names?
in Modder Support
Posted
Hmm. I did this before.
For example in the English lang file:
If you save that to:
It turns to green and should work.
Use that as an example for your item.
Aids:
http://minecraft.gamepedia.com/Formatting_codes
Just be sure to use UTF-8.