diff options
Diffstat (limited to 'src/Java/api/player/forge')
| -rw-r--r-- | src/Java/api/player/forge/PlayerAPIContainer.java | 50 | ||||
| -rw-r--r-- | src/Java/api/player/forge/PlayerAPIPlugin.java | 57 | ||||
| -rw-r--r-- | src/Java/api/player/forge/PlayerAPITransformer.java | 37 |
3 files changed, 144 insertions, 0 deletions
diff --git a/src/Java/api/player/forge/PlayerAPIContainer.java b/src/Java/api/player/forge/PlayerAPIContainer.java new file mode 100644 index 0000000000..8241ea4c18 --- /dev/null +++ b/src/Java/api/player/forge/PlayerAPIContainer.java @@ -0,0 +1,50 @@ +// ================================================================== +// This file is part of Player API. +// +// Player API is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// Player API is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License and the GNU General Public License along with Player API. +// If not, see <http://www.gnu.org/licenses/>. +// ================================================================== + +package api.player.forge; + +import java.util.*; +import com.google.common.eventbus.*; +import cpw.mods.fml.common.*; + +public class PlayerAPIContainer extends DummyModContainer +{ + public PlayerAPIContainer() + { + super(createMetadata()); + } + + public boolean registerBus(EventBus bus, LoadController controller) + { + return true; + } + + private static ModMetadata createMetadata() + { + ModMetadata meta = new ModMetadata(); + + meta.modId = "PlayerAPI"; + meta.name = "Player API"; + meta.version = PlayerAPIPlugin.Version; + meta.description = "Player API for Minecraft Forge"; + meta.url = "http://www.minecraftforum.net/topic/738498-"; + meta.authorList = Arrays.asList(new String[] { "Divisor" }); + + return meta; + } +}
\ No newline at end of file diff --git a/src/Java/api/player/forge/PlayerAPIPlugin.java b/src/Java/api/player/forge/PlayerAPIPlugin.java new file mode 100644 index 0000000000..bab6e05a37 --- /dev/null +++ b/src/Java/api/player/forge/PlayerAPIPlugin.java @@ -0,0 +1,57 @@ +// ================================================================== +// This file is part of Player API. +// +// Player API is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// Player API is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License and the GNU General Public License along with Player API. +// If not, see <http://www.gnu.org/licenses/>. +// ================================================================== + +package api.player.forge; + +import java.util.*; + +import cpw.mods.fml.relauncher.*; + +@IFMLLoadingPlugin.MCVersion("1.7.10") +@IFMLLoadingPlugin.TransformerExclusions("api.player.forge") +public class PlayerAPIPlugin implements IFMLLoadingPlugin +{ + public static String Version = "1.4"; + + public static boolean isObfuscated; + + public String[] getASMTransformerClass() + { + return new String[] { "api.player.forge.PlayerAPITransformer" }; + } + + public String getModContainerClass() + { + return "api.player.forge.PlayerAPIContainer"; + } + + public String getSetupClass() + { + return null; + } + + public void injectData(Map<String, Object> data) + { + isObfuscated = (Boolean)data.get("runtimeDeobfuscationEnabled"); + } + + public String getAccessTransformerClass() + { + return null; + } +} diff --git a/src/Java/api/player/forge/PlayerAPITransformer.java b/src/Java/api/player/forge/PlayerAPITransformer.java new file mode 100644 index 0000000000..71173474d0 --- /dev/null +++ b/src/Java/api/player/forge/PlayerAPITransformer.java @@ -0,0 +1,37 @@ +// ================================================================== +// This file is part of Player API. +// +// Player API is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// Player API is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License and the GNU General Public License along with Player API. +// If not, see <http://www.gnu.org/licenses/>. +// ================================================================== + +package api.player.forge; + +import net.minecraft.launchwrapper.*; + +import api.player.client.*; +import api.player.server.*; + +public class PlayerAPITransformer implements IClassTransformer +{ + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if(transformedName.equals(ClientPlayerClassVisitor.targetClassName)) + return ClientPlayerClassVisitor.transform(bytes, PlayerAPIPlugin.isObfuscated); + else if(transformedName.equals(ServerPlayerClassVisitor.targetClassName)) + return ServerPlayerClassVisitor.transform(bytes, PlayerAPIPlugin.isObfuscated); + else + return bytes; + } +}
\ No newline at end of file |
