Zeta tracking issue
quat1024 opened this issue ยท 5 comments
Tracking issue for the implementation of Project Zeta, currently taking place here. Mainly i just wanted a little notepad though
All of Quark's mixins. I'm thinking about sorting these into folders based off the module that uses them, splitting them if necessary. Too much work for not much payoff, and many modules only need like 1 mixin so it just makes the mixins harder to browse. But it's still good to know which mixins have a more general purpose.
The main takeaway from this investigation is that a large majority of Quark's mixins exist to support only one module.
mixin | usage | general? |
---|---|---|
accessor.AccessorAbstractArrow | Shiba FetchArrowGoal | |
accessor.AccessorAbstractChestedHorse | VariantChestsModule | |
accessor.AccessorLivingEntity | MonsterBoxModule | |
accessor.AccessorLootTable | ZLootTableLoad | yes |
accessor.AccessorMerchantOffer | VillagerRerollingReworkModule | |
accessor.AccessorPistonStructureResolver | QuarkPistonStructureResolver | yes |
accessor.AccessorPotionBrewing | ForgeBrewingRegistry | yes |
accessor.AccessorServerGamePacketListenerImpl | ItemSharingModule | |
client.accessor.AccessorBlockColors | block color registration | yes, needed on Forge |
client.accessor.AccessorItemColors | item color registration | yes, needed on Forge |
client.accessor.AccessorLocalPlayer | ItemSharingModule | |
client.accessor.AccessorModelManager | TinyPotatoRenderer | |
client.accessor.AccessorMultiPlayerGameMode | ClientProxy, used in SimpleHarvestModule | sure, why not |
client.variants.BeeRendererMixin client.variants.ChickenRendererMixin client.variants.CowRendererMixin client.variants.DolphinRendererMixin client.variants.LlamaRendererMixin client.variants.PigRendererMixin client.variants.RabbitRendererMixin client.variants.SlimeRendererMixin |
VariantAnimalTexturesModule | |
client.AbstractCandleBlockMixin | SoulCandlesModule | |
client.ArmorStandModelMixin | UsesForCursesModule, maybe the armor stand tweak | |
client.BannerItemMixin | MoreBannerLayersModule | |
client.BeaconTileEntityRendererMixin | BeaconRedirectionModule | maybe? |
client.BIomeMixin | GreenerGrassModule | |
client.ChatComponentMixin | ItemSharingModule | |
client.ContainerScreenMixin | EasyTransferringModule | |
client.ElytraLayerMixin | ColorRunesModule | |
client.ForgeGuiMixin | ElytraIndicatorModule | |
client.GuiMixin | UsesForCursesModule | |
client.HumanoidArmorLayerMixin | ColorRunesModule | |
client.HumanoidModelMixin | EmoteHandler | |
client.ItemBlockRenderTypesMixin | ItemSharingModule | |
client.ItemInHandRendererMixin | VariantSelectorModule | |
client.ItemRendererMixin | ColorRunesModule, ItemSharingModule | |
client.JukeboxBlockEntityMixin | AmbientDiscsModule | |
client.LevelRendererMixin | AmbientDiscsModule | |
client.LoomScreenMixin | MoreBannerLayersModule | |
client.MinecartSoundInstanceMixin | WoolShutsUpMinecartsModule | |
client.MinecraftMixin | LongRangePickBlockModule | |
client.ParrotRendererMixin | ParrotEggsModule | |
client.PistonTileEntityRendererMixin | PistonsMoveTileEntitiesModule | |
client.RenderBuffersMixin | GlintRenderTypes (for ColorRunesModule) | |
client.ScreenMixin | EasyTransferingModule | |
client.ThrownTridentRendererMixin | ColorRunesModule | |
zeta_forge.IngredientMixin | IZetaIngredientSeializer stuff | yes |
AbstractVillagerMixin | VillagerRerollingReworkModule, maybe others | |
AnimalMixin | PigLittersModule | |
AnvilMenuMixin | DiamondRepairModule, EnchantmentsBegoneModule | |
ArrowPiercingEnchantmentMixin | no module? | |
BannerDuplicateRecipeMixin | MoreBannerLayersModule | |
BaseCoralPlantTypeBlockMixin | CoralOnCactusModule | |
BeaconBlockEntityMixin | BeaconRedirectionModule | maybe? |
BeehiveBlockEntityMixin | no module? (bee variants?) | |
BlockItemMixin | VariantSelectorModule, LockRotationModule | |
BoatMixin | GameNerfsModule | |
ClimateParameterPointMixin | ClimateControlRemovalModule | |
CrossbowMultishotMixin | TorchArrowModule | |
DamageEnchantmentMixin | PickarangItem | |
DamageSourceMixin | PickarangModule | |
DebugConfigHackeryMixin | Unused, for Forge debugging | |
DiggerItemMixin | GoldToolsHaveFortuneModule | |
ElytraItemMixin | GameNerfsModule | |
EnchantBookForEmeraldsMixin | EnchantmentsBegoneModule | |
EnchantedBookItemMixin | EnchantmentsBegoneModule | |
EnchantmentHelperMixin | EnchantmentsBegoneModule, AncientTomesModule | |
EnchantmentMixin | EnchantmentsBegoneModule, PickarangItem | |
EnchantRandomlyFunctionMixin | EnchantmentsBegoneModule | |
EntityMixin | PickarangModule | |
ExperienceOrbMixin | GameNerfsModule | |
FallingBlockEntityMixin | GameNerfsModule | |
HalfTransparentBlockMixin | PipesModule | |
HarvestFarmlandMixin | SimpleHarvestModule | |
HugeBrownMushroomFeatureMixin | GameNerfsModule | |
HugeRedMushroomFeatureMixin | GameNerfsModule | |
IForgeItemMixin | GoldToolsHaveFortuneModule extremely hacky | |
IronBarsBlockMixin | VerticalSlabsModule | |
ItemMixin | ExpandedItemInteractionsModule | |
ItemsMixin | Makes Bundle appear in creative, not associated with any module | |
ItemStackMixin | ItemSharingModule AncientTomesModule GoldToolsHaveFortuneModule ImprovedTooltipsModule |
|
LadderBlockMixin | EnhancedLaddersModule | |
LanternBlockMixin | WoodenPostsModule | |
LoomMenuMixin | MoreBannerLayersModule | |
MerchantMenuMixin | AncientTomesModule | |
MerchantOfferMixin | VillagerRerollingReworkModule, AncientTomesModule | |
MerchantOffersMixin | VillagerRerollingReworkModule through the pseudo accessor thing | |
OverworldBiomeBuilderMixin | UndergroundBiomeHandler | |
PigMixin | PigLittersModule | |
PistonBaseBlockMixin | PistonsMoveTileEntitiesModule, GameNerfsModule, QuarkPistonStructureResolver | the QPSR parts |
PistonMovingBlockEntityMixin | PistonsMoveTileEntitiesModule, GameNerfsModule | |
PlayerAdvancementsMixin | General config Quark feature | |
PotionUtilsMixin | ImprovedTooltipsModule | |
ServerAdvancementManagerMixin | AutomaticRecipeUnlockModule | |
ServerEntityMixin | ColorRunesModule | |
SlimeMixin | SlimesToMagmaCubesModule | |
SpawnerBlockEntityMixin | SpawnerReplacerModule | |
SpongeBlockMixin | SpongesBetterModule | |
SpringFeatureMixin | NoMoreLavaPocketsModule | |
StructurePieceMixin StructureStartMixin StructureTemplateMixin |
StructureBlockReplacementHandler (GoldBarsModule, VariantChestsModule) | maybe |
TemptGoalMixin | FeedingTroughModule | |
TrapDoorBlockMixin | VariantLaddersModule | |
TripWireHookBlockMixin | GameNerfsModule | |
VillagerMixin | VillagerRerollingReworkModule | |
WallBlockMixin | VerticalSlabsModule | |
WeatheringCopperMixin | CustomWeatheringCopper stuff, very hacky, for VerticalSlabsModule | yes |
The last commit both branches share is fec6624. The differences between zeta and mainline quark are here. I've checked off the changelog.txt commits since the changelog file doesn't contain history.
- bc67914 Minecraft Wiki link
- edd7c54 (merge commit)
- 299645c Variant Selector
- 08d8d93 Variant Selector
- d6289bd Variant Selector
- c09b43e Patrons
- 7d32caf Submodule update
- 06a4520 MiscUtil
- fec4889 Variant Selector
- 4c8621d Variant Selector
- 1156939 Changelog
- 9fc5c10 Version number
- cea9945 Submodule update
- fbe55f3 (merge commit)
- e69e6bb Patrons
- 6235e35 Variant Selector
- 9a9850e Variant Selector
- 2136585 Changelog
- 9270559 Version number
- 1502e71 Patrons
- 36810e9 Patrons
- 9c3db1e Variant Animal Textures
- 2e33203 Chest Searching
Evaluation of IForgeBlock overrides:
getLightEmission: Grates, for lighting up when lavalogged
isLadder: HollowFrameBlock, HollowPillarBlock, RopeBlock
~~isValidSpawn: GrateBlock - just returns 'false'~~ Settable through blockstate
canSustainPlant: QuarkBlockWrapper (just returns 'false'), HedgeBlock
isConduitFrame: ElderPrismarineBlock, VerticalSlabBlock
rotate: (migrated to vanilla method)
getEnchantPowerBonus: VariantBookshelfBlock
- anecdotally, i hear enchant power blocks are shit on fabric
getSoundType: FeedingTroughBlock
getBeaconColorMultiplier: (A lot of blocks)
getFlammability: All blocks (via IQuarkBlock)
getFireSpreadSpeed: All blocks (via IQuarkBlock), also some other blocks (to return a constant value)
collisionExtendsVertically: GrateBlock
shouldDisplayFluidOverlay: EncasedPipeBlock, QuarkGlassBlock
getToolModifiedState: HollowWoodBlock (called "temporary")
Evaluation of IForgeBlock calls:
getLightEmission: FindPlaceToSleepGoal, FoxhoundModule
isLadder: Hollow stuff (delegation), TrapDoorBlockMixin
isStickyBlock: MagnetizedBlockBlockEntity
canStickTo: ZetaPistonStructureResolver
getFlammability: QuarkSLab/Stair/VerticalSlabBlock (delegation)
isFlammable: QuarkSLab/Stair/VerticalSlabBlock (delegation)
getToolModifiedState: SimpleHarvestModule, HollowWoodBlock (delegation)
isScaffolding: EnhancedLaddersModule
Evaluation of IForgeItem overrides:
onItemUseFirst: LootrVariantChestBlock's item (I am not sure exactly why)
isRepairable: PickarangItem
onEntityItemUpdate: BackpackItem, TinyPotatoBlockItem (possibly removable?)
doesSneakBypassUse: RopeBlock
canEquip: TinyPotatoBlockItem (for Patreon)
isBookEnchantable: BackpackItem (returns 'false')
getArmorTexture: BackpackItem, ForgottenHatItem
getMaxDamage: PickarangItem, TrowelItem (probably removable, if it's ok for max durability config settings to require a restart)
getEnchantmentValue: BackpackItem, PickarangItem, ForgeItemDelegate
getAllEnchantments: ForgeItemDelegate
canApplyAtEnchantingTable: AncientTomeItem, BackpackItem, PickarangItem
shouldCauseReequipAnimation: PathfindersQuillItem
initCapabilities: BackpackItem, RuneItem
damageItem: BackpackItem (always returns 0)
getDefaultTooltipHideFlags: BackpackItem
Evaluation of IForgeItem calls:
onItemUseFirst: LootrVariantChestBlock's item (delegation)
onEntityItemUpdate: TinyPotatoBlockItem (delegation)
canEquip: TinyPotatoBlockItem (delegation)
getMaxDamage: QuarkJeiPlugin
canPerformAction: AutomaticToolRestockModule (very Forge-heavy stuff), Toretoise, HoeHarvestingModule
getEchantmentValue: MatrixEnchantingTableBlockEntity, PickarangItem
canApplyAtEnchantingTable: PickarangItem (delegation)
canElytraFly: GameNerfsModule mixin
NeoForge is removing level capabilities for... some reason, in favor of SavedData, so we'll have to examine how MagnetTracker
interacts with that stuff
Some things to reexamine in 1.20:
- NarratorReadoutModule, handling the back of signs #4416 (review)