init
This commit is contained in:
112
src/main/java/com/punkcraft/punkapi/PunkAPI.java
Normal file
112
src/main/java/com/punkcraft/punkapi/PunkAPI.java
Normal file
@ -0,0 +1,112 @@
|
||||
package com.punkcraft.punkapi;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
import net.minecraft.entity.ai.attributes.IAttributeInstance;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSword;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
import net.minecraft.network.play.client.CPacketCustomPayload;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@Mod(modid = PunkAPI.MODID, name = PunkAPI.NAME, version = PunkAPI.VERSION)
|
||||
public class PunkAPI {
|
||||
public static final String MODID = "punkapi";
|
||||
public static final String NAME = "PunkAPI";
|
||||
public static final String VERSION = "1.0";
|
||||
private String token;
|
||||
private ItemStack prevMainHandItem = ItemStack.EMPTY;
|
||||
|
||||
@Mod.EventHandler
|
||||
public void init(FMLInitializationEvent event) {
|
||||
token = System.getProperty("token");
|
||||
String c = System.getProperty("c");
|
||||
|
||||
if (c == null || !c.equals("ea42ba5b1a35b89e628e07f881198144")) {
|
||||
// Minecraft.getMinecraft().shutdown();
|
||||
}
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
File minecraftDir = Minecraft.getMinecraft().mcDataDir.getAbsoluteFile().getParentFile();
|
||||
String directoryName = minecraftDir.getName();
|
||||
|
||||
if (!"ZombieExtrieme".equals(directoryName)) {
|
||||
Minecraft.getMinecraft().shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void onClientConnected(FMLNetworkEvent.ClientConnectedToServerEvent event) {
|
||||
NetworkManager networkManager = event.getManager();
|
||||
sendToken(networkManager);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onClientItemChange(TickEvent.ClientTickEvent event) {
|
||||
EntityPlayerSP player = Minecraft.getMinecraft().player;
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack currentMainHandItem = player.getHeldItemMainhand();
|
||||
|
||||
if (!ItemStack.areItemStacksEqual(prevMainHandItem, currentMainHandItem)) {
|
||||
onItemChange(player, currentMainHandItem);
|
||||
prevMainHandItem = currentMainHandItem.copy();
|
||||
}
|
||||
}
|
||||
|
||||
private void onItemChange(EntityPlayer player, ItemStack newItem) {
|
||||
IAttributeInstance attribute = player.getEntityAttribute(EntityPlayer.REACH_DISTANCE);
|
||||
|
||||
if (newItem.getItem() instanceof ItemSword) {
|
||||
attribute.setBaseValue(1.17);
|
||||
} else if (newItem.getItem() == Items.WOODEN_AXE) {
|
||||
attribute.setBaseValue(0);
|
||||
} else {
|
||||
attribute.setBaseValue(4.0);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
Minecraft.getMinecraft().gameSettings.gammaSetting = 0.0f;
|
||||
}
|
||||
|
||||
private void sendToken(NetworkManager networkManager) {
|
||||
String playerName = Minecraft.getMinecraft().getSession().getUsername();
|
||||
|
||||
ByteArrayDataOutput out = ByteStreams.newDataOutput();
|
||||
//out.writeUTF(token);
|
||||
out.writeUTF("ea42ba5b1a35b89e628e07f881198144");
|
||||
out.writeUTF(playerName);
|
||||
out.writeUTF("ea42ba5b1a35b89e628e07f881198144");
|
||||
|
||||
CPacketCustomPayload packet = new CPacketCustomPayload("custom:token",
|
||||
new PacketBuffer(Unpooled.wrappedBuffer(out.toByteArray())));
|
||||
networkManager.sendPacket(packet);
|
||||
}
|
||||
}
|
||||
16
src/main/resources/mcmod.info
Normal file
16
src/main/resources/mcmod.info
Normal file
@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
"modid": "pkapi",
|
||||
"name": "PKAPI",
|
||||
"description": "",
|
||||
"version": "${version}",
|
||||
"mcversion": "${mcversion}",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
"authorList": ["PIVODEVAT"],
|
||||
"credits": "",
|
||||
"logoFile": "",
|
||||
"screenshots": [],
|
||||
"dependencies": []
|
||||
}
|
||||
]
|
||||
7
src/main/resources/pack.mcmeta
Normal file
7
src/main/resources/pack.mcmeta
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"pack": {
|
||||
"description": "examplemod resources",
|
||||
"pack_format": 3,
|
||||
"_comment": "A pack_format of 3 should be used starting with Minecraft 1.11. All resources, including language files, should be lowercase (eg: en_us.lang). A pack_format of 2 will load your mod resources with LegacyV2Adapter, which requires language files to have uppercase letters (eg: en_US.lang)."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user