├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── FUNDING.yml ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ ├── Feature_request.md │ ├── Performance_issue.md │ └── Question.md ├── issue-commenter.yml ├── labeler.yml ├── no-response.yml └── workflows │ ├── ci.yml │ ├── close-issues-no-response.yml │ ├── crowdin.yml │ ├── issue-label-commenter.yml │ ├── issue-label-to-project-board.yml │ ├── new-issue-label.yml │ └── publish-github-release.yml ├── .gitignore ├── .gitmodules ├── LICENSE.txt ├── README.md ├── build.gradle ├── buildSrc ├── build.gradle └── src │ └── main │ └── groovy │ ├── multiloader-common.gradle │ ├── multiloader-loader-common.gradle │ ├── multiloader-loader-fabric.gradle │ ├── multiloader-loader-forge.gradle │ ├── multiloader-loader-neoforge.gradle │ └── multiloader-loader.gradle ├── config └── checkstyle │ └── checkstyle.xml ├── crowdin.yml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystore.jks.enc ├── loader-common ├── build.gradle └── src │ └── main │ ├── java │ └── org │ │ └── cyclops │ │ └── cyclopscore │ │ ├── GeneralConfig.java │ │ ├── Reference.java │ │ ├── RegistryEntriesCommon.java │ │ ├── advancement │ │ └── criterion │ │ │ ├── GuiContainerOpenTrigger.java │ │ │ ├── GuiContainerOpenTriggerConfig.java │ │ │ ├── ICriterionInstanceTestable.java │ │ │ ├── ItemCraftedTrigger.java │ │ │ ├── ItemCraftedTriggerConfig.java │ │ │ ├── ModItemObtainedTrigger.java │ │ │ └── ModItemObtainedTriggerConfig.java │ │ ├── algorithm │ │ └── Dimension.java │ │ ├── block │ │ ├── BlockGuiCommon.java │ │ ├── BlockWithEntityCommon.java │ │ ├── BlockWithEntityGuiCommon.java │ │ ├── IBlockGui.java │ │ ├── IBlockRarityProvider.java │ │ └── multi │ │ │ ├── AllowedBlock.java │ │ │ ├── CubeDetector.java │ │ │ ├── CubeSizeValidator.java │ │ │ ├── DetectionResult.java │ │ │ ├── ExactBlockCountValidator.java │ │ │ ├── ExactSizeValidator.java │ │ │ ├── HollowCubeDetector.java │ │ │ ├── IBlockCountValidator.java │ │ │ ├── ISizeValidator.java │ │ │ ├── MaximumBlockCountValidator.java │ │ │ ├── MaximumSizeValidator.java │ │ │ ├── MinimumBlockCountValidator.java │ │ │ ├── MinimumSizeValidator.java │ │ │ └── SizeValidators.java │ │ ├── blockentity │ │ ├── BlockEntityTickerDelayed.java │ │ ├── CyclopsBlockEntityCommon.java │ │ └── IBlockEntityDelayedTickable.java │ │ ├── client │ │ ├── gui │ │ │ ├── GuiMainMenuExtensionDevWorld.java │ │ │ ├── ScreenFactorySafe.java │ │ │ ├── component │ │ │ │ ├── WidgetScrollBar.java │ │ │ │ ├── button │ │ │ │ │ ├── ButtonArrow.java │ │ │ │ │ ├── ButtonCheckbox.java │ │ │ │ │ ├── ButtonExtended.java │ │ │ │ │ ├── ButtonImage.java │ │ │ │ │ └── ButtonText.java │ │ │ │ └── input │ │ │ │ │ ├── IInputListener.java │ │ │ │ │ ├── WidgetArrowedListField.java │ │ │ │ │ ├── WidgetNumberField.java │ │ │ │ │ └── WidgetTextFieldExtended.java │ │ │ ├── container │ │ │ │ ├── ContainerScreenExtendedCommon.java │ │ │ │ └── ContainerScreenScrollingCommon.java │ │ │ └── image │ │ │ │ ├── IImage.java │ │ │ │ ├── Image.java │ │ │ │ └── Images.java │ │ ├── model │ │ │ └── IDynamicModelElementCommon.java │ │ ├── particle │ │ │ ├── BufferBuilderWrapper.java │ │ │ ├── ParticleBlur.java │ │ │ ├── ParticleBlurConfig.java │ │ │ ├── ParticleBlurConfigComponentClient.java │ │ │ ├── ParticleBlurData.java │ │ │ ├── ParticleDropColored.java │ │ │ ├── ParticleDropColoredConfig.java │ │ │ ├── ParticleDropColoredConfigComponentClient.java │ │ │ └── ParticleDropColoredData.java │ │ └── render │ │ │ └── blockentity │ │ │ └── ItemStackBlockEntityRendererBase.java │ │ ├── command │ │ ├── CommandConfig.java │ │ ├── CommandDebug.java │ │ ├── CommandIgnite.java │ │ ├── CommandReloadResources.java │ │ └── argument │ │ │ ├── ArgumentInfoMod.java │ │ │ ├── ArgumentTypeConfigProperty.java │ │ │ ├── ArgumentTypeConfigPropertyConfig.java │ │ │ ├── ArgumentTypeDebugPacket.java │ │ │ ├── ArgumentTypeDebugPacketConfig.java │ │ │ ├── ArgumentTypeEnum.java │ │ │ └── ArgumentTypeEnumConfig.java │ │ ├── component │ │ ├── DataComponentCapacityConfig.java │ │ └── DataComponentEnergyStorageConfig.java │ │ ├── config │ │ ├── ConfigHandlerCommon.java │ │ ├── ConfigurablePropertyCommon.java │ │ ├── ConfigurablePropertyData.java │ │ ├── ConfigurableTypeCommon.java │ │ ├── CyclopsCoreConfigException.java │ │ ├── DeferredHolderCommon.java │ │ ├── ModConfigLocation.java │ │ ├── UndisableableConfigException.java │ │ ├── configurabletypeaction │ │ │ ├── BlockAction.java │ │ │ ├── CapabilityAction.java │ │ │ ├── ConfigurableTypeActionCommon.java │ │ │ ├── ConfigurableTypeActionRegistry.java │ │ │ ├── DummyActionCommon.java │ │ │ ├── EntityActionCommon.java │ │ │ ├── GuiActionCommonBase.java │ │ │ ├── ItemAction.java │ │ │ └── ParticleActionCommon.java │ │ └── extendedconfig │ │ │ ├── ArgumentTypeConfigCommon.java │ │ │ ├── ArmorMaterialConfigCommon.java │ │ │ ├── BlockClientConfig.java │ │ │ ├── BlockConfigCommon.java │ │ │ ├── BlockEntityConfigCommon.java │ │ │ ├── CapabilityConfigCommon.java │ │ │ ├── CreativeModeTabConfigCommon.java │ │ │ ├── CriterionTriggerConfigCommon.java │ │ │ ├── DataComponentConfigCommon.java │ │ │ ├── DummyConfigCommon.java │ │ │ ├── EffectConfigCommon.java │ │ │ ├── EnchantmentEffectComponentConfigCommon.java │ │ │ ├── EnchantmentEntityEffectConfigCommon.java │ │ │ ├── EntityClientConfig.java │ │ │ ├── EntityConfigCommon.java │ │ │ ├── ExtendedConfigCommon.java │ │ │ ├── ExtendedConfigRegistry.java │ │ │ ├── FoliagePlacerConfigCommon.java │ │ │ ├── GuiConfigCommon.java │ │ │ ├── GuiConfigScreenFactoryProvider.java │ │ │ ├── IModelProviderConfig.java │ │ │ ├── ItemClientConfig.java │ │ │ ├── ItemConfigCommon.java │ │ │ ├── LootConditionConfigCommon.java │ │ │ ├── LootFunctionConfigCommon.java │ │ │ ├── LootNbtProviderConfigCommon.java │ │ │ ├── LootNumberProviderConfigCommon.java │ │ │ ├── LootScoreProviderConfigCommon.java │ │ │ ├── ParticleConfigCommon.java │ │ │ ├── ParticleConfigComponentClient.java │ │ │ ├── RecipeConfigCommon.java │ │ │ ├── RecipeTypeConfigCommon.java │ │ │ ├── SoundEventConfigCommon.java │ │ │ ├── TrunkPlacerConfigCommon.java │ │ │ ├── VillagerConfigCommon.java │ │ │ ├── WorldFeatureConfigCommon.java │ │ │ ├── WorldStructureConfigCommon.java │ │ │ └── WorldStructurePieceConfigCommon.java │ │ ├── datastructure │ │ ├── CompositeMap.java │ │ ├── DataSlotSupplied.java │ │ ├── DistinctIterator.java │ │ ├── EnumFacingMap.java │ │ ├── EvictingStack.java │ │ ├── MultitransformIterator.java │ │ ├── SingleCache.java │ │ ├── WrappedIntIterator.java │ │ └── Wrapper.java │ │ ├── event │ │ ├── LecternInfoBookHandler.java │ │ └── PlayerRingOfFire.java │ │ ├── gametest │ │ └── GameTestLoaderHelpers.java │ │ ├── helper │ │ ├── BaseHelpersCommon.java │ │ ├── BlockEntityHelpersCommon.java │ │ ├── BlockHelpersCommon.java │ │ ├── CraftingHelpersCommon.java │ │ ├── CyclopsCoreInstance.java │ │ ├── DirectionHelpers.java │ │ ├── GuiHelpersCommon.java │ │ ├── IBaseHelpers.java │ │ ├── IBlockEntityHelpers.java │ │ ├── IBlockHelpers.java │ │ ├── ICraftingHelpers.java │ │ ├── IGuiHelpers.java │ │ ├── IInventoryHelpers.java │ │ ├── IItemStackHelpers.java │ │ ├── IL10NHelpers.java │ │ ├── ILocationHelpers.java │ │ ├── IMinecraftClientHelpers.java │ │ ├── IMinecraftHelpers.java │ │ ├── IModHelpers.java │ │ ├── IRegistrationHelpers.java │ │ ├── IRenderHelpers.java │ │ ├── IWorldHelpers.java │ │ ├── InventoryHelpersCommon.java │ │ ├── ItemStackHelpersCommon.java │ │ ├── L10NHelpersCommon.java │ │ ├── LocationHelpersCommon.java │ │ ├── LoggerHelper.java │ │ ├── MinecraftClientHelpersCommon.java │ │ ├── MinecraftHelpersCommon.java │ │ ├── ModBaseCommon.java │ │ ├── ModHelpersCommon.java │ │ ├── RenderHelpersCommon.java │ │ ├── StringHelpers.java │ │ ├── WorldHelpersCommon.java │ │ ├── WorldHelpersCommonClient.java │ │ └── WorldHelpersCommonServer.java │ │ ├── init │ │ ├── IModBase.java │ │ ├── IRegistry.java │ │ └── RegistryManager.java │ │ ├── inventory │ │ ├── IInventoryCommonModifiable.java │ │ ├── IInventoryLocation.java │ │ ├── INBTInventory.java │ │ ├── IRegistryInventoryLocation.java │ │ ├── IndexedInventoryCommon.java │ │ ├── InventoryCommonModifiableContainer.java │ │ ├── InventoryIterator.java │ │ ├── InventoryLocationPlayer.java │ │ ├── InventoryLocations.java │ │ ├── ItemLocation.java │ │ ├── LargeInventoryCommon.java │ │ ├── PlayerExtendedInventoryIterator.java │ │ ├── PlayerInventoryIterator.java │ │ ├── RegistryInventoryLocation.java │ │ ├── SimpleInventoryCommon.java │ │ ├── container │ │ │ ├── ContainerExtendedCommon.java │ │ │ ├── ContainerTypeDataCommon.java │ │ │ ├── IContainerFactoryCommon.java │ │ │ ├── InventoryContainerCommon.java │ │ │ ├── ItemInventoryContainerCommon.java │ │ │ ├── NamedContainerProviderItem.java │ │ │ └── ScrollingInventoryContainerCommon.java │ │ └── slot │ │ │ └── SlotExtended.java │ │ ├── item │ │ ├── ItemGui.java │ │ └── ItemInformationProviderCommon.java │ │ ├── mixin │ │ └── MixinBufferBuilder.java │ │ ├── modcompat │ │ ├── ICompatInitializer.java │ │ ├── IExternalCompat.java │ │ ├── IModCompat.java │ │ └── ModCompatLoader.java │ │ ├── network │ │ ├── CodecField.java │ │ ├── IPacketHandler.java │ │ ├── PacketBase.java │ │ ├── PacketCodec.java │ │ ├── PacketCodecException.java │ │ ├── PacketCodecs.java │ │ └── packet │ │ │ ├── PlayerPositionPacketCommon.java │ │ │ ├── ReloadResourcesPacket.java │ │ │ ├── RingOfFirePacket.java │ │ │ └── debug │ │ │ ├── PingPongPacketAsync.java │ │ │ ├── PingPongPacketComplexAsync.java │ │ │ ├── PingPongPacketComplexSync.java │ │ │ └── PingPongPacketSync.java │ │ ├── persist │ │ ├── IDirtyMarkListener.java │ │ └── nbt │ │ │ ├── INBTProvider.java │ │ │ ├── INBTSerializable.java │ │ │ ├── NBTClassType.java │ │ │ ├── NBTPersist.java │ │ │ └── NBTProviderComponent.java │ │ ├── proxy │ │ ├── ClientProxyComponentCommon.java │ │ ├── CommonProxyComponentCommon.java │ │ ├── IClientProxyCommon.java │ │ └── ICommonProxyCommon.java │ │ └── tracking │ │ └── ImportantUsers.java │ └── resources │ ├── META-INF │ └── accesstransformer.cfg │ ├── assets │ └── cyclopscore │ │ ├── lang │ │ ├── af_za.json │ │ ├── ar_sa.json │ │ ├── ca_es.json │ │ ├── cs_cz.json │ │ ├── da_dk.json │ │ ├── de_de.json │ │ ├── el_gr.json │ │ ├── en_us.json │ │ ├── es_es.json │ │ ├── fi_fi.json │ │ ├── fr_fr.json │ │ ├── he_il.json │ │ ├── hu_hu.json │ │ ├── it_it.json │ │ ├── ja_jp.json │ │ ├── ko_kr.json │ │ ├── nl_nl.json │ │ ├── no_no.json │ │ ├── pl_pl.json │ │ ├── pt_br.json │ │ ├── pt_pt.json │ │ ├── ro_ro.json │ │ ├── ru_ru.json │ │ ├── sr_sp.json │ │ ├── sv_se.json │ │ ├── tr_tr.json │ │ ├── uk_ua.json │ │ ├── vi_vn.json │ │ ├── zh_cn.json │ │ └── zh_tw.json │ │ ├── models │ │ ├── block │ │ │ ├── cube_double_layer.json │ │ │ └── cube_double_layer_all.json │ │ └── item │ │ │ └── flat.json │ │ ├── particles │ │ ├── blur.json │ │ └── drop_colored.json │ │ └── textures │ │ ├── block │ │ └── empty.png │ │ ├── gui │ │ ├── buttons.png │ │ ├── icons.png │ │ └── widgets.png │ │ └── particle │ │ ├── blur.png │ │ └── blur.png.mcmeta │ ├── cyclopscore.accesswidener │ ├── data │ └── cyclopscore │ │ ├── info │ │ └── test.xml │ │ ├── recipes │ │ └── recipes.xsd │ │ └── structure │ │ └── empty.nbt │ ├── logo.png │ ├── logo_small.png │ └── pack.mcmeta ├── loader-fabric ├── build.gradle └── src │ └── main │ ├── java │ └── org │ │ └── cyclops │ │ └── cyclopscore │ │ ├── CyclopsCoreFabric.java │ │ ├── advancement │ │ └── criterion │ │ │ ├── GuiContainerOpenTriggerEventHooksFabric.java │ │ │ ├── ItemCraftedTriggerTriggerEventHooksFabric.java │ │ │ └── ModItemObtainedTriggerEventHooksFabric.java │ │ ├── client │ │ └── gui │ │ │ └── GuiMainMenuExtensionDevWorldFabricRegistrar.java │ │ ├── config │ │ ├── ConfigHandlerFabric.java │ │ ├── ConfigurableTypesFabric.java │ │ ├── StreamCodecConsumerHack.java │ │ ├── configurabletypeaction │ │ │ ├── ConditionActionFabric.java │ │ │ ├── GuiActionFabric.java │ │ │ └── ParticleActionFabric.java │ │ └── extendedconfig │ │ │ ├── ConditionConfigFabric.java │ │ │ └── GuiConfig.java │ │ ├── event │ │ ├── LecternInfoBookHandlerFabric.java │ │ └── PlayerRingOfFireFabric.java │ │ ├── events │ │ ├── IBlockExplodedEvent.java │ │ ├── IEntityJoinLevelEvent.java │ │ ├── IEntityTickEvent.java │ │ ├── IItemCraftedEvent.java │ │ ├── IItemPickupEvent.java │ │ ├── IItemSmeltedEvent.java │ │ ├── ILivingEntityRendererEvent.java │ │ ├── ILootTableModifyEvent.java │ │ ├── IMenuOpenEvent.java │ │ ├── IParticleEngineRenderEvent.java │ │ └── IPlayerLoggedInEvent.java │ │ ├── gametest │ │ └── StartupTestFabric.java │ │ ├── helper │ │ ├── FluidHelpersFabric.java │ │ ├── GuiHelpersFabric.java │ │ ├── IFluidHelpersFabric.java │ │ ├── IGuiHelpersFabric.java │ │ ├── IModHelpersFabric.java │ │ ├── IRenderHelpersFabric.java │ │ ├── ItemStackHelpersFabric.java │ │ ├── MinecraftHelpersFabric.java │ │ ├── ModHelpersFabric.java │ │ ├── RegistrationHelpersFabric.java │ │ └── RenderHelpersFabric.java │ │ ├── init │ │ └── ModBaseFabric.java │ │ ├── item │ │ └── ItemInformationProviderFabric.java │ │ ├── mixin │ │ ├── MixinBlockBehaviour.java │ │ ├── MixinClientLevel.java │ │ ├── MixinEntity.java │ │ ├── MixinFurnaceResultSlot.java │ │ ├── MixinItemEntity.java │ │ ├── MixinLivingEntityRenderer.java │ │ ├── MixinLootTable.java │ │ ├── MixinParticleEngine.java │ │ ├── MixinPlayerList.java │ │ ├── MixinResultSlot.java │ │ ├── MixinServerLevel.java │ │ └── MixinServerPlayer.java │ │ ├── modcompat │ │ └── forgeconfig │ │ │ ├── ConfigHandlerFabricHandler.java │ │ │ ├── IConfigInitializer.java │ │ │ ├── ModCompatForgeConfig.java │ │ │ └── ModCompatForgeConfigInitializer.java │ │ ├── network │ │ └── PacketHandlerFabric.java │ │ └── proxy │ │ ├── ClientProxyComponentFabric.java │ │ ├── ClientProxyFabric.java │ │ ├── CommonProxyComponentFabric.java │ │ ├── CommonProxyFabric.java │ │ ├── IClientProxyFabric.java │ │ └── ICommonProxyFabric.java │ └── resources │ ├── fabric.mod.json │ └── mixins.cyclopscore.json ├── loader-forge ├── build.gradle └── src │ └── main │ ├── java │ └── org │ │ └── cyclops │ │ └── cyclopscore │ │ ├── CyclopsCoreForge.java │ │ ├── advancement │ │ └── criterion │ │ │ ├── GuiContainerOpenTriggerEventHooksForge.java │ │ │ ├── ItemCraftedTriggerTriggerEventHooksForge.java │ │ │ └── ModItemObtainedTriggerEventHooksForge.java │ │ ├── client │ │ ├── gui │ │ │ └── GuiMainMenuExtensionDevWorldForgeRegistrar.java │ │ └── model │ │ │ └── IDynamicModelElement.java │ │ ├── config │ │ ├── ConfigHandlerForge.java │ │ ├── ConfigurableTypesForge.java │ │ ├── IConfigInitializer.java │ │ ├── configurabletypeaction │ │ │ ├── BiomeModifierActionForge.java │ │ │ ├── BlockActionForge.java │ │ │ ├── ConditionActionForge.java │ │ │ ├── FluidActionForge.java │ │ │ ├── GuiActionForge.java │ │ │ ├── ItemActionForge.java │ │ │ ├── LootModifierActionForge.java │ │ │ └── ParticleActionForge.java │ │ └── extendedconfig │ │ │ ├── BiomeModifierConfigForge.java │ │ │ ├── ConditionConfigForge.java │ │ │ ├── FluidConfigForge.java │ │ │ └── LootModifierConfigForge.java │ │ ├── event │ │ ├── LecternInfoBookHandlerForge.java │ │ └── PlayerRingOfFireForge.java │ │ ├── fluid │ │ ├── FluidHandlerWrapperForge.java │ │ ├── SingleUseTankForge.java │ │ └── TankForge.java │ │ ├── gametest │ │ └── StartupTestForge.java │ │ ├── helper │ │ ├── CapabilityHelpersForge.java │ │ ├── FluidHelpersForge.java │ │ ├── GuiHelpersForge.java │ │ ├── ICapabilityHelpersForge.java │ │ ├── IFluidHelpersForge.java │ │ ├── IGuiHelpersForge.java │ │ ├── IModHelpersForge.java │ │ ├── IRenderHelpersForge.java │ │ ├── ItemStackHelpersForge.java │ │ ├── MinecraftHelpersForge.java │ │ ├── ModHelpersForge.java │ │ ├── RegistrationHelpersForge.java │ │ └── RenderHelpersForge.java │ │ ├── init │ │ └── ModBaseForge.java │ │ ├── inventory │ │ └── container │ │ │ └── ContainerFactoryWrapperForge.java │ │ ├── item │ │ └── ItemInformationProviderForge.java │ │ ├── neywork │ │ └── PacketHandlerForge.java │ │ └── proxy │ │ ├── ClientProxyComponentForge.java │ │ ├── ClientProxyForge.java │ │ ├── CommonProxyComponentForge.java │ │ ├── CommonProxyForge.java │ │ ├── IClientProxyForge.java │ │ └── ICommonProxyForge.java │ └── resources │ ├── META-INF │ └── mods.toml │ └── mixins.cyclopscore.json ├── loader-neoforge ├── build.gradle └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── cyclops │ │ │ └── cyclopscore │ │ │ ├── Capabilities.java │ │ │ ├── CyclopsCore.java │ │ │ ├── RegistryEntries.java │ │ │ ├── advancement │ │ │ └── criterion │ │ │ │ ├── GuiContainerOpenTriggerEventHooksNeoForge.java │ │ │ │ ├── ItemCraftedTriggerTriggerEventHooksNeoForge.java │ │ │ │ └── ModItemObtainedTriggerEventHooksNeoForge.java │ │ │ ├── block │ │ │ ├── BlockGui.java │ │ │ ├── BlockWithEntity.java │ │ │ ├── BlockWithEntityGui.java │ │ │ └── component │ │ │ │ ├── IEntityDropParticleFXBlock.java │ │ │ │ └── ParticleDropBlockComponent.java │ │ │ ├── blockentity │ │ │ └── CyclopsBlockEntity.java │ │ │ ├── capability │ │ │ ├── fluid │ │ │ │ ├── FluidHandlerItemCapacity.java │ │ │ │ ├── FluidHandlerItemCapacityConfig.java │ │ │ │ ├── IFluidHandlerCapacity.java │ │ │ │ ├── IFluidHandlerItemCapacity.java │ │ │ │ └── IFluidHandlerMutable.java │ │ │ ├── item │ │ │ │ └── ItemHandlerSlotMasked.java │ │ │ └── registrar │ │ │ │ └── BlockEntityCapabilityRegistrar.java │ │ │ ├── client │ │ │ ├── gui │ │ │ │ ├── GuiGraphicsExtended.java │ │ │ │ ├── GuiMainMenuExtensionDevWorldNeoForgeRegistrar.java │ │ │ │ └── container │ │ │ │ │ ├── ContainerScreenExtended.java │ │ │ │ │ └── ContainerScreenScrolling.java │ │ │ ├── key │ │ │ │ ├── IKeyHandler.java │ │ │ │ ├── IKeyRegistry.java │ │ │ │ └── KeyRegistry.java │ │ │ ├── model │ │ │ │ ├── DelegatingChildDynamicItemAndBlockModel.java │ │ │ │ ├── DelegatingDynamicItemAndBlockModel.java │ │ │ │ ├── DirectionCorner.java │ │ │ │ ├── DynamicBaseModel.java │ │ │ │ ├── DynamicItemAndBlockModel.java │ │ │ │ └── IDynamicModelElement.java │ │ │ └── render │ │ │ │ ├── blockentity │ │ │ │ ├── RenderBlockEntityModel.java │ │ │ │ └── RenderBlockEntityModelBase.java │ │ │ │ └── model │ │ │ │ └── RenderModel.java │ │ │ ├── codec │ │ │ └── ListCodecStrict.java │ │ │ ├── command │ │ │ ├── CommandDumpRegistries.java │ │ │ ├── CommandInfoBookTest.java │ │ │ └── CommandVersion.java │ │ │ ├── component │ │ │ ├── DataComponentFluidContentConfig.java │ │ │ └── DataComponentInventoryConfig.java │ │ │ ├── config │ │ │ ├── ConfigHandler.java │ │ │ ├── ConfigHandlerNeoForge.java │ │ │ ├── ConfigurableProperty.java │ │ │ ├── ConfigurableType.java │ │ │ ├── ConfigurableTypesNeoForge.java │ │ │ ├── IConfigInitializer.java │ │ │ ├── configurabletypeaction │ │ │ │ ├── BiomeModifierAction.java │ │ │ │ ├── BlockActionNeoForge.java │ │ │ │ ├── BlockActionNeoForgeAux.java │ │ │ │ ├── CapabilityActionOld.java │ │ │ │ ├── ConditionAction.java │ │ │ │ ├── ConfigurableTypeAction.java │ │ │ │ ├── ConfigurableTypeActionForge.java │ │ │ │ ├── DummyAction.java │ │ │ │ ├── EntityAction.java │ │ │ │ ├── FluidAction.java │ │ │ │ ├── GuiAction.java │ │ │ │ ├── GuiActionNeoForge.java │ │ │ │ ├── ItemActionNeoForge.java │ │ │ │ ├── LootModifierAction.java │ │ │ │ ├── ParticleAction.java │ │ │ │ └── ParticleActionNeoForge.java │ │ │ └── extendedconfig │ │ │ │ ├── ArgumentTypeConfig.java │ │ │ │ ├── ArmorMaterialConfig.java │ │ │ │ ├── BiomeModifierConfig.java │ │ │ │ ├── BlockConfig.java │ │ │ │ ├── BlockEntityConfig.java │ │ │ │ ├── CapabilityConfig.java │ │ │ │ ├── ConditionConfig.java │ │ │ │ ├── CreativeModeTabConfig.java │ │ │ │ ├── CriterionTriggerConfig.java │ │ │ │ ├── DataComponentConfig.java │ │ │ │ ├── DummyConfig.java │ │ │ │ ├── EffectConfig.java │ │ │ │ ├── EnchantmentEffectComponentConfig.java │ │ │ │ ├── EnchantmentEntityEffectConfig.java │ │ │ │ ├── EntityConfig.java │ │ │ │ ├── ExtendedConfig.java │ │ │ │ ├── ExtendedConfigForge.java │ │ │ │ ├── FluidConfig.java │ │ │ │ ├── FoliagePlacerConfig.java │ │ │ │ ├── GuiConfig.java │ │ │ │ ├── ItemConfig.java │ │ │ │ ├── LootConditionConfig.java │ │ │ │ ├── LootFunctionConfig.java │ │ │ │ ├── LootModifierConfig.java │ │ │ │ ├── LootNbtProviderConfig.java │ │ │ │ ├── LootNumberProviderConfig.java │ │ │ │ ├── LootScoreProviderConfig.java │ │ │ │ ├── ParticleConfig.java │ │ │ │ ├── RecipeConfig.java │ │ │ │ ├── RecipeTypeConfig.java │ │ │ │ ├── SoundEventConfig.java │ │ │ │ ├── TrunkPlacerConfig.java │ │ │ │ ├── VillagerConfig.java │ │ │ │ ├── WorldFeatureConfig.java │ │ │ │ ├── WorldStructureConfig.java │ │ │ │ └── WorldStructurePieceConfig.java │ │ │ ├── datastructure │ │ │ └── DimPos.java │ │ │ ├── event │ │ │ ├── LecternInfoBookHandlerNeoForge.java │ │ │ └── PlayerRingOfFireNeoForge.java │ │ │ ├── fluid │ │ │ ├── FluidHandlerWrapper.java │ │ │ ├── SingleUseTank.java │ │ │ └── Tank.java │ │ │ ├── gametest │ │ │ └── StartupTestNeoForge.java │ │ │ ├── helper │ │ │ ├── AdvancementHelpers.java │ │ │ ├── BlockEntityHelpers.java │ │ │ ├── BlockHelpers.java │ │ │ ├── CapabilityHelpersNeoForge.java │ │ │ ├── CollectionHelpers.java │ │ │ ├── CraftingHelpers.java │ │ │ ├── EnchantmentHelpers.java │ │ │ ├── EntityHelpers.java │ │ │ ├── FluidHelpers.java │ │ │ ├── FluidHelpersNeoForge.java │ │ │ ├── GuiHelpers.java │ │ │ ├── GuiHelpersNeoForge.java │ │ │ ├── Helpers.java │ │ │ ├── ICapabilityHelpersNeoForge.java │ │ │ ├── IFluidHelpersNeoForge.java │ │ │ ├── IGuiHelpersNeoForge.java │ │ │ ├── IModHelpersNeoForge.java │ │ │ ├── IRenderHelpersNeoForge.java │ │ │ ├── InventoryHelpers.java │ │ │ ├── ItemStackHelpers.java │ │ │ ├── ItemStackHelpersNeoForge.java │ │ │ ├── L10NHelpers.java │ │ │ ├── LocationHelpers.java │ │ │ ├── MatrixHelpers.java │ │ │ ├── MinecraftHelpers.java │ │ │ ├── MinecraftHelpersNeoForge.java │ │ │ ├── ModHelpersNeoForge.java │ │ │ ├── ModelHelpers.java │ │ │ ├── RecipeSerializerHelpers.java │ │ │ ├── RegistrationHelpersNeoForge.java │ │ │ ├── RenderHelpers.java │ │ │ ├── RenderHelpersNeoForge.java │ │ │ ├── ValueNotifierHelpers.java │ │ │ ├── WorldHelpers.java │ │ │ ├── WorldHelpersClient.java │ │ │ └── WorldHelpersServer.java │ │ │ ├── infobook │ │ │ ├── AdvancedButton.java │ │ │ ├── AdvancedButtonEnum.java │ │ │ ├── HyperLink.java │ │ │ ├── IInfoBook.java │ │ │ ├── IInfoBookRegistry.java │ │ │ ├── InfoBook.java │ │ │ ├── InfoBookParser.java │ │ │ ├── InfoBookRegistry.java │ │ │ ├── InfoSection.java │ │ │ ├── InfoSectionTagIndex.java │ │ │ ├── ScreenInfoBook.java │ │ │ ├── condition │ │ │ │ ├── ConfigSectionConditionHandler.java │ │ │ │ ├── FluidSectionConditionHandler.java │ │ │ │ ├── ISectionConditionHandler.java │ │ │ │ ├── ItemSectionConditionHandler.java │ │ │ │ ├── ModSectionConditionHandler.java │ │ │ │ └── TagSectionConditionHandler.java │ │ │ ├── pageelement │ │ │ │ ├── AchievementCollectButton.java │ │ │ │ ├── AdvancementButton.java │ │ │ │ ├── AdvancementRewards.java │ │ │ │ ├── AdvancementRewardsAppendix.java │ │ │ │ ├── CraftingRecipeAppendix.java │ │ │ │ ├── FurnaceRecipeAppendix.java │ │ │ │ ├── IReward.java │ │ │ │ ├── IRewardFactory.java │ │ │ │ ├── ImageAppendix.java │ │ │ │ ├── KeyBindingAppendix.java │ │ │ │ ├── RecipeAppendix.java │ │ │ │ ├── RewardItem.java │ │ │ │ ├── SectionAppendix.java │ │ │ │ └── TextFieldAppendix.java │ │ │ └── test │ │ │ │ ├── ContainerInfoBookTest.java │ │ │ │ ├── ContainerInfoBookTestConfig.java │ │ │ │ ├── ContainerScreenInfoBookTest.java │ │ │ │ └── InfoBookTest.java │ │ │ ├── ingredient │ │ │ ├── collection │ │ │ │ ├── FilteredIngredientCollectionIterator.java │ │ │ │ ├── FilteredIngredientCollectionLikeSingleClassifiedIterator.java │ │ │ │ ├── FilteredIngredientMapIterator.java │ │ │ │ ├── IIngredientCollapsedCollection.java │ │ │ │ ├── IIngredientCollapsedCollectionMutable.java │ │ │ │ ├── IIngredientCollection.java │ │ │ │ ├── IIngredientCollectionLike.java │ │ │ │ ├── IIngredientCollectionLikeMultiClassifiedTrait.java │ │ │ │ ├── IIngredientCollectionLikeSingleClassifiedTrait.java │ │ │ │ ├── IIngredientCollectionMutable.java │ │ │ │ ├── IIngredientList.java │ │ │ │ ├── IIngredientListMutable.java │ │ │ │ ├── IIngredientMap.java │ │ │ │ ├── IIngredientMapMutable.java │ │ │ │ ├── IIngredientSet.java │ │ │ │ ├── IIngredientSetMutable.java │ │ │ │ ├── IngredientArrayList.java │ │ │ │ ├── IngredientCollectionAdapter.java │ │ │ │ ├── IngredientCollectionCollectionAdapter.java │ │ │ │ ├── IngredientCollectionCollectionWrappedAdapter.java │ │ │ │ ├── IngredientCollectionEmpty.java │ │ │ │ ├── IngredientCollectionHelpers.java │ │ │ │ ├── IngredientCollectionMultiClassified.java │ │ │ │ ├── IngredientCollectionMutableWrapper.java │ │ │ │ ├── IngredientCollectionPrototypeMap.java │ │ │ │ ├── IngredientCollectionQuantitativeGrouper.java │ │ │ │ ├── IngredientCollectionSingleClassified.java │ │ │ │ ├── IngredientCollectionSingleClassifiedCollapsed.java │ │ │ │ ├── IngredientCollectionWrapper.java │ │ │ │ ├── IngredientCollections.java │ │ │ │ ├── IngredientHashMap.java │ │ │ │ ├── IngredientHashSet.java │ │ │ │ ├── IngredientInstanceUnwrapperFunction.java │ │ │ │ ├── IngredientLinkedList.java │ │ │ │ ├── IngredientList.java │ │ │ │ ├── IngredientMapAdapter.java │ │ │ │ ├── IngredientMapMultiClassified.java │ │ │ │ ├── IngredientMapSingleClassified.java │ │ │ │ ├── IngredientMapWrappedAdapter.java │ │ │ │ ├── IngredientSet.java │ │ │ │ ├── IngredientTreeMap.java │ │ │ │ ├── IngredientTreeSet.java │ │ │ │ └── diff │ │ │ │ │ ├── IngredientCollectionDiff.java │ │ │ │ │ ├── IngredientCollectionDiffHelpers.java │ │ │ │ │ └── IngredientCollectionDiffManager.java │ │ │ ├── recipe │ │ │ │ ├── IngredientRecipeHelpers.java │ │ │ │ └── RecipeHandlerRecipeType.java │ │ │ └── storage │ │ │ │ ├── InconsistentIngredientInsertionException.java │ │ │ │ ├── IngredientComponentStorageCollectionWrapper.java │ │ │ │ ├── IngredientComponentStorageSlottedCollectionWrapper.java │ │ │ │ ├── IngredientComponentStorageSlottedWrapped.java │ │ │ │ ├── IngredientComponentStorageWrapped.java │ │ │ │ └── IngredientStorageHelpers.java │ │ │ ├── init │ │ │ ├── ModBase.java │ │ │ └── ModBaseVersionable.java │ │ │ ├── inventory │ │ │ ├── IValueNotifiable.java │ │ │ ├── IValueNotifier.java │ │ │ ├── IndexedInventory.java │ │ │ ├── IndexedSlotlessItemHandlerWrapper.java │ │ │ ├── InventoryCommonModifiableContainerNeoForge.java │ │ │ ├── InventorySlotMasked.java │ │ │ ├── LargeInventory.java │ │ │ ├── NBTSimpleInventoryItemHeld.java │ │ │ ├── NBTSimpleInventoryItemStack.java │ │ │ ├── SimpleInventory.java │ │ │ ├── SimpleInventoryState.java │ │ │ ├── container │ │ │ │ ├── ContainerExtended.java │ │ │ │ ├── ContainerFactoryWrapperNeoForge.java │ │ │ │ ├── ContainerTypeData.java │ │ │ │ ├── InventoryContainer.java │ │ │ │ ├── ItemInventoryContainer.java │ │ │ │ ├── ScrollingInventoryContainer.java │ │ │ │ ├── SyncedGuiVariable.java │ │ │ │ └── button │ │ │ │ │ ├── IContainerButtonAction.java │ │ │ │ │ └── IContainerButtonClickAcceptorServer.java │ │ │ └── slot │ │ │ │ ├── SlotArmor.java │ │ │ │ ├── SlotFluidContainer.java │ │ │ │ ├── SlotRemoveOnly.java │ │ │ │ └── SlotSingleItem.java │ │ │ ├── item │ │ │ ├── DamageIndicatedItemComponent.java │ │ │ ├── DamageIndicatedItemFluidContainer.java │ │ │ ├── IInformationProvider.java │ │ │ ├── InformationProviderComponent.java │ │ │ ├── ItemBlockNBT.java │ │ │ ├── ItemInformationProviderNeoForge.java │ │ │ └── WeightedItemStack.java │ │ │ ├── loot │ │ │ └── modifier │ │ │ │ ├── LootModifierInjectItem.java │ │ │ │ └── LootModifierInjectItemConfig.java │ │ │ ├── metadata │ │ │ ├── IRegistryExportable.java │ │ │ ├── IRegistryExportableRegistry.java │ │ │ ├── RegistryExportableAbstractCookingRecipe.java │ │ │ ├── RegistryExportableCraftingRecipe.java │ │ │ ├── RegistryExportableFluidTranslationKeys.java │ │ │ ├── RegistryExportableItemTranslationKeys.java │ │ │ ├── RegistryExportableRecipeAbstract.java │ │ │ ├── RegistryExportableRegistry.java │ │ │ └── RegistryExportables.java │ │ │ ├── modcompat │ │ │ ├── IMCHandler.java │ │ │ ├── capabilities │ │ │ │ ├── CapabilityConstructorRegistry.java │ │ │ │ ├── DefaultCapabilityProvider.java │ │ │ │ ├── DefaultSidedCapabilityProvider.java │ │ │ │ ├── IBlockCapabilityConstructor.java │ │ │ │ ├── ICapabilityConstructor.java │ │ │ │ └── ICapabilityTypeGetter.java │ │ │ ├── curios │ │ │ │ ├── InventoryLocationCurios.java │ │ │ │ ├── ModCompatCurios.java │ │ │ │ └── ModCompatCuriosInitializer.java │ │ │ └── jei │ │ │ │ └── RecipeRegistryJeiRecipeWrapper.java │ │ │ ├── nbt │ │ │ └── path │ │ │ │ ├── INbtPathExpression.java │ │ │ │ ├── NbtParseException.java │ │ │ │ ├── NbtPath.java │ │ │ │ ├── NbtPathExpressionList.java │ │ │ │ ├── NbtPathExpressionMatches.java │ │ │ │ ├── navigate │ │ │ │ ├── INbtPathNavigation.java │ │ │ │ ├── NbtPathNavigationAdapter.java │ │ │ │ ├── NbtPathNavigationLeafWildcard.java │ │ │ │ ├── NbtPathNavigationLinkWildcard.java │ │ │ │ └── NbtPathNavigationList.java │ │ │ │ └── parse │ │ │ │ ├── INbtPathExpressionParseHandler.java │ │ │ │ ├── NbtPathExpressionExecutionContext.java │ │ │ │ ├── NbtPathExpressionParseHandlerAllChildren.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalAdapter.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalEqual.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalGreaterThan.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalGreaterThanOrEqual.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalLessThan.java │ │ │ │ ├── NbtPathExpressionParseHandlerBooleanRelationalLessThanOrEqual.java │ │ │ │ ├── NbtPathExpressionParseHandlerChild.java │ │ │ │ ├── NbtPathExpressionParseHandlerChildBrackets.java │ │ │ │ ├── NbtPathExpressionParseHandlerCurrent.java │ │ │ │ ├── NbtPathExpressionParseHandlerFilterExpression.java │ │ │ │ ├── NbtPathExpressionParseHandlerLength.java │ │ │ │ ├── NbtPathExpressionParseHandlerListElement.java │ │ │ │ ├── NbtPathExpressionParseHandlerListSlice.java │ │ │ │ ├── NbtPathExpressionParseHandlerParent.java │ │ │ │ ├── NbtPathExpressionParseHandlerRoot.java │ │ │ │ ├── NbtPathExpressionParseHandlerStringEqual.java │ │ │ │ ├── NbtPathExpressionParseHandlerUnion.java │ │ │ │ └── NbtPathStringParser.java │ │ │ ├── network │ │ │ ├── PacketCodecsNeoForge.java │ │ │ ├── PacketHandler.java │ │ │ └── packet │ │ │ │ ├── AdvancementRewardsObtainPacket.java │ │ │ │ ├── ButtonClickPacket.java │ │ │ │ ├── PlayerPositionPacket.java │ │ │ │ ├── RequestPlayerAdvancementUnlockedPacket.java │ │ │ │ ├── RequestPlayerNbtPacket.java │ │ │ │ ├── SendPlayerAdvancementUnlockedPacket.java │ │ │ │ ├── SendPlayerNbtPacket.java │ │ │ │ └── ValueNotifyPacket.java │ │ │ ├── persist │ │ │ ├── nbt │ │ │ │ └── NBTClassTypesNeoForge.java │ │ │ └── world │ │ │ │ ├── GlobalCounters.java │ │ │ │ └── WorldStorage.java │ │ │ ├── potion │ │ │ └── CyclopsEffect.java │ │ │ ├── proxy │ │ │ ├── ClientProxy.java │ │ │ ├── ClientProxyComponent.java │ │ │ ├── CommonProxy.java │ │ │ ├── CommonProxyComponent.java │ │ │ ├── IClientProxy.java │ │ │ └── ICommonProxy.java │ │ │ ├── recipe │ │ │ ├── ItemStackFromIngredient.java │ │ │ └── type │ │ │ │ ├── FluidHandlerListReadOnly.java │ │ │ │ ├── IInventoryFluid.java │ │ │ │ ├── InventoryFluid.java │ │ │ │ ├── RecipeCraftingShapedCustomOutput.java │ │ │ │ └── RecipeCraftingShapelessCustomOutput.java │ │ │ └── tracking │ │ │ ├── Analytics.java │ │ │ ├── IModVersion.java │ │ │ └── Versions.java │ └── resources │ │ ├── META-INF │ │ └── neoforge.mods.toml │ │ └── mixins.cyclopscore.json │ └── test │ └── java │ └── org │ └── cyclops │ └── cyclopscore │ ├── datastructure │ ├── TestDistinctIterator.java │ └── TestMultitransformIterator.java │ ├── helper │ ├── CyclopsMatchers.java │ ├── IsEqualIterator.java │ ├── TestCollectionHelpers.java │ └── TestDirectionHelpers.java │ ├── ingredient │ ├── BenchmarkIngredientCollections.java │ ├── BenchmarkIngredientCollectionsCollapsed.java │ ├── BenchmarkIngredientMaps.java │ ├── ComplexStack.java │ ├── IngredientComponentStubs.java │ ├── IngredientMatcherComplex.java │ ├── IngredientMatcherSimple.java │ ├── IngredientSerializerInt.java │ ├── IngredientSerializerStub.java │ ├── collection │ │ ├── TestFilteredIngredientCollectionIterator.java │ │ ├── TestIngredientCollectionComplexParameterized.java │ │ ├── TestIngredientCollectionConstructors.java │ │ ├── TestIngredientCollectionEmpty.java │ │ ├── TestIngredientCollectionListComplex.java │ │ ├── TestIngredientCollectionListSimple.java │ │ ├── TestIngredientCollectionMultiClassified.java │ │ ├── TestIngredientCollectionMutableWrapper.java │ │ ├── TestIngredientCollectionPrototypeMapComplex.java │ │ ├── TestIngredientCollectionQuantitativeGrouper.java │ │ ├── TestIngredientCollectionSetComplex.java │ │ ├── TestIngredientCollectionSetSimple.java │ │ ├── TestIngredientCollectionSimpleParameterized.java │ │ ├── TestIngredientCollectionSingleClassified.java │ │ ├── TestIngredientCollectionSingleClassifiedCollapsedComplex.java │ │ ├── TestIngredientCollectionWrapper.java │ │ ├── TestIngredientCollections.java │ │ ├── TestIngredientCollectionsParameterized.java │ │ ├── TestIngredientInstanceUnwrapperFunction.java │ │ ├── TestIngredientMapComplex.java │ │ ├── TestIngredientMapComplexParameterized.java │ │ ├── TestIngredientMapConstructors.java │ │ ├── TestIngredientMapSimple.java │ │ ├── TestIngredientMapsParameterized.java │ │ ├── TestIngredientMapsSimpleParameterized.java │ │ └── diff │ │ │ ├── TestIngredientCollectionDiff.java │ │ │ ├── TestIngredientCollectionDiffHelpers.java │ │ │ └── TestIngredientCollectionDiffManager.java │ └── storage │ │ ├── TestIngredientComponentStorageCollectionWrapper.java │ │ ├── TestIngredientComponentStorageHelpers.java │ │ ├── TestIngredientComponentStorageHelpersComplex.java │ │ ├── TestIngredientComponentStorageHelpersMoveIngredientsSlotted.java │ │ ├── TestIngredientComponentStorageHelpersMoveIngredientsSlottedPredicate.java │ │ └── TestIngredientComponentStorageSlottedCollectionWrapper.java │ ├── inventory │ ├── ItemDummy.java │ └── TestIndexedInventory.java │ ├── nbt │ └── path │ │ ├── BenchmarkNbtPath.java │ │ ├── TestNbtPath.java │ │ ├── TestNbtPathExpressionMatches.java │ │ ├── TestNbtPathNavigation.java │ │ ├── navigate │ │ └── TestNbtPathNavigationList.java │ │ └── parse │ │ ├── TestNbtPathExpressionHandlerAllChildren.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalAdapter.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalEqual.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalGreaterThan.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalGreaterThanOrEqual.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalLessThan.java │ │ ├── TestNbtPathExpressionHandlerBooleanRelationalLessThanOrEqual.java │ │ ├── TestNbtPathExpressionHandlerChild.java │ │ ├── TestNbtPathExpressionHandlerChildBrackets.java │ │ ├── TestNbtPathExpressionHandlerCurrent.java │ │ ├── TestNbtPathExpressionHandlerFilterExpression.java │ │ ├── TestNbtPathExpressionHandlerLength.java │ │ ├── TestNbtPathExpressionHandlerListElement.java │ │ ├── TestNbtPathExpressionHandlerListSlice.java │ │ ├── TestNbtPathExpressionHandlerParent.java │ │ ├── TestNbtPathExpressionHandlerRoot.java │ │ ├── TestNbtPathExpressionHandlerStringEqual.java │ │ ├── TestNbtPathExpressionHandlerUnion.java │ │ ├── TestNbtPathExpressionList.java │ │ └── TestNbtPathStringParser.java │ └── network │ ├── SimplePacketCodec.java │ └── TestPacketCodec.java ├── resources └── changelog │ ├── 1.11.2-0.10.0.txt │ ├── 1.11.2-0.10.1.txt │ ├── 1.11.2-0.10.2.txt │ ├── 1.11.2-0.10.3.txt │ ├── 1.11.2-0.10.4.txt │ ├── 1.11.2-0.10.5.txt │ ├── 1.11.2-0.10.6.txt │ ├── 1.11.2-0.10.7.txt │ ├── 1.11.2-0.10.8.txt │ ├── 1.11.2-0.9.0.txt │ ├── 1.11.2-0.9.1.txt │ ├── 1.11.2-0.9.2.txt │ ├── 1.11.2-0.9.3.txt │ ├── 1.11.2-0.9.4.txt │ ├── 1.12-0.10.10.txt │ ├── 1.12-0.10.11.txt │ ├── 1.12-0.10.12.txt │ ├── 1.12-0.10.13.txt │ ├── 1.12-0.10.14.txt │ ├── 1.12-0.10.15.txt │ ├── 1.12-0.10.16.txt │ ├── 1.12-0.10.17.txt │ ├── 1.12-0.10.18.txt │ ├── 1.12-0.10.19.txt │ ├── 1.12-0.10.20.txt │ ├── 1.12-0.10.21.txt │ ├── 1.12-0.10.6.txt │ ├── 1.12-0.10.7.txt │ ├── 1.12-0.10.8.txt │ ├── 1.12-0.10.9.txt │ ├── 1.12.2-0.10.22.txt │ ├── 1.12.2-0.10.23.txt │ ├── 1.12.2-0.10.24.txt │ ├── 1.12.2-0.11.0.txt │ ├── 1.12.2-0.11.1.txt │ ├── 1.12.2-0.11.10.txt │ ├── 1.12.2-0.11.11.txt │ ├── 1.12.2-0.11.2.txt │ ├── 1.12.2-0.11.3.txt │ ├── 1.12.2-0.11.4.txt │ ├── 1.12.2-0.11.5.txt │ ├── 1.12.2-0.11.6.txt │ ├── 1.12.2-0.11.7.txt │ ├── 1.12.2-0.11.8.txt │ ├── 1.12.2-0.11.9.txt │ ├── 1.12.2-1.0.0.txt │ ├── 1.12.2-1.0.1.txt │ ├── 1.12.2-1.0.2.txt │ ├── 1.12.2-1.0.3.txt │ ├── 1.12.2-1.0.4.txt │ ├── 1.12.2-1.0.5.txt │ ├── 1.12.2-1.0.6.txt │ ├── 1.12.2-1.1.0.txt │ ├── 1.12.2-1.1.1.txt │ ├── 1.12.2-1.2.0.txt │ ├── 1.12.2-1.2.1.txt │ ├── 1.12.2-1.3.0.txt │ ├── 1.12.2-1.4.0.txt │ ├── 1.12.2-1.5.0.txt │ ├── 1.12.2-1.5.1.txt │ ├── 1.12.2-1.6.0.txt │ ├── 1.12.2-1.6.1.txt │ ├── 1.12.2-1.6.2.txt │ ├── 1.12.2-1.6.3.txt │ ├── 1.12.2-1.6.4.txt │ ├── 1.12.2-1.6.5.txt │ ├── 1.12.2-1.6.6.txt │ ├── 1.12.2-1.6.7.txt │ ├── 1.14.4-1.5.0.txt │ ├── 1.14.4-1.5.1.txt │ ├── 1.14.4-1.5.2.txt │ ├── 1.14.4-1.5.3.txt │ ├── 1.14.4-1.5.4.txt │ ├── 1.14.4-1.5.5.txt │ ├── 1.14.4-1.6.0.txt │ ├── 1.14.4-1.6.1.txt │ ├── 1.15.2-1.6.1.txt │ ├── 1.15.2-1.6.2.txt │ ├── 1.15.2-1.7.0.txt │ ├── 1.15.2-1.7.1.txt │ ├── 1.15.2-1.8.0.txt │ ├── 1.15.2-1.8.1.txt │ ├── 1.15.2-1.8.2.txt │ ├── 1.15.2-1.8.3.txt │ ├── 1.15.2-1.8.4.txt │ ├── 1.15.2-1.8.5.txt │ ├── 1.15.2-1.8.6.txt │ ├── 1.15.2-1.9.0.txt │ ├── 1.16.4-1.10.0.txt │ ├── 1.16.4-1.10.1.txt │ ├── 1.16.4-1.11.0.txt │ ├── 1.16.4-1.11.1.txt │ ├── 1.16.4-1.9.0.txt │ ├── 1.16.4-1.9.1.txt │ ├── 1.16.4-1.9.2.txt │ ├── 1.16.4-1.9.3.txt │ ├── 1.16.4-1.9.4.txt │ ├── 1.16.4-1.9.5.txt │ ├── 1.16.5-1.11.10.txt │ ├── 1.16.5-1.11.2.txt │ ├── 1.16.5-1.11.3.txt │ ├── 1.16.5-1.11.4.txt │ ├── 1.16.5-1.11.5.txt │ ├── 1.16.5-1.11.6.txt │ ├── 1.16.5-1.11.7.txt │ ├── 1.16.5-1.11.8.txt │ ├── 1.16.5-1.11.9.txt │ ├── 1.16.5-1.12.0.txt │ ├── 1.16.5-1.12.1.txt │ ├── 1.16.5-1.12.2.txt │ ├── 1.16.5-1.12.3.txt │ ├── 1.16.5-1.12.4.txt │ ├── 1.16.5-1.13.0.txt │ ├── 1.18.1-1.12.1.txt │ ├── 1.18.1-1.13.0.txt │ ├── 1.18.1-1.13.1.txt │ ├── 1.18.1-1.13.2.txt │ ├── 1.18.1-1.13.3.txt │ ├── 1.18.1-1.13.4.txt │ ├── 1.18.2-1.13.4.txt │ ├── 1.18.2-1.13.5.txt │ ├── 1.18.2-1.13.6.txt │ ├── 1.18.2-1.13.7.txt │ ├── 1.18.2-1.14.0.txt │ ├── 1.18.2-1.15.0.txt │ ├── 1.18.2-1.15.1.txt │ ├── 1.18.2-1.16.0.txt │ ├── 1.18.2-1.16.1.txt │ ├── 1.18.2-1.16.2.txt │ ├── 1.18.2-1.17.0.txt │ ├── 1.18.2-1.17.1.txt │ ├── 1.18.2-1.17.10.txt │ ├── 1.18.2-1.17.2.txt │ ├── 1.18.2-1.17.3.txt │ ├── 1.18.2-1.17.4.txt │ ├── 1.18.2-1.17.5.txt │ ├── 1.18.2-1.17.6.txt │ ├── 1.18.2-1.17.7.txt │ ├── 1.18.2-1.17.8.txt │ ├── 1.18.2-1.17.9.txt │ ├── 1.19-1.15.0.txt │ ├── 1.19-1.16.0.txt │ ├── 1.19-1.16.1.txt │ ├── 1.19-1.17.0.txt │ ├── 1.19.2-1.17.0.txt │ ├── 1.19.2-1.17.1.txt │ ├── 1.19.2-1.17.2.txt │ ├── 1.19.2-1.17.3.txt │ ├── 1.19.2-1.17.4.txt │ ├── 1.19.2-1.17.5.txt │ ├── 1.19.2-1.18.0.txt │ ├── 1.19.2-1.18.1.txt │ ├── 1.19.2-1.18.10.txt │ ├── 1.19.2-1.18.11.txt │ ├── 1.19.2-1.18.2.txt │ ├── 1.19.2-1.18.3.txt │ ├── 1.19.2-1.18.4.txt │ ├── 1.19.2-1.18.5.txt │ ├── 1.19.2-1.18.6.txt │ ├── 1.19.2-1.18.7.txt │ ├── 1.19.2-1.18.8.txt │ ├── 1.19.2-1.18.9.txt │ ├── 1.19.2-1.19.0.txt │ ├── 1.19.2-1.19.1.txt │ ├── 1.19.2-1.19.2.txt │ ├── 1.19.2-1.19.3.txt │ ├── 1.19.2-1.19.4.txt │ ├── 1.19.2-1.19.5.txt │ ├── 1.19.2-1.19.6.txt │ ├── 1.19.2-1.19.7.txt │ ├── 1.19.2-1.19.8.txt │ ├── 1.19.2-1.19.9.txt │ ├── 1.19.2-1.20.0.txt │ ├── 1.19.3-1.17.3.txt │ ├── 1.19.3-1.17.4.txt │ ├── 1.19.3-1.17.5.txt │ ├── 1.19.3-1.17.6.txt │ ├── 1.19.3-1.18.0.txt │ ├── 1.19.3-1.18.1.txt │ ├── 1.19.3-1.18.2.txt │ ├── 1.19.4-1.18.2.txt │ ├── 1.19.4-1.18.3.txt │ ├── 1.19.4-1.18.4.txt │ ├── 1.20.1-1.18.10.txt │ ├── 1.20.1-1.18.11.txt │ ├── 1.20.1-1.18.12.txt │ ├── 1.20.1-1.18.13.txt │ ├── 1.20.1-1.18.14.txt │ ├── 1.20.1-1.18.4.txt │ ├── 1.20.1-1.18.5.txt │ ├── 1.20.1-1.18.6.txt │ ├── 1.20.1-1.18.7.txt │ ├── 1.20.1-1.18.8.txt │ ├── 1.20.1-1.18.9.txt │ ├── 1.20.1-1.19.0.txt │ ├── 1.20.1-1.19.1.txt │ ├── 1.20.1-1.19.10.txt │ ├── 1.20.1-1.19.2.txt │ ├── 1.20.1-1.19.3.txt │ ├── 1.20.1-1.19.4.txt │ ├── 1.20.1-1.19.5.txt │ ├── 1.20.1-1.19.6.txt │ ├── 1.20.1-1.19.7.txt │ ├── 1.20.1-1.19.8.txt │ ├── 1.20.1-1.19.9.txt │ ├── 1.20.1-1.20.0.txt │ ├── 1.20.4-1.19.0.txt │ ├── 1.20.4-1.19.1.txt │ ├── 1.20.4-1.19.2.txt │ ├── 1.21-1.19.1.txt │ ├── 1.21-1.19.10.txt │ ├── 1.21-1.19.2.txt │ ├── 1.21-1.19.3.txt │ ├── 1.21-1.19.4.txt │ ├── 1.21-1.19.5.txt │ ├── 1.21-1.19.6.txt │ ├── 1.21-1.19.7.txt │ ├── 1.21-1.19.8.txt │ ├── 1.21-1.19.9.txt │ ├── 1.21.1-1.19.11.txt │ ├── 1.21.1-1.20.0.txt │ ├── 1.21.1-1.20.1.txt │ ├── 1.21.1-1.20.2.txt │ ├── 1.21.1-1.20.3.txt │ ├── 1.21.1-1.20.4.txt │ ├── 1.21.1-1.20.5.txt │ ├── 1.21.1-1.21.0.txt │ ├── 1.21.1-1.21.1.txt │ ├── 1.21.1-1.22.0.txt │ ├── 1.21.1-1.23.0.txt │ ├── 1.21.1-1.24.0.txt │ ├── 1.21.1-1.25.0.txt │ ├── 1.21.1-1.25.1.txt │ ├── 1.21.1-1.25.2.txt │ ├── 1.21.1-1.25.3.txt │ ├── 1.21.1-1.25.4.txt │ ├── 1.21.1-1.25.5.txt │ ├── 1.21.1-1.25.6.txt │ ├── 1.21.1-1.25.7.txt │ ├── 1.21.1-1.25.8.txt │ ├── 1.21.1-1.25.9.txt │ ├── 1.21.1-1.26.0.txt │ ├── 1.21.1-1.26.1.txt │ ├── 1.8-0.1.0.txt │ ├── 1.8-0.1.1.txt │ ├── 1.8-0.2.0.txt │ ├── 1.8-0.3.0.txt │ ├── 1.8-0.4.0.txt │ ├── 1.8-0.4.1.txt │ ├── 1.8-0.4.2.txt │ ├── 1.8.9-0.5.0.txt │ ├── 1.8.9-0.5.1.txt │ ├── 1.8.9-0.5.2.txt │ ├── 1.8.9-0.5.3.txt │ ├── 1.8.9-0.5.4.txt │ ├── 1.8.9-0.5.5.txt │ ├── 1.8.9-0.5.6.txt │ ├── 1.8.9-0.5.7.txt │ ├── 1.9-0.5.3.txt │ ├── 1.9-0.5.4.txt │ ├── 1.9-0.5.5.txt │ ├── 1.9-0.5.6.txt │ ├── 1.9-0.5.7.txt │ ├── 1.9-0.5.8.txt │ ├── 1.9-0.5.9.txt │ ├── 1.9-0.6.0.txt │ ├── 1.9.4-0.10.0.txt │ ├── 1.9.4-0.10.1.txt │ ├── 1.9.4-0.10.2.txt │ ├── 1.9.4-0.10.3.txt │ ├── 1.9.4-0.10.4.txt │ ├── 1.9.4-0.10.5.txt │ ├── 1.9.4-0.10.6.txt │ ├── 1.9.4-0.10.7.txt │ ├── 1.9.4-0.10.8.txt │ ├── 1.9.4-0.6.1.txt │ ├── 1.9.4-0.6.2.txt │ ├── 1.9.4-0.6.3.txt │ ├── 1.9.4-0.7.0.txt │ ├── 1.9.4-0.7.1.txt │ ├── 1.9.4-0.7.2.txt │ ├── 1.9.4-0.7.3.txt │ ├── 1.9.4-0.7.4.txt │ ├── 1.9.4-0.7.5.txt │ ├── 1.9.4-0.7.6.txt │ ├── 1.9.4-0.7.7.txt │ ├── 1.9.4-0.8.0.txt │ ├── 1.9.4-0.8.1.txt │ ├── 1.9.4-0.8.2.txt │ ├── 1.9.4-0.9.0.txt │ ├── 1.9.4-0.9.1.txt │ ├── 1.9.4-0.9.2.txt │ └── 1.9.4-0.9.3.txt ├── scripts └── pre-commit ├── secrets.properties_template └── settings.gradle /.gitattributes: -------------------------------------------------------------------------------- 1 | gradle.properties merge=ours 2 | src/main/resources/META-INF/mods.toml merge=ours 3 | src/main/resources/META-INF/neoforge.mods.toml merge=ours 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | patreon: kroeser 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "➕ Feature request" 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | 8 | 9 | 10 | #### Issue type: 11 | 12 | - :heavy_plus_sign: Feature request 13 | 14 | ____ 15 | 16 | #### Short description: 17 | 18 | 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "❓ Question" 3 | about: A general question 4 | 5 | --- 6 | 7 | 8 | 9 | 10 | #### Issue type: 11 | 12 | - :question: Question 13 | 14 | ____ 15 | 16 | #### Question: 17 | 18 | 19 | -------------------------------------------------------------------------------- /.github/labeler.yml: -------------------------------------------------------------------------------- 1 | bug: 2 | - '- :bug: Bug' 3 | feature-long-term: 4 | - '- :heavy_plus_sign: Feature request' 5 | performance: 6 | - '- :snail: Performance issue' 7 | question: 8 | - '- :question: Question' 9 | 10 | mc-1.12: 11 | - 'Minecraft: 1.12' 12 | mc-1.14: 13 | - 'Minecraft: 1.14' 14 | mc-1.15: 15 | - 'Minecraft: 1.15' 16 | mc-1.16: 17 | - 'Minecraft: 1.16' 18 | mc-1.18: 19 | - 'Minecraft: 1.18' 20 | mc-1.19: 21 | - 'Minecraft: 1.19' 22 | mc-1.20: 23 | - 'Minecraft: 1.20' 24 | mc-1.21: 25 | - 'Minecraft: 1.21' 26 | mc-1.22: 27 | - 'Minecraft: 1.22' 28 | mc-1.23: 29 | - 'Minecraft: 1.23' 30 | mc-1.24: 31 | - 'Minecraft: 1.24' 32 | mc-1.25: 33 | - 'Minecraft: 1.25' 34 | -------------------------------------------------------------------------------- /.github/no-response.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-no-response - https://probot.github.io/apps/no-response/ 2 | 3 | # Number of days of inactivity before an Issue is closed for lack of response 4 | daysUntilClose: 14 5 | # Label requiring a response 6 | responseRequiredLabel: more-information-needed 7 | # Comment to post when closing an Issue for lack of response. Set to `false` to disable 8 | closeComment: > 9 | This issue has been automatically closed because there has been no response 10 | to our request for more information from the original author. With only the 11 | information that is currently in the issue, we don't have enough information 12 | to take action. Please reach out if you have or find the answers we need so 13 | that we can investigate further. 14 | -------------------------------------------------------------------------------- /.github/workflows/new-issue-label.yml: -------------------------------------------------------------------------------- 1 | name: "Label new issues" 2 | on: 3 | issues: 4 | types: [opened, edited] 5 | 6 | jobs: 7 | triage: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: github/issue-labeler@v3.4 11 | with: 12 | repo-token: "${{ secrets.PAT }}" 13 | configuration-path: .github/labeler.yml 14 | enable-versioned-regex: 0 15 | -------------------------------------------------------------------------------- /.github/workflows/publish-github-release.yml: -------------------------------------------------------------------------------- 1 | name: Publish GitHub release on version tags 2 | on: 3 | push: 4 | tags: 5 | - '*' 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - name: Release 12 | uses: softprops/action-gh-release@v1 13 | env: 14 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # We don't want compiled stuff in here! 2 | /bin 3 | doc/info.txt 4 | build 5 | run 6 | runs 7 | 8 | # Ignore project specific files 9 | .classpath 10 | .project 11 | .settings 12 | .pydevproject 13 | eclipse/* 14 | .gradle 15 | repo/* 16 | *.iml 17 | *.ipr 18 | *.iws 19 | out/* 20 | keystore.jks 21 | lib 22 | .idea 23 | logs 24 | ~ 25 | extra-mods 26 | 27 | # Ignore mac-specific file(s) 28 | .DS_Store 29 | 30 | # Ignore files specific to dev environments 31 | secrets.properties 32 | changelog.txt 33 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "loader-neoforge/src/api/java/org/cyclops/commoncapabilities/api"] 2 | path = loader-neoforge/src/api/java/org/cyclops/commoncapabilities/api 3 | url = https://github.com/CyclopsMC/CommonCapabilitiesAPI.git 4 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'net.darkhax.curseforgegradle' version '1.0.8' apply false 3 | id 'com.diffplug.spotless' version '6.25.0' apply false 4 | id 'com.modrinth.minotaur' version '2.+' apply false 5 | 6 | id 'fabric-loom' version '1.7-SNAPSHOT' apply false 7 | id 'net.neoforged.moddev' version '0.1.110' apply false 8 | id 'net.neoforged.gradle.userdev' version '7.0.145' apply false 9 | // id 'net.minecraftforge.gradle' version '[6.0.24,6.2)' apply false // Don't load yet to fix DiffPatch conflict issue between FG and NG 10 | } 11 | 12 | -------------------------------------------------------------------------------- /buildSrc/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'groovy-gradle-plugin' 3 | } 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/gradlew -------------------------------------------------------------------------------- /keystore.jks.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/keystore.jks.enc -------------------------------------------------------------------------------- /loader-common/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'multiloader-loader-common' 3 | } 4 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/advancement/criterion/ICriterionInstanceTestable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.advancement.criterion; 2 | 3 | import net.minecraft.advancements.CriterionTriggerInstance; 4 | import net.minecraft.server.level.ServerPlayer; 5 | 6 | /** 7 | * An {@link CriterionTriggerInstance} that can be tested with a given type. 8 | * @author rubensworks 9 | */ 10 | public interface ICriterionInstanceTestable extends CriterionTriggerInstance { 11 | 12 | public boolean test(ServerPlayer player, D criterionData); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/algorithm/Dimension.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.algorithm; 2 | 3 | /** 4 | * The different dimensions in a 3D world. 5 | * @author rubensworks 6 | * 7 | */ 8 | public enum Dimension { 9 | 10 | /** 11 | * X dimension. 12 | */ 13 | X, 14 | /** 15 | * Y dimension. 16 | */ 17 | Y, 18 | /** 19 | * Z dimension. 20 | */ 21 | Z; 22 | 23 | /** 24 | * The different dimensions in a 3D world. 25 | */ 26 | public static final Dimension[] DIMENSIONS = new Dimension[]{Dimension.X, Dimension.Y, Dimension.Z}; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/block/IBlockRarityProvider.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.block; 2 | 3 | import net.minecraft.world.item.Rarity; 4 | import net.minecraft.world.item.ItemStack; 5 | 6 | /** 7 | * Implement this interface at blocks to make them show rarity colors in item mode. 8 | * @author rubensworks 9 | */ 10 | public interface IBlockRarityProvider { 11 | 12 | /** 13 | * @param itemStack The itemstack with this blockState. 14 | * @return The rarity for this blockState. 15 | */ 16 | public Rarity getRarity(ItemStack itemStack); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/block/multi/ISizeValidator.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.block.multi; 2 | 3 | import net.minecraft.core.Vec3i; 4 | import net.minecraft.network.chat.Component; 5 | 6 | /** 7 | * Validator for multiblock structure sizes 8 | * @author rubensworks 9 | */ 10 | public interface ISizeValidator { 11 | 12 | /** 13 | * Check if the given size is valid. 14 | * @param size The size to check. 15 | * @return Null if the size is valid, otherwise the error message. 16 | */ 17 | public Component isSizeValid(Vec3i size); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/input/IInputListener.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.client.gui.component.input; 2 | 3 | /** 4 | * Listener for gui input fields. 5 | * @author rubensworks 6 | */ 7 | public interface IInputListener { 8 | 9 | /** 10 | * When the value has changed. 11 | */ 12 | public void onChanged(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/client/particle/BufferBuilderWrapper.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.client.particle; 2 | 3 | public interface BufferBuilderWrapper { 4 | void cc$setRunnableOnBuild(Runnable runnable); 5 | } 6 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/command/argument/ArgumentTypeConfigPropertyConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.command.argument; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.ArgumentTypeConfigCommon; 4 | import org.cyclops.cyclopscore.init.IModBase; 5 | 6 | public class ArgumentTypeConfigPropertyConfig extends ArgumentTypeConfigCommon.Template, M> { 7 | public ArgumentTypeConfigPropertyConfig(M mod) { 8 | super(mod, "configprop", new ArgumentInfoMod<>(), ArgumentTypeConfigProperty.class); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/command/argument/ArgumentTypeDebugPacketConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.command.argument; 2 | 3 | import net.minecraft.commands.synchronization.SingletonArgumentInfo; 4 | import org.cyclops.cyclopscore.config.extendedconfig.ArgumentTypeConfigCommon; 5 | import org.cyclops.cyclopscore.init.IModBase; 6 | 7 | public class ArgumentTypeDebugPacketConfig extends ArgumentTypeConfigCommon.Template, M> { 8 | public ArgumentTypeDebugPacketConfig(M mod) { 9 | super(mod, "debug_packet", SingletonArgumentInfo.contextFree(() -> ArgumentTypeDebugPacket.INSTANCE), ArgumentTypeDebugPacket.class); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/command/argument/ArgumentTypeEnumConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.command.argument; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.ArgumentTypeConfigCommon; 4 | import org.cyclops.cyclopscore.init.IModBase; 5 | 6 | public class ArgumentTypeEnumConfig extends ArgumentTypeConfigCommon, ArgumentTypeEnum.Info.Template, M> { 7 | public ArgumentTypeEnumConfig(M mod) { 8 | super(mod, "enum", new ArgumentTypeEnum.Info(), (Class>) (Class) ArgumentTypeEnum.class); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/component/DataComponentCapacityConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.component; 2 | 3 | import net.minecraft.network.codec.ByteBufCodecs; 4 | import net.minecraft.util.ExtraCodecs; 5 | import org.cyclops.cyclopscore.config.extendedconfig.DataComponentConfigCommon; 6 | import org.cyclops.cyclopscore.init.IModBase; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public class DataComponentCapacityConfig extends DataComponentConfigCommon { 12 | public DataComponentCapacityConfig(IModBase mod) { 13 | super(mod, "capacity", builder -> builder 14 | .persistent(ExtraCodecs.POSITIVE_INT) 15 | .networkSynchronized(ByteBufCodecs.VAR_INT)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/component/DataComponentEnergyStorageConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.component; 2 | 3 | import com.mojang.serialization.Codec; 4 | import net.minecraft.network.codec.ByteBufCodecs; 5 | import org.cyclops.cyclopscore.config.extendedconfig.DataComponentConfigCommon; 6 | import org.cyclops.cyclopscore.init.IModBase; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public class DataComponentEnergyStorageConfig extends DataComponentConfigCommon { 12 | public DataComponentEnergyStorageConfig(IModBase mod) { 13 | super(mod, "energy_storage", builder -> builder 14 | .persistent(Codec.INT) 15 | .networkSynchronized(ByteBufCodecs.INT)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/config/CyclopsCoreConfigException.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config; 2 | 3 | /** 4 | * Exceptions that can occur when configuring this mod. 5 | * @author rubensworks 6 | * 7 | */ 8 | public class CyclopsCoreConfigException extends RuntimeException { 9 | 10 | /** 11 | * Serial version UID. 12 | */ 13 | private static final long serialVersionUID = 1L; 14 | 15 | /** 16 | * Make a new instance. 17 | * @param message The message. 18 | */ 19 | public CyclopsCoreConfigException(String message) { 20 | super(message); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/ConfigurableTypeActionRegistry.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.ExtendedConfigRegistry; 4 | import org.cyclops.cyclopscore.init.IModBase; 5 | 6 | /** 7 | * The action used for {@link ExtendedConfigRegistry}. 8 | * @author rubensworks 9 | * @param The mod type 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | public class ConfigurableTypeActionRegistry, I, M extends IModBase> 13 | extends ConfigurableTypeActionCommon { 14 | 15 | @Override 16 | public void onRegisterForgeFilled(C eConfig) { 17 | register(eConfig); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/DummyActionCommon.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.DummyConfigCommon; 4 | import org.cyclops.cyclopscore.init.IModBase; 5 | 6 | /** 7 | * Just a dummy action. 8 | * @author rubensworks 9 | * @param The mod type 10 | */ 11 | public class DummyActionCommon extends ConfigurableTypeActionCommon, Void, M> { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/config/extendedconfig/GuiConfigScreenFactoryProvider.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.extendedconfig; 2 | 3 | import net.minecraft.client.gui.screens.MenuScreens; 4 | import net.minecraft.client.gui.screens.Screen; 5 | import net.minecraft.client.gui.screens.inventory.MenuAccess; 6 | import net.minecraft.world.inventory.AbstractContainerMenu; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public abstract class GuiConfigScreenFactoryProvider { 12 | 13 | public abstract > MenuScreens.ScreenConstructor getScreenFactory(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/config/extendedconfig/IModelProviderConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.extendedconfig; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | /** 6 | * Interface for indicating a config that can provide models. 7 | * @author rubensworks 8 | */ 9 | public interface IModelProviderConfig { 10 | 11 | /** 12 | * Get the model name for the given itemstack. 13 | * @param itemStack The item stack 14 | * @return The model name. 15 | */ 16 | public String getModelName(ItemStack itemStack); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/datastructure/WrappedIntIterator.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.datastructure; 2 | 3 | import it.unimi.dsi.fastutil.ints.IntIterator; 4 | 5 | import java.util.PrimitiveIterator; 6 | 7 | /** 8 | * @author rubensworks 9 | */ 10 | public class WrappedIntIterator implements PrimitiveIterator.OfInt { 11 | 12 | private final IntIterator it; 13 | 14 | public WrappedIntIterator(IntIterator it) { 15 | this.it = it; 16 | } 17 | 18 | @Override 19 | public int nextInt() { 20 | return it.nextInt(); 21 | } 22 | 23 | @Override 24 | public boolean hasNext() { 25 | return it.hasNext(); 26 | } 27 | 28 | @Override 29 | public Integer next() { 30 | return it.next(); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/datastructure/Wrapper.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.datastructure; 2 | 3 | /** 4 | * Simple generic wrapper class. 5 | * @author rubensworks 6 | */ 7 | public class Wrapper { 8 | 9 | private T value; 10 | 11 | public Wrapper() { 12 | } 13 | 14 | public Wrapper(T value) { 15 | set(value); 16 | } 17 | 18 | public void set(T value) { 19 | this.value = value; 20 | } 21 | 22 | public T get() { 23 | return this.value; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/CyclopsCoreInstance.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import org.cyclops.cyclopscore.init.IModBase; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class CyclopsCoreInstance { 9 | 10 | public static IModBase MOD = null; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/IMinecraftClientHelpers.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | /** 4 | * @author rubensworks 5 | */ 6 | public interface IMinecraftClientHelpers { 7 | 8 | /** 9 | * @return If the user is shifted. 10 | */ 11 | public boolean isShifted(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/IRegistrationHelpers.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.entity.EntityType; 4 | import net.minecraft.world.entity.Mob; 5 | import net.minecraft.world.item.Item; 6 | 7 | import java.util.function.Supplier; 8 | 9 | /** 10 | * @author rubensworks 11 | */ 12 | public interface IRegistrationHelpers { 13 | 14 | public Item createSpawnEgg(Supplier> type, int backgroundColor, int highlightColor, Item.Properties props); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/MinecraftClientHelpersCommon.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.client.gui.screens.Screen; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class MinecraftClientHelpersCommon implements IMinecraftClientHelpers { 9 | @Override 10 | public boolean isShifted() { 11 | return Screen.hasShiftDown(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/WorldHelpersCommonClient.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.world.level.Level; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | public class WorldHelpersCommonClient { 10 | 11 | public static Level getActiveLevel() { 12 | return Minecraft.getInstance().level; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/helper/WorldHelpersCommonServer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.level.Level; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class WorldHelpersCommonServer { 9 | 10 | public static Level getActiveLevel(IModHelpers modHelpers) { 11 | return modHelpers.getMinecraftHelpers().getCurrentServer().getLevel(Level.OVERWORLD); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/init/IRegistry.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.init; 2 | 3 | /** 4 | * Base interface for any type of registry. 5 | * @author rubensworks 6 | */ 7 | public interface IRegistry { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/IInventoryCommonModifiable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public interface IInventoryCommonModifiable { 9 | int getSlots(); 10 | 11 | ItemStack getStackInSlot(int slot); 12 | 13 | void setStackInSlot(int slot, ItemStack itemStack); 14 | } 15 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/IInventoryLocation.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | import net.minecraft.world.entity.player.Player; 5 | import net.minecraft.world.item.ItemStack; 6 | 7 | import javax.annotation.Nullable; 8 | 9 | /** 10 | * A registerable inventory location. 11 | */ 12 | public interface IInventoryLocation { 13 | 14 | public ResourceLocation getUniqueName(); 15 | 16 | @Nullable 17 | public IInventoryCommonModifiable getInventory(Player player); 18 | 19 | public ItemStack getItemInSlot(Player player, int slot); 20 | 21 | public void setItemInSlot(Player player, int slot, ItemStack itemStack); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/IRegistryInventoryLocation.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | import org.cyclops.cyclopscore.init.IRegistry; 5 | 6 | import javax.annotation.Nullable; 7 | import java.util.Collection; 8 | 9 | /** 10 | * @author rubensworks 11 | */ 12 | public interface IRegistryInventoryLocation extends IRegistry { 13 | 14 | public void register(IInventoryLocation inventoryLocation); 15 | 16 | @Nullable 17 | public IInventoryLocation get(ResourceLocation uniqueName); 18 | 19 | public Collection values(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/InventoryLocations.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import org.cyclops.cyclopscore.helper.CyclopsCoreInstance; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class InventoryLocations { 9 | 10 | public static IRegistryInventoryLocation REGISTRY = CyclopsCoreInstance.MOD.getRegistryManager().getRegistry(IRegistryInventoryLocation.class); 11 | 12 | static { 13 | REGISTRY.register(InventoryLocationPlayer.getInstance()); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/PlayerInventoryIterator.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.world.entity.player.Player; 4 | 5 | /** 6 | * Iterate over a player's inventory. 7 | * @author rubensworks 8 | * 9 | */ 10 | public class PlayerInventoryIterator extends InventoryIterator { 11 | 12 | public PlayerInventoryIterator(Player player) { 13 | super(new InventoryCommonModifiableContainer(player.getInventory())); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/inventory/container/IContainerFactoryCommon.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory.container; 2 | 3 | import net.minecraft.network.FriendlyByteBuf; 4 | import net.minecraft.world.entity.player.Inventory; 5 | import net.minecraft.world.inventory.AbstractContainerMenu; 6 | import net.minecraft.world.inventory.MenuType; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public interface IContainerFactoryCommon extends MenuType.MenuSupplier { 12 | T create(int windowId, Inventory inv, FriendlyByteBuf data); 13 | 14 | @Override 15 | default T create(int p_create_1_, Inventory p_create_2_) { 16 | return create(p_create_1_, p_create_2_, null); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/item/ItemInformationProviderCommon.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.item; 2 | 3 | import com.google.common.collect.Sets; 4 | import net.minecraft.world.item.Item; 5 | 6 | import java.util.Set; 7 | 8 | /** 9 | * This is responsible for adding "show more information" tooltips to registered items. 10 | * @author rubensworks 11 | */ 12 | public class ItemInformationProviderCommon { 13 | 14 | protected static final Set ITEMS_INFO = Sets.newIdentityHashSet(); 15 | 16 | public static void registerItem(Item item) { 17 | ITEMS_INFO.add(item); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/modcompat/ICompatInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat; 2 | 3 | import org.cyclops.cyclopscore.init.IModBase; 4 | 5 | /** 6 | * A compat initializer. 7 | * 8 | * This should contain all logic to initialize the compat, 9 | * and will only be loaded if the compat *can* be loaded, 10 | * so you can safely refer to third-party mod classes in this initializer. 11 | */ 12 | @FunctionalInterface 13 | public interface ICompatInitializer { 14 | 15 | @Deprecated // TODO: rm in next major 16 | public void initialize(); 17 | 18 | public default void initialize(IModBase mod) { 19 | this.initialize(); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/modcompat/IModCompat.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat; 2 | 3 | /** 4 | * Interface for external mod compatibilities. 5 | * @see IExternalCompat 6 | * @author rubensworks 7 | * 8 | */ 9 | public interface IModCompat extends IExternalCompat { 10 | 11 | /** 12 | * Get the unique mod ID. 13 | * @return The mod ID. 14 | */ 15 | public default String getModId() { 16 | return this.getId(); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/network/CodecField.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.network; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Give this annotation to fields in {@link PacketCodec} to auto encode/decode them. 10 | * Fields annotated with this annotations must not be null. 11 | * @author rubensworks 12 | * 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.FIELD) 16 | public @interface CodecField { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/network/PacketCodecException.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.network; 2 | 3 | /** 4 | * @author rubensworks 5 | */ 6 | public class PacketCodecException extends RuntimeException { 7 | public PacketCodecException(String message, Throwable cause) { 8 | super(message, cause); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/persist/IDirtyMarkListener.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.persist; 2 | 3 | /** 4 | * Interface that is used to listen to dirty markings. 5 | * @author rubensworks 6 | */ 7 | public interface IDirtyMarkListener { 8 | 9 | /** 10 | * Called when the target is marked as dirty. 11 | */ 12 | public void onDirty(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-common/src/main/java/org/cyclops/cyclopscore/proxy/IClientProxyCommon.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Interface for client proxies. 5 | * @author rubensworks 6 | */ 7 | public interface IClientProxyCommon extends ICommonProxyCommon { 8 | } 9 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/af_za.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/ar_sa.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/ca_es.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/cs_cz.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/da_dk.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/de_de.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/el_gr.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/es_es.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/fi_fi.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/fr_fr.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/he_il.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/hu_hu.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/ko_kr.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/no_no.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/pl_pl.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/pt_pt.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/ro_ro.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/sr_sp.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/uk_ua.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/vi_vn.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/lang/zh_tw.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/models/block/cube_double_layer_all.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "cyclopscore:block/cube_double_layer", 3 | "textures": { 4 | "particle": "#all1", 5 | "down0": "#all0", 6 | "up0": "#all0", 7 | "north0": "#all0", 8 | "east0": "#all0", 9 | "south0": "#all0", 10 | "west0": "#all0", 11 | "down1": "#all1", 12 | "up1": "#all1", 13 | "north1": "#all1", 14 | "east1": "#all1", 15 | "south1": "#all1", 16 | "west1": "#all1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/models/item/flat.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "missingno" 5 | } 6 | } -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/particles/blur.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": [ 3 | "cyclopscore:blur" 4 | ] 5 | } -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/particles/drop_colored.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": [ 3 | "minecraft:drip_hang" 4 | ] 5 | } -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/block/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/assets/cyclopscore/textures/block/empty.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/gui/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/assets/cyclopscore/textures/gui/buttons.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/gui/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/assets/cyclopscore/textures/gui/icons.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/gui/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/assets/cyclopscore/textures/gui/widgets.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/particle/blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/assets/cyclopscore/textures/particle/blur.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/assets/cyclopscore/textures/particle/blur.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "texture": { 3 | "blur": true 4 | } 5 | } 6 | 7 | -------------------------------------------------------------------------------- /loader-common/src/main/resources/data/cyclopscore/structure/empty.nbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/data/cyclopscore/structure/empty.nbt -------------------------------------------------------------------------------- /loader-common/src/main/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/logo.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyclopsMC/CyclopsCore/0fec4faa307173215a32af572bd84fa685f2f1a0/loader-common/src/main/resources/logo_small.png -------------------------------------------------------------------------------- /loader-common/src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "cyclopscore resources", 4 | "pack_format": 15, 5 | "forge:resource_pack_format": 15, 6 | "forge:data_pack_format": 15 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IEntityJoinLevelEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.world.entity.Entity; 6 | import net.minecraft.world.level.Level; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public interface IEntityJoinLevelEvent { 12 | Event EVENT = EventFactory.createArrayBacked(IEntityJoinLevelEvent.class, 13 | (listeners) -> (entity, level) -> { 14 | for (IEntityJoinLevelEvent event : listeners) { 15 | event.onEntityJoinLevel(entity, level); 16 | } 17 | } 18 | ); 19 | 20 | void onEntityJoinLevel(Entity entity, Level level); 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IEntityTickEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.world.entity.Entity; 6 | 7 | /** 8 | * @author rubensworks 9 | */ 10 | public interface IEntityTickEvent { 11 | Event EVENT = EventFactory.createArrayBacked(IEntityTickEvent.class, 12 | (listeners) -> (entity) -> { 13 | for (IEntityTickEvent event : listeners) { 14 | event.onTick(entity); 15 | } 16 | } 17 | ); 18 | 19 | void onTick(Entity entity); 20 | } 21 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IItemCraftedEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.server.level.ServerPlayer; 6 | import net.minecraft.world.item.ItemStack; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public interface IItemCraftedEvent { 12 | Event EVENT = EventFactory.createArrayBacked(IItemCraftedEvent.class, 13 | (listeners) -> (player, entity) -> { 14 | for (IItemCraftedEvent event : listeners) { 15 | event.onCrafted(player, entity); 16 | } 17 | } 18 | ); 19 | 20 | void onCrafted(ServerPlayer player, ItemStack itemStack); 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IItemPickupEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.world.entity.item.ItemEntity; 6 | import net.minecraft.world.entity.player.Player; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public interface IItemPickupEvent { 12 | Event EVENT = EventFactory.createArrayBacked(IItemPickupEvent.class, 13 | (listeners) -> (player, entity) -> { 14 | for (IItemPickupEvent event : listeners) { 15 | event.onPickup(player, entity); 16 | } 17 | } 18 | ); 19 | 20 | void onPickup(Player player, ItemEntity itemEntity); 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IItemSmeltedEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.server.level.ServerPlayer; 6 | import net.minecraft.world.item.ItemStack; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public interface IItemSmeltedEvent { 12 | Event EVENT = EventFactory.createArrayBacked(IItemSmeltedEvent.class, 13 | (listeners) -> (player, entity) -> { 14 | for (IItemSmeltedEvent event : listeners) { 15 | event.onCrafted(player, entity); 16 | } 17 | } 18 | ); 19 | 20 | void onCrafted(ServerPlayer player, ItemStack itemStack); 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/events/IPlayerLoggedInEvent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.events; 2 | 3 | import net.fabricmc.fabric.api.event.Event; 4 | import net.fabricmc.fabric.api.event.EventFactory; 5 | import net.minecraft.server.level.ServerPlayer; 6 | 7 | /** 8 | * @author rubensworks 9 | */ 10 | public interface IPlayerLoggedInEvent { 11 | Event EVENT = EventFactory.createArrayBacked(IPlayerLoggedInEvent.class, 12 | (listeners) -> (player) -> { 13 | for (IPlayerLoggedInEvent event : listeners) { 14 | event.onPlayerLoggedIn(player); 15 | } 16 | } 17 | ); 18 | 19 | void onPlayerLoggedIn(ServerPlayer player); 20 | } 21 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/gametest/StartupTestFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.gametest; 2 | 3 | import net.minecraft.gametest.framework.GameTest; 4 | import net.minecraft.gametest.framework.GameTestHelper; 5 | import org.cyclops.cyclopscore.Reference; 6 | 7 | /** 8 | * @author rubensworks 9 | */ 10 | public class StartupTestFabric { 11 | 12 | @GameTest(template = Reference.MOD_ID + ":empty") 13 | public void testDummy(GameTestHelper helper) { 14 | // A dummy test to ensure the server starts properly 15 | helper.succeed(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/helper/IModHelpersFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | /** 4 | * @author rubensworks 5 | */ 6 | public interface IModHelpersFabric extends IModHelpers { 7 | 8 | /** 9 | * @return The helpers owned by the CyclopsCore mod. 10 | */ 11 | public static IModHelpersFabric get() { 12 | return (IModHelpersFabric) CyclopsCoreInstance.MOD.getModHelpers(); 13 | } 14 | 15 | public IRenderHelpersFabric getRenderHelpers(); 16 | 17 | public IFluidHelpersFabric getFluidHelpers(); 18 | 19 | public IGuiHelpersFabric getGuiHelpers(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/helper/ItemStackHelpersFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class ItemStackHelpersFabric extends ItemStackHelpersCommon { 9 | @Override 10 | public boolean hasCraftingRemainingItem(ItemStack itemStack) { 11 | return itemStack.getItem().hasCraftingRemainingItem(); 12 | } 13 | 14 | @Override 15 | public ItemStack getCraftingRemainingItem(ItemStack itemStack) { 16 | return itemStack.getRecipeRemainder(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/helper/RegistrationHelpersFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.entity.EntityType; 4 | import net.minecraft.world.entity.Mob; 5 | import net.minecraft.world.item.Item; 6 | import net.minecraft.world.item.SpawnEggItem; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * @author rubensworks 12 | */ 13 | public class RegistrationHelpersFabric implements IRegistrationHelpers { 14 | @Override 15 | public Item createSpawnEgg(Supplier> type, int backgroundColor, int highlightColor, Item.Properties props) { 16 | return new SpawnEggItem(type.get(), backgroundColor, highlightColor, props); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/modcompat/forgeconfig/IConfigInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat.forgeconfig; 2 | 3 | import net.neoforged.fml.config.ModConfig; 4 | import net.neoforged.neoforge.common.ModConfigSpec; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * Can be injected into the config handler when building configs. 10 | */ 11 | public interface IConfigInitializer { 12 | 13 | /** 14 | * Initialize the config parts for this initializer. 15 | * @param configBuilders All available config builders. Can be modified. 16 | */ 17 | public void initializeConfig(Map configBuilders); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/modcompat/forgeconfig/ModCompatForgeConfigInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat.forgeconfig; 2 | 3 | import com.google.common.collect.Lists; 4 | import org.cyclops.cyclopscore.init.IModBase; 5 | import org.cyclops.cyclopscore.init.ModBaseFabric; 6 | import org.cyclops.cyclopscore.modcompat.ICompatInitializer; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public class ModCompatForgeConfigInitializer implements ICompatInitializer { 12 | @Override 13 | public void initialize() { 14 | // Unused 15 | } 16 | 17 | @Override 18 | public void initialize(IModBase mod) { 19 | new ConfigHandlerFabricHandler(((ModBaseFabric) mod).getConfigHandler()).initialize(Lists.newArrayList()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/proxy/ClientProxyComponentFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Base proxy for the client side. 5 | * 6 | * @author rubensworks 7 | * 8 | */ 9 | public abstract class ClientProxyComponentFabric extends ClientProxyComponentCommon implements ICommonProxyFabric, IClientProxyFabric { 10 | public ClientProxyComponentFabric(CommonProxyComponentCommon commonProxyComponent) { 11 | super(commonProxyComponent); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/proxy/CommonProxyComponentFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Base proxy for server and client side. 5 | * @author rubensworks 6 | * 7 | */ 8 | public abstract class CommonProxyComponentFabric extends CommonProxyComponentCommon implements ICommonProxyFabric { 9 | } 10 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/proxy/IClientProxyFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Interface for client proxies. 5 | * @author rubensworks 6 | */ 7 | public interface IClientProxyFabric extends IClientProxyCommon, ICommonProxyFabric { 8 | } 9 | -------------------------------------------------------------------------------- /loader-fabric/src/main/java/org/cyclops/cyclopscore/proxy/ICommonProxyFabric.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | import org.cyclops.cyclopscore.init.ModBaseFabric; 4 | 5 | 6 | /** 7 | * Interface for common proxies. 8 | * @author rubensworks 9 | */ 10 | public interface ICommonProxyFabric extends ICommonProxyCommon { 11 | 12 | /** 13 | * @return The mod for this proxy. 14 | */ 15 | public ModBaseFabric getMod(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /loader-fabric/src/main/resources/mixins.cyclopscore.json: -------------------------------------------------------------------------------- 1 | { 2 | "minVersion": "0.8.5", 3 | "required": true, 4 | "compatibilityLevel": "JAVA_17", 5 | "package": "org.cyclops.cyclopscore.mixin", 6 | "mixins": [ 7 | "MixinBlockBehaviour", 8 | "MixinEntity", 9 | "MixinFurnaceResultSlot", 10 | "MixinItemEntity", 11 | "MixinLootTable", 12 | "MixinPlayerList", 13 | "MixinResultSlot", 14 | "MixinServerLevel", 15 | "MixinServerPlayer" 16 | ], 17 | "client": [ 18 | "MixinBufferBuilder", 19 | "MixinClientLevel", 20 | "MixinLivingEntityRenderer", 21 | "MixinParticleEngine" 22 | ], 23 | "injectors": { 24 | "defaultRequire": 1 25 | }, 26 | "setSourceFile": true 27 | } -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/config/IConfigInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config; 2 | 3 | import net.minecraftforge.common.ForgeConfigSpec; 4 | import net.minecraftforge.fml.config.ModConfig; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * Can be injected into the config handler when building configs. 10 | */ 11 | public interface IConfigInitializer { 12 | 13 | /** 14 | * Initialize the config parts for this initializer. 15 | * @param configBuilders All available config builders. Can be modified. 16 | */ 17 | public void initializeConfig(Map configBuilders); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/event/LecternInfoBookHandlerForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.event; 2 | 3 | import net.minecraftforge.event.entity.player.PlayerInteractEvent; 4 | import net.minecraftforge.eventbus.api.SubscribeEvent; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | public class LecternInfoBookHandlerForge { 10 | 11 | @SubscribeEvent 12 | public void onRightClickLectern(PlayerInteractEvent.RightClickBlock event) { 13 | if (LecternInfoBookHandler.onRightClickLectern(event.getLevel(), event.getPos(), event.getEntity())) { 14 | event.setCanceled(true); 15 | } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/gametest/StartupTestForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.gametest; 2 | 3 | import net.minecraft.gametest.framework.GameTest; 4 | import net.minecraft.gametest.framework.GameTestHelper; 5 | import net.minecraftforge.gametest.GameTestHolder; 6 | import org.cyclops.cyclopscore.Reference; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | @GameTestHolder(Reference.MOD_ID) 12 | public class StartupTestForge { 13 | 14 | @GameTest(template = Reference.MOD_ID + ":empty") 15 | public void testDummy(GameTestHelper helper) { 16 | // A dummy test to ensure the server starts properly 17 | helper.succeed(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/helper/IModHelpersForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | /** 4 | * @author rubensworks 5 | */ 6 | public interface IModHelpersForge extends IModHelpers { 7 | 8 | /** 9 | * @return The helpers owned by the CyclopsCore mod. 10 | */ 11 | public static IModHelpersForge get() { 12 | return (IModHelpersForge) CyclopsCoreInstance.MOD.getModHelpers(); 13 | } 14 | 15 | public IRenderHelpersForge getRenderHelpers(); 16 | 17 | public ICapabilityHelpersForge getCapabilityHelpers(); 18 | 19 | public IFluidHelpersForge getFluidHelpers(); 20 | 21 | public IGuiHelpersForge getGuiHelpers(); 22 | } 23 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/helper/ItemStackHelpersForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class ItemStackHelpersForge extends ItemStackHelpersCommon { 9 | @Override 10 | public boolean hasCraftingRemainingItem(ItemStack itemStack) { 11 | return itemStack.hasCraftingRemainingItem(); 12 | } 13 | 14 | @Override 15 | public ItemStack getCraftingRemainingItem(ItemStack itemStack) { 16 | return itemStack.getCraftingRemainingItem(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/helper/RegistrationHelpersForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.entity.EntityType; 4 | import net.minecraft.world.entity.Mob; 5 | import net.minecraft.world.item.Item; 6 | import net.minecraftforge.common.ForgeSpawnEggItem; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * @author rubensworks 12 | */ 13 | public class RegistrationHelpersForge implements IRegistrationHelpers { 14 | @Override 15 | public Item createSpawnEgg(Supplier> type, int backgroundColor, int highlightColor, Item.Properties props) { 16 | return new ForgeSpawnEggItem(type, backgroundColor, highlightColor, props); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/proxy/ClientProxyComponentForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Base proxy for the client side. 5 | * 6 | * @author rubensworks 7 | * 8 | */ 9 | public abstract class ClientProxyComponentForge extends ClientProxyComponentCommon implements ICommonProxyForge, IClientProxyForge { 10 | public ClientProxyComponentForge(CommonProxyComponentCommon commonProxyComponent) { 11 | super(commonProxyComponent); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/proxy/CommonProxyComponentForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Base proxy for server and client side. 5 | * @author rubensworks 6 | * 7 | */ 8 | public abstract class CommonProxyComponentForge extends CommonProxyComponentCommon implements ICommonProxyForge { 9 | } 10 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/proxy/IClientProxyForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Interface for client proxies. 5 | * @author rubensworks 6 | */ 7 | public interface IClientProxyForge extends IClientProxyCommon, ICommonProxyForge { 8 | } 9 | -------------------------------------------------------------------------------- /loader-forge/src/main/java/org/cyclops/cyclopscore/proxy/ICommonProxyForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | import org.cyclops.cyclopscore.init.ModBaseForge; 4 | 5 | 6 | /** 7 | * Interface for common proxies. 8 | * @author rubensworks 9 | */ 10 | public interface ICommonProxyForge extends ICommonProxyCommon { 11 | 12 | /** 13 | * @return The mod for this proxy. 14 | */ 15 | public ModBaseForge getMod(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /loader-forge/src/main/resources/META-INF/mods.toml: -------------------------------------------------------------------------------- 1 | modLoader="javafml" 2 | loaderVersion="${forge_loader_version_range}" 3 | issueTrackerURL="${issue_tracker_url}" 4 | displayURL="${display_url}" 5 | license="${license}" 6 | logoFile="logo.png" 7 | authors="${mod_author}" 8 | [[mods]] 9 | modId="${mod_id}" 10 | version="${mod_version}" 11 | displayName="${mod_name}" 12 | updateJSONURL="${forge_update_json_url}" 13 | description="${description}" 14 | [[dependencies.${mod_id}]] 15 | modId="forge" 16 | mandatory=true 17 | versionRange="[${forge_version},)" 18 | ordering="NONE" 19 | side="BOTH" 20 | [[dependencies.${mod_id}]] 21 | modId="minecraft" 22 | mandatory=true 23 | versionRange="[${minecraft_version},]" 24 | ordering="NONE" 25 | side="BOTH" 26 | -------------------------------------------------------------------------------- /loader-forge/src/main/resources/mixins.cyclopscore.json: -------------------------------------------------------------------------------- 1 | { 2 | "minVersion": "0.8.5", 3 | "required": true, 4 | "compatibilityLevel": "JAVA_17", 5 | "package": "org.cyclops.cyclopscore.mixin", 6 | "client": [ 7 | "MixinBufferBuilder" 8 | ], 9 | "setSourceFile": true 10 | } -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/Capabilities.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore; 2 | 3 | import net.minecraft.resources.ResourceLocation; 4 | import net.neoforged.neoforge.capabilities.ItemCapability; 5 | import org.cyclops.cyclopscore.capability.fluid.IFluidHandlerItemCapacity; 6 | 7 | /** 8 | * Used capabilities for this mod. 9 | * @author rubensworks 10 | */ 11 | public class Capabilities { 12 | public static class Item { 13 | public static ItemCapability FLUID_HANDLER_CAPACITY = ItemCapability.createVoid(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "fluid_handler_item_capacity"), IFluidHandlerItemCapacity.class); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/capability/fluid/IFluidHandlerCapacity.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.capability.fluid; 2 | 3 | import net.neoforged.neoforge.fluids.capability.IFluidHandler; 4 | 5 | /** 6 | * A fluid handler with a mutable capacity. 7 | * @author rubensworks 8 | */ 9 | public interface IFluidHandlerCapacity extends IFluidHandler { 10 | 11 | public void setTankCapacity(int tank, int capacity); 12 | public int getTankCapacity(int tank); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/capability/fluid/IFluidHandlerItemCapacity.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.capability.fluid; 2 | 3 | import net.neoforged.neoforge.fluids.capability.IFluidHandlerItem; 4 | 5 | /** 6 | * An item fluid handler with a mutable capacity. 7 | * @author rubensworks 8 | */ 9 | public interface IFluidHandlerItemCapacity extends IFluidHandlerItem { 10 | 11 | public void setCapacity(int capacity); 12 | public int getCapacity(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/capability/fluid/IFluidHandlerMutable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.capability.fluid; 2 | 3 | import net.neoforged.neoforge.fluids.FluidStack; 4 | import net.neoforged.neoforge.fluids.capability.IFluidHandler; 5 | 6 | /** 7 | * A fluid handler that is mutable. 8 | * @author rubensworks 9 | */ 10 | public interface IFluidHandlerMutable extends IFluidHandler { 11 | 12 | public void setFluidInTank(int tank, FluidStack fluidStack); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/capability/item/ItemHandlerSlotMasked.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.capability.item; 2 | 3 | import net.minecraft.world.Container; 4 | import net.neoforged.neoforge.items.wrapper.InvWrapper; 5 | import org.cyclops.cyclopscore.inventory.InventorySlotMasked; 6 | 7 | /** 8 | * An item handler that only exposes a given number of slots. 9 | * @author rubensworks 10 | */ 11 | public class ItemHandlerSlotMasked extends InvWrapper { 12 | 13 | public ItemHandlerSlotMasked(Container inventory, int... slots) { 14 | super(new InventorySlotMasked(inventory, slots)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/client/key/IKeyHandler.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.client.key; 2 | 3 | import net.minecraft.client.KeyMapping; 4 | import net.neoforged.api.distmarker.Dist; 5 | import net.neoforged.api.distmarker.OnlyIn; 6 | 7 | /** 8 | * A handler responsible for handling key presses. 9 | * 10 | * @author immortaleeb 11 | * 12 | */ 13 | @OnlyIn(Dist.CLIENT) 14 | public interface IKeyHandler { 15 | 16 | /** 17 | * This method is called whenever a key, which is mapped 18 | * to this KeyHandler is pressed. 19 | * 20 | * @param kb {@link KeyMapping} of the key that was pressed. 21 | */ 22 | public void onKeyPressed(KeyMapping kb); 23 | } 24 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/component/DataComponentInventoryConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.component; 2 | 3 | import org.cyclops.cyclopscore.CyclopsCore; 4 | import org.cyclops.cyclopscore.config.extendedconfig.DataComponentConfigCommon; 5 | import org.cyclops.cyclopscore.init.ModBase; 6 | import org.cyclops.cyclopscore.inventory.SimpleInventory; 7 | 8 | /** 9 | * @author rubensworks 10 | */ 11 | public class DataComponentInventoryConfig extends DataComponentConfigCommon> { 12 | public DataComponentInventoryConfig() { 13 | super(CyclopsCore._instance, "inventory", builder -> builder 14 | .persistent(SimpleInventory.CODEC) 15 | .networkSynchronized(SimpleInventory.STREAM_CODEC)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/IConfigInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config; 2 | 3 | import net.neoforged.fml.config.ModConfig; 4 | import net.neoforged.neoforge.common.ModConfigSpec; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * Can be injected into the config handler when building configs. 10 | */ 11 | public interface IConfigInitializer { 12 | 13 | /** 14 | * Initialize the config parts for this initializer. 15 | * @param configBuilders All available config builders. Can be modified. 16 | */ 17 | public void initializeConfig(Map configBuilders); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/BiomeModifierAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import com.mojang.serialization.MapCodec; 4 | import net.neoforged.neoforge.common.world.BiomeModifier; 5 | import org.cyclops.cyclopscore.config.extendedconfig.BiomeModifierConfig; 6 | 7 | /** 8 | * The action used for {@link org.cyclops.cyclopscore.config.extendedconfig.BiomeModifierConfig}. 9 | * @author rubensworks 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | public class BiomeModifierAction extends ConfigurableTypeActionForge, MapCodec> { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/ConditionAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import com.mojang.serialization.MapCodec; 4 | import net.neoforged.neoforge.common.conditions.ICondition; 5 | import org.cyclops.cyclopscore.config.extendedconfig.ConditionConfig; 6 | 7 | /** 8 | * The action used for {@link ConditionConfig}. 9 | * @author rubensworks 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | // TODO: append NeoForge to name in next major 13 | public class ConditionAction extends ConfigurableTypeActionForge, MapCodec> { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/ConfigurableTypeAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.ExtendedConfig; 4 | import org.cyclops.cyclopscore.init.ModBase; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | @Deprecated // TODO: rm in next major 10 | public class ConfigurableTypeAction, I> extends ConfigurableTypeActionCommon> { 11 | } 12 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/DummyAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import org.cyclops.cyclopscore.config.extendedconfig.DummyConfig; 4 | 5 | /** 6 | * Just a dummy action. 7 | * @author rubensworks 8 | */ 9 | @Deprecated // TODO: rm in next major 10 | public class DummyAction extends ConfigurableTypeAction { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/EntityAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import net.minecraft.world.entity.Entity; 4 | import net.minecraft.world.entity.EntityType; 5 | import org.cyclops.cyclopscore.config.extendedconfig.EntityConfig; 6 | 7 | /** 8 | * The action used for {@link EntityConfig}. 9 | * @param The entity type. 10 | * @author rubensworks 11 | * @see ConfigurableTypeActionCommon 12 | */ 13 | // TODO: append NeoForge to name in next major 14 | @Deprecated // TODO: rm in next major 15 | public class EntityAction extends ConfigurableTypeActionForge, EntityType> { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/GuiAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import net.minecraft.world.inventory.AbstractContainerMenu; 4 | import net.minecraft.world.inventory.MenuType; 5 | import org.cyclops.cyclopscore.config.extendedconfig.GuiConfig; 6 | 7 | /** 8 | * The action used for {@link org.cyclops.cyclopscore.config.extendedconfig.GuiConfig}. 9 | * @author rubensworks 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | // TODO: append NeoForge to name in next major 13 | public class GuiAction extends ConfigurableTypeActionForge, MenuType> { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/LootModifierAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import com.mojang.serialization.MapCodec; 4 | import net.neoforged.neoforge.common.loot.IGlobalLootModifier; 5 | import org.cyclops.cyclopscore.config.extendedconfig.LootModifierConfig; 6 | 7 | /** 8 | * The action used for {@link LootModifierConfig}. 9 | * @author rubensworks 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | // TODO: append NeoForge to name in next major 13 | public class LootModifierAction extends ConfigurableTypeActionForge, MapCodec> { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/config/configurabletypeaction/ParticleAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.config.configurabletypeaction; 2 | 3 | import net.minecraft.core.particles.ParticleOptions; 4 | import net.minecraft.core.particles.ParticleType; 5 | import org.cyclops.cyclopscore.config.extendedconfig.ParticleConfig; 6 | 7 | /** 8 | * The action used for {@link org.cyclops.cyclopscore.config.extendedconfig.ParticleConfig}. 9 | * @author rubensworks 10 | * @see ConfigurableTypeActionCommon 11 | */ 12 | // TODO: append NeoForge to name in next major 13 | public class ParticleAction extends ConfigurableTypeActionForge, ParticleType> { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/event/LecternInfoBookHandlerNeoForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.event; 2 | 3 | import net.neoforged.bus.api.SubscribeEvent; 4 | import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | public class LecternInfoBookHandlerNeoForge { 10 | 11 | @SubscribeEvent 12 | public void onRightClickLectern(PlayerInteractEvent.RightClickBlock event) { 13 | if (LecternInfoBookHandler.onRightClickLectern(event.getLevel(), event.getPos(), event.getEntity())) { 14 | event.setCanceled(true); 15 | } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/gametest/StartupTestNeoForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.gametest; 2 | 3 | import net.minecraft.gametest.framework.GameTest; 4 | import net.minecraft.gametest.framework.GameTestHelper; 5 | import net.neoforged.neoforge.gametest.GameTestHolder; 6 | import net.neoforged.neoforge.gametest.PrefixGameTestTemplate; 7 | import org.cyclops.cyclopscore.Reference; 8 | 9 | /** 10 | * @author rubensworks 11 | */ 12 | @GameTestHolder(Reference.MOD_ID) 13 | @PrefixGameTestTemplate(false) 14 | public class StartupTestNeoForge { 15 | 16 | @GameTest(template = "empty") 17 | public void testDummy(GameTestHelper helper) { 18 | // A dummy test to ensure the server starts properly 19 | helper.succeed(); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/helper/IModHelpersNeoForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | /** 4 | * @author rubensworks 5 | */ 6 | public interface IModHelpersNeoForge extends IModHelpers { 7 | 8 | /** 9 | * @return The helpers owned by the CyclopsCore mod. 10 | */ 11 | public static IModHelpersNeoForge get() { 12 | return (IModHelpersNeoForge) CyclopsCoreInstance.MOD.getModHelpers(); 13 | } 14 | 15 | public ICapabilityHelpersNeoForge getCapabilityHelpers(); 16 | 17 | public IFluidHelpersNeoForge getFluidHelpers(); 18 | 19 | public IRenderHelpersNeoForge getRenderHelpers(); 20 | 21 | public IGuiHelpersNeoForge getGuiHelpers(); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/helper/ItemStackHelpersNeoForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | /** 6 | * @author rubensworks 7 | */ 8 | public class ItemStackHelpersNeoForge extends ItemStackHelpersCommon { 9 | @Override 10 | public boolean hasCraftingRemainingItem(ItemStack itemStack) { 11 | return itemStack.hasCraftingRemainingItem(); 12 | } 13 | 14 | @Override 15 | public ItemStack getCraftingRemainingItem(ItemStack itemStack) { 16 | return itemStack.getCraftingRemainingItem(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/helper/RegistrationHelpersNeoForge.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.entity.EntityType; 4 | import net.minecraft.world.entity.Mob; 5 | import net.minecraft.world.item.Item; 6 | import net.neoforged.neoforge.common.DeferredSpawnEggItem; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * @author rubensworks 12 | */ 13 | public class RegistrationHelpersNeoForge implements IRegistrationHelpers { 14 | @Override 15 | public Item createSpawnEgg(Supplier> type, int backgroundColor, int highlightColor, Item.Properties props) { 16 | return new DeferredSpawnEggItem(type, backgroundColor, highlightColor, props); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/helper/WorldHelpersClient.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.world.level.Level; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | @Deprecated // TODO: remove in next major version 10 | public class WorldHelpersClient { 11 | 12 | public static Level getActiveLevel() { 13 | return Minecraft.getInstance().level; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/helper/WorldHelpersServer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import net.minecraft.world.level.Level; 4 | import net.neoforged.neoforge.server.ServerLifecycleHooks; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | @Deprecated // TODO: remove in next major version 10 | public class WorldHelpersServer { 11 | 12 | public static Level getActiveLevel() { 13 | return ServerLifecycleHooks.getCurrentServer().getLevel(Level.OVERWORLD); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/AdvancedButtonEnum.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook; 2 | 3 | public class AdvancedButtonEnum { 4 | 5 | private AdvancedButtonEnum() { 6 | 7 | } 8 | 9 | public static AdvancedButtonEnum create() { 10 | return new AdvancedButtonEnum(); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/HyperLink.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * A link wrapper targeted at other sections. 7 | * @author rubensworks 8 | */ 9 | public class HyperLink { 10 | 11 | @Getter private int x, y; 12 | @Getter private InfoSection target; 13 | @Getter private String translationKey; 14 | 15 | public HyperLink(int x, int y, InfoSection target, String translationKey) { 16 | this.x = x; 17 | this.y = y; 18 | this.target = target; 19 | this.translationKey = translationKey; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/condition/FluidSectionConditionHandler.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.condition; 2 | 3 | import net.minecraft.core.registries.BuiltInRegistries; 4 | import net.minecraft.resources.ResourceLocation; 5 | import org.cyclops.cyclopscore.init.ModBase; 6 | 7 | /** 8 | * Condition handler for checking if a fluid has been registered. 9 | * @author rubensworks 10 | * 11 | */ 12 | public class FluidSectionConditionHandler implements ISectionConditionHandler { 13 | 14 | @Override 15 | public boolean isSatisfied(ModBase mod, String param) { 16 | return BuiltInRegistries.FLUID.containsKey(ResourceLocation.parse(param)); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/condition/ISectionConditionHandler.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.condition; 2 | 3 | import org.cyclops.cyclopscore.init.ModBase; 4 | 5 | /** 6 | * Handler to check a type of section condition, for when section tags are used in infobooks. 7 | * @author rubensworks 8 | * 9 | */ 10 | public interface ISectionConditionHandler { 11 | 12 | /** 13 | * Check if this condition is satisfied for the given parameter. 14 | * @param mod The mod that owns the infobook. 15 | * @param param The condition parameter. 16 | * @return If this condition is satisfied. 17 | */ 18 | public boolean isSatisfied(ModBase mod, String param); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/condition/ItemSectionConditionHandler.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.condition; 2 | 3 | import net.minecraft.core.registries.BuiltInRegistries; 4 | import net.minecraft.resources.ResourceLocation; 5 | import org.cyclops.cyclopscore.init.ModBase; 6 | 7 | /** 8 | * Condition handler for checking if an item has been registered. 9 | * @author rubensworks 10 | * 11 | */ 12 | public class ItemSectionConditionHandler implements ISectionConditionHandler { 13 | 14 | @Override 15 | public boolean isSatisfied(ModBase mod, String param) { 16 | return BuiltInRegistries.ITEM.containsKey(ResourceLocation.parse(param)); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/condition/ModSectionConditionHandler.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.condition; 2 | 3 | import net.neoforged.fml.ModList; 4 | import org.cyclops.cyclopscore.init.ModBase; 5 | 6 | /** 7 | * Condition handler for checking if mods are available. 8 | * @author rubensworks 9 | * 10 | */ 11 | public class ModSectionConditionHandler implements ISectionConditionHandler { 12 | 13 | @Override 14 | public boolean isSatisfied(ModBase mod, String param) { 15 | return ModList.get().isLoaded(param); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/pageelement/IRewardFactory.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.pageelement; 2 | 3 | import org.cyclops.cyclopscore.infobook.IInfoBook; 4 | import org.cyclops.cyclopscore.infobook.InfoBookParser; 5 | import org.w3c.dom.Element; 6 | 7 | /** 8 | * Factory for {@link IReward}. 9 | * @author rubensworks 10 | */ 11 | public interface IRewardFactory { 12 | public IReward create(IInfoBook infoBook, Element node) throws InfoBookParser.InvalidAppendixException; 13 | } 14 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/infobook/test/InfoBookTest.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.infobook.test; 2 | 3 | import org.cyclops.cyclopscore.CyclopsCore; 4 | import org.cyclops.cyclopscore.infobook.InfoBook; 5 | 6 | /** 7 | * An infobook instance for testing. 8 | * @author rubensworks 9 | */ 10 | public class InfoBookTest extends InfoBook { 11 | 12 | private static InfoBookTest _instance = null; 13 | 14 | public InfoBookTest() { 15 | super(CyclopsCore._instance, 2, "http://example.org"); 16 | } 17 | 18 | public static InfoBookTest getInstance() { 19 | if(_instance == null) { 20 | _instance = new InfoBookTest(); 21 | } 22 | return _instance; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/ingredient/collection/IIngredientListMutable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.ingredient.collection; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * A mutable ingredient collection using list semantics. 7 | * This means that instances exist in a predefined order and that instances can exist multiple time in the collection. 8 | * 9 | * @see List 10 | * @param The instance type. 11 | * @param The matching condition parameter. 12 | */ 13 | public interface IIngredientListMutable extends IIngredientList, IIngredientCollectionMutable { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/ingredient/collection/IIngredientSet.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.ingredient.collection; 2 | 3 | import java.util.Set; 4 | import java.util.Spliterator; 5 | import java.util.Spliterators; 6 | 7 | /** 8 | * A ingredient collection using set semantics. 9 | * This means that each instances can only be present once in the collection based on its equals method. 10 | * 11 | * @see Set 12 | * @param The instance type. 13 | * @param The matching condition parameter. 14 | */ 15 | public interface IIngredientSet extends IIngredientCollection { 16 | 17 | @Override 18 | default Spliterator spliterator() { 19 | return Spliterators.spliterator(this.iterator(), this.size(), Spliterator.DISTINCT); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/ingredient/collection/IIngredientSetMutable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.ingredient.collection; 2 | 3 | import java.util.Set; 4 | 5 | /** 6 | * A mutable ingredient collection using set semantics. 7 | * This means that each instances can only be present once in the collection based on its equals method. 8 | * 9 | * @see Set 10 | * @param The instance type. 11 | * @param The matching condition parameter. 12 | */ 13 | public interface IIngredientSetMutable extends IIngredientSet, IIngredientCollectionMutable { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/inventory/IValueNotifiable.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.world.inventory.MenuType; 4 | import net.minecraft.nbt.CompoundTag; 5 | 6 | /** 7 | * Used for receiving values from servers to clients in guis. 8 | * @see IValueNotifier 9 | * @author rubensworks 10 | */ 11 | public interface IValueNotifiable { 12 | 13 | /** 14 | * @return The container type. 15 | */ 16 | public MenuType getValueNotifiableType(); 17 | 18 | /** 19 | * Called by the server if the value has changed. 20 | * @param valueId The value id. 21 | * @param value The new value. 22 | */ 23 | void onUpdate(int valueId, CompoundTag value); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/inventory/SimpleInventoryState.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import org.cyclops.commoncapabilities.api.capability.inventorystate.IInventoryState; 4 | 5 | /** 6 | * An inventory state implementation for a {@link SimpleInventory}. 7 | * @author rubensworks 8 | */ 9 | public class SimpleInventoryState implements IInventoryState { 10 | 11 | private final SimpleInventory inventory; 12 | 13 | public SimpleInventoryState(SimpleInventory inventory) { 14 | this.inventory = inventory; 15 | } 16 | 17 | @Override 18 | public int getState() { 19 | return this.inventory.getState(); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/inventory/container/button/IContainerButtonAction.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory.container.button; 2 | 3 | import net.minecraft.world.inventory.AbstractContainerMenu; 4 | 5 | /** 6 | * A server-side button action. 7 | * @author rubensworks 8 | */ 9 | public interface IContainerButtonAction { 10 | 11 | /** 12 | * Called when the button with the given id was clicked client-side. 13 | * @param buttonId The button id. 14 | * @param container The container in which the button was clicked. 15 | */ 16 | public void onAction(String buttonId, C container); 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/loot/modifier/LootModifierInjectItemConfig.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.loot.modifier; 2 | 3 | import org.cyclops.cyclopscore.CyclopsCore; 4 | import org.cyclops.cyclopscore.config.extendedconfig.LootModifierConfig; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | public class LootModifierInjectItemConfig extends LootModifierConfig { 10 | public LootModifierInjectItemConfig() { 11 | super(CyclopsCore._instance, "inject_item", (eConfig) -> LootModifierInjectItem.CODEC.get()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/metadata/IRegistryExportableRegistry.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.metadata; 2 | 3 | import org.cyclops.cyclopscore.init.IRegistry; 4 | 5 | import java.io.IOException; 6 | import java.nio.file.Path; 7 | import java.util.List; 8 | 9 | /** 10 | * Registry for {@link IRegistryExportable}. 11 | */ 12 | public interface IRegistryExportableRegistry extends IRegistry { 13 | 14 | public void register(IRegistryExportable exportable); 15 | 16 | public List getExportables(); 17 | 18 | public void export(Path basePath) throws IOException; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/modcompat/capabilities/ICapabilityConstructor.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat.capabilities; 2 | 3 | import net.neoforged.neoforge.capabilities.ICapabilityProvider; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | /** 8 | * Constructor for capabilities. 9 | * @param The host type that will contain the capability. 10 | * @param The capability context type 11 | * @param The capability type 12 | * @param The capability key type, such as BlockEntityType. 13 | * @author rubensworks 14 | */ 15 | public interface ICapabilityConstructor extends ICapabilityTypeGetter { 16 | 17 | @Nullable 18 | public ICapabilityProvider createProvider(CK capabilityKey); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/modcompat/capabilities/ICapabilityTypeGetter.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat.capabilities; 2 | 3 | import net.neoforged.neoforge.capabilities.BaseCapability; 4 | 5 | /** 6 | * Getter for capability types. 7 | * @param The capability type 8 | * @author rubensworks 9 | */ 10 | public interface ICapabilityTypeGetter { 11 | 12 | /** 13 | * @return A reference to the capability. 14 | */ 15 | public BaseCapability getCapability(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/modcompat/curios/ModCompatCuriosInitializer.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.modcompat.curios; 2 | 3 | import org.cyclops.cyclopscore.inventory.RegistryInventoryLocation; 4 | import org.cyclops.cyclopscore.modcompat.ICompatInitializer; 5 | 6 | /** 7 | * @author rubensworks 8 | */ 9 | public class ModCompatCuriosInitializer implements ICompatInitializer { 10 | @Override 11 | public void initialize() { 12 | // Extend player iterator 13 | RegistryInventoryLocation.getInstance().register(new InventoryLocationCurios()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/NbtParseException.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path; 2 | 3 | /** 4 | * An exception that can be thrown during the parsing of NBT path expressions. 5 | */ 6 | public class NbtParseException extends Exception { 7 | 8 | public NbtParseException(String msg) { 9 | super(msg); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/navigate/NbtPathNavigationLeafWildcard.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.navigate; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | /** 6 | * A navigation leaf that matches with all keys. 7 | */ 8 | public class NbtPathNavigationLeafWildcard implements INbtPathNavigation { 9 | 10 | public static NbtPathNavigationLeafWildcard INSTANCE = new NbtPathNavigationLeafWildcard(); 11 | 12 | private NbtPathNavigationLeafWildcard() { 13 | 14 | } 15 | 16 | @Override 17 | public boolean isLeafKey(String key) { 18 | return true; 19 | } 20 | 21 | @Nullable 22 | @Override 23 | public INbtPathNavigation getNext(String key) { 24 | return null; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/navigate/NbtPathNavigationLinkWildcard.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.navigate; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | /** 6 | * A navigation inner link that matches with all leafs. 7 | */ 8 | public class NbtPathNavigationLinkWildcard implements INbtPathNavigation { 9 | 10 | private final INbtPathNavigation child; 11 | 12 | public NbtPathNavigationLinkWildcard(INbtPathNavigation child) { 13 | this.child = child; 14 | } 15 | 16 | @Override 17 | public boolean isLeafKey(String key) { 18 | return false; 19 | } 20 | 21 | @Nullable 22 | @Override 23 | public INbtPathNavigation getNext(String key) { 24 | return this.child; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/parse/NbtPathExpressionParseHandlerBooleanRelationalEqual.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.parse; 2 | 3 | /** 4 | * A handler that handles boolean expressions in the form of " == 10". 5 | */ 6 | public class NbtPathExpressionParseHandlerBooleanRelationalEqual extends NbtPathExpressionParseHandlerBooleanRelationalAdapter { 7 | 8 | public NbtPathExpressionParseHandlerBooleanRelationalEqual() { 9 | super("=="); 10 | } 11 | 12 | protected boolean getRelationalValue(double left, double right) { 13 | return left == right; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/parse/NbtPathExpressionParseHandlerBooleanRelationalGreaterThan.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.parse; 2 | 3 | /** 4 | * A handler that handles boolean expressions in the form of " > 10". 5 | */ 6 | public class NbtPathExpressionParseHandlerBooleanRelationalGreaterThan extends NbtPathExpressionParseHandlerBooleanRelationalAdapter { 7 | 8 | public NbtPathExpressionParseHandlerBooleanRelationalGreaterThan() { 9 | super(">"); 10 | } 11 | 12 | protected boolean getRelationalValue(double left, double right) { 13 | return left > right; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/parse/NbtPathExpressionParseHandlerBooleanRelationalGreaterThanOrEqual.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.parse; 2 | 3 | /** 4 | * A handler that handles boolean expressions in the form of " ≥ 10". 5 | */ 6 | public class NbtPathExpressionParseHandlerBooleanRelationalGreaterThanOrEqual extends NbtPathExpressionParseHandlerBooleanRelationalAdapter { 7 | 8 | public NbtPathExpressionParseHandlerBooleanRelationalGreaterThanOrEqual() { 9 | super(">="); 10 | } 11 | 12 | protected boolean getRelationalValue(double left, double right) { 13 | return left >= right; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/parse/NbtPathExpressionParseHandlerBooleanRelationalLessThan.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.parse; 2 | 3 | /** 4 | * A handler that handles boolean expressions in the form of " < 10". 5 | */ 6 | public class NbtPathExpressionParseHandlerBooleanRelationalLessThan extends NbtPathExpressionParseHandlerBooleanRelationalAdapter { 7 | 8 | public NbtPathExpressionParseHandlerBooleanRelationalLessThan() { 9 | super("<"); 10 | } 11 | 12 | protected boolean getRelationalValue(double left, double right) { 13 | return left < right; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/nbt/path/parse/NbtPathExpressionParseHandlerBooleanRelationalLessThanOrEqual.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.nbt.path.parse; 2 | 3 | /** 4 | * A handler that handles boolean expressions in the form of " ≤ 10". 5 | */ 6 | public class NbtPathExpressionParseHandlerBooleanRelationalLessThanOrEqual extends NbtPathExpressionParseHandlerBooleanRelationalAdapter { 7 | 8 | public NbtPathExpressionParseHandlerBooleanRelationalLessThanOrEqual() { 9 | super("<="); 10 | } 11 | 12 | protected boolean getRelationalValue(double left, double right) { 13 | return left <= right; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/proxy/CommonProxyComponent.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; 4 | import org.cyclops.cyclopscore.client.key.IKeyRegistry; 5 | import org.cyclops.cyclopscore.network.PacketHandler; 6 | 7 | /** 8 | * Base proxy for server and client side. 9 | * @author rubensworks 10 | * 11 | */ 12 | public abstract class CommonProxyComponent extends CommonProxyComponentCommon implements ICommonProxy { 13 | 14 | @Override 15 | public void registerKeyBindings(IKeyRegistry keyRegistry, RegisterKeyMappingsEvent event) { 16 | } 17 | 18 | @Override 19 | public void registerPacketHandlers(PacketHandler packetHandler) { 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/proxy/IClientProxy.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.proxy; 2 | 3 | /** 4 | * Interface for client proxies. 5 | * @author rubensworks 6 | */ 7 | public interface IClientProxy extends IClientProxyCommon, ICommonProxy { 8 | } 9 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/recipe/type/IInventoryFluid.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.recipe.type; 2 | 3 | import net.minecraft.world.item.crafting.RecipeInput; 4 | import net.neoforged.neoforge.fluids.capability.IFluidHandler; 5 | 6 | /** 7 | * An inventory that can also contain fluids. 8 | * @author rubensworks 9 | */ 10 | public interface IInventoryFluid extends RecipeInput { 11 | 12 | public IFluidHandler getFluidHandler(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/java/org/cyclops/cyclopscore/tracking/IModVersion.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.tracking; 2 | 3 | /** 4 | * Interface for mods which can be used inside the version checker {@link Versions}. 5 | * @author rubensworks 6 | */ 7 | public interface IModVersion { 8 | 9 | public void setVersionInfo(String version, String info, String updateUrl); 10 | 11 | public boolean isVersionInfo(); 12 | 13 | public String getVersion(); 14 | 15 | public String getInfo(); 16 | 17 | public String getUpdateUrl(); 18 | 19 | public boolean needsUpdate(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /loader-neoforge/src/main/resources/mixins.cyclopscore.json: -------------------------------------------------------------------------------- 1 | { 2 | "minVersion": "0.8.5", 3 | "required": true, 4 | "compatibilityLevel": "JAVA_17", 5 | "package": "org.cyclops.cyclopscore.mixin", 6 | "client": [ 7 | "MixinBufferBuilder" 8 | ], 9 | "setSourceFile": true 10 | } -------------------------------------------------------------------------------- /loader-neoforge/src/test/java/org/cyclops/cyclopscore/helper/CyclopsMatchers.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.helper; 2 | 3 | import org.hamcrest.Matcher; 4 | 5 | import java.util.Iterator; 6 | 7 | /** 8 | * @author rubensworks 9 | */ 10 | public class CyclopsMatchers { 11 | 12 | public static > Matcher isIterator(T value) { 13 | return new IsEqualIterator(value); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /loader-neoforge/src/test/java/org/cyclops/cyclopscore/inventory/ItemDummy.java: -------------------------------------------------------------------------------- 1 | package org.cyclops.cyclopscore.inventory; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | /** 6 | * A dummy item implementation. 7 | * @author rubensworks 8 | */ 9 | public class ItemDummy extends Item { 10 | 11 | public ItemDummy() { 12 | super(new Properties()); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare crash during cube detection, Closes CyclopsMC/ColossalChests#70 5 | * Update to latest Baubles API version to fix crash 6 | 7 | Lib changes: 8 | * Expose configurability of infobook gui placement -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Add null-check during IndexInventory slot contents setting 5 | * Fix crash when right-clicking on inventories in spectator mode, Closes CyclopsMC/IntegratedDynamics#164 6 | 7 | Lib changes: 8 | * Make infobook rewards disableable 9 | * Make infobook title colors configurable 10 | * Scope infobook appendix tags by mod 11 | * Allow infobook sections to be registered afterwards 12 | * Add appendix list factory abstraction 13 | * Add option to add custom config dictionary entries 14 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook-related server crash, Closes #49 5 | * Fix fluid localization key 6 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Remove config outdated warning, Closes #50 7 | * Fix fluid unlocalized names 8 | 9 | Fixes: 10 | * Always load world from DimensionManager on server-side in DimPos. This catches the cases where the world has been unloaded, and as a consequence become Nullable. 11 | 12 | Lib additions: 13 | * Add abstract MineTweaker support for handling recipe registry 14 | * Allow recipes to be unregistered 15 | * Add configurable stairs block 16 | * Allow min and max values to be set in number fields 17 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib changes: 4 | * Add option to make XML recipes NBT-sensitive 5 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Create zh_CN 5 | 6 | Fixes: 7 | * Update drop particle interface method signature. It didn't match the Block's signature anymore. -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Remove Minetweaker lib dependency 5 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add JEI recipe wrapper abstraction for easier Minetweaker recipe handling 5 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.10.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Properly call pre-block destroy on alternative block break calls, CyclopsMC/IntegratedDynamics#240 5 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.9.0.txt: -------------------------------------------------------------------------------- 1 | Initial 1.11 port -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.9.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add IndexedInventory to expose slotless item handler 5 | * Added category tooltips 6 | * Added localization for configuration gui 7 | 8 | Changes: 9 | * Added extra options to the configurable property annotation 10 | 11 | Fixes: 12 | * Fix InventoryContainer incorrectly mutating inventory stacks 13 | * Improve efficiency of CapabilityConstructorRegistry, #35 14 | * Fix rare NPE in CubeDetector 15 | * Fix rare cube detection crash 16 | * Fix nbt field inaccessibility, Closes #33 17 | * Fix rare version checker crash when player connection is null, Closes #31 18 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.9.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix biome localization, Closes CyclopsMC/IntegratedDynamics#119 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.9.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid container items being fillable with non-matching fluids, Closes CyclopsMC/EvilCraft#527 5 | * Fix gui client-server value sync variables 6 | -------------------------------------------------------------------------------- /resources/changelog/1.11.2-0.9.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add method to DimPos to check if that position is loaded 5 | 6 | Changes: 7 | * Store world as a weak reference in DimPos 8 | This avoids world memory leaks. 9 | 10 | Lib additions: 11 | * Add registry for mapping items to achievements 12 | * Add support for fluids components in recipe appendix 13 | * Add achievement rewards system for infobooks 14 | * Open up infobook interface API for Integrated Dynamics 15 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Add callback to ExtendedConfig for when the Forge registry entry has been registered 7 | * Manually emit confighandler crashes, as Forge swallows them 8 | 9 | Fixes: 10 | * Fix fluid containers appearing in all creative tabs 11 | * Fix crashes in SMP 12 | * Fix InventoryHelpers using null ItemStacks for re-adding stacks to players 13 | * Fix incorrect recipe type category id's 14 | * Fix block and item color registration crash 15 | * Fix block registration callback 16 | * Improve error logging for invalid grid recipe output items 17 | * Register dynamic item models at the correct time 18 | * Fix villager registration crash 19 | * Fix block and item color crash 20 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.11.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add JEI recipe wrapper abstraction for easier Minetweaker recipe handling 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.12.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Allow text fields to become fully selected on right-click 5 | 6 | Fixes: 7 | * Correctly configure localized mob names, Closes CyclopsMC/EvilCraft#578 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.13.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix blockstate to ItemStack returning null 5 | * Properly call pre-block destroy on alternative block break calls, CyclopsMC/IntegratedDynamics#240 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.14.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix ingredient recipe components not correctly being matched 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.15.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix invalid tile entity persistance 5 | Closes CyclopsMC/EvilCraft#584, closed CyclopsMC/EvilCraft#582 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.16.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rewards not properly being awarded to players in SMP 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.17.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | This is just a version bump because CurseForge is acting derpy and wouldn't accept 0.10.16... 4 | 5 | Fixes: 6 | * Fix rewards not properly being awarded to players in SMP 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.18.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Update CraftTweaker compat 5 | 6 | Changes: 7 | * Don't notify version update if current version is higher than latest version, Closes #70 8 | 9 | Lib changes: 10 | * Improve type parameters in configuration system 11 | * Support non-integral XP values from smelting recipes 12 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.19.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Don't nag to update the mod that you're currently in the development environment of 7 | 8 | Fixes: 9 | * Fix inconsistency in IndexedInventory (used by Colossal Chests), Closes #60 10 | * Fix items with guis not being usable in off hand 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.20.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow XML recipe outputs to have chances 5 | 6 | Fixes: 7 | * Fix version checker crash when running offline, Closes #76 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.21.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect capability mapping to sides on rotation, Closes CyclopsMC/EvilCraft#598 5 | * Fix being able to take items out of phantom slots, Closes CyclopsMC/IntegratedDynamics#297 6 | * Fix all text fields becoming selected when right clicking 7 | * Fix recipe components always having a zero chance 8 | 9 | Lib changes: 10 | * Add a reference-based DefaultCapabilityProvider constructor 11 | This makes it possible for instances to be created even before capabilities have been initialized. 12 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.6.txt: -------------------------------------------------------------------------------- 1 | Initial 1.12 release -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Bump Forge to 14.21.1.2387 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12-0.10.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Revert "Make MinecraftHelpers.isClientSide() safer on different threads", fixes GUI's sometimes not opening in SMP 5 | * Fix incorrect recipe identifiers for multiple equal output items 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.10.22.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Compress PNGs 5 | * Fix performance issue when attaching ItemStack capabilities, Closes #77 6 | The problem was that empty ItemStacks were doing expensive getItemFromBlock calls for AIR in getItem when they are empty. 7 | * Override the non-deprecated version of getDrops 8 | 9 | Fixes: 10 | * Fix netty leak, Closes #82 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.10.23.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Sign jars 5 | 6 | Fixes: 7 | * Fix problem when logging into a world with Forge >= 14.23.0.2538 8 | Revert "Fix netty leak, Closes #82" 9 | This is Forge's duty to release (MinecraftForge/MinecraftForge#4510), not 10 | ours. Fixes CyclopsMC/IntegratedDynamics#364 and 11 | fixes CyclopsMC/EverlastingAbilities#59. 12 | * Fix curseforge URL in mcmod.info 13 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add main menu button to create a dev world when in dev environment 5 | * Add support for doors 6 | 7 | Changes: 8 | * Break out getItemInstance() so not everything has to use Item.getItemFromBlock() 9 | * Let blocks' items be any Item, not just ItemBlock 10 | * Render fluid tanks in guis using the fluid's color 11 | 12 | Fixes: 13 | * Fix XML recipe oredict ingredients not adhering to stacksizes 14 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix models rendering too dark in item-form 5 | 6 | Lib changes: 7 | * Add method to refresh all cached values in a value notifyable guis 8 | This new method can be called from within initGui, when for example resizing screens. 9 | * Allow a certain element to be selected in arrowed list field 10 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Don't allow active items with guis to be moved into themselves, Closes CyclopsMC/EvilCraft#724 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.11.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Improve efficiency of reflection-based data serialization, Closes CyclopsMC/IntegratedDynamics#630 5 | * Make single-levelled enchantments not show its level in the name, For example, 'Unusing I' will now be simple be 'Unusing', Closes CyclopsMC/EvilCraft#736 6 | 7 | Fixes: 8 | * Make leaves always drop the base item when silk-touched, Closes CyclopsMC/IntegratedDynamics#633 9 | * Make invalid gui data crashes warnings instead, Closes #120 10 | * Fix rare crash on client-side handling of SendPlayerCapabilitiesPacket, Closes #119 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib changes: 4 | * Make PlayerInventoryIterator also iterate over off-hand and armor 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add helper method to inject file-based loot tables 5 | 6 | Fixes: 7 | * Fix WeightedItemStack returning null if inner stack is null 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix number fields not resetting colors 5 | * Fix disabled numbered fields still having enabled buttons 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Localize curse enchants with a red color 5 | 6 | Fixes: 7 | * Make sure synchronous server side packets run in server thread 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Create ru_ru.lang 5 | 6 | Fixes: 7 | * Limit packet handler channel names to 20 characters 8 | This is because Forge packets in some places assume a max channel name string of 20 characters, 9 | but this is not validated at init time. 10 | This caused strange crashes where mod packets were being identified as vanilla packets. 11 | Closes CyclopsMC/IntegratedDynamics#569 12 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Select and focus text fields on right click 5 | Closes CyclopsMC/IntegratedDynamics#602 6 | 7 | Lib additions: 8 | * Add hand-sensitive tryReAddToStack inventory helper method 9 | * Trim long link strings in infobooks 10 | Closes CyclopsMC/IntegratedDynamics#603 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix advancements in infobook not syncing anymore after a first sync, Closes CyclopsMC/IntegratedDynamics#385 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-0.11.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Lazily register capability constructors 5 | In cases where the registry is not used, 6 | the Forge event listeners will not be invoked, 7 | which can be sometimes slow as can be seen in #113. 8 | 9 | Fixes: 10 | * Fix rare SendPlayerCapabilitiesPacket crash on dimension changes, Closes #114 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix progress bar scaling issues due to rounding errors, CyclopsMC/IntegratedDynamics#671 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare crash due to corrupt dynamic model factories, Closes CyclopsMC/EvilCraft#743 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix ingredient amount movement ignoring final amount in destination 5 | Closes CyclopsMC/IntegratedTunnels#149 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Add GL depth safety after rendering gui tooltips in infobook, Closes CyclopsMC/EvilCraft#753 5 | * Automatically reset scrollbars when it is too big for the view, Closes CyclopsMC/IntegratedTerminals#13 6 | * Fix gaps between gui slots, Closes CyclopsMC/IntegratedTerminals#19 7 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Don't include chance-based recipe outputs in recipe components 5 | This fixes validation issues in Integrated Crafting with chance-based recipes. 6 | Closes CyclopsMC/IntegratedCrafting#15 7 | * Make slotless ingredient loss error a warning instead of a crash 8 | Closes CyclopsMC/IntegratedDynamics#696 9 | * Fix ingred movement not checking source alternatives for filtered destinations 10 | Closes CyclopsMC/IntegratedTunnels#150 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.0.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix RenderItemExtendedSlotCount not considering custom item models 5 | 6 | Closes CyclopsMC/IntegratedTerminals#23 7 | Closes CyclopsMC/IntegratedTerminals#24 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.1.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Update to Forge 14.23.5.2768 and MCP snapshot_20180814 5 | 6 | Lib changes: 7 | * Add more efficient method for checking if a config is enabled, Closes #116 8 | * Deprecate SendPlayerCapabilitiesPacket, Closes #123 9 | 10 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.1.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib additions: 4 | * Add FluidStack NBTClassType 5 | * Add synced gui variable abstraction 6 | This allows variables inside guis to be more 7 | easily synced between client and server. 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.2.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Mention file name on XML recipe file validation error, Closes #135 5 | 6 | Lib additions: 7 | * Add NBT Paths: https://github.com/CyclopsMC/CyclopsCore/wiki/NBT-Path 8 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.2.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix recipe handlers having invalid interfaces, Closes CyclopsMC/IntegratedDynamics#722 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.3.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow insert/extract in indexed inventories over max stack size 5 | Required for CyclopsMC/IntegratedCrafting#27 6 | 7 | Fixes: 8 | * Catch ingredient transfer for out-of-bound slots 9 | Closes CyclopsMC/IntegratedDynamics#730 10 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.4.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib changes: 4 | * Throw exception instead of warning on lost ingred during movement 5 | This fixed the problem where items could silently go lost 6 | in Integrated Tunnels network upon movement failures. 7 | 8 | Lib additions: 9 | * Add getter for scroll position in GuiScrollBar 10 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.5.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add infobook button to open Web version 5 | * Add dumpregistries command with ability to dump crafting recipe registry 6 | 7 | Changes: 8 | * Make keybinding appendix title dependent on mod 9 | * Include rewards localization string 10 | * Update to latest CommonCaps API version 11 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.5.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Block scrollbar position from becoming negative 5 | Closes CyclopsMC/IntegratedTerminals#45 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add cached recipe lookup helper method 5 | * Add setItemAtIndex helper method 6 | 7 | Fixes: 8 | * Fix important users lookup running in the main thread, Closes #139 9 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when reading DimPos client-side for a non-default dimension 5 | Closes CyclopsMC/IntegratedDynamics#806 6 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash on WeightedItemStack with empty stacks, Closes CyclopsMC/CyclopsCore#141 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare NPE on Colossal Chest placement, Closes CyclopsMC/CyclopsCore#142 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix version checker running in main thread causing slowdown, Closes #143 5 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix containers not opening from 8+ blocks 5 | Closes CyclopsMC/ColossalChests#136 6 | Closes CyclopsMC/IntegratedDynamics#842 7 | * Fix item-block conversion operators not always being correct 8 | This caused problems with certain types of leaves. 9 | Closes CyclopsMC/IntegratedDynamics#847 10 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix blur particles conflicting with other particles alpha 5 | Closes CyclopsMC/EverlastingAbilities#173 6 | Closes CyclopsMC/EverlastingAbilities#160 7 | -------------------------------------------------------------------------------- /resources/changelog/1.12.2-1.6.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Remove NBT from ItemStack hashCodes 5 | Improves performance CyclopsMC/IntegratedDynamics#940 6 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.5.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.14 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.5.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add more-info tooltips on Cyclops items and blocks 5 | 6 | Changes: 7 | * Bump to Forge 28.1 8 | * Refactor config handler to support block, item, and tile connections 9 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.5.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Improve guis and containers for tile entities 5 | 6 | Changes: 7 | * Remove unneeded config translations 8 | * Detach IInventoryState from SimpleInventory 9 | This fixes compilation issues when commoncaps is not installed. 10 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.5.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix onForgeRegistered not being called for item configs 5 | * Fix abstract method error when opening block guis 6 | This only occurred in obfuscated environments. 7 | Closes CyclopsMC/CapabilityProxy#19 8 | * Fix entity type registration failing 9 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.5.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix tank data not being written to NBT correctly 5 | * Fix invalid fluid validation in tanks 6 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.6.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add setItemAtIndex helper method 5 | 6 | Fixes: 7 | * Fix important users lookup running in the main thread, Closes #139 8 | * Block scrollbar position from becoming negative 9 | Closes CyclopsMC/IntegratedTerminals#45 10 | -------------------------------------------------------------------------------- /resources/changelog/1.14.4-1.6.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Deprecate server-unsafe UnlocalizedString in favor of ITextComponent 5 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.6.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.15 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.6.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add supplier-based ItemStackTileEntityRendererBase. Required for CyclopsMC/ColossalChests#131 5 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.7.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Create RegistryExportableRegistry during mod construction 5 | This may be a fix for CyclopsMC/IntegratedDynamics#875 6 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add recipe condition as configurable 5 | Required for CyclopsMC/ColossalChests#138 6 | * Allow configs to listen to config reloads 7 | 8 | Fixes: 9 | * Fix containers not opening from 8+ blocks 10 | Closes CyclopsMC/ColossalChests#136 11 | Closes CyclopsMC/IntegratedDynamics#842 12 | * Fix item-block conversion operators not always being correct 13 | This caused problems with certain types of leaves. 14 | Closes CyclopsMC/IntegratedDynamics#847 15 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook section injection broken in 1.15 5 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix tooltip rendering having incorrect depth 5 | * Fix RenderItemExtendedSlotCount rendering amount behind item 6 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add unsafe tile retrieval mode 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid helpers not correctly handling empty stacks 5 | * Fix IInventoryIndexReference clashing with vanilla method name 6 | This could cause an AbstractMethodError. 7 | Closes CyclopsMC/IntegratedDynamics#910 8 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Handle cross-thread chunk retrieval in unsafe tile getter 5 | Required for CyclopsMC/IntegratedDynamics#917 6 | 7 | Fixes: 8 | * Fix server crash due to call to client-only packet reading method, Closes CyclopsMC/IntegratedTerminals#59 9 | -------------------------------------------------------------------------------- /resources/changelog/1.15.2-1.8.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add support for spawn egg registration in entity config 5 | 6 | Fixes: 7 | * Fix random client crash on getSafeTile 8 | Closes CyclopsMC/IntegratedDynamics#929 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.10.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add ButtonCheckbox 5 | 6 | Changes: 7 | * Expose PacketCodec#getAction 8 | * Expose drawTooltipBackground in gui helpers 9 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.10.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix PlayerExtendedInventoryIterator only checking first inventory 5 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.11.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Enable tag-based recipe output prioritization 5 | Required for CyclopsMC/IntegratedDynamics#976 6 | 7 | Fixes: 8 | * Fix reflection console spam on recent Java versions, Closes #148 9 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.11.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Enable Forge version checker 5 | * Deprecate old custom version checker, Closes #137 6 | 7 | Fixes: 8 | * Fix keystore failing when building PRs 9 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.16 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix model loading crash with some other mods 5 | Closes CyclopsMC/EvilCraft#808 6 | Closes CyclopsMC/IntegratedDynamics#947 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add recipe finder safe for both client and server 5 | 6 | Fixes: 7 | * Update support for Baubles Reborn 8 | Closes CyclopsMC/EvilCraft#809 9 | * Only register client-side stuff when on client 10 | Closes CyclopsMC/EvilCraft#812 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobooks not loading server-side 5 | Closes CyclopsMC/IntegratedDynamics#950 6 | Closes CyclopsMC/IntegratedDynamics#948 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix armor slots not checking armor type 5 | Closes CyclopsMC/EvilCraft#821 6 | -------------------------------------------------------------------------------- /resources/changelog/1.16.4-1.9.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Remove NBT from ItemStack hashCodes 5 | Improves performance CyclopsMC/IntegratedDynamics#940 6 | 7 | Fixes: 8 | * Fix machine reader not reading crafting recipes, Closes CyclopsMC/IntegratedDynamics#936 9 | * Fix custom item and block models, Closes CyclopsMC/IntegratedDynamics#961 10 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Center checkbox if bounds are too large 5 | 6 | Fixes: 7 | * Fix text running out of text fields 8 | * Fix render artifacts when selecting text 9 | Closes CyclopsMC/IntegratedDynamics#1086 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | 7 | Fixes: 8 | * Fix rare EvilCraft startup crash, Closes CyclopsMC/EvilCraft#849 9 | * Fix incorrect translation key metadata export 10 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare null fluid crashes in items 5 | 6 | Closes CyclopsMC/EvilCraft#850 7 | Closes CyclopsMC/EvilCraft#851 8 | Closes CyclopsMC/EvilCraft#852 9 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Add non-null check in infobook injection registrations 5 | Related to #152 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Create it_it.json 5 | 6 | Fixes: 7 | * Fix scrolling guis blocking JEI hotkeys 8 | Closes CyclopsMC/IntegratedDynamics#1011 9 | * Avoid expensive IngredientSet copy on keySet invocation 10 | Fixes performance issue in large ID storage networks. 11 | Closes CyclopsMC/IntegratedDynamics#1008 12 | 13 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Make infobook injections loading thread-safe, Closes #157 5 | * Cache world key creation in DimPos 6 | This fixes performance issues, Closes #155 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Don't use getSafeTile workaround on main thread 5 | Related to CyclopsMC/IntegratedCrafting#62 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Display unknown advancements in infobook as locked 5 | Closes CyclopsMC/IntegratedDynamics#1070 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.11.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix formatting issues when format spans lines 5 | Closes CyclopsMC/IntegratedDynamics#1078 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.12.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Allow serialization of Pair in PacketCodec 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.12.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix amount formatting errors in other locales, Closes CyclopsMC/EvilCraft#891 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.12.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix capabilities not being invalidated on tile removal 5 | Closes CyclopsMC/IntegratedDynamics#1144 6 | * Fix recipe caching not working for crafting recipes 7 | Related to CyclopsMC/IntegratedTerminals#78 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.12.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Ensure placed item blocks only storing data of one item 5 | Related to CyclopsMC/IntegratedDynamics#1150 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.12.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when simulating drying basin craft in ID 5 | Closes CyclopsMC/IntegratedDynamics#1134 6 | Closes CyclopsMC/IntegratedDynamics#1167 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.16.5-1.13.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add transformable shaped and shapeless recipe serializers 5 | Required for CyclopsMC/IntegratedDynamics#1189 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.12.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.18.1 release. 4 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.13.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Restore WorldStorage 5 | 6 | Changes: 7 | * Allow infobook section injections to specify a mod 8 | * Update to latest CommonCaps API 9 | 10 | Fixes: 11 | * Fix incorrect delayed ticker reset value 12 | * Fix broken phantom slot logic 13 | * Fix render issues in infobook 14 | * Fix colored blit not working 15 | * Fix infobook in other mods failing to load 16 | * Fix FoliagePlacers not working anymore 17 | 18 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.13.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect bar rendering of damage indicated fluid containers 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.13.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when simulating drying basin craft in ID 5 | Closes CyclopsMC/IntegratedDynamics#1134 6 | * Fix capabilities not being invalidated on tile removal 7 | Closes CyclopsMC/IntegratedDynamics#1144 8 | * Fix recipe caching not working for crafting recipes 9 | Related to CyclopsMC/IntegratedTerminals#78 10 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.13.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect capability registration check 5 | This caused the code to assume capabilities to exist, even if they weren't. 6 | Closes CyclopsMC/EvilCraft#907 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.1-1.13.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Ensure placed item blocks only storing data of one item 5 | Related to CyclopsMC/IntegratedDynamics#1150 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.13.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.18.2 release. 4 | 5 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.13.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add ItemStackFromIngredient abstraction 5 | Required for CyclopsMC/IntegratedDynamics#1158 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.13.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix invalid packet serialization of items from ingredients 5 | This fixes errors when connecting to servers. 6 | Closes CyclopsMC/IntegratedDynamics#1161 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.13.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix achievement rewards sometimes being broken, Closes #160 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.14.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add multiplySafe helper 5 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.15.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Make player extended iterator more extensible 5 | This also adds default support for Baubles and Curios iteration. 6 | Required for CyclopsMC/IntegratedTerminals#79 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.15.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix ID Energy Battery causing overflows 5 | Closes CyclopsMC/IntegratedDynamics#1179 6 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.16.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add transformable shaped and shapeless recipe serializers 5 | Required for CyclopsMC/IntegratedDynamics#1189 6 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.16.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Optimize containment checks in IngredientCollectionPrototypeMap 5 | This fixes performance issues such as CyclopsMC/IntegratedTerminals#94 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.16.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect containment check in IngredientCollectionPrototypeMap 5 | This is a regression since 61267920638e48331a513b9a446907910122078d 6 | Closes CyclopsMC/IntegratedTerminals#98 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add single-classified collapsed ingredient collection 5 | This allows for more efficient match-based containment checking and 6 | iteration for mods such as Integrated Dynamics, Tunnels, and Terminals. 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect optimization in IngredientCollectionPrototypeMap 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook sections from other mods linking to wrong URL 5 | Closes CyclopsMC/IntegratedDynamics#1338 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix disconnect when sending invalid container values 5 | Closes CyclopsMC/IntegratedDynamics#1255 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Optimize containment check in single-classified ingred collection 5 | This improves performance for large Integrated Terminals terminals with JEI. 6 | Related to CyclopsMC/IntegratedDynamics#1247 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix Colossal Chest errors showing incorrect size 5 | Closes CyclopsMC/EvilCraft#986 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow scrolling through infobooks 5 | Closes CyclopsMC/IntegratedDynamics#1076 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Improve error logging for packet codec failures 7 | Required for debugging CyclopsMC/IntegratedTerminals#102 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix lack of background render events in infobooks, Closes CyclopsMC/EvilCraft#1008 5 | * Fix network errors not being caught by PacketHandler 6 | Required for debugging CyclopsMC/IntegratedTerminals#102 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Actually fix lack of background render events in infobooks 5 | Closes CyclopsMC/EvilCraft#1008 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.18.2-1.17.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix simple ingredient types returning wrong collapsed collections 5 | This fixes an Integrated Terminals issue where energy interactions 6 | would be visualized incorrectly. 7 | Closes CyclopsMC/IntegratedTerminals#111 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.19-1.15.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.19 release. -------------------------------------------------------------------------------- /resources/changelog/1.19-1.16.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Restore Structure configs 5 | 6 | Changes: 7 | * Use RandomSource in ParticleDropBlockComponent 8 | * Use RandomSource in WeightedItemStack 9 | * Update to new FluidTypes 10 | * Register recipe types to forge registry 11 | * Use RandomSource in models 12 | 13 | Fixes: 14 | * Increase timeout limit of dev world discovery 15 | * Fix fluid tanks not resetting color after render 16 | * Fix recipe type interaction issues 17 | * Fix ID Energy Battery causing overflows 18 | Closes CyclopsMC/IntegratedDynamics#1179 19 | -------------------------------------------------------------------------------- /resources/changelog/1.19-1.16.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Update to Forge 41.0.99 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19-1.17.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add transformable shaped and shapeless recipe serializers 5 | Required for CyclopsMC/IntegratedDynamics#1189 -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Update to MC 1.19.2 -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add pt_br.json 5 | 6 | Fixes: 7 | * Fix fluids having no localized names 8 | Closes CyclopsMC/EvilCraft#950 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Optimize containment checks in IngredientCollectionPrototypeMap 5 | This fixes performance issues such as CyclopsMC/IntegratedTerminals#94 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix config changes not always taking effect, Closes CyclopsMC/EverlastingAbilities#211 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect containment check in IngredientCollectionPrototypeMap 5 | This is a regression since 61267920638e48331a513b9a446907910122078d 6 | Closes CyclopsMC/IntegratedTerminals#98 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.17.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid properties not being applied 5 | Related to CyclopsMC/EvilCraft#967 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add single-classified collapsed ingredient collection 5 | This allows for more efficient match-based containment checking and 6 | iteration for mods such as Integrated Dynamics, Tunnels, and Terminals.. 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect optimization in IngredientCollectionPrototypeMap 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Actually fix lack of background render events in infobooks 5 | Closes CyclopsMC/EvilCraft#1008 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.11.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix simple ingredient types returning wrong collapsed collections 5 | This fixes an Integrated Terminals issue where energy interactions 6 | would be visualized incorrectly. 7 | Closes CyclopsMC/IntegratedTerminals#111 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Support Vec3i in PacketCodec 5 | * Add DimPos.withPosition 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix disconnect when sending invalid container values 5 | Closes CyclopsMC/IntegratedDynamics#1255 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Optimize containment check in single-classified ingred collection 5 | This improves performance for large Integrated Terminals terminals with JEI. 6 | Related to CyclopsMC/IntegratedDynamics#1247 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix Colossal Chest errors showing incorrect size 5 | Closes CyclopsMC/EvilCraft#986 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow scrolling through infobooks 5 | Closes CyclopsMC/IntegratedDynamics#1076 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix capabilities baking multiple times, #177 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Improve error logging for packet codec failures 5 | Required for debugging CyclopsMC/IntegratedTerminals#102 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.18.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix lack of background render events in infobooks, Closes CyclopsMC/EvilCraft#1008 5 | * Fix network errors not being caught by PacketHandler 6 | Required for debugging CyclopsMC/IntegratedTerminals#102 7 | * Fix crash when interacting with empty arrowed list field 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add textfield appendix type for infobook (required for Integrated Scripting) 5 | 6 | Changes: 7 | * Allow first row to be set in scrollbar widget 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook sections from other mods linking to wrong URL 5 | Closes CyclopsMC/IntegratedDynamics#1338 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Only enable dumpregistries command for OPs, Closes #180 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Make RegistryExportableRegistry thread-safe 5 | This fixes rare crashes at startup 6 | Closes CyclopsMC/IntegratedDynamics#1360 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Expose cache in IngredientCollectionDiffManager 5 | Required for CyclopsMC/IntegratedDynamics#1359 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix getGuiTexture() not being used in ContainerScreenExtended 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix items with empty fluid containers being stored inconsistently 5 | Items with empty fluid containers could be stored in two different ways. 6 | This change ensures that there is only a single canonical way to store 7 | them. 8 | This could cause issues with items from EvilCraft when attempting to 9 | autocraft them and getting them recognized by the system. 10 | Closes CyclopsMC/EvilCraft#1089 11 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix broken EvilCraft tanks upgrades, Closes CyclopsMC/EvilCraft#1099 5 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when loading empty fluid containers from NBT 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.19.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix not all key combinations working for key bindings 5 | Closes CyclopsMC/IntegratedTerminals#166 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.2-1.20.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Allow infobooks to be placed in lecterns 5 | Required for CyclopsMC/IntegratedDynamics#1496 and CyclopsMC/EvilCraft#1110. 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.17.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.19.3 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.17.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when filling creative tabs multiple times 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.17.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect containment check in IngredientCollectionPrototypeMap 5 | This is a regression since 61267920638e48331a513b9a446907910122078d 6 | Closes CyclopsMC/IntegratedTerminals#98 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.17.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid properties not being applied 5 | Related to CyclopsMC/EvilCraft#967 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.18.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add single-classified collapsed ingredient collection 5 | This allows for more efficient match-based containment checking and 6 | iteration for mods such as Integrated Dynamics, Tunnels, and Terminals.. 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.18.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect optimization in IngredientCollectionPrototypeMap 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.19.3-1.18.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Support Vec3i in PacketCodec 5 | * Add DimPos.withPosition 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.4-1.18.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.19.4 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.19.4-1.18.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix Colossal Chest errors showing incorrect size 5 | Closes CyclopsMC/EvilCraft#986 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.19.4-1.18.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow scrolling through infobooks 5 | Closes CyclopsMC/IntegratedDynamics#1076 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Improve error logging for packet codec failures 5 | Required for debugging CyclopsMC/IntegratedTerminals#102 6 | 7 | Fixes: 8 | * Fix text fields not losing focus when needed 9 | Closes CyclopsMC/IntegratedDynamics#1297 10 | * Fix EMI overlapping with infobook GUI 11 | This caused issues in EvilCraft and Integrated Dynamics. 12 | Closes CyclopsMC/IntegratedDynamics#1296 13 | 14 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.11.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix duping exploit in phantom slots 5 | Closes CyclopsMC/IntegratedDynamics#1310 -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.12.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix lack of background render events in infobooks, Closes CyclopsMC/EvilCraft#1008 5 | * Fix network errors not being caught by PacketHandler 6 | Required for debugging CyclopsMC/IntegratedTerminals#102 7 | * Fix crash when interacting with empty arrowed list field 8 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.13.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Actually fix lack of background render events in infobooks 5 | Closes CyclopsMC/EvilCraft#1008 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.14.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix simple ingredient types returning wrong collapsed collections 5 | This fixes an Integrated Terminals issue where energy interactions 6 | would be visualized incorrectly. 7 | Closes CyclopsMC/IntegratedTerminals#111 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.20.1 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix creative tab not being stored in mod class 5 | This fixes a bug in Everlasting Abilities where totems do not show up in the creative tab. 6 | Closes CyclopsMC/EverlastingAbilities#232 7 | 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix focus not being set on WidgetTextFieldExtended 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix slot text not correctly scoping posestack 5 | This fixes various issues in Integrated Terminals related to the gui shifting. 6 | Closes CyclopsMC/IntegratedTerminals#105 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix creative tabs being registered incorrectly 5 | Closes CyclopsMC/IntegratedTerminals#107 6 | Closes CyclopsMC/IntegratedDynamics#1288 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.18.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix capabilities baking multiple times, #177 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add textfield appendix type (required for Integrated Scripting) 5 | 6 | Changes: 7 | * Allow first row to be set in scrollbar widget 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook sections from other mods linking to wrong URL 5 | Closes CyclopsMC/IntegratedDynamics#1338 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Improve client performance of large scrolling containers 5 | This fixes performance issues when having the gui open of a large Colossal Chest. 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Only enable dumpregistries command for OPs, Closes #180 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Make RegistryExportableRegistry thread-safe 5 | This fixes rare crashes at startup 6 | Closes CyclopsMC/IntegratedDynamics#1360 7 | 8 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add tr_tr.json Turkish localization 5 | 6 | Changes: 7 | * Expose cache in IngredientCollectionDiffManager 8 | Required for CyclopsMC/IntegratedDynamics#1359 9 | 10 | Fixes: 11 | * Make RegistryExportableRegistry thread-safe 12 | This fixes rare crashes at startup 13 | Closes CyclopsMC/IntegratedDynamics#1360 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix getGuiTexture() not being used in ContainerScreenExtended 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix items with empty fluid containers being stored inconsistently 5 | Items with empty fluid containers could be stored in two different ways. 6 | This change ensures that there is only a single canonical way to store 7 | them. 8 | This could cause issues with items from EvilCraft when attempting to 9 | autocraft them and getting them recognized by the system. 10 | Closes CyclopsMC/EvilCraft#1089 11 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix broken EvilCraft tanks upgrades, Closes CyclopsMC/EvilCraft#1099 5 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash when loading empty fluid containers from NBT 5 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.19.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix not all key combinations working for key bindings 5 | Closes CyclopsMC/IntegratedTerminals#166 6 | -------------------------------------------------------------------------------- /resources/changelog/1.20.1-1.20.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Allow infobooks to be placed in lecterns 5 | Required for CyclopsMC/IntegratedDynamics#1496 and CyclopsMC/EvilCraft#1110. 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.20.4-1.19.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.20.4 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.20.4-1.19.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Only enable dumpregistries command for OPs, Closes #180 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.20.4-1.19.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix startup crash with many mods 5 | This removes references to the CyclopsCore instance, as it may not be 6 | loaded yet in specific cases. 7 | Closes #184 8 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.21 release 4 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.10.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix getGuiTexture() not being used in ContainerScreenExtended 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix startup crash with many mods 5 | This removes references to the CyclopsCore instance, as it may not be 6 | loaded yet in specific cases. 7 | Closes #184 8 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix CapabilityConstructorRegistry can have null mod reference 5 | Closes CyclopsMC/IntegratedDynamics#1364 6 | * Replace BufferBuilderWrapper with more compatible Mixin variant (#188) 7 | This fixes incompatibilities with Embeddium and Sodium. 8 | Closes #187 9 | 10 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add tr_tr.json Turkish localization 5 | 6 | Fixes: 7 | * Make RegistryExportableRegistry thread-safe 8 | This fixes rare crashes at startup 9 | Closes CyclopsMC/IntegratedDynamics#1360 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Expose cache in IngredientCollectionDiffManager 5 | Required for CyclopsMC/IntegratedDynamics#1359 6 | 7 | Fixes: 8 | * Make RegistryExportableRegistry thread-safe 9 | This fixes rare crashes at startup 10 | Closes CyclopsMC/IntegratedDynamics#1360 11 | 12 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix incorrect registry exporting 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Remove unused registerCapabilities in CyclopsBlockEntity 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Check earlier if mod is null when creating infobooks, Closes #189 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21-1.19.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Make ModBase.MOD_BASES thread-safe, Closes #189 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.19.11.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Update to updated CommonCapabilities API 5 | Required for CyclopsMC/IntegratedDynamics#1375 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Refactor code to be compatible with NeoForge, Forge, and Fabric. 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix CyclopsCore mod helpers being invoked before mod is initialized, Closes #190 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix MinecraftHelpers.isClientSide causing crashes at startup 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix Helpers.* causing crashes at startup 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix other MinecraftHelpers.* causing crashes at startup 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.20.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix invalid config file entry names being generated 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.21.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Additions for multiloader support 5 | * Implement barebones openMenu helper for Fabric 6 | * Port base guis and registration to common 7 | * Add SimpleInventoryCommon 8 | * Move blocks with guis to common 9 | 10 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.21.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix config dictionary not being fully populated 5 | This could cause mods with infobooks still depending on the old configs 6 | API to miss many book entries. 7 | Closes CyclopsMC/EvilCraft#1055 8 | 9 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.22.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Additions for multiloader support 5 | * Add crafting helpers to common 6 | * Move registry manager to common 7 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.23.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Port advancement criteria to Forge and Fabric 5 | * Add biome modifier config to Forge 6 | * Add entity config to common 7 | 8 | Changes: 9 | * Move capacity and energy components to common 10 | 11 | Fixes: 12 | * Fix some config registrations for some registries in Forge failing 13 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Improve multiloader support 5 | * Add IBlockExplodedEvent 6 | * Add ConditionConfigFabric 7 | * Move ItemStackBlockEntityRendererBase to common 8 | * Add ConditionConfigForge 9 | * Port scrolling container to common 10 | * Port large and indexed inventory to common 11 | * Move multiblock helpers to common 12 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add fluid gui helpers to Forge and Fabric 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix recipe caching not considering different rotations, Closes CyclopsMC/IntegratedTerminals#129 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Invoke Fabric block explode event before block is removed 5 | Required for CyclopsMC/ColossalChests#174 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Improve client performance of large scrolling containers 5 | This fixes performance issues when having the gui open of a large Colossal Chest. 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add IDynamicModelElementCommon 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add ja_jp translations 5 | * Add nl_nl translations 6 | 7 | Fixes: 8 | * Fix items with empty fluid containers being stored inconsistently 9 | Items with empty fluid containers could be stored in two different ways. 10 | This change ensures that there is only a single canonical way to store 11 | them. 12 | This could cause issues with items from EvilCraft when attempting to 13 | autocraft them and getting them recognized by the system. 14 | Closes CyclopsMC/EvilCraft#1089 15 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix EvilCraft entity crash with some mobs, Closes CyclopsMC/EvilCraft#1102 5 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix not all key combinations working for key bindings 5 | Closes CyclopsMC/IntegratedTerminals#166 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.25.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix insertion into some slots failing 5 | Closes CyclopsMC/IntegratedDynamics#1502 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.26.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Allow infobooks to be placed in lecterns 5 | Required for CyclopsMC/IntegratedDynamics#1496 and CyclopsMC/EvilCraft#1110. 6 | -------------------------------------------------------------------------------- /resources/changelog/1.21.1-1.26.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix scrollbar not moving on screen resize 5 | Closes CyclopsMC/IntegratedDynamics#1515 6 | -------------------------------------------------------------------------------- /resources/changelog/1.8-0.1.0.txt: -------------------------------------------------------------------------------- 1 | initial release -------------------------------------------------------------------------------- /resources/changelog/1.8-0.1.1.txt: -------------------------------------------------------------------------------- 1 | Features: 2 | * Add Version Checker support, Closes #4 3 | 4 | Fixes: 5 | * Catch rare version checking exception 6 | * Improve version checking 7 | 8 | Changes: 9 | * Don't create empty config directory anymore, Closes #3 10 | 11 | Lib changes: 12 | * Add type verification in UnlocalizedString constructor 13 | * Add support for phantom slots 14 | * Add base class for mods which are versionable 15 | * Allow regular blocks to have guis as well 16 | * Add scroll position hooks to the scrolling gui 17 | * Make gui mouse checking more exact 18 | * Make proxy component more user friendly 19 | This avoids the problem of having to call the common proxy manually in all client proxy instances 20 | -------------------------------------------------------------------------------- /resources/changelog/1.8-0.3.0.txt: -------------------------------------------------------------------------------- 1 | Changes: 2 | * Upmerge changes from CyclopsMC/EvilCraft@ccfbf7c 3 | 4 | Fixes: 5 | * Fix setBiome changing wrong location 6 | * Fix down side of double layered blocks not showing 7 | 8 | Changes: 9 | * Lower various log levels to TRACE to increase logging SNR 10 | * Make FluidContainer slots accept itemstacks of size larger than 1 11 | 12 | Lib features: 13 | * Add Pair NBT persist support 14 | * Port IMCHandler from EvilCraft 15 | -------------------------------------------------------------------------------- /resources/changelog/1.8-0.4.0.txt: -------------------------------------------------------------------------------- 1 | Fixes: 2 | * Fix scrolling gui issues with multiple columns 3 | 4 | Lib features: 5 | * Add maximum size validator 6 | * Add LargeInventory that can hold slots of a count larger than a byte 7 | * Add NBT persistence action for Vec3 8 | * Don't call tile inventory persistence when the inventory is null 9 | * Port Wrapper datastructure from CyclopsMC/EvilCraft 10 | * Port multiblock structure detector from CyclopsMC/EvilCraft 11 | * Add extra inventory abstraction 12 | -------------------------------------------------------------------------------- /resources/changelog/1.8-0.4.1.txt: -------------------------------------------------------------------------------- 1 | Fixes: 2 | * Allow null NBT persistence values 3 | 4 | Lib features: 5 | * Add custom tile names to dropped itemstack 6 | -------------------------------------------------------------------------------- /resources/changelog/1.8-0.4.2.txt: -------------------------------------------------------------------------------- 1 | Fixes: 2 | * Show mod compats in gui config, Closes #7 3 | * Fix scrollbar not reaching entire list for multi-column guis 4 | 5 | Lib features: 6 | * Add new PacketCodec fields and add debug information 7 | * Make CubeDetector return error messages 8 | * Add option to use a custom blockstate property comparator 9 | * Allow IValidationAction to deny structure forming 10 | 11 | Lib changes: 12 | * Move INBTPersist annotation to INBTInventory instead of impl 13 | * Make some scrolling gui elements public 14 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.2.txt: -------------------------------------------------------------------------------- 1 | Make sure to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare concurrent modification exceptions due to packets 5 | * isItemValidForSlot must not take into account stack sizes 6 | The method contract requires this. 7 | 8 | Lib changes: 9 | * Always load the modcompat for the "Minecraft" mod id 10 | 11 | Lib additions: 12 | * Add helper function to render items for a different transform type 13 | * Add API compat support 14 | * Add simulate parameter to addToSlot inventory helper 15 | * Add capability compat loader 16 | * Add abstraction for adding tile capabilities 17 | * Port configurable Torch and Food from EvilCraft 18 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.3.txt: -------------------------------------------------------------------------------- 1 | Make sure to backup your world before updating! 2 | 3 | Fixes: 4 | * Move the place at which onPreBlockDestroyed is called. 5 | * Add safety checks for avoiding null oredict entries 6 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.4.txt: -------------------------------------------------------------------------------- 1 | Make sure to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid consumption of the wrong fluid type 5 | 6 | Lib changes: 7 | * Make player argument optional in fluid container consumption methods 8 | * Make originalStack in tryRedAddToStack nullable 9 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix color not being applied to quads 5 | 6 | Lib Additions: 7 | * Add helpers related to fluid color rendering 8 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | Requires CyclopsCore version . 3 | 4 | Additions: 5 | * Add command to reload all resources 6 | * Incorporate version checker into Forge's checker, Closes #6 7 | 8 | Fixes: 9 | * Improve recipe handling with corrupted oredict keys 10 | * Fix drainFromOthers sometimes returning a non-null empty FluidStack 11 | 12 | Lib additions: 13 | * Add NBT persistence for ItemStacks 14 | * Allow predefined items to be referenced in infobook crafting appendix 15 | * Add helper to transform RGB to BGR(A) 16 | 17 | Lib changes: 18 | * Include NBT when matching items 19 | -------------------------------------------------------------------------------- /resources/changelog/1.8.9-0.5.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Scope tileentity name by mod id. This is to avoid conflicts with other mods. 5 | * Undo various tileentity bugs introduced in latest version 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.3.txt: -------------------------------------------------------------------------------- 1 | Initial 1.9 release -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.4.txt: -------------------------------------------------------------------------------- 1 | Make sure to backup your world before updating! 2 | Required Forge 12.16.0.1811-1.9 3 | 4 | Fixes: 5 | * Changes to remain compatible with Forge updates -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.5.txt: -------------------------------------------------------------------------------- 1 | Make sure to backup your world before updating! 2 | Requires Forge 12.16.0.1846-1.9 3 | 4 | Fixes: 5 | * Changes to remain compatible with Forge updates 6 | * Fix fluid consumption of the wrong fluid type 7 | 8 | Lib changes: 9 | * Make player argument optional in fluid container consumption methods 10 | * Make originalStack in tryRedAddToStack nullable -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash related to bucket filling, Closes #15 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add command to reload all resources 5 | * Incorporate version checker into Forge's checker, Closes #6 6 | 7 | Fixes: 8 | * Improve recipe handling with corrupted oredict keys 9 | * Fix drainFromOthers sometimes returning a non-null empty FluidStack 10 | 11 | Lib additions: 12 | * Add NBT persistence for ItemStacks 13 | * Allow predefined items to be referenced in infobook crafting appendix 14 | * Add helper to transform RGB to BGR(A) 15 | 16 | Lib changes: 17 | * Include NBT when matching items 18 | -------------------------------------------------------------------------------- /resources/changelog/1.9-0.5.9.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Scope tileentity name by mod id. This is to avoid conflicts with other mods. 5 | * Undo various tileentity bugs introduced in latest version 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9-0.6.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Fully restore villager support 5 | 6 | Fixes: 7 | * Fix flipped armor slots in gui 8 | 9 | Lib additions: 10 | * Add loot table injection helpers 11 | 12 | Lib changes: 13 | * Don't register oredict entries with a wildcard meta value. It proved to be incompatible with too many things. 14 | * Move rgb color transformation to server-safe helpers 15 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix rare crash during cube detection, Closes CyclopsMC/ColossalChests#70 5 | 6 | Lib changes: 7 | * Use tagged recipes instead of tagged recipe output stacks for improved expressivity for appendixes 8 | * Expose configurability of infobook gui placement 9 | 10 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Add null-check during IndexInventory slot contents setting 5 | * Fix crash when right-clicking on inventories in spectator mode, Closes CyclopsMC/IntegratedDynamics#164 6 | 7 | Lib changes: 8 | * Make infobook rewards disableable 9 | * Make infobook title colors configurable 10 | * Scope infobook appendix tags by mod 11 | * Allow infobook sections to be registered afterwards 12 | * Add appendix list factory abstraction 13 | * Add option to add custom config dictionary entries 14 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix infobook-related server crash 5 | * Fix fluid localization key 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Remove config outdated warning, Closes #50 7 | * Add tooltips to infobook navigation buttons 8 | 9 | Fixes: 10 | * Always load world from DimensionManager on server-side in DimPos. This catches the cases where the world has been unloaded, and as a consequence become Nullable. 11 | * Fix fluid unlocalized names 12 | 13 | Lib additions: 14 | * Add abstract MineTweaker support for handling recipe registry 15 | * Allow recipes to be unregistered 16 | * Add configurable stairs block 17 | * Allow min and max values to be set in number fields 18 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib changes: 4 | * Add option to make XML recipes NBT-sensitive 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Update zh_CN.lang 5 | 6 | Fixes: 7 | * Update drop particle interface method signature 8 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Remove Minetweaker lib dependency which resolves occasional crashes when using MT. 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add JEI recipe wrapper abstraction for easier Minetweaker recipe handling 5 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.10.8.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Properly call pre-block destroy on alternative block break calls, CyclopsMC/IntegratedDynamics#240 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.6.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Initial 1.9.4 port 4 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.6.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash due to calling of client-side I18n methods 5 | 6 | Lib additions: 7 | * Add getCapability convenience method with DimPos param 8 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.6.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluids being solid blocks 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Move duplicate capability registration warning to DEBUG level to avoid console spam 5 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Changes: 4 | * Allow recipe overrides in the _override folder 5 | 6 | Fixes: 7 | * Fixed broken Analytics 8 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix crash on side-less item capabilities 5 | 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.4.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Lib Additions: 4 | * Port SerializableCapabilityProvider 5 | * Port CapabilityConfig 6 | * Port SendPlayerCapabilitiesPacket 7 | * Port ParticleBlur 8 | 9 | Fixes: 10 | * Correctly copy itemstack when dropping them as entities 11 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.5.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Correctly sync fluid draining to client in all cases 5 | * Disable right-clicking from hologram mod 6 | * Fix crash when finding invalid crafting/furnace recipes in infobooks 7 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.6.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid container slot not accepting anything when inner tank is full 5 | * Ensure WorldStorage saving on server crashes. 6 | 7 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.7.7.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Add sideless fluid capability to fluid tiles 5 | * Fix tile init crash during capability initialization, Closes #23 6 | * Correctly display logs in Waila tooltip 7 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.8.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | 5 | Changes: 6 | * Increase FPS when rendering scrollable guis with many slots. Only the slots that are actually visible will be rendered now. 7 | 8 | Fixes: 9 | * Correctly update state hash when inventory is marked as dirty 10 | * Make creative tab icons null-safe 11 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.8.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Disable scrolling slot render optimization by default, Closes CyclopsMC/IntegratedDynamics#84 5 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.9.0.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Added category tootlips 5 | * Added localization for configuration gui 6 | * Added extra options to the configurable property annotation 7 | 8 | Changes: 9 | * Add more information to NBTClassType crashes 10 | 11 | Fixes: 12 | * Fix rare cube detection crash 13 | * Fix nbt field inaccessibility, Closes #33 14 | * Fix rare version checker crash when player connection is null, Closes #31 15 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.9.1.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add IndexedInventory to expose slotless item handler 5 | 6 | Fixes: 7 | * Improve efficiency of CapabilityConstructorRegistry 8 | * Fix rare NPE in CubeDetector 9 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.9.2.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Fixes: 4 | * Fix fluid container items being fillable with non-matching fluids, Closes CyclopsMC/EvilCraft#527 5 | * Fix gui client-server value sync variables 6 | -------------------------------------------------------------------------------- /resources/changelog/1.9.4-0.9.3.txt: -------------------------------------------------------------------------------- 1 | As always, don't forget to backup your world before updating! 2 | 3 | Additions: 4 | * Add method to DimPos to check if that position is loaded 5 | 6 | Changes: 7 | * Store world as a weak reference in DimPos 8 | This avoids world memory leaks. 9 | 10 | Lib additions: 11 | * Add registry for mapping items to achievements 12 | * Add support for fluids components in recipe appendix 13 | * Add achievement rewards system for infobooks 14 | * Open up infobook interface API for Integrated Dynamics 15 | -------------------------------------------------------------------------------- /scripts/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | stagedFiles=$(git diff --staged --name-only) 3 | 4 | echo "Formatting code..." 5 | ./gradlew spotlessApply 6 | 7 | for file in $stagedFiles; do 8 | if test -f "$file"; then 9 | git add $file 10 | fi 11 | done 12 | -------------------------------------------------------------------------------- /secrets.properties_template: -------------------------------------------------------------------------------- 1 | cyclopscore_version_local=[custom built cyclopscore version] 2 | --------------------------------------------------------------------------------