From d105c444ee8ad9cdb7749d15957ce04077f0b977 Mon Sep 17 00:00:00 2001 From: RainWarrior Date: Sat, 2 Jan 2016 09:59:14 +0300 Subject: [PATCH] SidedProxy now has sensible default values - nested ClientProxy and ServerProxy classes. --- .../minecraftforge/fml/common/ProxyInjector.java | 4 ++++ .../net/minecraftforge/fml/common/SidedProxy.java | 6 ++++-- .../net/minecraftforge/debug/DynBucketTest.java | 15 ++++++++++----- .../minecraftforge/debug/ItemLayerModelDebug.java | 4 +++- .../net/minecraftforge/debug/ItemTileDebug.java | 4 +++- .../minecraftforge/debug/ModelAnimationDebug.java | 4 +++- .../minecraftforge/debug/ModelBakeEventDebug.java | 4 +++- .../net/minecraftforge/debug/ModelFluidDebug.java | 4 +++- .../debug/MultiLayerModelDebug.java | 4 +++- 9 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java b/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java index bfd116d434..c44bca64dc 100644 --- a/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java +++ b/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java @@ -57,6 +57,10 @@ public class ProxyInjector continue; } String targetType = side.isClient() ? annotation.clientSide() : annotation.serverSide(); + if(targetType.equals("")) + { + targetType = targ.getClassName() + (side.isClient() ? "$ClientProxy" : "$ServerProxy"); + } Object proxy=Class.forName(targetType, true, mcl).newInstance(); if (languageAdapter.supportsStatics() && (target.getModifiers() & Modifier.STATIC) == 0 ) diff --git a/src/main/java/net/minecraftforge/fml/common/SidedProxy.java b/src/main/java/net/minecraftforge/fml/common/SidedProxy.java index 472df0067e..817ffe7972 100644 --- a/src/main/java/net/minecraftforge/fml/common/SidedProxy.java +++ b/src/main/java/net/minecraftforge/fml/common/SidedProxy.java @@ -50,12 +50,14 @@ import java.lang.annotation.Target; public @interface SidedProxy { /** - * The name of the client side class to load and populate + * The full name of the client side class to load and populate. + * Defaults to the nested class named "ClientProxy" in the current class. */ String clientSide() default ""; /** - * The name of the server side class to load and populate + * The full name of the server side class to load and populate. + * Defaults to the nested class named "ServerProxy" in the current class. */ String serverSide() default ""; diff --git a/src/test/java/net/minecraftforge/debug/DynBucketTest.java b/src/test/java/net/minecraftforge/debug/DynBucketTest.java index 06e88db3c7..cfa8128185 100644 --- a/src/test/java/net/minecraftforge/debug/DynBucketTest.java +++ b/src/test/java/net/minecraftforge/debug/DynBucketTest.java @@ -1,5 +1,7 @@ package net.minecraftforge.debug; +import java.util.List; + import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.client.resources.model.ModelBakery; @@ -9,13 +11,16 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.ModelDynBucket; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.debug.ModelFluidDebug.TestFluid; import net.minecraftforge.debug.ModelFluidDebug.TestGas; import net.minecraftforge.event.entity.player.FillBucketEvent; -import net.minecraftforge.fluids.*; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidBlock; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; @@ -24,15 +29,13 @@ import net.minecraftforge.fml.common.eventhandler.Event.Result; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.GameRegistry; -import java.util.List; - @Mod(modid = "DynBucketTest", version = "0.1", dependencies = "after:" + ModelFluidDebug.MODID) public class DynBucketTest { public static final Item dynBucket = new DynBucket(); public static final Item dynBottle = new DynBottle(); - @SidedProxy(clientSide = "net.minecraftforge.debug.DynBucketTest$ClientProxy", serverSide = "net.minecraftforge.debug.DynBucketTest$CommonProxy") + @SidedProxy public static CommonProxy proxy; public static class CommonProxy @@ -42,6 +45,8 @@ public class DynBucketTest } } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { @Override diff --git a/src/test/java/net/minecraftforge/debug/ItemLayerModelDebug.java b/src/test/java/net/minecraftforge/debug/ItemLayerModelDebug.java index 78f74ed621..da52b7f666 100644 --- a/src/test/java/net/minecraftforge/debug/ItemLayerModelDebug.java +++ b/src/test/java/net/minecraftforge/debug/ItemLayerModelDebug.java @@ -16,7 +16,7 @@ public class ItemLayerModelDebug public static final String MODID = "ForgeDebugItemLayerModel"; public static final String VERSION = "1.0"; - @SidedProxy(serverSide = "net.minecraftforge.debug.ItemLayerModelDebug$CommonProxy", clientSide = "net.minecraftforge.debug.ItemLayerModelDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; @EventHandler @@ -30,6 +30,8 @@ public class ItemLayerModelDebug } } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { private static ModelResourceLocation modelLocation = new ModelResourceLocation(MODID.toLowerCase() + ":" + TestItem.name, "inventory"); diff --git a/src/test/java/net/minecraftforge/debug/ItemTileDebug.java b/src/test/java/net/minecraftforge/debug/ItemTileDebug.java index 0f1dec7ceb..6a21bba966 100644 --- a/src/test/java/net/minecraftforge/debug/ItemTileDebug.java +++ b/src/test/java/net/minecraftforge/debug/ItemTileDebug.java @@ -30,7 +30,7 @@ public class ItemTileDebug private static String blockName = MODID.toLowerCase() + ":" + TestBlock.name; - @SidedProxy(serverSide = "net.minecraftforge.debug.ItemTileDebug$CommonProxy", clientSide = "net.minecraftforge.debug.ItemTileDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; @EventHandler @@ -50,6 +50,8 @@ public class ItemTileDebug public void init(FMLInitializationEvent event) {} } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { private static ModelResourceLocation itemLocation = new ModelResourceLocation(blockName, "inventory"); diff --git a/src/test/java/net/minecraftforge/debug/ModelAnimationDebug.java b/src/test/java/net/minecraftforge/debug/ModelAnimationDebug.java index 8a1de58062..79d762cc2e 100644 --- a/src/test/java/net/minecraftforge/debug/ModelAnimationDebug.java +++ b/src/test/java/net/minecraftforge/debug/ModelAnimationDebug.java @@ -56,7 +56,7 @@ public class ModelAnimationDebug public static final PropertyDirection FACING = PropertyDirection.create("facing"); public static final PropertyBool STATIC = PropertyBool.create("static");; - @SidedProxy(serverSide = "net.minecraftforge.debug.ModelAnimationDebug$CommonProxy", clientSide = "net.minecraftforge.debug.ModelAnimationDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; public static class CommonProxy @@ -142,6 +142,8 @@ public class ModelAnimationDebug public void init(FMLInitializationEvent event) {} } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { @Override diff --git a/src/test/java/net/minecraftforge/debug/ModelBakeEventDebug.java b/src/test/java/net/minecraftforge/debug/ModelBakeEventDebug.java index 4a8253b29e..fc61e2a51a 100644 --- a/src/test/java/net/minecraftforge/debug/ModelBakeEventDebug.java +++ b/src/test/java/net/minecraftforge/debug/ModelBakeEventDebug.java @@ -66,7 +66,7 @@ public class ModelBakeEventDebug } } - @SidedProxy(serverSide = "net.minecraftforge.debug.ModelBakeEventDebug$CommonProxy", clientSide = "net.minecraftforge.debug.ModelBakeEventDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; @EventHandler @@ -81,6 +81,8 @@ public class ModelBakeEventDebug } } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { private static ModelResourceLocation blockLocation = new ModelResourceLocation(blockName, "normal"); diff --git a/src/test/java/net/minecraftforge/debug/ModelFluidDebug.java b/src/test/java/net/minecraftforge/debug/ModelFluidDebug.java index 5eb6b27b4a..9a48af70fc 100644 --- a/src/test/java/net/minecraftforge/debug/ModelFluidDebug.java +++ b/src/test/java/net/minecraftforge/debug/ModelFluidDebug.java @@ -26,7 +26,7 @@ public class ModelFluidDebug public static final String MODID = "ForgeDebugModelFluid"; public static final String VERSION = "1.0"; - @SidedProxy(serverSide = "net.minecraftforge.debug.ModelFluidDebug$CommonProxy", clientSide = "net.minecraftforge.debug.ModelFluidDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; public static final Fluid milkFluid = new Fluid("milk", new ResourceLocation("forge", "blocks/milk_still"), new ResourceLocation("forge", "blocks/milk_flow")); @@ -47,6 +47,8 @@ public class ModelFluidDebug } } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { private static ModelResourceLocation fluidLocation = new ModelResourceLocation(MODID.toLowerCase() + ":" + TestFluidBlock.name, "fluid"); diff --git a/src/test/java/net/minecraftforge/debug/MultiLayerModelDebug.java b/src/test/java/net/minecraftforge/debug/MultiLayerModelDebug.java index c50bbdd49b..061f884bc7 100644 --- a/src/test/java/net/minecraftforge/debug/MultiLayerModelDebug.java +++ b/src/test/java/net/minecraftforge/debug/MultiLayerModelDebug.java @@ -21,7 +21,7 @@ public class MultiLayerModelDebug public static String blockName = "test_layer_block"; - @SidedProxy(serverSide = "net.minecraftforge.debug.MultiLayerModelDebug$CommonProxy", clientSide = "net.minecraftforge.debug.MultiLayerModelDebug$ClientProxy") + @SidedProxy public static CommonProxy proxy; public static class CommonProxy @@ -50,6 +50,8 @@ public class MultiLayerModelDebug } } + public static class ServerProxy extends CommonProxy {} + public static class ClientProxy extends CommonProxy { @Override