From 435f1e64337728a13e42dea8ea1f059c7eca1f3a Mon Sep 17 00:00:00 2001 From: Adrian Siekierka <kontakt@asie.pl> Date: Sun, 9 Dec 2018 13:43:32 +0100 Subject: [PATCH] rearrange mixins, document more client stuff --- .../FabricBlockBuilder.java | 2 +- .../render/BlockEntityRendererRegistry.java | 3 ++ .../client/render/EntityRendererRegistry.java | 3 ++ .../client/texture/DependentSprite.java | 5 ++- .../fabric/client/texture/SpriteRegistry.java | 13 ++++++ .../texture/{ => impl}/FabricSprite.java | 2 +- .../client/SpriteEvent.java} | 16 +++---- .../{helpers => block}/MixinBlockBuilder.java | 4 +- .../render/MixinBlockEntityRenderManager.java | 2 +- .../render/MixinEntityRenderManager.java | 2 +- .../texture}/MixinSpriteAtlasTexture.java | 12 +++--- .../objectbuilder}/MixinBlock.java | 2 +- .../objectbuilder}/MixinItem.java | 2 +- .../MixinClientPlayerInteractionManager.java | 2 +- .../MixinServerPlayNetworkHandler.java | 2 +- .../MixinServerPlayerEntity.java | 2 +- .../MixinServerPlayerInteractionManager.java | 2 +- .../{ => server}/MixinMinecraftServer.java | 10 +---- .../{ => tick}/MixinMinecraftClient.java | 2 +- .../events/tick/MixinMinecraftServer.java | 42 +++++++++++++++++++ .../mixin/events/{ => tick}/MixinWorld.java | 2 +- .../fabricmc/fabric/tools/ToolManager.java | 5 ++- .../net.fabricmc.fabric.mixins.client.json | 10 ++--- .../net.fabricmc.fabric.mixins.common.json | 17 ++++---- 24 files changed, 110 insertions(+), 54 deletions(-) rename src/main/java/net/fabricmc/fabric/{helpers => block}/FabricBlockBuilder.java (99%) rename src/main/java/net/fabricmc/fabric/client/texture/{ => impl}/FabricSprite.java (95%) rename src/main/java/net/fabricmc/fabric/{client/texture/SpriteProvider.java => events/client/SpriteEvent.java} (69%) rename src/main/java/net/fabricmc/fabric/mixin/{helpers => block}/MixinBlockBuilder.java (95%) rename src/main/java/net/fabricmc/fabric/mixin/{ => client}/render/MixinBlockEntityRenderManager.java (96%) rename src/main/java/net/fabricmc/fabric/mixin/{ => client}/render/MixinEntityRenderManager.java (97%) rename src/main/java/net/fabricmc/fabric/mixin/{render => client/texture}/MixinSpriteAtlasTexture.java (93%) rename src/main/java/net/fabricmc/fabric/mixin/{helpers => events/objectbuilder}/MixinBlock.java (96%) rename src/main/java/net/fabricmc/fabric/mixin/{helpers => events/objectbuilder}/MixinItem.java (96%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => playerinteraction}/MixinClientPlayerInteractionManager.java (99%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => playerinteraction}/MixinServerPlayNetworkHandler.java (97%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => playerinteraction}/MixinServerPlayerEntity.java (96%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => playerinteraction}/MixinServerPlayerInteractionManager.java (98%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => server}/MixinMinecraftServer.java (84%) rename src/main/java/net/fabricmc/fabric/mixin/events/{ => tick}/MixinMinecraftClient.java (96%) create mode 100644 src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftServer.java rename src/main/java/net/fabricmc/fabric/mixin/events/{ => tick}/MixinWorld.java (96%) diff --git a/src/main/java/net/fabricmc/fabric/helpers/FabricBlockBuilder.java b/src/main/java/net/fabricmc/fabric/block/FabricBlockBuilder.java similarity index 99% rename from src/main/java/net/fabricmc/fabric/helpers/FabricBlockBuilder.java rename to src/main/java/net/fabricmc/fabric/block/FabricBlockBuilder.java index 0078481c4..b15274e23 100644 --- a/src/main/java/net/fabricmc/fabric/helpers/FabricBlockBuilder.java +++ b/src/main/java/net/fabricmc/fabric/block/FabricBlockBuilder.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.helpers; +package net.fabricmc.fabric.block; import net.fabricmc.fabric.tools.ToolManager; import net.minecraft.block.Block; diff --git a/src/main/java/net/fabricmc/fabric/client/render/BlockEntityRendererRegistry.java b/src/main/java/net/fabricmc/fabric/client/render/BlockEntityRendererRegistry.java index 4eaf2a105..e8f73c5e7 100644 --- a/src/main/java/net/fabricmc/fabric/client/render/BlockEntityRendererRegistry.java +++ b/src/main/java/net/fabricmc/fabric/client/render/BlockEntityRendererRegistry.java @@ -23,6 +23,9 @@ import net.minecraft.client.render.block.entity.BlockEntityRenderer; import java.util.HashMap; import java.util.Map; +/** + * Helper class for registering BlockEntityRenderers. + */ public class BlockEntityRendererRegistry { public static final BlockEntityRendererRegistry INSTANCE = new BlockEntityRendererRegistry(); private Map<Class<? extends BlockEntity>, BlockEntityRenderer<? extends BlockEntity>> renderers; diff --git a/src/main/java/net/fabricmc/fabric/client/render/EntityRendererRegistry.java b/src/main/java/net/fabricmc/fabric/client/render/EntityRendererRegistry.java index dbbb9914c..d1e740540 100644 --- a/src/main/java/net/fabricmc/fabric/client/render/EntityRendererRegistry.java +++ b/src/main/java/net/fabricmc/fabric/client/render/EntityRendererRegistry.java @@ -27,6 +27,9 @@ import java.util.Map; import java.util.WeakHashMap; import java.util.function.Function; +/** + * Helper class for registering EntityRenderers. + */ public class EntityRendererRegistry { @FunctionalInterface public interface Factory { diff --git a/src/main/java/net/fabricmc/fabric/client/texture/DependentSprite.java b/src/main/java/net/fabricmc/fabric/client/texture/DependentSprite.java index efde38af5..bef0861a4 100644 --- a/src/main/java/net/fabricmc/fabric/client/texture/DependentSprite.java +++ b/src/main/java/net/fabricmc/fabric/client/texture/DependentSprite.java @@ -24,8 +24,11 @@ import java.util.Set; * Implement this interface on a Sprite to declare additional dependencies * that should be processed prior to this sprite. * - * TODO: Implement this! + * Best used in conjunction with {@link CustomSpriteLoader}. */ public interface DependentSprite { + /** + * @return A set of all sprites that should be loaded before this sprite. + */ Set<Identifier> getDependencies(); } diff --git a/src/main/java/net/fabricmc/fabric/client/texture/SpriteRegistry.java b/src/main/java/net/fabricmc/fabric/client/texture/SpriteRegistry.java index b128e7f78..5d4c2e9ee 100644 --- a/src/main/java/net/fabricmc/fabric/client/texture/SpriteRegistry.java +++ b/src/main/java/net/fabricmc/fabric/client/texture/SpriteRegistry.java @@ -22,6 +22,9 @@ import net.minecraft.util.Identifier; import java.util.Map; import java.util.function.Consumer; +/** + * Helper class for registering Sprites during loading. + */ public class SpriteRegistry { private final Map<Identifier, Sprite> spriteMap; private final Consumer<Identifier> defaultSpriteRegister; @@ -31,10 +34,20 @@ public class SpriteRegistry { this.defaultSpriteRegister = defaultSpriteRegister; } + /** + * Register a sprite to be loaded using the default implementation. + * + * @param id The sprite identifier. + */ public void register(Identifier id) { this.defaultSpriteRegister.accept(id); } + /** + * Register a custom sprite to be added and loaded. + * + * @param sprite The sprite to be added. + */ public void register(Sprite sprite) { this.spriteMap.put(sprite.getId(), sprite); } diff --git a/src/main/java/net/fabricmc/fabric/client/texture/FabricSprite.java b/src/main/java/net/fabricmc/fabric/client/texture/impl/FabricSprite.java similarity index 95% rename from src/main/java/net/fabricmc/fabric/client/texture/FabricSprite.java rename to src/main/java/net/fabricmc/fabric/client/texture/impl/FabricSprite.java index cba635834..27efb58a4 100644 --- a/src/main/java/net/fabricmc/fabric/client/texture/FabricSprite.java +++ b/src/main/java/net/fabricmc/fabric/client/texture/impl/FabricSprite.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.client.texture; +package net.fabricmc.fabric.client.texture.impl; import net.minecraft.class_1050; import net.minecraft.client.resource.metadata.AnimationResourceMetadata; diff --git a/src/main/java/net/fabricmc/fabric/client/texture/SpriteProvider.java b/src/main/java/net/fabricmc/fabric/events/client/SpriteEvent.java similarity index 69% rename from src/main/java/net/fabricmc/fabric/client/texture/SpriteProvider.java rename to src/main/java/net/fabricmc/fabric/events/client/SpriteEvent.java index f02df5b94..004b240e1 100644 --- a/src/main/java/net/fabricmc/fabric/client/texture/SpriteProvider.java +++ b/src/main/java/net/fabricmc/fabric/events/client/SpriteEvent.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package net.fabricmc.fabric.client.texture; +package net.fabricmc.fabric.events.client; +import net.fabricmc.fabric.client.texture.SpriteRegistry; import net.fabricmc.fabric.util.HandlerList; import net.fabricmc.fabric.util.HandlerRegistry; -/** - * Use this interface to register providers for your own custom atlas sprites. - */ -@FunctionalInterface -public interface SpriteProvider { - final HandlerRegistry<SpriteProvider> HANDLER = new HandlerList<>(); +public class SpriteEvent { + @FunctionalInterface + public interface Provider { + void registerSprites(SpriteRegistry registry); + } - void registerSprites(SpriteRegistry registry); + public static final HandlerRegistry<Provider> PROVIDE = new HandlerList<>(); } diff --git a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlockBuilder.java b/src/main/java/net/fabricmc/fabric/mixin/block/MixinBlockBuilder.java similarity index 95% rename from src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlockBuilder.java rename to src/main/java/net/fabricmc/fabric/mixin/block/MixinBlockBuilder.java index 748451835..5812d2ba4 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlockBuilder.java +++ b/src/main/java/net/fabricmc/fabric/mixin/block/MixinBlockBuilder.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.helpers; +package net.fabricmc.fabric.mixin.block; -import net.fabricmc.fabric.helpers.FabricBlockBuilder; +import net.fabricmc.fabric.block.FabricBlockBuilder; import net.minecraft.block.Block; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; diff --git a/src/main/java/net/fabricmc/fabric/mixin/render/MixinBlockEntityRenderManager.java b/src/main/java/net/fabricmc/fabric/mixin/client/render/MixinBlockEntityRenderManager.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/render/MixinBlockEntityRenderManager.java rename to src/main/java/net/fabricmc/fabric/mixin/client/render/MixinBlockEntityRenderManager.java index 61adab581..0bac8ce30 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/render/MixinBlockEntityRenderManager.java +++ b/src/main/java/net/fabricmc/fabric/mixin/client/render/MixinBlockEntityRenderManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.render; +package net.fabricmc.fabric.mixin.client.render; import net.fabricmc.fabric.client.render.BlockEntityRendererRegistry; import net.minecraft.block.entity.BlockEntity; diff --git a/src/main/java/net/fabricmc/fabric/mixin/render/MixinEntityRenderManager.java b/src/main/java/net/fabricmc/fabric/mixin/client/render/MixinEntityRenderManager.java similarity index 97% rename from src/main/java/net/fabricmc/fabric/mixin/render/MixinEntityRenderManager.java rename to src/main/java/net/fabricmc/fabric/mixin/client/render/MixinEntityRenderManager.java index 7b7d80ec6..d36b8e6ba 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/render/MixinEntityRenderManager.java +++ b/src/main/java/net/fabricmc/fabric/mixin/client/render/MixinEntityRenderManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.render; +package net.fabricmc.fabric.mixin.client.render; import net.fabricmc.fabric.client.render.EntityRendererRegistry; import net.minecraft.client.render.entity.EntityRenderDispatcher; diff --git a/src/main/java/net/fabricmc/fabric/mixin/render/MixinSpriteAtlasTexture.java b/src/main/java/net/fabricmc/fabric/mixin/client/texture/MixinSpriteAtlasTexture.java similarity index 93% rename from src/main/java/net/fabricmc/fabric/mixin/render/MixinSpriteAtlasTexture.java rename to src/main/java/net/fabricmc/fabric/mixin/client/texture/MixinSpriteAtlasTexture.java index 1130a8f1d..a892aa373 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/render/MixinSpriteAtlasTexture.java +++ b/src/main/java/net/fabricmc/fabric/mixin/client/texture/MixinSpriteAtlasTexture.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.render; +package net.fabricmc.fabric.mixin.client.texture; import com.google.common.base.Joiner; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import net.fabricmc.fabric.client.texture.*; +import net.fabricmc.fabric.client.texture.impl.FabricSprite; +import net.fabricmc.fabric.events.client.SpriteEvent; import net.fabricmc.fabric.util.HandlerList; import net.minecraft.class_1050; import net.minecraft.client.MinecraftClient; @@ -31,8 +31,6 @@ import net.minecraft.util.Identifier; import net.minecraft.util.crash.CrashException; import net.minecraft.util.crash.CrashReport; import net.minecraft.util.crash.CrashReportElement; -import org.apache.commons.io.IOUtils; -import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -87,8 +85,8 @@ public abstract class MixinSpriteAtlasTexture { //noinspection RedundantCast,ConstantConditions if ((SpriteAtlasTexture) (Object) this == MinecraftClient.getInstance().getSpriteAtlas()) { SpriteRegistry registry = new SpriteRegistry(sprites, (id) -> addSpriteToLoad(manager, id)); - for (Object provider : ((HandlerList<SpriteProvider>) SpriteProvider.HANDLER).getBackingArray()) { - ((SpriteProvider) provider).registerSprites(registry); + for (Object provider : ((HandlerList<SpriteEvent.Provider>) SpriteEvent.PROVIDE).getBackingArray()) { + ((SpriteEvent.Provider) provider).registerSprites(registry); } } diff --git a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlock.java b/src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinBlock.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlock.java rename to src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinBlock.java index d937e4403..a07babd29 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinBlock.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinBlock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.helpers; +package net.fabricmc.fabric.mixin.events.objectbuilder; import net.fabricmc.fabric.events.ObjectBuilderEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinItem.java b/src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinItem.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/helpers/MixinItem.java rename to src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinItem.java index 6ccc62820..0f114b012 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/helpers/MixinItem.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/objectbuilder/MixinItem.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.helpers; +package net.fabricmc.fabric.mixin.events.objectbuilder; import net.fabricmc.fabric.events.ObjectBuilderEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinClientPlayerInteractionManager.java b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinClientPlayerInteractionManager.java similarity index 99% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinClientPlayerInteractionManager.java rename to src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinClientPlayerInteractionManager.java index a1cb04dd1..262b1ac4f 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinClientPlayerInteractionManager.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinClientPlayerInteractionManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.playerinteraction; import net.fabricmc.fabric.events.PlayerInteractionEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayNetworkHandler.java b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayNetworkHandler.java similarity index 97% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayNetworkHandler.java rename to src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayNetworkHandler.java index df76fb8c1..d7e068803 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayNetworkHandler.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayNetworkHandler.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.playerinteraction; import net.fabricmc.fabric.events.PlayerInteractionEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerEntity.java b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerEntity.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerEntity.java rename to src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerEntity.java index 427acbbe4..dc3d4ffc5 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerEntity.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerEntity.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.playerinteraction; import net.fabricmc.fabric.events.PlayerInteractionEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerInteractionManager.java b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerInteractionManager.java similarity index 98% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerInteractionManager.java rename to src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerInteractionManager.java index e87e95a9e..bdcc7a15c 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinServerPlayerInteractionManager.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/playerinteraction/MixinServerPlayerInteractionManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.playerinteraction; import net.fabricmc.fabric.events.PlayerInteractionEvent; import net.fabricmc.fabric.util.HandlerList; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftServer.java b/src/main/java/net/fabricmc/fabric/mixin/events/server/MixinMinecraftServer.java similarity index 84% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftServer.java rename to src/main/java/net/fabricmc/fabric/mixin/events/server/MixinMinecraftServer.java index b83ed751b..9d4369114 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftServer.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/server/MixinMinecraftServer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.server; import net.fabricmc.fabric.events.ServerEvent; import net.fabricmc.fabric.events.TickEvent; @@ -32,9 +32,6 @@ import java.util.function.Consumer; @Mixin(MinecraftServer.class) public class MixinMinecraftServer { - @Shadow - private class_3689 profiler; - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;method_3791(Lnet/minecraft/server/ServerMetadata;)V", ordinal = 0), method = "run") public void afterSetupServer(CallbackInfo info) { for (Object handler : ((HandlerList<Consumer<MinecraftServer>>) ServerEvent.START).getBackingArray()) { @@ -42,9 +39,4 @@ public class MixinMinecraftServer { ((Consumer) handler).accept((Object) this); } } - - @Inject(at = @At("RETURN"), method = "method_3813") - protected void method_3813(BooleanSupplier var1, CallbackInfo info) { - TickEvent.tick(TickEvent.SERVER, (MinecraftServer) (Object) this, this.profiler); - } } diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftClient.java b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftClient.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftClient.java rename to src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftClient.java index 1206f7209..844838801 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinMinecraftClient.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.tick; import net.fabricmc.fabric.events.TickEvent; import net.fabricmc.fabric.events.client.ClientTickEvent; diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftServer.java b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftServer.java new file mode 100644 index 000000000..ba7e9eeca --- /dev/null +++ b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinMinecraftServer.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2016, 2017, 2018 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.mixin.events.tick; + +import net.fabricmc.fabric.events.ServerEvent; +import net.fabricmc.fabric.events.TickEvent; +import net.fabricmc.fabric.util.HandlerList; +import net.minecraft.class_3689; +import net.minecraft.server.MinecraftServer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.function.BooleanSupplier; +import java.util.function.Consumer; + +@Mixin(MinecraftServer.class) +public class MixinMinecraftServer { + @Shadow + private class_3689 profiler; + + @Inject(at = @At("RETURN"), method = "method_3813") + protected void method_3813(BooleanSupplier var1, CallbackInfo info) { + TickEvent.tick(TickEvent.SERVER, (MinecraftServer) (Object) this, this.profiler); + } +} diff --git a/src/main/java/net/fabricmc/fabric/mixin/events/MixinWorld.java b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinWorld.java similarity index 96% rename from src/main/java/net/fabricmc/fabric/mixin/events/MixinWorld.java rename to src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinWorld.java index c3c40e657..71489b35e 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/events/MixinWorld.java +++ b/src/main/java/net/fabricmc/fabric/mixin/events/tick/MixinWorld.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.mixin.events; +package net.fabricmc.fabric.mixin.events.tick; import net.fabricmc.fabric.events.PlayerInteractionEvent; import net.fabricmc.fabric.events.TickEvent; diff --git a/src/main/java/net/fabricmc/fabric/tools/ToolManager.java b/src/main/java/net/fabricmc/fabric/tools/ToolManager.java index 56c556f4b..8918d92ba 100644 --- a/src/main/java/net/fabricmc/fabric/tools/ToolManager.java +++ b/src/main/java/net/fabricmc/fabric/tools/ToolManager.java @@ -16,6 +16,7 @@ package net.fabricmc.fabric.tools; +import net.fabricmc.fabric.block.FabricBlockBuilder; import net.fabricmc.fabric.events.ObjectBuilderEvent; import net.fabricmc.fabric.util.TriState; import net.minecraft.block.Block; @@ -93,7 +94,7 @@ public final class ToolManager { } /** - * @deprecated Use {@link net.fabricmc.fabric.helpers.FabricBlockBuilder FabricBlockBuilder} for your own blocks. + * @deprecated Use {@link FabricBlockBuilder FabricBlockBuilder} for your own blocks. * TODO: Add a way to manipulate the values for non-owned blocks. */ @Deprecated @@ -102,7 +103,7 @@ public final class ToolManager { } /** - * @deprecated Use {@link net.fabricmc.fabric.helpers.FabricBlockBuilder FabricBlockBuilder} for your own blocks. + * @deprecated Use {@link FabricBlockBuilder FabricBlockBuilder} for your own blocks. * TODO: Add a way to manipulate the values for non-owned blocks. */ @Deprecated diff --git a/src/main/resources/net.fabricmc.fabric.mixins.client.json b/src/main/resources/net.fabricmc.fabric.mixins.client.json index 89f2ff4e5..c9e5d4ca0 100644 --- a/src/main/resources/net.fabricmc.fabric.mixins.client.json +++ b/src/main/resources/net.fabricmc.fabric.mixins.client.json @@ -4,15 +4,15 @@ "compatibilityLevel": "JAVA_8", "mixins": [ "block.entity.MixinClientPlayNetworkHandler", - "events.MixinClientPlayerInteractionManager", - "events.MixinMinecraftClient", + "client.render.MixinBlockEntityRenderManager", + "client.render.MixinEntityRenderManager", + "client.texture.MixinSpriteAtlasTexture", + "events.playerinteraction.MixinClientPlayerInteractionManager", + "events.tick.MixinMinecraftClient", "networking.MixinClientPlayNetworkHandler", "registry.client.MixinBlockColorMap", "registry.client.MixinItemColorMap", "registry.client.MixinItemModelMap", - "render.MixinBlockEntityRenderManager", - "render.MixinEntityRenderManager", - "render.MixinSpriteAtlasTexture", "resources.MixinMinecraftGame" ], "injectors": { diff --git a/src/main/resources/net.fabricmc.fabric.mixins.common.json b/src/main/resources/net.fabricmc.fabric.mixins.common.json index 29599b116..0b7b280b5 100644 --- a/src/main/resources/net.fabricmc.fabric.mixins.common.json +++ b/src/main/resources/net.fabricmc.fabric.mixins.common.json @@ -3,16 +3,17 @@ "package": "net.fabricmc.fabric.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ + "block.MixinBlockBuilder", "block.entity.MixinBlockEntity", "commands.MixinServerCommandManager", - "events.MixinMinecraftServer", - "events.MixinServerPlayNetworkHandler", - "events.MixinServerPlayerEntity", - "events.MixinServerPlayerInteractionManager", - "events.MixinWorld", - "helpers.MixinBlock", - "helpers.MixinBlockBuilder", - "helpers.MixinItem", + "events.objectbuilder.MixinBlock", + "events.objectbuilder.MixinItem", + "events.playerinteraction.MixinServerPlayNetworkHandler", + "events.playerinteraction.MixinServerPlayerEntity", + "events.playerinteraction.MixinServerPlayerInteractionManager", + "events.server.MixinMinecraftServer", + "events.tick.MixinMinecraftServer", + "events.tick.MixinWorld", "networking.MixinServerPlayNetworkHandler", "networking.MixinSPacketCustomPayload", "registry.MixinBootstrap",