├── .github └── ISSUE_TEMPLATE │ ├── bug.yml │ └── feature.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── React ├── .gitignore ├── .vscode │ └── settings.json ├── React.iml ├── React1.iml ├── bin │ └── main │ │ └── plugin.yml ├── build.gradle ├── gource.bat ├── gource │ ├── COPYING.txt │ ├── ChangeLog.txt │ ├── README.txt │ ├── SDL2.dll │ ├── SDL2_image.dll │ ├── THANKS.txt │ ├── cmd │ │ ├── gource │ │ └── gource.cmd │ ├── data │ │ ├── beam.png │ │ ├── bloom.tga │ │ ├── bloom_alpha.tga │ │ ├── file.png │ │ ├── fonts │ │ │ ├── FreeSans.ttf │ │ │ └── README.txt │ │ ├── gource.style │ │ ├── shaders │ │ │ ├── bloom.frag │ │ │ ├── bloom.vert │ │ │ ├── shadow.frag │ │ │ ├── shadow.vert │ │ │ ├── text.frag │ │ │ └── text.vert │ │ └── user.png │ ├── glew32.dll │ ├── gource.exe │ ├── libboost_filesystem-mt.dll │ ├── libbz2-1.dll │ ├── libfreetype-6.dll │ ├── libgcc_s_seh-1.dll │ ├── libglib-2.0-0.dll │ ├── libgraphite2.dll │ ├── libharfbuzz-0.dll │ ├── libiconv-2.dll │ ├── libintl-8.dll │ ├── libjpeg-8.dll │ ├── liblzma-5.dll │ ├── libpcre-1.dll │ ├── libpng16-16.dll │ ├── libstdc++-6.dll │ ├── libtiff-5.dll │ ├── libwebp-7.dll │ ├── libwinpthread-1.dll │ ├── libzstd.dll │ └── zlib1.dll ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── lombok.config ├── settings.gradle └── src │ └── main │ ├── java │ ├── art │ │ └── arcane │ │ │ └── edict │ │ │ ├── Edict.java │ │ │ ├── api │ │ │ ├── Confidence.java │ │ │ ├── SenderType.java │ │ │ ├── context │ │ │ │ ├── EdictContext.java │ │ │ │ └── EdictContextResolver.java │ │ │ ├── endpoint │ │ │ │ └── EdictEndpoint.java │ │ │ ├── field │ │ │ │ └── EdictField.java │ │ │ ├── input │ │ │ │ ├── EdictInput.java │ │ │ │ ├── EdictInputHolder.java │ │ │ │ ├── MappedEdictInputHolder.java │ │ │ │ ├── MappedInput.java │ │ │ │ ├── PositionalEdictInputHolder.java │ │ │ │ └── PositionalInput.java │ │ │ ├── parser │ │ │ │ ├── EdictParser.java │ │ │ │ ├── EdictValue.java │ │ │ │ ├── EnumeratedParser.java │ │ │ │ ├── SelectionParser.java │ │ │ │ └── Suggestive.java │ │ │ └── request │ │ │ │ ├── EdictFieldResponse.java │ │ │ │ ├── EdictRequest.java │ │ │ │ ├── EdictResponse.java │ │ │ │ └── Node.java │ │ │ └── content │ │ │ ├── context │ │ │ ├── ChunkContext.java │ │ │ ├── LocationContext.java │ │ │ ├── TargetBlockContext.java │ │ │ └── WorldContext.java │ │ │ └── parser │ │ │ ├── BlockDataParser.java │ │ │ ├── BlockFaceParser.java │ │ │ ├── BooleanParser.java │ │ │ ├── ByteParser.java │ │ │ ├── DoubleParser.java │ │ │ ├── EntityTypeParser.java │ │ │ ├── FloatParser.java │ │ │ ├── IntegerBinaryParser.java │ │ │ ├── IntegerHexParser.java │ │ │ ├── IntegerParser.java │ │ │ ├── LongParser.java │ │ │ ├── ParticleParser.java │ │ │ ├── PlayerParser.java │ │ │ ├── ShortParser.java │ │ │ ├── SoundParser.java │ │ │ ├── StringParser.java │ │ │ └── WorldParser.java │ └── com │ │ └── volmit │ │ └── react │ │ ├── React.java │ │ ├── api │ │ ├── action │ │ │ ├── Action.java │ │ │ ├── ActionParams.java │ │ │ ├── ActionTicket.java │ │ │ └── ReactAction.java │ │ ├── benchmark │ │ │ ├── CPUBenchmark.java │ │ │ ├── DriveBenchmark.java │ │ │ ├── Hastebin.java │ │ │ └── MemoryBenchmark.java │ │ ├── entity │ │ │ └── EntityPriority.java │ │ ├── event │ │ │ ├── NaughtyRegisteredListener.java │ │ │ ├── ReactCancellableEvent.java │ │ │ ├── ReactEvent.java │ │ │ └── layer │ │ │ │ ├── MinecartSpawnEvent.java │ │ │ │ └── ServerTickEvent.java │ │ ├── feature │ │ │ ├── Feature.java │ │ │ ├── ReactFeature.java │ │ │ └── ReactTickedFeature.java │ │ ├── monitor │ │ │ ├── ActionBarMonitor.java │ │ │ ├── MapMonitor.java │ │ │ ├── Monitor.java │ │ │ ├── PlayerMonitor.java │ │ │ ├── TickedMonitor.java │ │ │ └── configuration │ │ │ │ ├── MonitorConfiguration.java │ │ │ │ └── MonitorGroup.java │ │ ├── rendering │ │ │ ├── Graph.java │ │ │ ├── MapRendererPipe.java │ │ │ ├── ReactRenderContext.java │ │ │ ├── ReactRenderer.java │ │ │ └── RendererUnknown.java │ │ ├── sampler │ │ │ ├── ReactCachedRateSampler.java │ │ │ ├── ReactCachedSampler.java │ │ │ ├── ReactTickedSampler.java │ │ │ └── Sampler.java │ │ └── tweak │ │ │ ├── ReactTickedTweak.java │ │ │ ├── ReactTweak.java │ │ │ └── Tweak.java │ │ ├── content │ │ ├── PAPI │ │ │ └── PapiExpansion.java │ │ ├── action │ │ │ ├── ActionCollectGarbage.java │ │ │ ├── ActionPurgeChunks.java │ │ │ ├── ActionPurgeEntities.java │ │ │ └── ActionUnknown.java │ │ ├── command │ │ │ ├── CommandReact.java │ │ │ └── parser │ │ │ │ ├── ActionParser.java │ │ │ │ ├── FeatureParser.java │ │ │ │ ├── RendererParser.java │ │ │ │ ├── SamplerParser.java │ │ │ │ └── TweakParser.java │ │ ├── decreecommand │ │ │ ├── CommandAction.java │ │ │ ├── CommandBenchmark.java │ │ │ ├── CommandChunk.java │ │ │ ├── CommandConfig.java │ │ │ ├── CommandDebug.java │ │ │ ├── CommandEnvironment.java │ │ │ └── CommandReact.java │ │ ├── feature │ │ │ ├── FeatureChunkSamplerMap.java │ │ │ ├── FeatureCircuitManager.java │ │ │ ├── FeatureDynamicViewDistance.java │ │ │ ├── FeatureEntityTrimmer.java │ │ │ ├── FeatureFastExplosions.java │ │ │ ├── FeatureFastLeafDecay.java │ │ │ ├── FeatureItemSuperStacker.java │ │ │ ├── FeatureMinecartTether.java │ │ │ ├── FeatureMobStacking.java │ │ │ └── FeatureUnknown.java │ │ ├── sampler │ │ │ ├── SamplerChunks.java │ │ │ ├── SamplerChunksGenerated.java │ │ │ ├── SamplerChunksLoaded.java │ │ │ ├── SamplerEntities.java │ │ │ ├── SamplerEntitySpawns.java │ │ │ ├── SamplerEventHandlesPerTick.java │ │ │ ├── SamplerEventListeners.java │ │ │ ├── SamplerEventTime.java │ │ │ ├── SamplerFluidTickTime.java │ │ │ ├── SamplerFluidUpdates.java │ │ │ ├── SamplerHopperTickTime.java │ │ │ ├── SamplerHopperUpdates.java │ │ │ ├── SamplerMemoryFree.java │ │ │ ├── SamplerMemoryGarbage.java │ │ │ ├── SamplerMemoryPressure.java │ │ │ ├── SamplerMemoryUsed.java │ │ │ ├── SamplerMemoryUsedAfterGC.java │ │ │ ├── SamplerPhysicsTickTime.java │ │ │ ├── SamplerPhysicsUpdates.java │ │ │ ├── SamplerPlayers.java │ │ │ ├── SamplerProcessorOutsideLoad.java │ │ │ ├── SamplerProcessorProcessLoad.java │ │ │ ├── SamplerProcessorSystemLoad.java │ │ │ ├── SamplerReactAsyncTickTime.java │ │ │ ├── SamplerReactJobBudget.java │ │ │ ├── SamplerReactJobQueueTime.java │ │ │ ├── SamplerReactJobsQueue.java │ │ │ ├── SamplerReactSyncTickTime.java │ │ │ ├── SamplerRedstoneTickTime.java │ │ │ ├── SamplerRedstoneUpdates.java │ │ │ ├── SamplerTickTime.java │ │ │ ├── SamplerTicksPerSecond.java │ │ │ └── SamplerUnknown.java │ │ └── tweak │ │ │ ├── TweakEntityBubbler.java │ │ │ ├── TweakEntityCrowdPrevention.java │ │ │ ├── TweakEntityHardstop.java │ │ │ ├── TweakFastColumns.java │ │ │ ├── TweakFastDrops.java │ │ │ ├── TweakFastEntityIncineration.java │ │ │ ├── TweakFastFallingBlocks.java │ │ │ ├── TweakFastFire.java │ │ │ ├── TweakFastSnow.java │ │ │ ├── TweakHopperLimit.java │ │ │ ├── TweakReloadConfirm.java │ │ │ ├── TweakServerHibernator.java │ │ │ └── TweakUnknown.java │ │ ├── core │ │ ├── NMS.java │ │ ├── controller │ │ │ ├── ActionController.java │ │ │ ├── DecreeCommandController.java │ │ │ ├── EdictCommandController.java │ │ │ ├── EntityController.java │ │ │ ├── EventController.java │ │ │ ├── FeatureController.java │ │ │ ├── JobController.java │ │ │ ├── MapController.java │ │ │ ├── ObserverController.java │ │ │ ├── PlayerController.java │ │ │ ├── SampleController.java │ │ │ └── TweakController.java │ │ └── gui │ │ │ ├── ColorPickerGUI.java │ │ │ ├── Guis.java │ │ │ ├── MonitorConfigGUI.java │ │ │ ├── SamplerGUI.java │ │ │ └── TextInputGui.java │ │ ├── model │ │ ├── AreaActionParams.java │ │ ├── Circuit.java │ │ ├── CircuitServer.java │ │ ├── CircuitWorld.java │ │ ├── FilterParams.java │ │ ├── MinMax.java │ │ ├── PlayerSettings.java │ │ ├── ReactConfiguration.java │ │ ├── ReactEntity.java │ │ ├── ReactPlayer.java │ │ ├── ReactRemoteUser.java │ │ ├── SampledChunk.java │ │ ├── SampledServer.java │ │ └── SampledWorld.java │ │ └── util │ │ ├── api │ │ ├── APIAwareBlock.java │ │ └── APIWorldBlock.java │ │ ├── atomics │ │ ├── AsyncRequest.java │ │ ├── AtomicAverage.java │ │ └── AtomicRollingSequence.java │ │ ├── board │ │ ├── Board.java │ │ ├── BoardEntry.java │ │ ├── BoardManager.java │ │ ├── BoardProvider.java │ │ ├── BoardSettings.java │ │ ├── BoardUpdateTask.java │ │ └── ScoreDirection.java │ │ ├── cache │ │ ├── AtomicCache.java │ │ ├── Cache.java │ │ ├── ChunkCache2D.java │ │ └── WorldCache2D.java │ │ ├── collection │ │ ├── GBiset.java │ │ ├── GListAdapter.java │ │ ├── KList.java │ │ ├── KMap.java │ │ ├── KSet.java │ │ ├── KeyPair.java │ │ └── StateList.java │ │ ├── data │ │ ├── B.java │ │ ├── ChunkCache.java │ │ ├── ComplexCache.java │ │ ├── Cuboid.java │ │ ├── CuboidException.java │ │ ├── DUTF.java │ │ ├── DataPalette.java │ │ ├── Dimension.java │ │ ├── DimensionFace.java │ │ ├── DoubleArrayUtils.java │ │ ├── Heafty.java │ │ ├── HeightMap.java │ │ ├── IOAdapter.java │ │ ├── InvertedBiomeGrid.java │ │ ├── IrisBiomeStorage.java │ │ ├── KCache.java │ │ ├── MaterialBlock.java │ │ ├── NibbleArray.java │ │ ├── NibbleDataPalette.java │ │ ├── Recycler.java │ │ ├── Shrinkwrap.java │ │ ├── TinyColor.java │ │ ├── VanillaBiomeMap.java │ │ ├── Varint.java │ │ ├── WeightMap.java │ │ ├── WeightedRandom.java │ │ └── Writable.java │ │ ├── decree │ │ ├── DecreeContext.java │ │ ├── DecreeContextHandler.java │ │ ├── DecreeExecutor.java │ │ ├── DecreeNode.java │ │ ├── DecreeOrigin.java │ │ ├── DecreeParameter.java │ │ ├── DecreeParameterHandler.java │ │ ├── DecreeSystem.java │ │ ├── annotations │ │ │ ├── Decree.java │ │ │ └── Param.java │ │ ├── context │ │ │ └── WorldContextHandler.java │ │ ├── exceptions │ │ │ └── DecreeParsingException.java │ │ ├── handlers │ │ │ ├── BlockVectorHandler.java │ │ │ ├── BooleanHandler.java │ │ │ ├── ByteHandler.java │ │ │ ├── DoubleHandler.java │ │ │ ├── FloatHandler.java │ │ │ ├── IntegerHandler.java │ │ │ ├── LongHandler.java │ │ │ ├── OptionalWorldHandler.java │ │ │ ├── PlayerHandler.java │ │ │ ├── ReactRendererHandler.java │ │ │ ├── ShortHandler.java │ │ │ ├── StringHandler.java │ │ │ ├── VectorHandler.java │ │ │ └── WorldHandler.java │ │ ├── specialhandlers │ │ │ └── DummyHandler.java │ │ └── virtual │ │ │ └── VirtualDecreeCommand.java │ │ ├── documentation │ │ ├── BlockCoordinates.java │ │ ├── ChunkCoordinates.java │ │ ├── ChunkRelativeBlockCoordinates.java │ │ └── RegionCoordinates.java │ │ ├── exceptions │ │ ├── IrisException.java │ │ └── MissingDimensionException.java │ │ ├── format │ │ ├── C.java │ │ ├── Form.java │ │ └── MemoryMonitor.java │ │ ├── function │ │ ├── Consumer2.java │ │ ├── Consumer2IO.java │ │ ├── Consumer3.java │ │ ├── Consumer4.java │ │ ├── Consumer4IO.java │ │ ├── Consumer5.java │ │ ├── Consumer6.java │ │ ├── Consumer8.java │ │ ├── Function2.java │ │ ├── Function3.java │ │ ├── Function4.java │ │ ├── NastyFunction.java │ │ ├── NastyFuture.java │ │ ├── NastyRunnable.java │ │ ├── NastySupplier.java │ │ ├── NoiseInjector.java │ │ ├── NoiseProvider.java │ │ ├── NoiseProvider3.java │ │ ├── Supplier2.java │ │ ├── Supplier3.java │ │ └── Supplier3R.java │ │ ├── hardware │ │ └── getHardware.java │ │ ├── inventorygui │ │ ├── CustomUIElement.java │ │ ├── Element.java │ │ ├── ElementEvent.java │ │ ├── RandomColor.java │ │ ├── UIElement.java │ │ ├── UIStaticDecorator.java │ │ ├── UIVoidDecorator.java │ │ ├── UIWindow.java │ │ ├── Window.java │ │ ├── WindowDecorator.java │ │ └── WindowResolution.java │ │ ├── io │ │ ├── Converter.java │ │ ├── CustomOutputStream.java │ │ ├── FileWatcher.java │ │ ├── FolderWatcher.java │ │ ├── IO.java │ │ ├── IORunnable.java │ │ ├── InstanceState.java │ │ ├── JarScanner.java │ │ ├── ReactiveFolder.java │ │ └── VoidOutputStream.java │ │ ├── json │ │ ├── HTTP.java │ │ ├── HTTPTokener.java │ │ ├── JSONArray.java │ │ ├── JSONException.java │ │ ├── JSONML.java │ │ ├── JSONObject.java │ │ ├── JSONString.java │ │ ├── JSONStringer.java │ │ ├── JSONTokener.java │ │ ├── JSONWriter.java │ │ ├── XML.java │ │ └── XMLTokener.java │ │ ├── math │ │ ├── AlignedPoint.java │ │ ├── ApproachingValue.java │ │ ├── Average.java │ │ ├── BlockPosition.java │ │ ├── CDou.java │ │ ├── DOP.java │ │ ├── Direction.java │ │ ├── FinalInteger.java │ │ ├── INode.java │ │ ├── IrisMathHelper.java │ │ ├── KochanekBartelsInterpolation.java │ │ ├── M.java │ │ ├── MathHelper.java │ │ ├── PathInterpolation.java │ │ ├── Point3d.java │ │ ├── Point3f.java │ │ ├── Point4d.java │ │ ├── Point4f.java │ │ ├── Position2.java │ │ ├── RNG.java │ │ ├── RollingSequence.java │ │ ├── Spiral.java │ │ ├── Spiraled.java │ │ ├── Spiraler.java │ │ ├── Tuple2d.java │ │ ├── Tuple2f.java │ │ ├── Tuple3d.java │ │ ├── Tuple3f.java │ │ ├── Tuple4d.java │ │ ├── Tuple4f.java │ │ ├── VecMathUtil.java │ │ ├── Vector2d.java │ │ ├── Vector2f.java │ │ ├── Vector3d.java │ │ ├── Vector3f.java │ │ └── VectorMath.java │ │ ├── network │ │ ├── DL.java │ │ ├── DownloadException.java │ │ ├── DownloadMonitor.java │ │ ├── MeteredInputStream.java │ │ └── MeteredOutputStream.java │ │ ├── particle │ │ ├── FastParticle.java │ │ ├── FastReflection.java │ │ ├── ParticleSender.java │ │ ├── ParticleSenderLegacy.java │ │ └── ParticleType.java │ │ ├── plugin │ │ ├── CancellableTask.java │ │ ├── Chunks.java │ │ ├── Command.java │ │ ├── CommandDummy.java │ │ ├── Control.java │ │ ├── Controller.java │ │ ├── ICommand.java │ │ ├── IController.java │ │ ├── Instance.java │ │ ├── Metrics.java │ │ ├── MetricsLite.java │ │ ├── MortarCommand.java │ │ ├── MortarPermission.java │ │ ├── Permission.java │ │ ├── PluginRegistry.java │ │ ├── PluginRegistryGroup.java │ │ ├── RouterCommand.java │ │ ├── SplashScreen.java │ │ ├── VirtualCommand.java │ │ ├── VolmitPlugin.java │ │ └── VolmitSender.java │ │ ├── reflect │ │ ├── Platform.java │ │ ├── ShadeFix.java │ │ ├── ThreadUtilizationMonitor.java │ │ ├── V.java │ │ └── Violator.java │ │ ├── registry │ │ ├── Registered.java │ │ └── Registry.java │ │ ├── scheduling │ │ ├── AR.java │ │ ├── Callback.java │ │ ├── Contained.java │ │ ├── GroupedExecutor.java │ │ ├── IrisLock.java │ │ ├── J.java │ │ ├── Looper.java │ │ ├── O.java │ │ ├── Observable.java │ │ ├── Observer.java │ │ ├── Queue.java │ │ ├── QueueExecutor.java │ │ ├── S.java │ │ ├── SR.java │ │ ├── ShurikenQueue.java │ │ ├── Switch.java │ │ ├── TaskExecutor.java │ │ ├── ThreadMonitor.java │ │ ├── Ticked.java │ │ ├── TickedObject.java │ │ ├── Ticker.java │ │ └── Wrapper.java │ │ ├── value │ │ ├── MaterialCount.java │ │ ├── MaterialRecipe.java │ │ └── MaterialValue.java │ │ └── world │ │ ├── BundleUtils.java │ │ ├── ChainedColumn.java │ │ ├── CustomMobChecker.java │ │ ├── EntityKiller.java │ │ └── FastWorld.java │ └── resources │ └── plugin.yml └── react_remote ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── app │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── react_remote │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-v21 │ │ │ └── launch_background.xml │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-night │ │ │ └── styles.xml │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── ios ├── .gitignore ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── LaunchImage.imageset │ │ ├── Contents.json │ │ ├── LaunchImage.png │ │ ├── LaunchImage@2x.png │ │ ├── LaunchImage@3x.png │ │ └── README.md │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib └── main.dart ├── linux ├── .gitignore ├── CMakeLists.txt ├── flutter │ ├── CMakeLists.txt │ ├── generated_plugin_registrant.cc │ ├── generated_plugin_registrant.h │ └── generated_plugins.cmake ├── main.cc ├── my_application.cc └── my_application.h ├── macos ├── .gitignore ├── Flutter │ ├── Flutter-Debug.xcconfig │ ├── Flutter-Release.xcconfig │ └── GeneratedPluginRegistrant.swift ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── app_icon_1024.png │ │ ├── app_icon_128.png │ │ ├── app_icon_16.png │ │ ├── app_icon_256.png │ │ ├── app_icon_32.png │ │ ├── app_icon_512.png │ │ └── app_icon_64.png │ ├── Base.lproj │ └── MainMenu.xib │ ├── Configs │ ├── AppInfo.xcconfig │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── Warnings.xcconfig │ ├── DebugProfile.entitlements │ ├── Info.plist │ ├── MainFlutterWindow.swift │ └── Release.entitlements ├── pubspec.lock ├── pubspec.yaml ├── web ├── favicon.png ├── icons │ ├── Icon-192.png │ ├── Icon-512.png │ ├── Icon-maskable-192.png │ └── Icon-maskable-512.png ├── index.html └── manifest.json └── windows ├── .gitignore ├── CMakeLists.txt ├── flutter ├── CMakeLists.txt ├── generated_plugin_registrant.cc ├── generated_plugin_registrant.h └── generated_plugins.cmake └── runner ├── CMakeLists.txt ├── Runner.rc ├── flutter_window.cpp ├── flutter_window.h ├── main.cpp ├── resource.h ├── resources └── app_icon.ico ├── runner.exe.manifest ├── utils.cpp ├── utils.h ├── win32_window.cpp └── win32_window.h /.github/ISSUE_TEMPLATE/feature.yml: -------------------------------------------------------------------------------- 1 | name: React Feature Request 2 | description: File a feature request for React. 3 | labels: [ feature ] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for taking the time to fill this out! 9 | If this does not work for you, feel free to use the [blank](https://github.com/VolmitSoftware/React/issues/new) format. 10 | - type: dropdown 11 | id: arc 12 | attributes: 13 | label: Adding, Removing, or Changing 14 | description: What are you doing 15 | options: 16 | - Adding 17 | - Removing 18 | - Changing 19 | validations: 20 | required: true 21 | - type: input 22 | id: atype 23 | attributes: 24 | label: Type of Modification 25 | description: What is it for? 26 | value: I want to ... 27 | validations: 28 | required: true 29 | - type: textarea 30 | id: desc 31 | attributes: 32 | label: What are you trying to modify 33 | description: Give as detailed of a description as you can for the modification that you want done (include pictures/Videos if applicable) 34 | value: The way I would implement this is ... 35 | validations: 36 | required: true 37 | - type: textarea 38 | id: alternative 39 | attributes: 40 | label: Alternatives 41 | description: What alternatives have you considered? 42 | value: plugins... commands... 43 | - type: markdown 44 | id: thanks 45 | attributes: 46 | value: "Thank you for filling out the form! We will be with you soon. Please do not ask support to review your report." 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .idea/ 3 | 4 | React/libs/ 5 | -------------------------------------------------------------------------------- /React/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .gradle/checksums/ 3 | 4 | *.class 5 | 6 | .gradle/6.3/fileHashes/ 7 | 8 | .gradle/6.3/executionHistory/ 9 | 10 | .gradle/6.3/javaCompile/ 11 | 12 | .gradle/buildOutputCleanup/ 13 | 14 | .idea/ 15 | 16 | release/ 17 | 18 | build/ 19 | 20 | .DS_Store 21 | 22 | .gradle/ 23 | -------------------------------------------------------------------------------- /React/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.compile.nullAnalysis.mode": "automatic" 3 | } -------------------------------------------------------------------------------- /React/React.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /React/React1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /React/bin/main/plugin.yml: -------------------------------------------------------------------------------- 1 | name: ${name} 2 | main: com.volmit.react.React 3 | version: ${version} 4 | authors: [ NextdoorPsycho, Cyberpwn ] 5 | api-version: ${apiversion} 6 | commands: 7 | react: 8 | aliases: [ re ] 9 | libraries: 10 | - net.kyori:adventure-text-minimessage:4.13.1 11 | - net.kyori:adventure-platform-bukkit:4.3.0 12 | - net.kyori:adventure-api:4.13.1 13 | - io.timeandspace:smoothie-map:2.0.2 14 | - it.unimi.dsi:fastutil:8.5.8 15 | - com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2 16 | - org.apache.commons:commons-lang3:3.12.0 17 | - com.google.code.gson:gson:2.10 18 | - org.zeroturnaround:zt-zip:1.15 19 | - org.bitbucket.mstrobel:procyon-core:0.6.0 20 | - org.bitbucket.mstrobel:procyon-compilertools:0.6.0 21 | - org.bitbucket.mstrobel:procyon-reflection:0.6.0 22 | - fr.inria.gforge.spoon:spoon-core:10.2.0 23 | - com.github.ben-manes.caffeine:caffeine:3.0.6 24 | - org.java-websocket:Java-WebSocket:1.5.3 25 | -------------------------------------------------------------------------------- /React/gource.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd gource 3 | gource -f -a 1 -s 0.01 -t 100000 --colour-images --max-file-lag 35 --title MyGuide --user-scale 1.67 --max-user-speed 725 --filename-time 11 -title Chimera --user-friction 2.5 --padding 1.2 --user-scale 1.25 --filename-time 2 --bloom-intensity 0.1 --bloom-multiplier 3 --hide filenames,dirnames -------------------------------------------------------------------------------- /React/gource/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/SDL2.dll -------------------------------------------------------------------------------- /React/gource/SDL2_image.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/SDL2_image.dll -------------------------------------------------------------------------------- /React/gource/THANKS.txt: -------------------------------------------------------------------------------- 1 | Cheers to everyone at Catalyst IT for their support and encouragement. 2 | -------------------------------------------------------------------------------- /React/gource/cmd/gource: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 4 | # 5 | # This program is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | # 18 | # 19 | # 20 | 21 | GOURCE_CMD_DIR=`dirname "$0"` 22 | "$GOURCE_CMD_DIR/../gource.exe" "$@" 23 | -------------------------------------------------------------------------------- /React/gource/cmd/gource.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | "%~dp0\..\gource.exe" %* 3 | -------------------------------------------------------------------------------- /React/gource/data/beam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/beam.png -------------------------------------------------------------------------------- /React/gource/data/bloom.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/bloom.tga -------------------------------------------------------------------------------- /React/gource/data/bloom_alpha.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/bloom_alpha.tga -------------------------------------------------------------------------------- /React/gource/data/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/file.png -------------------------------------------------------------------------------- /React/gource/data/fonts/FreeSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/fonts/FreeSans.ttf -------------------------------------------------------------------------------- /React/gource/data/gource.style: -------------------------------------------------------------------------------- 1 | changeset = '{file_adds}{file_copies}{file_mods}{file_dels}' 2 | file_mod = "{date|hgdate}|{author|person}|M|{file_mod}\n" 3 | file_add = "{date|hgdate}|{author|person}|A|{file_add}\n" 4 | file_del = "{date|hgdate}|{author|person}|D|{file_del}\n" 5 | file_copy = "{date|hgdate}|{author|person}|A|{name}\n" 6 | -------------------------------------------------------------------------------- /React/gource/data/shaders/bloom.frag: -------------------------------------------------------------------------------- 1 | 2 | varying vec3 pos; 3 | 4 | void main() 5 | { 6 | float r = fract(sin(dot(pos.xy ,vec2(11.3713,67.3219))) * 2351.3718); 7 | 8 | float offset = (0.5 - r) * gl_TexCoord[0].x * 0.045; 9 | 10 | float intensity = min(1.0, cos((length(pos*2.0)+offset)/gl_TexCoord[0].x)); 11 | float gradient = intensity * smoothstep(0.0, 2.0, intensity); 12 | 13 | gradient *= smoothstep(1.0,0.67+r*0.33, 1.0-intensity); 14 | 15 | gl_FragColor = gl_Color * gradient; 16 | } 17 | -------------------------------------------------------------------------------- /React/gource/data/shaders/bloom.vert: -------------------------------------------------------------------------------- 1 | 2 | varying vec3 pos; 3 | 4 | void main() 5 | { 6 | pos = gl_Vertex.xyz - gl_MultiTexCoord0.yzw; 7 | gl_TexCoord[0] = gl_MultiTexCoord0; 8 | gl_FrontColor = gl_Color; 9 | gl_Position = ftransform(); 10 | } 11 | -------------------------------------------------------------------------------- /React/gource/data/shaders/shadow.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D tex; 2 | uniform float shadow_strength; 3 | 4 | void main(void) 5 | { 6 | vec4 colour = texture2D(tex,gl_TexCoord[0].st); 7 | 8 | gl_FragColor = vec4(0.0, 0.0, 0.0, gl_Color.w * colour.w * shadow_strength); 9 | } 10 | -------------------------------------------------------------------------------- /React/gource/data/shaders/shadow.vert: -------------------------------------------------------------------------------- 1 | void main(void) 2 | { 3 | gl_TexCoord[0] = gl_MultiTexCoord0; 4 | gl_FrontColor = gl_Color; 5 | gl_Position = ftransform(); 6 | } 7 | -------------------------------------------------------------------------------- /React/gource/data/shaders/text.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D tex; 2 | uniform float shadow_strength; 3 | uniform float texel_size; 4 | 5 | void main(void) 6 | { 7 | float colour_alpha = texture2D(tex,gl_TexCoord[0].xy).w; 8 | float shadow_alpha = texture2D(tex,gl_TexCoord[0].xy - vec2(texel_size)).w * shadow_strength; 9 | 10 | float combined_alpha = 1.0 - (1.0-shadow_alpha)*(1.0-colour_alpha); 11 | 12 | if(combined_alpha > 0.0) colour_alpha /= combined_alpha; 13 | 14 | gl_FragColor = gl_Color * vec4(vec3(colour_alpha), combined_alpha); 15 | } 16 | -------------------------------------------------------------------------------- /React/gource/data/shaders/text.vert: -------------------------------------------------------------------------------- 1 | void main(void) 2 | { 3 | gl_TexCoord[0] = gl_MultiTexCoord0; 4 | gl_FrontColor = gl_Color; 5 | gl_Position = ftransform(); 6 | } 7 | -------------------------------------------------------------------------------- /React/gource/data/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/data/user.png -------------------------------------------------------------------------------- /React/gource/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/glew32.dll -------------------------------------------------------------------------------- /React/gource/gource.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/gource.exe -------------------------------------------------------------------------------- /React/gource/libboost_filesystem-mt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libboost_filesystem-mt.dll -------------------------------------------------------------------------------- /React/gource/libbz2-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libbz2-1.dll -------------------------------------------------------------------------------- /React/gource/libfreetype-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libfreetype-6.dll -------------------------------------------------------------------------------- /React/gource/libgcc_s_seh-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libgcc_s_seh-1.dll -------------------------------------------------------------------------------- /React/gource/libglib-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libglib-2.0-0.dll -------------------------------------------------------------------------------- /React/gource/libgraphite2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libgraphite2.dll -------------------------------------------------------------------------------- /React/gource/libharfbuzz-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libharfbuzz-0.dll -------------------------------------------------------------------------------- /React/gource/libiconv-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libiconv-2.dll -------------------------------------------------------------------------------- /React/gource/libintl-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libintl-8.dll -------------------------------------------------------------------------------- /React/gource/libjpeg-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libjpeg-8.dll -------------------------------------------------------------------------------- /React/gource/liblzma-5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/liblzma-5.dll -------------------------------------------------------------------------------- /React/gource/libpcre-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libpcre-1.dll -------------------------------------------------------------------------------- /React/gource/libpng16-16.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libpng16-16.dll -------------------------------------------------------------------------------- /React/gource/libstdc++-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libstdc++-6.dll -------------------------------------------------------------------------------- /React/gource/libtiff-5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libtiff-5.dll -------------------------------------------------------------------------------- /React/gource/libwebp-7.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libwebp-7.dll -------------------------------------------------------------------------------- /React/gource/libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libwinpthread-1.dll -------------------------------------------------------------------------------- /React/gource/libzstd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/libzstd.dll -------------------------------------------------------------------------------- /React/gource/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gource/zlib1.dll -------------------------------------------------------------------------------- /React/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /React/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | # 4 | # This program is free software: you can redistribute it and/or modify 5 | # it under the terms of the GNU General Public License as published by 6 | # the Free Software Foundation, either version 3 of the License, or 7 | # (at your option) any later version. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License 15 | # along with this program. If not, see . 16 | # 17 | # 18 | # 19 | 20 | distributionBase=GRADLE_USER_HOME 21 | distributionPath=wrapper/dists 22 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 23 | zipStoreBase=GRADLE_USER_HOME 24 | zipStorePath=wrapper/dists 25 | -------------------------------------------------------------------------------- /React/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/React/gradlew -------------------------------------------------------------------------------- /React/lombok.config: -------------------------------------------------------------------------------- 1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin 2 | config.stopBubbling = true 3 | -------------------------------------------------------------------------------- /React/settings.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "org.gradle.toolchains.foojay-resolver-convention" version "0.8.0" 3 | } 4 | 5 | rootProject.name = 'React' 6 | 7 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/api/SenderType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.api; 21 | 22 | public enum SenderType { 23 | PLAYER, 24 | CONSOLE, 25 | ANY; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/api/input/MappedInput.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.api.input; 21 | 22 | /** 23 | * The MappedInput interface represents a specialized form of an EdictInput in the Edict command handling system 24 | * where the input is mapped to a key. This mapping can be useful in situations where inputs are identified 25 | * or categorized by certain keys. 26 | *

27 | * The interface provides a method to retrieve the key to which the input is mapped. 28 | */ 29 | public interface MappedInput { 30 | /** 31 | * The key this input is mapped to 32 | * 33 | * @return the key 34 | */ 35 | String getKey(); 36 | } 37 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/context/TargetBlockContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.context; 21 | 22 | import art.arcane.edict.api.context.EdictContext; 23 | import art.arcane.edict.api.context.EdictContextResolver; 24 | import org.bukkit.block.Block; 25 | import org.bukkit.entity.Player; 26 | 27 | import java.util.Optional; 28 | 29 | public class TargetBlockContext implements EdictContextResolver { 30 | public static Optional get() { 31 | return EdictContext.get().resolve(TargetBlockContext.class); 32 | } 33 | 34 | @Override 35 | public Optional resolve(EdictContext context) { 36 | return context.getSender() instanceof Player p ? Optional.of(p.getTargetBlockExact(5)) : Optional.empty(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/BlockFaceParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.EnumeratedParser; 23 | import org.bukkit.block.BlockFace; 24 | 25 | public class BlockFaceParser implements EnumeratedParser { 26 | @Override 27 | public Class> getEnumType() { 28 | return BlockFace.class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/EntityTypeParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.EnumeratedParser; 23 | import org.bukkit.entity.EntityType; 24 | 25 | public class EntityTypeParser implements EnumeratedParser { 26 | @Override 27 | public Class> getEnumType() { 28 | return EntityType.class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/ParticleParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.EnumeratedParser; 23 | import org.bukkit.Particle; 24 | 25 | public class ParticleParser implements EnumeratedParser { 26 | @Override 27 | public Class> getEnumType() { 28 | return Particle.class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/PlayerParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import org.bukkit.Bukkit; 24 | import org.bukkit.entity.Player; 25 | 26 | import java.util.List; 27 | 28 | public class PlayerParser implements SelectionParser { 29 | @Override 30 | public List getSelectionOptions() { 31 | return Bukkit.getOnlinePlayers().stream().map(i -> (Player) i).toList(); 32 | } 33 | 34 | @Override 35 | public String getName(Player player) { 36 | return player.getName(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/SoundParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.EnumeratedParser; 23 | import org.bukkit.Sound; 24 | 25 | public class SoundParser implements EnumeratedParser { 26 | @Override 27 | public Class> getEnumType() { 28 | return Sound.class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/art/arcane/edict/content/parser/WorldParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package art.arcane.edict.content.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import org.bukkit.Bukkit; 24 | import org.bukkit.World; 25 | 26 | import java.util.List; 27 | 28 | public class WorldParser implements SelectionParser { 29 | @Override 30 | public List getSelectionOptions() { 31 | return Bukkit.getWorlds().stream().toList(); 32 | } 33 | 34 | @Override 35 | public String getName(World world) { 36 | return world.getName(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/action/ActionParams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.action; 21 | 22 | public interface ActionParams { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/action/ReactAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.action; 21 | 22 | import lombok.Getter; 23 | 24 | public abstract class ReactAction implements Action { 25 | @Getter 26 | private transient final String aid; 27 | 28 | public ReactAction(String id) { 29 | this.aid = id; 30 | } 31 | 32 | @Override 33 | public ActionTicket create(T params) { 34 | return new ActionTicket<>(this, params); 35 | } 36 | 37 | public String getId() { 38 | return aid; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/event/ReactEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.event; 21 | 22 | import org.bukkit.event.Event; 23 | import org.bukkit.event.HandlerList; 24 | import org.jetbrains.annotations.NotNull; 25 | 26 | public class ReactEvent extends Event { 27 | private static final HandlerList handlers = new HandlerList(); 28 | 29 | public ReactEvent() { 30 | super(); 31 | } 32 | 33 | public static HandlerList getHandlerList() { 34 | return handlers; 35 | } 36 | 37 | @Override 38 | public @NotNull HandlerList getHandlers() { 39 | return handlers; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/event/layer/MinecartSpawnEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.event.layer; 21 | 22 | import com.volmit.react.api.event.ReactCancellableEvent; 23 | import lombok.Getter; 24 | import org.bukkit.Location; 25 | import org.bukkit.entity.Player; 26 | 27 | @Getter 28 | public class MinecartSpawnEvent extends ReactCancellableEvent { 29 | private final Location at; 30 | private final Player player; 31 | 32 | public MinecartSpawnEvent(Location at, Player player) { 33 | this.player = player; 34 | this.at = at; 35 | } 36 | 37 | public MinecartSpawnEvent(Location at) { 38 | this(at, null); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/event/layer/ServerTickEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.event.layer; 21 | 22 | import com.volmit.react.api.event.ReactEvent; 23 | 24 | public class ServerTickEvent extends ReactEvent { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/feature/Feature.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.feature; 21 | 22 | import com.volmit.react.util.registry.Registered; 23 | 24 | public interface Feature extends Registered { 25 | void onActivate(); 26 | 27 | boolean isEnabled(); 28 | 29 | void onDeactivate(); 30 | 31 | int getTickInterval(); 32 | 33 | void onTick(); 34 | 35 | @Override 36 | default String getConfigCategory() { 37 | return "feature"; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/feature/ReactTickedFeature.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.feature; 21 | 22 | import com.volmit.react.util.scheduling.TickedObject; 23 | import lombok.Data; 24 | import lombok.EqualsAndHashCode; 25 | 26 | @EqualsAndHashCode(callSuper = true) 27 | @Data 28 | public class ReactTickedFeature extends TickedObject { 29 | private final Feature component; 30 | 31 | public ReactTickedFeature(Feature component) { 32 | super("react", "feature-" + component.getId(), component.getTickInterval()); 33 | this.component = component; 34 | } 35 | 36 | @Override 37 | public void onTick() { 38 | component.onTick(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/monitor/MapMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.monitor; 21 | 22 | import org.bukkit.entity.Player; 23 | import org.bukkit.map.MapCanvas; 24 | import org.bukkit.map.MapRenderer; 25 | import org.bukkit.map.MapView; 26 | import org.jetbrains.annotations.NotNull; 27 | 28 | public class MapMonitor extends MapRenderer { 29 | private MapView view; 30 | 31 | public MapMonitor(MapView view) { 32 | view.addRenderer(this); 33 | } 34 | 35 | @Override 36 | public void render(@NotNull MapView map, @NotNull MapCanvas canvas, @NotNull Player player) { 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/monitor/PlayerMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.monitor; 21 | 22 | import com.volmit.react.model.ReactPlayer; 23 | import lombok.Getter; 24 | 25 | public abstract class PlayerMonitor extends TickedMonitor { 26 | @Getter 27 | protected final ReactPlayer player; 28 | 29 | public PlayerMonitor(String type, ReactPlayer player, long interval) { 30 | super(player.getPlayer().getUniqueId() + ":" + type, interval); 31 | this.player = player; 32 | } 33 | 34 | @Override 35 | public abstract void flush(); 36 | } 37 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/monitor/configuration/MonitorConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.monitor.configuration; 21 | 22 | import com.volmit.react.React; 23 | import com.volmit.react.api.sampler.Sampler; 24 | import lombok.Builder; 25 | import lombok.Data; 26 | import lombok.Singular; 27 | 28 | import java.util.List; 29 | import java.util.stream.Collectors; 30 | 31 | @Data 32 | @Builder 33 | public class MonitorConfiguration { 34 | @Singular 35 | private List groups; 36 | 37 | public List getAllSamplers() { 38 | return groups.stream() 39 | .flatMap(group -> group.getSamplers().stream()) 40 | .map(i -> (Sampler) React.sampler(i)) 41 | .collect(Collectors.toList()); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/rendering/RendererUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.rendering; 21 | 22 | import com.volmit.react.util.data.TinyColor; 23 | 24 | public class RendererUnknown implements ReactRenderer { 25 | public static final String ID = "unknown"; 26 | 27 | @Override 28 | public String getId() { 29 | return ID; 30 | } 31 | 32 | @Override 33 | public void render() { 34 | clear(new TinyColor(0)); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/tweak/ReactTickedTweak.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.tweak; 21 | 22 | import com.volmit.react.util.scheduling.TickedObject; 23 | import lombok.Data; 24 | import lombok.EqualsAndHashCode; 25 | 26 | @EqualsAndHashCode(callSuper = true) 27 | @Data 28 | public class ReactTickedTweak extends TickedObject { 29 | private final Tweak component; 30 | 31 | public ReactTickedTweak(Tweak component) { 32 | super("react", "tweak-" + component.getId(), component.getTickInterval()); 33 | this.component = component; 34 | } 35 | 36 | @Override 37 | public void onTick() { 38 | component.onTick(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/api/tweak/Tweak.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.api.tweak; 21 | 22 | import com.volmit.react.util.registry.Registered; 23 | 24 | public interface Tweak extends Registered { 25 | void onActivate(); 26 | 27 | boolean isEnabled(); 28 | 29 | void onDeactivate(); 30 | 31 | int getTickInterval(); 32 | 33 | void onTick(); 34 | 35 | @Override 36 | default String getConfigCategory() { 37 | return "tweak"; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/command/parser/ActionParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.command.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import com.volmit.react.React; 24 | import com.volmit.react.api.action.Action; 25 | import com.volmit.react.core.controller.ActionController; 26 | 27 | import java.util.List; 28 | 29 | public class ActionParser implements SelectionParser> { 30 | @Override 31 | public List> getSelectionOptions() { 32 | return React.controller(ActionController.class).getActions().all().stream().toList(); 33 | } 34 | 35 | @Override 36 | public String getName(Action a) { 37 | return a.getId(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/command/parser/FeatureParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.command.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import com.volmit.react.React; 24 | import com.volmit.react.api.feature.Feature; 25 | import com.volmit.react.core.controller.FeatureController; 26 | 27 | import java.util.List; 28 | 29 | public class FeatureParser implements SelectionParser { 30 | @Override 31 | public List getSelectionOptions() { 32 | return React.controller(FeatureController.class).getFeatures().all().stream().toList(); 33 | } 34 | 35 | @Override 36 | public String getName(Feature feature) { 37 | return feature.getId(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/command/parser/RendererParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.command.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import com.volmit.react.React; 24 | import com.volmit.react.api.rendering.ReactRenderer; 25 | import com.volmit.react.core.controller.MapController; 26 | 27 | import java.util.List; 28 | 29 | public class RendererParser implements SelectionParser { 30 | @Override 31 | public List getSelectionOptions() { 32 | return React.controller(MapController.class).getRenderers().values().stream().toList(); 33 | } 34 | 35 | @Override 36 | public String getName(ReactRenderer renderer) { 37 | return renderer.getId(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/command/parser/SamplerParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.command.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import com.volmit.react.React; 24 | import com.volmit.react.api.sampler.Sampler; 25 | import com.volmit.react.core.controller.SampleController; 26 | 27 | import java.util.List; 28 | 29 | public class SamplerParser implements SelectionParser { 30 | @Override 31 | public List getSelectionOptions() { 32 | return React.controller(SampleController.class).getSamplers().all().stream().toList(); 33 | } 34 | 35 | @Override 36 | public String getName(Sampler sampler) { 37 | return sampler.getId(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/command/parser/TweakParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.command.parser; 21 | 22 | import art.arcane.edict.api.parser.SelectionParser; 23 | import com.volmit.react.React; 24 | import com.volmit.react.api.tweak.Tweak; 25 | import com.volmit.react.core.controller.TweakController; 26 | 27 | import java.util.List; 28 | 29 | public class TweakParser implements SelectionParser { 30 | @Override 31 | public List getSelectionOptions() { 32 | return React.controller(TweakController.class).getTweaks().all().stream().toList(); 33 | } 34 | 35 | @Override 36 | public String getName(Tweak tweak) { 37 | return tweak.getId(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/feature/FeatureUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.feature; 21 | 22 | import com.volmit.react.api.feature.ReactFeature; 23 | 24 | public class FeatureUnknown extends ReactFeature { 25 | public static final String ID = "unknown"; 26 | 27 | public FeatureUnknown() { 28 | super(ID); 29 | } 30 | 31 | @Override 32 | public void onActivate() { 33 | 34 | } 35 | 36 | @Override 37 | public void onDeactivate() { 38 | 39 | } 40 | 41 | @Override 42 | public int getTickInterval() { 43 | return -1; 44 | } 45 | 46 | @Override 47 | public void onTick() { 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/sampler/SamplerUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.sampler; 21 | 22 | import com.volmit.react.api.sampler.ReactCachedSampler; 23 | 24 | public class SamplerUnknown extends ReactCachedSampler { 25 | public static final String ID = "unknown"; 26 | 27 | public SamplerUnknown() { 28 | super(ID, 30000); 29 | } 30 | 31 | public SamplerUnknown(String id) { 32 | super(id, 30000); 33 | } 34 | 35 | @Override 36 | public double onSample() { 37 | return 0; 38 | } 39 | 40 | @Override 41 | public String formattedValue(double t) { 42 | return "---"; 43 | } 44 | 45 | @Override 46 | public String formattedSuffix(double t) { 47 | return ""; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/content/tweak/TweakUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.content.tweak; 21 | 22 | import com.volmit.react.api.tweak.ReactTweak; 23 | 24 | public class TweakUnknown extends ReactTweak { 25 | public static final String ID = "unknown"; 26 | 27 | public TweakUnknown() { 28 | super(ID); 29 | } 30 | 31 | @Override 32 | public void onActivate() { 33 | 34 | } 35 | 36 | @Override 37 | public void onDeactivate() { 38 | 39 | } 40 | 41 | @Override 42 | public int getTickInterval() { 43 | return -1; 44 | } 45 | 46 | @Override 47 | public void onTick() { 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/core/gui/Guis.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.core.gui; 21 | 22 | import org.bukkit.Material; 23 | import org.bukkit.inventory.ItemStack; 24 | import org.bukkit.inventory.meta.LeatherArmorMeta; 25 | 26 | import java.awt.*; 27 | 28 | public class Guis { 29 | public static ItemStack generateColorIcon(String title, Color color) { 30 | ItemStack is = new ItemStack(Material.LEATHER_CHESTPLATE); 31 | LeatherArmorMeta meta = (LeatherArmorMeta) is.getItemMeta(); 32 | meta.setColor(org.bukkit.Color.fromRGB(color.getRed(), color.getGreen(), color.getBlue())); 33 | meta.setDisplayName(title); 34 | is.setItemMeta(meta); 35 | 36 | return is; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/model/FilterParams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.model; 21 | 22 | import lombok.*; 23 | 24 | import java.util.Set; 25 | 26 | @Data 27 | @Builder 28 | @AllArgsConstructor 29 | @NoArgsConstructor 30 | public class FilterParams { 31 | @Singular 32 | protected Set types; 33 | 34 | @Builder.Default 35 | protected boolean blacklist = false; 36 | 37 | public boolean allows(T t) { 38 | if (types == null || types.isEmpty()) { 39 | return blacklist; 40 | } 41 | 42 | if (blacklist) { 43 | return !types.contains(t); 44 | } 45 | 46 | return types.contains(t); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/model/MinMax.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.model; 21 | 22 | import lombok.AllArgsConstructor; 23 | import lombok.Builder; 24 | import lombok.Data; 25 | import lombok.NoArgsConstructor; 26 | 27 | @Data 28 | @AllArgsConstructor 29 | @NoArgsConstructor 30 | @Builder 31 | public class MinMax { 32 | private double min; 33 | private double max; 34 | } 35 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/model/ReactRemoteUser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.model; 21 | 22 | import lombok.Builder; 23 | import lombok.Data; 24 | 25 | @Data 26 | @Builder 27 | public class ReactRemoteUser { 28 | private String password; 29 | @Builder.Default 30 | private boolean actions = false; 31 | @Builder.Default 32 | private boolean sample = true; 33 | @Builder.Default 34 | private boolean console = false; 35 | @Builder.Default 36 | private boolean files = false; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/api/APIAwareBlock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.api; 21 | 22 | import org.bukkit.block.data.BlockData; 23 | 24 | @FunctionalInterface 25 | public interface APIAwareBlock { 26 | void onPlaced(BlockData block, String namespace, String key, int x, int y, int z); 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/api/APIWorldBlock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.api; 21 | 22 | import org.bukkit.block.Block; 23 | 24 | @FunctionalInterface 25 | public interface APIWorldBlock { 26 | void onWorldPlaced(Block block, String namespace, String key); 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/board/BoardProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.board; 21 | 22 | import org.bukkit.entity.Player; 23 | 24 | import java.util.List; 25 | 26 | 27 | public interface BoardProvider { 28 | 29 | String getTitle(Player player); 30 | 31 | 32 | List getLines(Player player); 33 | } 34 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/board/BoardSettings.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.board; 21 | 22 | import lombok.Builder; 23 | import lombok.Getter; 24 | 25 | 26 | @SuppressWarnings("ClassCanBeRecord") 27 | @Getter 28 | @Builder 29 | public class BoardSettings { 30 | 31 | private final BoardProvider boardProvider; 32 | 33 | 34 | private final ScoreDirection scoreDirection; 35 | } 36 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/board/ScoreDirection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.board; 21 | 22 | /** 23 | * @author Missionary (missionarymc@gmail.com) 24 | * @since 5/31/2018 25 | */ 26 | 27 | public enum ScoreDirection { 28 | 29 | UP, 30 | 31 | 32 | DOWN 33 | } 34 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/cache/ChunkCache2D.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.cache; 21 | 22 | import com.volmit.react.util.function.Function2; 23 | 24 | import java.util.concurrent.atomic.AtomicReferenceArray; 25 | 26 | public class ChunkCache2D { 27 | private final AtomicReferenceArray cache; 28 | 29 | public ChunkCache2D() { 30 | this.cache = new AtomicReferenceArray<>(256); 31 | } 32 | 33 | public T get(int x, int z, Function2 resolver) { 34 | int key = ((z & 15) * 16) + (x & 15); 35 | T t = cache.get(key); 36 | 37 | if (t == null) { 38 | t = resolver.apply(x, z); 39 | cache.set(key, t); 40 | } 41 | 42 | return t; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/cache/WorldCache2D.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.cache; 21 | 22 | import com.volmit.react.util.data.KCache; 23 | import com.volmit.react.util.function.Function2; 24 | 25 | public class WorldCache2D { 26 | private final KCache> chunks; 27 | private final Function2 resolver; 28 | 29 | public WorldCache2D(Function2 resolver) { 30 | this.resolver = resolver; 31 | chunks = new KCache<>((x) -> new ChunkCache2D<>(), 1024); 32 | } 33 | 34 | public T get(int x, int z) { 35 | ChunkCache2D chunk = chunks.get(Cache.key(x >> 4, z >> 4)); 36 | return chunk.get(x, z, resolver); 37 | } 38 | 39 | public long getSize() { 40 | return chunks.getSize() * 256L; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/collection/KSet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.collection; 21 | 22 | import java.util.Collection; 23 | import java.util.HashSet; 24 | 25 | public class KSet extends HashSet { 26 | private static final long serialVersionUID = 1L; 27 | 28 | public KSet() { 29 | super(); 30 | } 31 | 32 | public KSet(Collection c) { 33 | super(c); 34 | } 35 | 36 | public KSet(int initialCapacity, float loadFactor) { 37 | super(initialCapacity, loadFactor); 38 | } 39 | 40 | public KSet(int initialCapacity) { 41 | super(initialCapacity); 42 | } 43 | 44 | public KSet copy() { 45 | return new KSet(this); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/ComplexCache.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | import com.volmit.react.util.cache.Cache; 23 | import com.volmit.react.util.collection.KMap; 24 | 25 | public class ComplexCache { 26 | private final KMap> chunks; 27 | 28 | public ComplexCache() { 29 | chunks = new KMap<>(); 30 | } 31 | 32 | public boolean has(int x, int z) { 33 | return chunks.containsKey(Cache.key(x, z)); 34 | } 35 | 36 | public void invalidate(int x, int z) { 37 | chunks.remove(Cache.key(x, z)); 38 | } 39 | 40 | public ChunkCache chunk(int x, int z) { 41 | return chunks.computeIfAbsent(Cache.key(x, z), (f) -> new ChunkCache<>()); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/CuboidException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | /** 23 | * Represents a cuboid exception 24 | * 25 | * @author cyberpwn 26 | */ 27 | public class CuboidException extends Exception { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public CuboidException(String string) { 31 | super(string); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/DimensionFace.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | /** 23 | * Represents a dimension (coordinates not worlds) 24 | * 25 | * @author cyberpwn 26 | */ 27 | public enum DimensionFace { 28 | /** 29 | * The X dimension (width) 30 | */ 31 | X, 32 | 33 | /** 34 | * The Y dimension (height) 35 | */ 36 | Y, 37 | 38 | /** 39 | * The Z dimension (depth) 40 | */ 41 | Z 42 | } 43 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/Heafty.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | @FunctionalInterface 23 | public interface Heafty { 24 | int getHeaft(); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/HeightMap.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | import java.util.Arrays; 23 | 24 | public class HeightMap { 25 | private final int[] height; 26 | 27 | public HeightMap() { 28 | height = new int[256]; 29 | Arrays.fill(height, 0); 30 | } 31 | 32 | public void setHeight(int x, int z, int h) { 33 | height[x * 16 + z] = (h); 34 | } 35 | 36 | public int getHeight(int x, int z) { 37 | return height[x * 16 + z]; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/IOAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | import java.io.DataInputStream; 23 | import java.io.DataOutputStream; 24 | import java.io.IOException; 25 | 26 | public interface IOAdapter { 27 | void write(T t, DataOutputStream dos) throws IOException; 28 | 29 | T read(DataInputStream din) throws IOException; 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/Shrinkwrap.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | public class Shrinkwrap { 23 | private T t; 24 | 25 | public Shrinkwrap(T t) { 26 | set(t); 27 | } 28 | 29 | public Shrinkwrap() { 30 | this(null); 31 | } 32 | 33 | public T get() { 34 | return t; 35 | } 36 | 37 | public void set(T t) { 38 | this.t = t; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/data/Writable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.data; 21 | 22 | import java.io.DataInputStream; 23 | import java.io.DataOutputStream; 24 | import java.io.IOException; 25 | 26 | public interface Writable { 27 | void write(DataOutputStream o) throws IOException; 28 | 29 | void read(DataInputStream i) throws IOException; 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/decree/DecreeExecutor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.decree; 21 | 22 | import com.volmit.react.util.plugin.VolmitSender; 23 | import org.bukkit.World; 24 | import org.bukkit.entity.Player; 25 | 26 | public interface DecreeExecutor { 27 | default VolmitSender sender() { 28 | return DecreeContext.get(); 29 | } 30 | 31 | default Player player() { 32 | return sender().player(); 33 | } 34 | 35 | default World world() { 36 | if (sender().isPlayer()) { 37 | return sender().player().getWorld(); 38 | } 39 | return null; 40 | } 41 | 42 | default T get(T v, T ifUndefined) { 43 | return v == null ? ifUndefined : v; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/decree/DecreeOrigin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.decree; 21 | 22 | import com.volmit.react.util.plugin.VolmitSender; 23 | 24 | public enum DecreeOrigin { 25 | PLAYER, 26 | CONSOLE, 27 | /** 28 | * Both the player and the console 29 | */ 30 | BOTH; 31 | 32 | /** 33 | * Check if the origin is valid for a sender 34 | * 35 | * @param sender The sender to check 36 | * @return True if valid for origin 37 | */ 38 | public boolean validFor(VolmitSender sender) { 39 | if (sender.isPlayer()) { 40 | return this.equals(PLAYER) || this.equals(BOTH); 41 | } else { 42 | return this.equals(CONSOLE) || this.equals(BOTH); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/decree/context/WorldContextHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.decree.context; 21 | 22 | import com.volmit.react.util.decree.DecreeContextHandler; 23 | import com.volmit.react.util.plugin.VolmitSender; 24 | import org.bukkit.World; 25 | 26 | public class WorldContextHandler implements DecreeContextHandler { 27 | public Class getType() { 28 | return World.class; 29 | } 30 | 31 | public World handle(VolmitSender sender) { 32 | return sender.isPlayer() ? sender.player().getWorld() : null; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/decree/exceptions/DecreeParsingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.decree.exceptions; 21 | 22 | /** 23 | * Thrown when a decree parameter is parsed, but parsing fails 24 | */ 25 | public class DecreeParsingException extends Exception { 26 | public DecreeParsingException(String message) { 27 | super(message); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/documentation/BlockCoordinates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.documentation; 21 | 22 | /** 23 | * This method expects coords in block 24 | */ 25 | public @interface BlockCoordinates { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/documentation/ChunkCoordinates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.documentation; 21 | 22 | /** 23 | * This method expects blocks in chunk coordinates 24 | */ 25 | public @interface ChunkCoordinates { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/documentation/ChunkRelativeBlockCoordinates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.documentation; 21 | 22 | /** 23 | * This method expects coords in block 24 | */ 25 | public @interface ChunkRelativeBlockCoordinates { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/documentation/RegionCoordinates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.documentation; 21 | 22 | /** 23 | * This method expects coordinates in region coords 24 | */ 25 | public @interface RegionCoordinates { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/exceptions/IrisException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.exceptions; 21 | 22 | public class IrisException extends Exception { 23 | public IrisException() { 24 | super(); 25 | } 26 | 27 | public IrisException(String message) { 28 | super(message); 29 | } 30 | 31 | public IrisException(Throwable message) { 32 | super(message); 33 | } 34 | 35 | public IrisException(String message, Throwable e) { 36 | super(message, e); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/exceptions/MissingDimensionException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.exceptions; 21 | 22 | public class MissingDimensionException extends IrisException { 23 | public MissingDimensionException() { 24 | super(); 25 | } 26 | 27 | public MissingDimensionException(String message) { 28 | super(message); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @SuppressWarnings({"hiding", "RedundantSuppression"}) 23 | @FunctionalInterface 24 | public interface Consumer2 { 25 | void accept(A a, B b); 26 | } 27 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer2IO.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | import java.io.IOException; 23 | 24 | @SuppressWarnings({"hiding", "RedundantSuppression"}) 25 | @FunctionalInterface 26 | public interface Consumer2IO { 27 | void accept(A a, B b) throws IOException; 28 | } 29 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @SuppressWarnings("ALL") 23 | @FunctionalInterface 24 | public interface Consumer3 { 25 | void accept(A a, B b, C c); 26 | } 27 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer4.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Consumer4 { 24 | void accept(A a, B b, C c, D d); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer4IO.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | import java.io.IOException; 23 | 24 | @FunctionalInterface 25 | public interface Consumer4IO { 26 | void accept(A a, B b, C c, D d) throws IOException; 27 | } 28 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer5.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Consumer5 { 24 | void accept(A a, B b, C c, D d, E e); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer6.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Consumer6 { 24 | void accept(A a, B b, C c, D d, E e, F f); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Consumer8.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Consumer8 { 24 | void accept(A a, B b, C c, D d, E e, F f, G g, H h); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Function2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Function2 { 24 | R apply(A a, B b); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Function3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Function3 { 24 | R apply(A a, B b, C c); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Function4.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface Function4 { 24 | R apply(A a, B b, C c, D d); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NastyFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface NastyFunction { 23 | R run(T t); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NastyFuture.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface NastyFuture { 23 | R run(); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NastyRunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface NastyRunnable { 23 | void run() throws Throwable; 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NastySupplier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface NastySupplier { 23 | T get() throws Throwable; 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NoiseInjector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface NoiseInjector { 24 | double[] combine(double src, double value); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NoiseProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface NoiseProvider { 24 | double noise(double x, double z); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/NoiseProvider3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | @FunctionalInterface 23 | public interface NoiseProvider3 { 24 | double noise(double x, double y, double z); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Supplier2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface Supplier2 { 23 | void get(T t, TT tt); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Supplier3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface Supplier3 { 23 | void get(T t, TT tt, TTT ttt); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/function/Supplier3R.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.function; 21 | 22 | public interface Supplier3R { 23 | TTTT get(T t, TT tt, TTT ttt); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/inventorygui/ElementEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.inventorygui; 21 | 22 | /** 23 | * Element Event. 24 | * 25 | * @author cyberpwn 26 | */ 27 | public enum ElementEvent { 28 | LEFT, 29 | RIGHT, 30 | SHIFT_LEFT, 31 | SHIFT_RIGHT, 32 | DRAG_INTO, 33 | OTHER_DRAG_INTO 34 | } 35 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/inventorygui/UIStaticDecorator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.inventorygui; 21 | 22 | import com.volmit.react.util.data.MaterialBlock; 23 | import org.bukkit.Material; 24 | 25 | @SuppressWarnings("ClassCanBeRecord") 26 | public class UIStaticDecorator implements WindowDecorator { 27 | private final Element element; 28 | 29 | public UIStaticDecorator(Element element) { 30 | this.element = element == null ? new UIElement("bg").setMaterial(new MaterialBlock(Material.AIR)) : element; 31 | } 32 | 33 | @Override 34 | public Element onDecorateBackground(Window window, int position, int row) { 35 | return element; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/inventorygui/UIVoidDecorator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.inventorygui; 21 | 22 | public class UIVoidDecorator implements WindowDecorator { 23 | @Override 24 | public Element onDecorateBackground(Window window, int position, int row) { 25 | return null; 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/inventorygui/WindowDecorator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.inventorygui; 21 | 22 | public interface WindowDecorator { 23 | Element onDecorateBackground(Window window, int position, int row); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/io/Converter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.io; 21 | 22 | import java.io.File; 23 | 24 | public interface Converter { 25 | String getInExtension(); 26 | 27 | @SuppressWarnings("SameReturnValue") 28 | String getOutExtension(); 29 | 30 | void convert(File in, File out); 31 | } 32 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/io/CustomOutputStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.io; 21 | 22 | import java.io.IOException; 23 | import java.io.OutputStream; 24 | import java.util.zip.GZIPOutputStream; 25 | 26 | public class CustomOutputStream extends GZIPOutputStream { 27 | public CustomOutputStream(OutputStream out, int level) throws IOException { 28 | super(out); 29 | def.setLevel(level); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/io/IORunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.io; 21 | 22 | import java.io.IOException; 23 | 24 | public interface IORunnable { 25 | void run() throws IOException; 26 | } 27 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/io/VoidOutputStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.io; 21 | 22 | import java.io.OutputStream; 23 | 24 | public class VoidOutputStream extends OutputStream { 25 | @Override 26 | public void write(int b) { 27 | // poof 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/math/AlignedPoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.math; 21 | 22 | public class AlignedPoint { 23 | private double x; 24 | private double y; 25 | private double z; 26 | 27 | public double getX() { 28 | return x; 29 | } 30 | 31 | public double getY() { 32 | return y; 33 | } 34 | 35 | public double getZ() { 36 | return z; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/math/ApproachingValue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.math; 21 | 22 | public class ApproachingValue { 23 | private final double percent; 24 | private double value; 25 | 26 | public ApproachingValue(double percent) { 27 | this.value = 0; 28 | this.percent = percent; 29 | } 30 | 31 | public double get(Double realValue) { 32 | if (realValue == null) { 33 | return value; 34 | } 35 | 36 | value = M.lerp(this.value, realValue, percent); 37 | return value; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/math/DOP.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.math; 21 | 22 | import org.bukkit.util.Vector; 23 | 24 | public abstract class DOP { 25 | private final String type; 26 | 27 | public DOP(String type) { 28 | this.type = type; 29 | } 30 | 31 | public abstract Vector op(Vector v); 32 | 33 | public String getType() { 34 | return type; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/math/INode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.math; 21 | 22 | import lombok.Data; 23 | import org.bukkit.util.Vector; 24 | 25 | @Data 26 | public class INode { 27 | 28 | private Vector position; 29 | private double tension; 30 | private double bias; 31 | private double continuity; 32 | 33 | public INode() { 34 | this(new Vector(0, 0, 0)); 35 | } 36 | 37 | public INode(INode other) { 38 | this.position = other.position; 39 | 40 | this.tension = other.tension; 41 | this.bias = other.bias; 42 | this.continuity = other.continuity; 43 | } 44 | 45 | public INode(Vector position) { 46 | this.position = position; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/math/Spiraled.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.math; 21 | 22 | @FunctionalInterface 23 | public interface Spiraled { 24 | void on(int x, int z); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/network/DownloadException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.network; 21 | 22 | import java.io.IOException; 23 | 24 | public class DownloadException extends IOException { 25 | private static final long serialVersionUID = 5137918663903349839L; 26 | 27 | public DownloadException() { 28 | super(); 29 | } 30 | 31 | public DownloadException(String message, Throwable cause) { 32 | super(message, cause); 33 | } 34 | 35 | public DownloadException(String message) { 36 | super(message); 37 | } 38 | 39 | public DownloadException(Throwable cause) { 40 | super(cause); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/network/DownloadMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.network; 21 | 22 | @FunctionalInterface 23 | public interface DownloadMonitor { 24 | void onUpdate(DL.DownloadState state, double progress, long elapsed, long estimated, long bps, long iobps, long size, long downloaded, long buffer, double bufferuse); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/CancellableTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | public interface CancellableTask { 23 | void cancel(); 24 | } 25 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/Command.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.Target; 24 | 25 | import static java.lang.annotation.ElementType.FIELD; 26 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 27 | 28 | @Retention(RUNTIME) 29 | @Target(FIELD) 30 | public @interface Command { 31 | String value() default ""; 32 | } 33 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/Control.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.Target; 24 | 25 | import static java.lang.annotation.ElementType.FIELD; 26 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 27 | 28 | @Retention(RUNTIME) 29 | @Target(FIELD) 30 | public @interface Control { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/IController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | import com.volmit.react.util.registry.Registered; 23 | 24 | public interface IController extends Registered { 25 | void start(); 26 | 27 | void stop(); 28 | 29 | void postStart(); 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/Instance.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.Target; 24 | 25 | import static java.lang.annotation.ElementType.FIELD; 26 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 27 | 28 | @Retention(RUNTIME) 29 | @Target(FIELD) 30 | public @interface Instance { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/plugin/Permission.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.plugin; 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.Target; 24 | 25 | import static java.lang.annotation.ElementType.FIELD; 26 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 27 | 28 | @Retention(RUNTIME) 29 | @Target(FIELD) 30 | public @interface Permission { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/reflect/ShadeFix.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.reflect; 21 | 22 | public class ShadeFix { 23 | public static void fix(Class c) { 24 | c.getCanonicalName(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/AR.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | import com.volmit.react.util.plugin.CancellableTask; 23 | 24 | public abstract class AR implements Runnable, CancellableTask { 25 | private int id = 0; 26 | 27 | public AR() { 28 | this(0); 29 | } 30 | 31 | public AR(int interval) { 32 | id = J.ar(this, interval); 33 | } 34 | 35 | @Override 36 | public void cancel() { 37 | J.car(id); 38 | } 39 | 40 | public int getId() { 41 | return id; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Callback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | /** 23 | * Callback for async workers 24 | * 25 | * @param the type of object to be returned in the runnable 26 | * @author cyberpwn 27 | */ 28 | @FunctionalInterface 29 | public interface Callback { 30 | /** 31 | * Called when the callback calls back... 32 | * 33 | * @param t the object to be called back 34 | */ 35 | void run(T t); 36 | } 37 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Contained.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | import java.util.function.Function; 23 | 24 | public class Contained { 25 | private T t; 26 | 27 | public void mod(Function x) { 28 | set(x.apply(t)); 29 | } 30 | 31 | public T get() { 32 | return t; 33 | } 34 | 35 | public void set(T t) { 36 | this.t = t; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Observable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | public interface Observable { 23 | T get(); 24 | 25 | Observable set(T t); 26 | 27 | boolean has(); 28 | 29 | Observable clearObservers(); 30 | 31 | Observable observe(Observer t); 32 | } 33 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Observer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | @FunctionalInterface 23 | public interface Observer { 24 | void onChanged(T from, T to); 25 | } 26 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Queue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | import com.volmit.react.util.collection.KList; 23 | 24 | @SuppressWarnings("ALL") 25 | public interface Queue { 26 | static Queue create(KList t) { 27 | return new ShurikenQueue().queue(t); 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | static Queue create(T... t) { 32 | return new ShurikenQueue().queue(new KList().add(t)); 33 | } 34 | 35 | Queue queue(T t); 36 | 37 | Queue queue(KList t); 38 | 39 | boolean hasNext(int amt); 40 | 41 | boolean hasNext(); 42 | 43 | T next(); 44 | 45 | KList next(int amt); 46 | 47 | Queue clear(); 48 | 49 | int size(); 50 | 51 | boolean contains(T p); 52 | } 53 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/S.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | public abstract class S implements Runnable { 23 | public S() { 24 | J.s(this); 25 | } 26 | 27 | public S(int delay) { 28 | J.s(this, delay); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/SR.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | 23 | import com.volmit.react.util.plugin.CancellableTask; 24 | 25 | public abstract class SR implements Runnable, CancellableTask { 26 | private int id = 0; 27 | 28 | public SR() { 29 | this(0); 30 | } 31 | 32 | public SR(int interval) { 33 | id = J.sr(this, interval); 34 | } 35 | 36 | @Override 37 | public void cancel() { 38 | J.csr(id); 39 | } 40 | 41 | public int getId() { 42 | return id; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/scheduling/Switch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.scheduling; 21 | 22 | public class Switch { 23 | private volatile boolean b; 24 | 25 | /** 26 | * Defaulted off 27 | */ 28 | public Switch() { 29 | b = false; 30 | } 31 | 32 | public void flip() { 33 | b = true; 34 | } 35 | 36 | public boolean isFlipped() { 37 | return b; 38 | } 39 | 40 | public void reset() { 41 | b = false; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/value/MaterialCount.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.value; 21 | 22 | import lombok.AllArgsConstructor; 23 | import lombok.Data; 24 | import org.bukkit.Material; 25 | 26 | @AllArgsConstructor 27 | @Data 28 | public class MaterialCount { 29 | private Material material; 30 | private int amount; 31 | } 32 | -------------------------------------------------------------------------------- /React/src/main/java/com/volmit/react/util/value/MaterialRecipe.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016-2025 Arcane Arts (Volmit Software) 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | * 17 | * 18 | */ 19 | 20 | package com.volmit.react.util.value; 21 | 22 | import lombok.AllArgsConstructor; 23 | import lombok.Builder; 24 | import lombok.Data; 25 | 26 | import java.util.List; 27 | 28 | @AllArgsConstructor 29 | @Builder 30 | @Data 31 | public class MaterialRecipe { 32 | private List input; 33 | private MaterialCount output; 34 | } 35 | -------------------------------------------------------------------------------- /React/src/main/resources/plugin.yml: -------------------------------------------------------------------------------- 1 | name: ${name} 2 | main: com.volmit.react.React 3 | version: ${version} 4 | authors: [ NextdoorPsycho, Cyberpwn ] 5 | api-version: ${apiversion} 6 | commands: 7 | react: 8 | aliases: [ re ] 9 | libraries: 10 | - net.kyori:adventure-text-minimessage:4.13.1 11 | - net.kyori:adventure-platform-bukkit:4.3.0 12 | - net.kyori:adventure-api:4.13.1 13 | - io.timeandspace:smoothie-map:2.0.2 14 | - it.unimi.dsi:fastutil:8.5.8 15 | - com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2 16 | - org.apache.commons:commons-lang3:3.12.0 17 | - com.google.code.gson:gson:2.10 18 | - org.zeroturnaround:zt-zip:1.15 19 | - org.bitbucket.mstrobel:procyon-core:0.6.0 20 | - org.bitbucket.mstrobel:procyon-compilertools:0.6.0 21 | - org.bitbucket.mstrobel:procyon-reflection:0.6.0 22 | - fr.inria.gforge.spoon:spoon-core:10.2.0 23 | - com.github.ben-manes.caffeine:caffeine:3.0.6 24 | - org.java-websocket:Java-WebSocket:1.5.3 25 | -------------------------------------------------------------------------------- /react_remote/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | migrate_working_dir/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # The .vscode folder contains launch configuration and tasks you configure in 20 | # VS Code which you may wish to be included in version control, so this line 21 | # is commented out by default. 22 | #.vscode/ 23 | 24 | # Flutter/Dart/Pub related 25 | **/doc/api/ 26 | **/ios/Flutter/.last_build_id 27 | .dart_tool/ 28 | .flutter-plugins 29 | .flutter-plugins-dependencies 30 | .packages 31 | .pub-cache/ 32 | .pub/ 33 | /build/ 34 | 35 | # Symbolication related 36 | app.*.symbols 37 | 38 | # Obfuscation related 39 | app.*.map.json 40 | 41 | # Android Studio will place build artifacts here 42 | /android/app/debug 43 | /android/app/profile 44 | /android/app/release 45 | -------------------------------------------------------------------------------- /react_remote/README.md: -------------------------------------------------------------------------------- 1 | # react_remote 2 | 3 | The remote app 4 | -------------------------------------------------------------------------------- /react_remote/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # This file configures the analyzer, which statically analyzes Dart code to 2 | # check for errors, warnings, and lints. 3 | # 4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled 5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be 6 | # invoked from the command line by running `flutter analyze`. 7 | 8 | # The following line activates a set of recommended lints for Flutter apps, 9 | # packages, and plugins designed to encourage good coding practices. 10 | include: package:flutter_lints/flutter.yaml 11 | 12 | linter: 13 | # The lint rules applied to this project can be customized in the 14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml` 15 | # included above or to enable additional rules. A list of all available lints 16 | # and their documentation is published at 17 | # https://dart-lang.github.io/linter/lints/index.html. 18 | # 19 | # Instead of disabling a lint rule for the entire project in the 20 | # section below, it can also be suppressed for a single line of code 21 | # or a specific dart file by using the `// ignore: name_of_lint` and 22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file 23 | # producing the lint. 24 | rules: 25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule 26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule 27 | 28 | # Additional information about this file can be found at 29 | # https://dart.dev/guides/language/analysis-options 30 | -------------------------------------------------------------------------------- /react_remote/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /react_remote/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/android/app/src/main/kotlin/com/example/react_remote/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.react_remote 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /react_remote/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /react_remote/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.7.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:7.2.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /react_remote/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /react_remote/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip 6 | -------------------------------------------------------------------------------- /react_remote/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /react_remote/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /react_remote/ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 11.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /react_remote/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /react_remote/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /react_remote/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /react_remote/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /react_remote/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:get/get.dart'; 3 | 4 | void main() { 5 | _init().then((value) => runApp(const ReactApp())); 6 | } 7 | 8 | Future _init() async {} 9 | 10 | class ReactApp extends StatefulWidget { 11 | const ReactApp({Key? key}) : super(key: key); 12 | 13 | @override 14 | State createState() => _ReactAppState(); 15 | } 16 | 17 | class _ReactAppState extends State { 18 | @override 19 | Widget build(BuildContext context) => const GetMaterialApp( 20 | color: Colors.lightBlue, 21 | title: "React Remote", 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /react_remote/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /react_remote/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /react_remote/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /react_remote/linux/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | list(APPEND FLUTTER_PLUGIN_LIST 6 | ) 7 | 8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 9 | ) 10 | 11 | set(PLUGIN_BUNDLED_LIBRARIES) 12 | 13 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) 15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 18 | endforeach(plugin) 19 | 20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) 22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 23 | endforeach(ffi_plugin) 24 | -------------------------------------------------------------------------------- /react_remote/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /react_remote/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /react_remote/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /react_remote/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /react_remote/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /react_remote/macos/Flutter/GeneratedPluginRegistrant.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | import FlutterMacOS 6 | import Foundation 7 | 8 | import path_provider_foundation 9 | 10 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 11 | PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) 12 | } 13 | -------------------------------------------------------------------------------- /react_remote/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /react_remote/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /react_remote/macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = react_remote 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = com.example.reactRemote 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. 15 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | $(PRODUCT_COPYRIGHT) 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /react_remote/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /react_remote/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: react_remote 2 | description: React Remote App 3 | publish_to: 'none' 4 | version: 1.0.0+1 5 | environment: 6 | sdk: '>=2.19.6 <3.0.0' 7 | dependencies: 8 | flutter: 9 | sdk: flutter 10 | cupertino_icons: ^1.0.5 11 | toxic: ^1.0.3 12 | get: ^4.6.5 13 | intl: ^0.18.1 14 | hive_flutter: ^1.1.0 15 | hive: ^2.2.3 16 | tryhard: ^1.0.1 17 | dev_dependencies: 18 | flutter_test: 19 | sdk: flutter 20 | flutter_lints: ^2.0.1 21 | flutter: 22 | uses-material-design: true 23 | -------------------------------------------------------------------------------- /react_remote/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/web/favicon.png -------------------------------------------------------------------------------- /react_remote/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/web/icons/Icon-192.png -------------------------------------------------------------------------------- /react_remote/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/web/icons/Icon-512.png -------------------------------------------------------------------------------- /react_remote/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /react_remote/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /react_remote/web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react_remote", 3 | "short_name": "react_remote", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#0175C2", 7 | "theme_color": "#0175C2", 8 | "description": "A new Flutter project.", 9 | "orientation": "portrait-primary", 10 | "prefer_related_applications": false, 11 | "icons": [ 12 | { 13 | "src": "icons/Icon-192.png", 14 | "sizes": "192x192", 15 | "type": "image/png" 16 | }, 17 | { 18 | "src": "icons/Icon-512.png", 19 | "sizes": "512x512", 20 | "type": "image/png" 21 | }, 22 | { 23 | "src": "icons/Icon-maskable-192.png", 24 | "sizes": "192x192", 25 | "type": "image/png", 26 | "purpose": "maskable" 27 | }, 28 | { 29 | "src": "icons/Icon-maskable-512.png", 30 | "sizes": "512x512", 31 | "type": "image/png", 32 | "purpose": "maskable" 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /react_remote/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /react_remote/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void RegisterPlugins(flutter::PluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /react_remote/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /react_remote/windows/flutter/generated_plugins.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | list(APPEND FLUTTER_PLUGIN_LIST 6 | ) 7 | 8 | list(APPEND FLUTTER_FFI_PLUGIN_LIST 9 | ) 10 | 11 | set(PLUGIN_BUNDLED_LIBRARIES) 12 | 13 | foreach(plugin ${FLUTTER_PLUGIN_LIST}) 14 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) 15 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) 16 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $) 17 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) 18 | endforeach(plugin) 19 | 20 | foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) 21 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) 22 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) 23 | endforeach(ffi_plugin) 24 | -------------------------------------------------------------------------------- /react_remote/windows/runner/flutter_window.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNNER_FLUTTER_WINDOW_H_ 2 | #define RUNNER_FLUTTER_WINDOW_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | #include "win32_window.h" 10 | 11 | // A window that does nothing but host a Flutter view. 12 | class FlutterWindow : public Win32Window { 13 | public: 14 | // Creates a new FlutterWindow hosting a Flutter view running |project|. 15 | explicit FlutterWindow(const flutter::DartProject& project); 16 | virtual ~FlutterWindow(); 17 | 18 | protected: 19 | // Win32Window: 20 | bool OnCreate() override; 21 | void OnDestroy() override; 22 | LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, 23 | LPARAM const lparam) noexcept override; 24 | 25 | private: 26 | // The project to run. 27 | flutter::DartProject project_; 28 | 29 | // The Flutter instance hosted by this window. 30 | std::unique_ptr flutter_controller_; 31 | }; 32 | 33 | #endif // RUNNER_FLUTTER_WINDOW_H_ 34 | -------------------------------------------------------------------------------- /react_remote/windows/runner/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "flutter_window.h" 6 | #include "utils.h" 7 | 8 | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, 9 | _In_ wchar_t *command_line, _In_ int show_command) { 10 | // Attach to console when present (e.g., 'flutter run') or create a 11 | // new console when running with a debugger. 12 | if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { 13 | CreateAndAttachConsole(); 14 | } 15 | 16 | // Initialize COM, so that it is available for use in the library and/or 17 | // plugins. 18 | ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); 19 | 20 | flutter::DartProject project(L"data"); 21 | 22 | std::vector command_line_arguments = 23 | GetCommandLineArguments(); 24 | 25 | project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); 26 | 27 | FlutterWindow window(project); 28 | Win32Window::Point origin(10, 10); 29 | Win32Window::Size size(1280, 720); 30 | if (!window.Create(L"react_remote", origin, size)) { 31 | return EXIT_FAILURE; 32 | } 33 | window.SetQuitOnClose(true); 34 | 35 | ::MSG msg; 36 | while (::GetMessage(&msg, nullptr, 0, 0)) { 37 | ::TranslateMessage(&msg); 38 | ::DispatchMessage(&msg); 39 | } 40 | 41 | ::CoUninitialize(); 42 | return EXIT_SUCCESS; 43 | } 44 | -------------------------------------------------------------------------------- /react_remote/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /react_remote/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VolmitSoftware/React/45d36e99f4587e703eea1bfb64743efd47282ff0/react_remote/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /react_remote/windows/runner/runner.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PerMonitorV2 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /react_remote/windows/runner/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNNER_UTILS_H_ 2 | #define RUNNER_UTILS_H_ 3 | 4 | #include 5 | #include 6 | 7 | // Creates a console for the process, and redirects stdout and stderr to 8 | // it for both the runner and the Flutter library. 9 | void CreateAndAttachConsole(); 10 | 11 | // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string 12 | // encoded in UTF-8. Returns an empty std::string on failure. 13 | std::string Utf8FromUtf16(const wchar_t* utf16_string); 14 | 15 | // Gets the command line arguments passed in as a std::vector, 16 | // encoded in UTF-8. Returns an empty std::vector on failure. 17 | std::vector GetCommandLineArguments(); 18 | 19 | #endif // RUNNER_UTILS_H_ 20 | --------------------------------------------------------------------------------