Abastro
-
Posts
1075 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Abastro
-
-
No, you should convert them to matrix and multiply them.
-
You simply can't.
Since quaternion cannot represent a coordinate system, you need something with more data than that, like Matrix.
In OpenGL, (0,1,0,yaw) and (1,0,0,pitch) is changed into matrix form, and multiplied.
-
Make your own button using GuiButton.
Its code will tell you how to texture the button
-
Then you can use custom blockstate for that.
-
"hey I have a problem and cant figure out how to solve it"
"oh I guess u would love to hear that I know all your code and can fix ur problem in no time"
"oh man thats great!"
guess what? we dont know ur code sadly
please show ur code and tell us how u know the values are lost and how u are accessing it
Actually he provided all of this code using Github:
My code is here on GitHub, any help/advice that anyone can offer would be greatly appreciated.
-
If you do not use metadata or TileEntity, every block would have same texture. Is that okay?
-
So is it not a problem of client-server syncing?
-
Thanks, it worked well.
-
So Is DimensionManager for new dimensions?
(EDIT: the provider field is final, so I should use Reflection. But that's okay)
-
Would that work properly?
Oh I really hadn't thought about it; I must be fool. I thought I really cannot change the provider field.
-
You might use TickEvent with Type.Render
As I know, there is no way to render blocks in unloaded chunk without that.
-
Till this time, there were no mods discovered incompatible without Optifine.
Even terrafirmacraft is compatible in this version.
And I should replace overworld provider just to change the celestial angle.
(I really hate this way, and I want some PR but I strongly doubt that these kind of PR can be accepted)
-
Anyway, there is currently 2 model systems:
1. Json models, for blocks/items
2. Entity models for entities
Armor is special, since it is basically item but can be worn by entities.
So it has Json model as item,
and Entity model as armor worn by entity.
-
Maybe this can be client server sync issue.
I think you should call World#markBlockUpdate on readFromNBT. (I solved similar problem in this way)
-
On postInit, I do this:
for(Side side : Side.values()) StellarWorldProvider.preProviders[side.ordinal()] = DimensionManager.createProviderFor(0); DimensionManager.unregisterDimension(0); DimensionManager.unregisterProviderType(0); DimensionManager.registerProviderType(0, StellarWorldProvider.class, true); DimensionManager.registerDimension(0, 0);
When StellarWorldProvider is my own provider overlapping the existing provider.
preProviders are the original providers registered in the DimensionManager.
These are how I use preProviders:
@Override protected void registerWorldChunkManager() { this.parProvider = worldObj.isRemote? preProviders[0] : preProviders[1]; parProvider.setDimension(this.dimensionId); parProvider.registerWorld(this.worldObj); this.worldChunkMgr = parProvider.worldChunkMgr; }
Most of StellarWorldProvider's methods just calls the same method of preProviders.
Only these are different:
@Override public float calculateCelestialAngle(long par1, float par3) { if(StellarSky.getManager().Earth.EcRPos == null) StellarSky.getManager().Update(par1+par3, isSurfaceWorld()); IValRef<EVector> sun = EVectorSet.ins(3).getSTemp(); sun.set(StellarSky.getManager().Sun.GetPosition()); sun.set(ExtinctionRefraction.Refraction(sun, true)); sun.set(VecMath.normalize(sun)); double h=Math.asin(VecMath.getZ(sun)); if(VecMath.getCoord(sun, 0).asDouble()<0) h=Math.PI-h; if(VecMath.getCoord(sun, 0).asDouble()>0 && h<0) h=h+2*Math.PI; sun.onUsed(); return (float)(Spmath.fmod((h/2/Math.PI)+0.75,2*Math.PI)); } @Override public int getMoonPhase(long par1) { if(StellarSky.getManager().Earth.EcRPos==null) StellarSky.getManager().Update(par1, isSurfaceWorld()); return (int)(StellarSky.getManager().Moon.Phase_Time()*; }
-
So forge_clj.core.ClojureAdapter does exist, but forge can't find the class?
It might be a problem with underbar(_), so try removing it.
-
Can you post console log? It would be so helpful.
-
Did you implement getDescriptionPacket and onDataPacket?
Then calling worldObj#markBlockForUpdate() from server will synchronize the block and update rendering.
-
That is event for naturally generated mobs.
I think you should use EntityJoinWorldEvent.
-
So you want to make it so that all blocks with the block type are unbreakable?
-
Oh; Just worldObj#markBlockForUpdate() worked for me.
It should update rendering.
-
I think you should have 2 mods for that.
first mod is java mod and contains ILanguageAdapter.
second mod is clojure mod loaded by first mod.
-
You should worldObj.markBlockForUpdate() with appropriate flag.
I think I used 3 and worked well.
-
It is not Json model format. It is just normal Entity model format.
(Especially It is net.minecraft.client.model.ModelBiped, which is for player)
See the player model format.
[1.8] How to manipulate textures for entities?
in Modder Support
Posted
I think you should register custom renderer for the entity.
You can process some GL calls in the Render#doRender(...), and call the original renderer's Render#doRender there.
And to change color, you can call GL11.glColor(r, g, b, alpha) or GL11.glColor(r, g, b).