Conversation
- MovingObjectPosition.hitVec in onItemUse made consistent - more reliable entity collision avoidance on block placement - added exact copy/extrude mode - added Scribe offhand item - to change the wand mode to copy - placing blocks now using tryPlaceItemIntoWorld that correctly hooks to Forge - decrement blocks AFTER successful placing into the world
… of must match blockID
|
|
I'll respond to more of this in full later but just RE:
Being standalone/compatible outside nh doesn't mean the mod can't have nh-exclusive features. Though I do think we should add a trowel replacement to UiE and remove GT5's trowel, because there's no reason for that to be a metageneratedtool with durability and craftable out of every material. |
That makes sense, and UiE trowel would sit nicely side by side with the Scribe. I've since found that some ArchitectureCraft shapes still fail to copy their orientation, which stays only in the TileEntity. So I added AC as a soft dependency, next to the existing ones. Is that okay? It seems reasonable, since the BuildersWand is exactly what you'd reach for with a building mod like AC. The integration also lets cladding be optionally applied on placement (cladding = the secondary material you "paint" a shape block with). |
|
Soft dependencies for mod compat are always ok with me. Only the hard dependencies I'm careful about |
Refactored BW to be easily extensible for other mods. Added ForgeMicroBlocks BuildersWand support. Added javadoc for BWCellHandler Renamed copy mode -> extrude mode
resolves #298
related to #288
Fixes
ChickenLibRayTraceris CodeChickenLib'sretraceBlockcopied verbatim (credited in the file), needed to get a MOP that carries the multipart part dataFeature: Wand extrude mode
Feature: Cell Handler API
IBWCellHandler- claim a cell, report what it costs, build itDefaultBWCellHandler, so plain blocks need no handlerblock.getPickBlock()functionality (AC has botched implementation for getPickBlock)EXTRUDETROWELOFFHAND_BLOCKCLICKED_BLOCKTested on
Points to discuss
Scribe:
[x] or use some item already in GTNH... though to be honest its kinda weird that the Guidelines speak of the UiE to be able to stand on its own, yet this nice trowel feature is gated behind GTNH... maybe worth adding UiE native trowel replacement IF gtnh is not present.some other item name entirelyOther:
currently, the surface in the copy mode is "anything in inventory", there might be a use case for copy only the block looked atextrude spreads over anything now, the inventory only decides what can be afforded. And copying just the block looked at became its own mode - empty offhand.Funny problem with copying
To preserve the rotation and whatnot, which does not get saved as "damage" into the itemStack, after placing, we apply
setblockmetadata(destPos,getmetadata(srcPos)). (Same as BetterBuildersWands)This is a slight problem for blocks that save something important to metadata, for example:
!getTickRandomly()before metadata copying)tldr; for mods that store the state in TE, its fine. This might introduce some inconsistency for mods relying on synced state between TE and metadata.
Currently in master the rotation preservation behavior is nearly random, resulting in correct rotation copying in some and wrong in other directions/blocks.