Closed
Conversation
Convert to git patches & applyOrMoveSourcePatches with mergiraf Manual review and fix pass included after initial task run Couple of blocks Port DedicatedServerSettings source patch Port SpawnerBlock source patch Port RespawnAnchorBlock source patch Port CaveVinesBlock source patch Port TrapDoorBlock source patch Port DoublePlantBlock source patch Port DriedGhastBlock source patch Port MultifaceSpreader source patch Port CeilingHangingSignBlock source patch Port AbstractCauldronBlock source patch Port EndGatewayBlock source patch Port Recipe source patch Port LocateCommand source patch Port MobEffect source patch Port AcquirePoi source patch Port WallHangingSignBlock source patch More blocks Port EntitySelector source patch Port SelectorPattern source patch Port ServerboundCustomPayloadPacket source patch Port RideCommand source patch Port ItemStackMapIdFix source patch Port PoisonMobEffect source patch Port MenuType source patch Port ReplaceBlock source patch Port StructureUtils source patch Port RamTarget source patch Port SonicBoom source patch Port DragonLandingApproachPhase source patch Port ElderGuardian source patch Port HoglinBase source patch Port Evoker source patch Port ReplaceDisk source patch Port Property source patch Port DragonRespawnAnimation source patch Port GameRuleCommand source patch Port EnumProperty source patch Port ExplosionCondition source patch Port NotificationManager source patch Port ChangeItemDamage source patch Port CarvingContext source patch Port Main Port EndCityPieces source patch Port PathPackResources source patch Drop PathPackResources source patch Port Frog source patch Port RemoveStatusEffectsConsumeEffect source patch Port TeleportRandomlyConsumeEffect source patch Port SpawnParticlesEffect source patch Port BuddingAmethystBlock source patch rename optionSet more blocks Port roulette patch: SpikeFeature Port roulette patch: TryLaySpawnOnWaterNearLand Port roulette patch: WaterlilyBlock Port roulette patch: AssignProfessionFromJobSite Port roulette patch: ResetProfession Port roulette patch: CustomBossEvent Port roulette patch: ApplyStatusEffectsConsumeEffect Port roulette patch: HurtByTargetGoal Port roulette patch: WitherSkeleton Port roulette patch: NameTagItem Port roulette patch: TestEnvironmentDefinition Port roulette patch: ClientboundLevelChunkPacketData Port roulette patch: BlocksAttacks Port roulette patch: IglooPieces Port roulette patch: MineshaftPieces Port roulette patch: NetherFortressPieces Port roulette patch: StrongholdPieces Port roulette patch: SignItem Port roulette patch: DyeItem Port roulette patch: Vex Port roulette patch: VillagerMakeLove Port roulette patch: HealOrHarmMobEffect Port roulette patch: BehaviorUtils Port roulette patch: GoToWantedItem Port roulette patch: GameModeCommand Port roulette patch: ExperimentalRedstoneWireEvaluator Port roulette patch: HappyGhast Port roulette patch: SculkShriekerBlockEntity Port roulette patch: DiscardedPayload Port roulette patch: WeightedList Port roulette patch: DistanceManager Port roulette patch: FlatLevelSource Port roulette patch: SpawnEggItem Port roulette patch: ZeroBitStorage Port roulette patch: BoneMealItem Port roulette patch: FireChargeItem Port roulette patch: ServerboundCustomQueryAnswerPacket Port roulette patch: WeatherCommand Port roulette patch: HolderLookup Port roulette patch: ResultSlot Port roulette patch: ServerRecipeBook Port roulette patch: ReloadableServerResources Port roulette patch: GiveCommand Port roulette patch: OminousItemSpawner Port roulette patch: CommandBlockEntity Port roulette patch: Ravager Port roulette patch: OceanRuinPieces Port roulette patch: RconClient Port roulette patch: ReloadCommand Port roulette patch: ReloadableServerRegistries Port roulette patch: Axolotl Port roulette patch: MinecartCommandBlock Port roulette patch: ShulkerBoxDispenseBehavior Port roulette patch: Consumable Port roulette patch: ServerPacksSource Port roulette patch: SleepStatus Port roulette patch: TicketStorage Port roulette patch: LargeFireball Port roulette patch: Painting Port roulette patch: ItemEnchantments Port roulette patch: PoiCompetitorScan Port roulette patch: EntitySelector Port roulette patch: GameRuleMap Port roulette patch: Shulker Port roulette patch: OutgoingChatMessage Port roulette patch: TemptGoal Port roulette patch: Parrot Port roulette patch: ShulkerBoxMenu Port roulette patch: LevelChunkSection Port roulette patch: LootPoolSingletonContainer Port roulette patch: Armadillo Port roulette patch: ComponentUtils Finish net/minecraft/world/level/block package Port roulette patch: Services Port roulette patch: MobEffectUtil Port roulette patch: SkeletonTrapGoal Port roulette patch: Llama Port roulette patch: StructureManager Port roulette patch: WanderingTrader Port roulette patch: ProjectileDispenseBehavior Port roulette patch: MobEffectInstance Port roulette patch: EndPlatformFeature Port roulette patch: SimpleCriterionTrigger Port roulette patch: Goat Port roulette patch: PhantomSpawner Port roulette patch: Illusioner Port roulette patch: Raider Port roulette patch: FishingRodItem Port roulette patch: StructureStart Cow ChatDecorator/PlayerChatMessage Fix wrong argument in ChorusFlowerBlock Port Commands Fix wrong assignment in DropperBlock Fix missing return in RedstoneOreBlock Missing AbstractCow diff Port roulette patch: DensityFunctions Port roulette patch: ChestMenu CommandSourceStack Finish net/minecraft/world/inventory package Port villager patches Port CompoundTag Port QueryThreadGs4 Port StructureTemplate Port PersistentEntitySectionManager Port BrewingStandBlockEntity Port roulette patch: SnowballItem Port roulette patch: EnderpearlItem Port roulette patch: ShearsDispenseItemBehavior Fixed a line not being removed in LecternMenu Fix missed rename in PitcherCropBlock Port roulette patch: Camel Port roulette patch: FireworkRocketItem Port roulette patch: RegionFile Port roulette patch: Phantom Port roulette patch: RegionFileStorage Port roulette patch: GameTestServer Port roulette patch: Bogged Port roulette patch: EquipmentDispenseItemBehavior Port roulette patch: NeutralMob Port roulette patch: ProjectileWeaponItem Port roulette patch: ChunkStatusTasks Port roulette patch: GameRules Port roulette patch: InsideBlockEffectApplier Port roulette patch: PatrolSpawner Port roulette patch: Sheep Port roulette patch: Dolphin Port roulette patch: ShapedRecipe Port roulette patch: StoredUserList Port roulette patch: Turtle Port roulette patch: SnowGolem Port roulette patch: PalettedContainer Port roulette patch: Piglin Port roulette patch: PackRepository Port roulette patch: JukeboxBlockEntity Port roulette patch: PlayerAdvancements Port roulette patch: BrushableBlockEntity Port roulette patch: LevelStorageSource Port roulette patch: FoodData Port roulette patch: Panda Port roulette patch: FireworkRocketEntity Port roulette patch: Allay Port roulette patch: RandomizableContainer Port roulette patch: VaultBlockEntity Port roulette patch: BucketItem Port roulette patch: StructurePlacement Port roulette patch: BaseCommandBlock Port roulette patch: PotionBrewing Port roulette patch: AbstractSkeleton Port roulette patch: AbstractBoat Couple of block entities Fix extra setBlock in PointedDripstoneBlock Port roulette patch: Animal Port roulette patch: Util Port roulette patch: PortalForcer Port roulette patch: StructurePiece Port roulette patch: AbstractHorse Port roulette patch: CustomRecipe Port roulette patch: SummonEntityEffect Port roulette patch: StandingAndWallBlockItem Port roulette patch: GameEventDispatcher Port roulette patch: EffectCommands Port roulette patch: ScheduleCommand Port roulette patch: EndCrystalItem Port roulette patch: DataFixers Port roulette patch: InteractWithDoor Port roulette patch: Warden Port roulette patch: Creaking Port roulette patch: MessageArgument Port roulette patch: SmithingTransformRecipe Port roulette patch: EggItem Port roulette patch: DedicatedServerProperties Port roulette patch: CopperGolem Port roulette patch: WitherBoss Apply final block entity patches Apply ServerChunkCache Apply ChunkMap Apply ServerPlayerGameMode Apply WorldGenRegion Apply Level Port roulette patch: Bee Port roulette patch: FallingBlockEntity Port roulette patch: Creeper Port roulette patch: Settings Port roulette patch: SerializableChunkData Port roulette patch: LightningBolt Port roulette patch: WorldBorder Port roulette patch: FlowingFluid Port roulette patch: LecternBlockEntity Port roulette patch: Inventory Apply ServerLevel Add TODO for dropped hunk Port roulette patch: PortalShape Port roulette patch: PiglinAi Port roulette patch: ServerHandshakePacketListenerImpl Port roulette patch: ChunkGeneratorStructureState Port EntityType.java.patch Port CachedUserNameToIdResolver roulette patch Port LegacyQueryHandler roulette patch Fix PrepareSpawnTask patch roulette port Port Projectile.java patch roulette iteration Port NaturalSpawner patch roulette Port Slime roulette patch Mapitem Zombie patch Smithing Trim Patch Roulette Transmutate Result Patch Roulette Apply ChunkHolder Apply ServerEntity Apply ServerPlayer Slightly reduce ChunkHolder diff Port roulette patch: ServerExplosion Port roulette patch: MapItemSavedData Port roulette patch: ArmorStand Port roulette patch: ServerLoginPacketListenerImpl Port roulette patch: LevelChunk Port roulette patch: EnderDragon minor diff cleanup Port roulette patch: ClientboundSetEntityDataPacket Port roulette patch: EntityArgument Port roulette patch: LootDataType Port roulette patch: EmptyBlockAndTintGetter Drop obsolete roulette patch: LegacyStructureDataHandler LegacyStructureDataHandler no longer exists in current sources. Its dimension-routing logic is now handled in LegacyStructureFileFix, so this rejected patch has no remaining port target and is obsolete. Port roulette patch: ServerboundInteractPacket Upstream refactored interact packet shape; preserve Paper unknown-entity shim with getEntityId() and a conservative isAttack() fallback in the new record form. Adjust ServerboundInteractPacket patch: remove isAttack shim Keep only getEntityId() in the Paper unknown-entity helper block as requested; defer compile fallout handling to later cleanup. Port roulette patch: CrossbowItem Port roulette patch: NbtContents Port roulette patch: DimensionDataStorage Port roulette patch: WorldUpgrader Port roulette patch: DragonFireball Port roulette patch: AgeableMob Port roulette patch: ThrownExperienceBottle Port roulette patch: Sniffer Port roulette patch: BlockItem Port roulette patch: ChunkGenerator Port roulette patch: Bucketable Port roulette patch: LeadItem Port roulette patch: Fox Port roulette patch: TridentItem Port roulette patch: SimpleRegionStorage Port roulette patch: AbstractArrow Port roulette patch: ItemEntity Port roulette patch: ExperienceOrb Port roulette patch: FishingHook port PistonBaseBlock port MinecartDispenseItemBehavior.java.patch, DispenseItemBehavior.java.patch port Player port roulette set port cat port MinecraftServer MerchantOffer.java.patch PathNavigation.java.patch ItemFrame.java.patch BlockGetter.java.patch, ChunkPos.java.patch TimeCommand.java.patch, SetSpawnCommand.java.patch TODO: Time needs adjusting BlockPos.java.patch Enderman PrimedTnt.java.patch Fixes port WanderingTraderSpawner port Tadpole port PlayerList port thrown potions port RegistryDataLoader initial pass on ServerGamePacketListenerImpl port PrimaryLevelData port DedicatedServer port ItemStack port CauldronInteraction port TagLoader port EnderDragonFight compile fixes Port roulette patch: SimpleBitStorage Port roulette patch: AbstractNautilus Port roulette patch: LeashFenceKnotEntity Port roulette patch: BlockAttachedEntity Port roulette patch: Wolf
More things need to have per-world reimplemented still with things being split from level.dat
Deprecate setFullTime, which will need world clock API to have per-world clocks. The rest simply uses the dimension's world clock if present. Per-player time has not been fully implemented yet
There were a few problems in the tick loop code: 1. Not all tasks may be executed before server stop 2. Not all tasks may have been executed before server tick 3. Tasks may not have been executed while waiting for next server tick Note that tasks exclusively refer to tasks scheduled directly to the MinecraftServer. For the first issue, we apply a fix where we execute all tasks on server stop. However, this is not a true fix. Tasks could be scheduled while the server is stopping. This simply reduces us to being no worse off than Vanilla. This particularly fixes the client freezing when disconnecting from a singleplayer world - see the logic in Minecraft#disconnect(Screen, boolean, boolean) where it invokes IntegratedServer#halt(boolean). For the second issue, we rework the tick tracking on TickTask so that it uses our own counter which we increment immediately before beginning to process tasks. Additionally, we fix the shouldRun logic so that it allows tasks as long as the current tick is strictly greater-than the task tick (before, it checked if the task tick + 1 (3 Vanilla) was strictly less-than). See comments in the server mixin around #shouldRun, details. We fix the final issue by allowing task execution in #shouldRun if we are currently awaiting the next tick. The reason this is a fix is due to the fact that our logic to await the next tick does not run in the managedBlock function, which bypasses the shouldRun check. Tuinity/Moonrise@e394e33
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Now that MC-102774 is fixed it's possible to respawn the dragon from one block further horizontally.
Commented-out version hunk dropped accidentally.
Closes #13729
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
to take in account MC-199589 being fixed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.