RANKSHANK
Members-
Posts
305 -
Joined
-
Last visited
Everything posted by RANKSHANK
-
looks like you forgot to pop a matrix
-
One tip about minecraft structure, It's scattered... arm rotation is a variable in EntityPlayer.swingProgress and EntityPlayer.prevSwingProgress, which is read in rendering by EntityPlayer.getSwingProgress(float f); float f being the partial tick
-
If you were experienced with coding you'd know the HUD is displayed last, after world rendering But to answer your question, the hand rendering, is actually in RenderPlayer.renderFirstPersonArm(). But the swing is handled in in ModelBiped
-
There are no entities in your @Mod file. only an import of EntityPlayer
-
What entity exactly?
-
Editing Player Class (Custom Player Class?)
RANKSHANK replied to FoxxCommand's topic in Modder Support
Just throwing my two cents in, You could create your own extension of EntityPlayerMP and use that to access values. I've done the same with my own extension of WorldServer so I could remove random block ticking and modify spawning layouts and a few other tweaks that can't be done in a world provider. However you'd have to wrap all of the spawned players, and accessing the variables which is a tad more intensive that physically setting a world. And then you would have the issue of accessing the values in a non EntityPlayerMP scenario. This is why forge is great. Also post your crash report -
Here you had 2 pre init voids... also added a logger that you should use to track your mod's initialization and errors
-
Eclipse has a server launcher, also you have the @Mod annotation and don't have a stray @SideOnly(Side.CLIENT) correct?
-
well first of all the three breaks is unnecessary label0: for(... for(.... for(....) if(....) break label0; also post the crash report please[/code]
-
you just set up an annotated field in the class body.... package extralarge; @Mod public class Foo{ @SidedProxy(clientSide = "extralarge.ClientProxy") public static CommonProxy proxy; }
-
re post your mod file with the changes
-
No ASM is not editing base classes per say, it is manipulating the bytecode at run time, injecting, removing, chaging values and whatnot... I've had little to no use for it, and default to reflection when i could use it, so mnn would have to help you with the how- and by subscribe I mean boolean shouldBlocksRender = true; @ForgeSubscribe public void renderCanceler(DrawBlockHighlightEvent e){ e.setCanceled(shouldBlocksRender); } and then register the class to the Event Bus
-
[SOLVED] Achievement Triggering Problems
RANKSHANK replied to ThaxxelGaming's topic in Modder Support
No you use Achievement a; EntityPlayer e; e.triggerAchievement(a); and don't register anything with modloader, that word shouldn't exist in any forge code because there are forge methods in place of all the modloader ones -
anywhere in the class body, these are static fields
-
That is supposed to be in your @Mod class
-
you need to have in your base file @SidedProxy(clientSide = "net.Elemental.src.ClientProxy") public static CommonProxy proxy; and then manually call registerRenderers(); in one of your init voids (heads up blocks and items should be initialized in the preinit phase) and also your instance is not Id'd @Instance(yourModID) public static ElementalBase instance;
-
Oww my head... You have no proxies and aren't registering the itemrender in them... only the class loader knows about the iterenderer
-
no. the vanilla based code in the mods are obfuscated and cannot be run in a deobfuscated environment
-
just appending to mmn's solution (he did all the work), you should subscirbe to the net.minecraftforge.client.event.DrawBlockHighlightEvent and set it to cancelled to remove the outlining of blocks, will give the illusion that they aren't there
-
Works if you don't have subtypes.... which I should have asked if you do in the first place, If it's your own Item you can do that without having a crafting listener being passed data constantly: public ItemStack getContainerItemStack(ItemStack i){ i.setItemDamage(i.getItemDamage()--); return i; } I also forgot to mention that you need to return true in public boolean hasContainerItem(){}
-
How are you spawning these darts? Usually there's a sided issue here, And is your code left in single line comments '//' at runtime? a few OCD comments Okay first of all your ModID must be the same as your InstanceID, you can and likely will run into problems later because of that GL11.glTranslatef you could just use glTranslated instead of casting to floats... Also, why are you using ModLoader functions? those are condemned in forge...
-
well biomes are ID'd and saved with the chunk data, So manipulating how chunks generate is just done by changing the set variable in your custom world generator, basically make them input a byte or array of bytes and restrict biome generation to these values if a biome with that Id exists
-
lets say you want to return a glass bottle: @Override public ItemStack getContainerItemStack(ItemStack i){ return new ItemStack(Item.glassBottle); }