Cuberite Forum
Set frame by plugin - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Plugins (https://forum.cuberite.org/forum-1.html)
+--- Forum: Plugin Discussion (https://forum.cuberite.org/forum-8.html)
+--- Thread: Set frame by plugin (/thread-2305.html)



Set frame by plugin - DrMasik - 01-09-2016

I can not understand in any way as to set a frame on (X, Y, Z)
Please help meBlush


RE: Set frame by plugin - DrMasik - 01-16-2016

Any ideas?


RE: Set frame by plugin - xoft - 01-18-2016

I don't think there's an API for that yet. Sorry.


RE: Set frame by plugin - NiLSPACE - 01-18-2016

I believe there is: http://mc-server.xoft.cz/LuaAPI/cItemFrame.html

Or at least if that's the frame that you mean.

World:ForEachEntityInBox(cBoundingBox(X, X, Y, Y, Z, Z),
 function(a_Entity
  if (not a_Entity:IsItemFrame()) then
   return false
  end
  tolua.cast(a_Entity, "cItemFrame"):SetItem(MycItem)
 end
)



RE: Set frame by plugin - xoft - 01-19-2016

Oh, right, the server keeps surprising me, we're better than I expect Smile


RE: Set frame by plugin - DrMasik - 01-19-2016

Thank you. I'll try it.


RE: Set frame by plugin - DrMasik - 01-21-2016

(01-18-2016, 06:30 PM)NiLSPACE Wrote: I believe there is: http://mc-server.xoft.cz/LuaAPI/cItemFrame.html

Or at least if that's the frame that you mean.

World:ForEachEntityInBox(cBoundingBox(X, X, Y, Y, Z, Z),
 function(a_Entity
  if (not a_Entity:IsItemFrame()) then
   return false
  end
  tolua.cast(a_Entity, "cItemFrame"):SetItem(MycItem)
 end
)

Thank you. But, I want to install a lot of frames on the wall. Not items into frames.


RE: Set frame by plugin - NiLSPACE - 01-21-2016

Oh, I'm afraid we don't have an API to create those. It should be fairly easy to do. Just put this in a cWorld method. Something like this:
Uint32 cWorld:SpawnPainting(double a_PosX, double a_PosY, double a_PosZ, eBlockFace a_BlockFace, AString a_PaintingName)
{
	cPainting * Painting = new cPainting(a_PaintingName, a_BlockFace, a_PosX, a_PosY, a_PosZ);
	Painting->Initialize(*this);
	return Painting->GetUniqueID();
}