gitextract_i5og_fva/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ └── feature-request.md │ └── workflows/ │ ├── gradle.yml │ ├── release.yml │ └── stale.yml ├── .gitignore ├── README.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── settings.gradle ├── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── direwolf20/ │ │ └── buildinggadgets/ │ │ ├── client/ │ │ │ ├── BuildingGadgetsJEI.java │ │ │ ├── ClientProxy.java │ │ │ ├── KeyBindings.java │ │ │ ├── OurSounds.java │ │ │ ├── cache/ │ │ │ │ ├── CacheTemplateProvider.java │ │ │ │ └── RemoteInventoryCache.java │ │ │ ├── events/ │ │ │ │ ├── EventKeyInput.java │ │ │ │ ├── EventRenderWorldLast.java │ │ │ │ └── EventTooltip.java │ │ │ ├── models/ │ │ │ │ └── ConstructionBakedModel.java │ │ │ ├── renderer/ │ │ │ │ ├── DireBufferBuilder.java │ │ │ │ ├── DireVertexBuffer.java │ │ │ │ ├── EffectBlockTER.java │ │ │ │ ├── MyRenderMethods.java │ │ │ │ ├── OurRenderTypes.java │ │ │ │ └── package-info.java │ │ │ ├── renders/ │ │ │ │ ├── BaseRenderer.java │ │ │ │ ├── BuildRender.java │ │ │ │ ├── CopyPasteRender.java │ │ │ │ └── DestructionRender.java │ │ │ └── screen/ │ │ │ ├── CopyGUI.java │ │ │ ├── DestructionGUI.java │ │ │ ├── GuiMod.java │ │ │ ├── MaterialListGUI.java │ │ │ ├── ModeRadialMenu.java │ │ │ ├── PasteGUI.java │ │ │ ├── ScrollingMaterialList.java │ │ │ ├── TemplateManagerGUI.java │ │ │ └── widgets/ │ │ │ ├── DireButton.java │ │ │ ├── EntryList.java │ │ │ ├── GuiIconActionable.java │ │ │ ├── GuiIncrementer.java │ │ │ ├── GuiTextFieldBase.java │ │ │ └── IncrementalSliderWidget.java │ │ └── common/ │ │ ├── BuildingGadgets.java │ │ ├── blocks/ │ │ │ ├── ConstructionBlock.java │ │ │ ├── ConstructionBlockDense.java │ │ │ ├── ConstructionBlockPowder.java │ │ │ ├── EffectBlock.java │ │ │ ├── OurBlocks.java │ │ │ └── TemplateManager.java │ │ ├── capability/ │ │ │ ├── CapabilityProviderEnergy.java │ │ │ ├── CapabilityTemplate.java │ │ │ ├── ConfigEnergyStorage.java │ │ │ ├── IPrivateEnergy.java │ │ │ ├── ItemEnergyForge.java │ │ │ ├── ItemTemplateKey.java │ │ │ ├── PasteContainerCapabilityProvider.java │ │ │ ├── PasteContainerItemHandler.java │ │ │ └── provider/ │ │ │ ├── MultiCapabilityProvider.java │ │ │ ├── TemplateKeyProvider.java │ │ │ └── TemplateProviderCapabilityProvider.java │ │ ├── commands/ │ │ │ ├── AllowPlayerOverrideManager.java │ │ │ ├── ForceUnloadedCommand.java │ │ │ ├── OverrideBuildSizeCommand.java │ │ │ └── OverrideCopySizeCommand.java │ │ ├── config/ │ │ │ ├── Config.java │ │ │ └── RecipeConstructionPaste.java │ │ ├── containers/ │ │ │ ├── BaseContainer.java │ │ │ ├── OurContainers.java │ │ │ └── TemplateManagerContainer.java │ │ ├── entities/ │ │ │ ├── ConstructionBlockEntity.java │ │ │ ├── ConstructionBlockEntityRender.java │ │ │ ├── EntityBase.java │ │ │ └── OurEntities.java │ │ ├── events/ │ │ │ ├── BreakEventHandler.java │ │ │ ├── ItemPickupHandler.java │ │ │ └── WorldTemplateProviderHandler.java │ │ ├── integration/ │ │ │ ├── IntegrationHandler.java │ │ │ └── RefinedStorage.java │ │ ├── items/ │ │ │ ├── AbstractGadget.java │ │ │ ├── ConstructionPaste.java │ │ │ ├── ConstructionPasteContainer.java │ │ │ ├── GadgetBuilding.java │ │ │ ├── GadgetCopyPaste.java │ │ │ ├── GadgetDestruction.java │ │ │ ├── GadgetExchanger.java │ │ │ ├── OurItems.java │ │ │ ├── TemplateItem.java │ │ │ └── modes/ │ │ │ ├── AbstractMode.java │ │ │ ├── BuildToMeMode.java │ │ │ ├── BuildingModes.java │ │ │ ├── ExchangingModes.java │ │ │ ├── GridMode.java │ │ │ ├── HorizontalColumnMode.java │ │ │ ├── HorizontalWallMode.java │ │ │ ├── StairMode.java │ │ │ ├── SurfaceMode.java │ │ │ ├── VerticalColumnMode.java │ │ │ ├── VerticalWallMode.java │ │ │ └── XYZ.java │ │ ├── network/ │ │ │ ├── PacketHandler.java │ │ │ ├── packets/ │ │ │ │ ├── PacketAnchor.java │ │ │ │ ├── PacketBindTool.java │ │ │ │ ├── PacketChangeRange.java │ │ │ │ ├── PacketCopyCoords.java │ │ │ │ ├── PacketDestructionGUI.java │ │ │ │ ├── PacketPasteGUI.java │ │ │ │ ├── PacketRequestTemplate.java │ │ │ │ ├── PacketRotateMirror.java │ │ │ │ ├── PacketSetRemoteInventoryCache.java │ │ │ │ ├── PacketTemplateManagerTemplateCreated.java │ │ │ │ ├── PacketToggleBlockPlacement.java │ │ │ │ ├── PacketToggleConnectedArea.java │ │ │ │ ├── PacketToggleFluidOnly.java │ │ │ │ ├── PacketToggleFuzzy.java │ │ │ │ ├── PacketToggleMode.java │ │ │ │ ├── PacketToggleRayTraceFluid.java │ │ │ │ ├── PacketUndo.java │ │ │ │ ├── SplitPacketUpdateTemplate.java │ │ │ │ └── UUIDPacket.java │ │ │ └── split/ │ │ │ ├── PacketDecoder.java │ │ │ ├── PacketEncoder.java │ │ │ ├── PacketSplitManager.java │ │ │ └── SplitPacket.java │ │ ├── tainted/ │ │ │ ├── Tainted.java │ │ │ ├── building/ │ │ │ │ ├── BlockData.java │ │ │ │ ├── PlacementChecker.java │ │ │ │ ├── PlacementTarget.java │ │ │ │ ├── Region.java │ │ │ │ ├── package-info.java │ │ │ │ ├── placement/ │ │ │ │ │ └── ConnectedSurface.java │ │ │ │ ├── tilesupport/ │ │ │ │ │ ├── ITileDataFactory.java │ │ │ │ │ ├── ITileDataProvider.java │ │ │ │ │ ├── ITileDataSerializer.java │ │ │ │ │ ├── ITileEntityData.java │ │ │ │ │ ├── NBTTileEntityData.java │ │ │ │ │ ├── TileSupport.java │ │ │ │ │ └── package-info.java │ │ │ │ └── view/ │ │ │ │ ├── BuildContext.java │ │ │ │ ├── IBuildView.java │ │ │ │ ├── PositionalBuildView.java │ │ │ │ ├── WorldBuildView.java │ │ │ │ └── package-info.java │ │ │ ├── concurrent/ │ │ │ │ ├── CopyScheduler.java │ │ │ │ ├── PlacementScheduler.java │ │ │ │ ├── ServerTickingScheduler.java │ │ │ │ ├── SteppedScheduler.java │ │ │ │ └── UndoScheduler.java │ │ │ ├── inventory/ │ │ │ │ ├── CreativeItemIndex.java │ │ │ │ ├── HandlerInsertProvider.java │ │ │ │ ├── IInsertProvider.java │ │ │ │ ├── IItemIndex.java │ │ │ │ ├── InventoryHelper.java │ │ │ │ ├── InventoryLinker.java │ │ │ │ ├── MatchResult.java │ │ │ │ ├── PlayerInventoryInsertProvider.java │ │ │ │ ├── PlayerItemIndex.java │ │ │ │ ├── RecordingItemIndex.java │ │ │ │ ├── handle/ │ │ │ │ │ ├── IHandleProvider.java │ │ │ │ │ ├── IObjectHandle.java │ │ │ │ │ ├── ItemHandlerProvider.java │ │ │ │ │ └── StackHandlerItemHandle.java │ │ │ │ └── materials/ │ │ │ │ ├── AndMaterialListEntry.java │ │ │ │ ├── MaterialList.java │ │ │ │ ├── MaterialListEntry.java │ │ │ │ ├── OrMaterialListEntry.java │ │ │ │ ├── SimpleMaterialListEntry.java │ │ │ │ ├── SubMaterialListEntry.java │ │ │ │ ├── objects/ │ │ │ │ │ ├── IUniqueObject.java │ │ │ │ │ ├── IUniqueObjectSerializer.java │ │ │ │ │ └── UniqueItem.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── registry/ │ │ │ │ ├── ImmutableOrderedRegistry.java │ │ │ │ ├── Registries.java │ │ │ │ ├── TopologicalRegistryBuilder.java │ │ │ │ └── package-info.java │ │ │ ├── save/ │ │ │ │ ├── SaveManager.java │ │ │ │ ├── SaveTemplateProvider.java │ │ │ │ ├── TemplateSave.java │ │ │ │ ├── TimedDataSave.java │ │ │ │ ├── Undo.java │ │ │ │ ├── UndoHistory.java │ │ │ │ └── UndoWorldSave.java │ │ │ └── template/ │ │ │ ├── ITemplateKey.java │ │ │ ├── ITemplateProvider.java │ │ │ ├── InMemoryTemplateProvider.java │ │ │ ├── SerialisationSupport.java │ │ │ ├── Template.java │ │ │ ├── TemplateHeader.java │ │ │ ├── TemplateIO.java │ │ │ ├── TemplateKey.java │ │ │ └── package-info.java │ │ ├── tileentities/ │ │ │ ├── ConstructionBlockTileEntity.java │ │ │ ├── EffectBlockTileEntity.java │ │ │ ├── OurTileEntities.java │ │ │ └── TemplateManagerTileEntity.java │ │ ├── util/ │ │ │ ├── Additions.java │ │ │ ├── CommonUtils.java │ │ │ ├── GadgetUtils.java │ │ │ ├── compression/ │ │ │ │ ├── DataCompressor.java │ │ │ │ ├── DataDecompressor.java │ │ │ │ └── package-info.java │ │ │ ├── exceptions/ │ │ │ │ ├── CapabilityNotPresentException.java │ │ │ │ ├── TemplateParseException.java │ │ │ │ ├── TemplateReadException.java │ │ │ │ ├── TemplateWriteException.java │ │ │ │ └── package-info.java │ │ │ ├── helpers/ │ │ │ │ ├── NBTHelper.java │ │ │ │ └── VectorHelper.java │ │ │ ├── lang/ │ │ │ │ ├── CommandTranslation.java │ │ │ │ ├── GuiTranslation.java │ │ │ │ ├── ITranslationProvider.java │ │ │ │ ├── LangUtil.java │ │ │ │ ├── MaterialListTranslation.java │ │ │ │ ├── MessageTranslation.java │ │ │ │ ├── ModeTranslation.java │ │ │ │ ├── RadialTranslation.java │ │ │ │ ├── Styles.java │ │ │ │ ├── TooltipTranslation.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── ref/ │ │ │ │ ├── JsonKeys.java │ │ │ │ ├── NBTKeys.java │ │ │ │ └── Reference.java │ │ │ ├── spliterator/ │ │ │ │ ├── DelegatingSpliterator.java │ │ │ │ └── MappingSpliterator.java │ │ │ └── tools/ │ │ │ ├── JsonBiDiSerializer.java │ │ │ ├── MathUtils.java │ │ │ ├── NetworkIO.java │ │ │ ├── RegistryUtils.java │ │ │ └── SimulateEnergyStorage.java │ │ └── world/ │ │ ├── MockBuilderWorld.java │ │ ├── MockDelegationWorld.java │ │ └── MockTileEntityRenderWorld.java │ └── resources/ │ ├── META-INF/ │ │ ├── accesstransformer.cfg │ │ └── mods.toml │ ├── assets/ │ │ └── buildinggadgets/ │ │ ├── blockstates/ │ │ │ ├── blank_const_block.json │ │ │ ├── construction_block.json │ │ │ ├── construction_block_dense.json │ │ │ ├── construction_block_powder.json │ │ │ ├── constructionblock_dense.json │ │ │ ├── effect_block.json │ │ │ └── template_manager.json │ │ ├── lang/ │ │ │ ├── de_de.json │ │ │ ├── en_us.json │ │ │ ├── es_es.json │ │ │ ├── fr_fr.json │ │ │ ├── ja_jp.json │ │ │ ├── no_no.json │ │ │ ├── pl_pl.json │ │ │ ├── pt_br.json │ │ │ ├── ru_RU.json │ │ │ ├── uk_ua.json │ │ │ ├── zh_cn.json │ │ │ └── zh_tw.json │ │ ├── models/ │ │ │ ├── block/ │ │ │ │ ├── blank_const_block.json │ │ │ │ ├── construction_block.json │ │ │ │ ├── construction_block_dense.json │ │ │ │ ├── construction_block_powder.json │ │ │ │ ├── constructionblock_dense.json │ │ │ │ ├── effect_block.json │ │ │ │ ├── orientable.json │ │ │ │ └── template_manager.json │ │ │ └── item/ │ │ │ ├── construction_block.json │ │ │ ├── construction_block_dense.json │ │ │ ├── construction_block_powder.json │ │ │ ├── construction_chunk_dense.json │ │ │ ├── construction_paste.json │ │ │ ├── construction_paste_container_creative.json │ │ │ ├── construction_paste_container_t1.json │ │ │ ├── construction_paste_container_t1_3quarter.json │ │ │ ├── construction_paste_container_t1_full.json │ │ │ ├── construction_paste_container_t1_half.json │ │ │ ├── construction_paste_container_t1_quarter.json │ │ │ ├── construction_paste_container_t2.json │ │ │ ├── construction_paste_container_t2_3quarter.json │ │ │ ├── construction_paste_container_t2_full.json │ │ │ ├── construction_paste_container_t2_half.json │ │ │ ├── construction_paste_container_t2_quarter.json │ │ │ ├── construction_paste_container_t3.json │ │ │ ├── construction_paste_container_t3_3quarter.json │ │ │ ├── construction_paste_container_t3_full.json │ │ │ ├── construction_paste_container_t3_half.json │ │ │ ├── construction_paste_container_t3_quarter.json │ │ │ ├── effect_block.json │ │ │ ├── gadget_building.json │ │ │ ├── gadget_copy_paste.json │ │ │ ├── gadget_destruction.json │ │ │ ├── gadget_exchanging.json │ │ │ ├── template.json │ │ │ └── template_manager.json │ │ ├── sounds/ │ │ │ └── beep.ogg │ │ └── sounds.json │ ├── data/ │ │ ├── buildinggadgets/ │ │ │ ├── loot_tables/ │ │ │ │ └── blocks/ │ │ │ │ ├── construction_block.json │ │ │ │ ├── construction_block_dense.json │ │ │ │ ├── construction_block_powder.json │ │ │ │ └── template_manager.json │ │ │ ├── recipes/ │ │ │ │ ├── construction_paste_container.json │ │ │ │ ├── construction_paste_container_t2.json │ │ │ │ ├── construction_paste_container_t3.json │ │ │ │ ├── construction_paste_powder.json │ │ │ │ ├── gadget_building.json │ │ │ │ ├── gadget_copy_paste.json │ │ │ │ ├── gadget_destruction.json │ │ │ │ ├── gadget_exchanging.json │ │ │ │ └── template_manager.json │ │ │ └── tags/ │ │ │ ├── blocks/ │ │ │ │ ├── blacklist/ │ │ │ │ │ ├── building.json │ │ │ │ │ ├── copy_paste.json │ │ │ │ │ ├── destruction.json │ │ │ │ │ ├── exchanging.json │ │ │ │ │ └── generic.json │ │ │ │ └── whitelist/ │ │ │ │ ├── building.json │ │ │ │ ├── copy_paste.json │ │ │ │ ├── destruction.json │ │ │ │ ├── exchanging.json │ │ │ │ └── generic.json │ │ │ └── items/ │ │ │ └── template_convertible.json │ │ └── create/ │ │ └── recipes/ │ │ ├── crushing/ │ │ │ └── dense_construction_block.json │ │ ├── milling/ │ │ │ └── dense_construction_block.json │ │ └── washing/ │ │ └── construction_paste.json │ └── pack.mcmeta └── update.json