Skip to content

Commit

Permalink
v1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Furgl committed May 25, 2016
1 parent c0d891b commit 4af2344
Show file tree
Hide file tree
Showing 6 changed files with 103 additions and 4 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
}

version = "1.8-1.1"
version = "1.8-1.2"
group= "furgl.autoPickup" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "AutoPickup"

Expand Down
16 changes: 15 additions & 1 deletion src/main/java/furgl/autoPickup/AutoPickup.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package furgl.autoPickup;

import org.lwjgl.input.Keyboard;

import furgl.autoPickup.event.AttackEntityEvents;
import furgl.autoPickup.event.BlockEvents;
import furgl.autoPickup.event.EntityInteractEvents;
Expand All @@ -8,36 +10,47 @@
import furgl.autoPickup.event.LivingEvents;
import furgl.autoPickup.event.PlaySoundAtEntityEvents;
import furgl.autoPickup.event.PlayerInteractEvents;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;

@Mod(modid = AutoPickup.MODID, name = AutoPickup.MODNAME, version = AutoPickup.VERSION)
public class AutoPickup
{
public static final String MODID = "autopickup";
public static final String MODNAME = "AutoPickup";
public static final String VERSION = "1.1";

public static SimpleNetworkWrapper network;
public static KeyBinding ignoreBlacklist = new KeyBinding("Ignore Blacklist", Keyboard.KEY_LMENU, "Auto Pickup");

@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
System.out.println(event.getSuggestedConfigurationFile());
network = NetworkRegistry.INSTANCE.newSimpleChannel("autoPickupChannel");
network.registerMessage(PacketIgnoreKey.Handler.class, PacketIgnoreKey.class, 1, Side.SERVER);
Config.init(event.getSuggestedConfigurationFile());
}

@EventHandler
public void init(FMLInitializationEvent event)
{
registerEventListeners();
ClientRegistry.registerKeyBinding(ignoreBlacklist);
}

@EventHandler
Expand All @@ -56,6 +69,7 @@ public void registerEventListeners()
MinecraftForge.EVENT_BUS.register(new PlayerInteractEvents());
MinecraftForge.EVENT_BUS.register(new EntityItemPickupEvents());
MinecraftForge.EVENT_BUS.register(new ItemTossEvents());
FMLCommonHandler.instance().bus().register(new IgnoreKey());
}

public static boolean addItem(EntityPlayer player, ItemStack itemStack, boolean giveIfCreative)
Expand Down
31 changes: 31 additions & 0 deletions src/main/java/furgl/autoPickup/IgnoreKey.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package furgl.autoPickup;

import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.Phase;
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class IgnoreKey
{
public static boolean isPressed;

public IgnoreKey()
{

}

@SideOnly(Side.CLIENT)
@SubscribeEvent
public void playerTick(PlayerTickEvent event)
{
if (event.side == Side.CLIENT && event.phase == Phase.START)
{
if ((AutoPickup.ignoreBlacklist.isPressed() || AutoPickup.ignoreBlacklist.isKeyDown()) != isPressed)
{
isPressed = AutoPickup.ignoreBlacklist.isPressed() || AutoPickup.ignoreBlacklist.isKeyDown();
AutoPickup.network.sendToServer(new PacketIgnoreKey(isPressed));
}
}
}
}
53 changes: 53 additions & 0 deletions src/main/java/furgl/autoPickup/PacketIgnoreKey.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package furgl.autoPickup;

import io.netty.buffer.ByteBuf;
import net.minecraft.util.IThreadListener;
import net.minecraft.world.WorldServer;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;

public class PacketIgnoreKey implements IMessage
{
protected boolean pressed;

public PacketIgnoreKey()
{

}

public PacketIgnoreKey(boolean pressed)
{
this.pressed = pressed;
}

@Override
public void fromBytes(ByteBuf buf)
{
this.pressed = buf.readBoolean();
}

@Override
public void toBytes(ByteBuf buf)
{
buf.writeBoolean(pressed);
}

public static class Handler implements IMessageHandler<PacketIgnoreKey, IMessage>
{
@Override
public IMessage onMessage(final PacketIgnoreKey packet, final MessageContext ctx)
{
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
IgnoreKey.isPressed = packet.pressed;
}
});
return null;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package furgl.autoPickup.event;

import furgl.autoPickup.Config;
import furgl.autoPickup.IgnoreKey;
import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
Expand All @@ -11,7 +12,7 @@ public class EntityItemPickupEvents
public void onEvent(EntityItemPickupEvent event)
{
Config.syncFromConfig(event.entityPlayer.getName());
if (Config.blacklistNames.contains(event.item.getEntityItem().getItem().getItemStackDisplayName(event.item.getEntityItem()).replace(" ", "_")))
if (!IgnoreKey.isPressed && Config.blacklistNames.contains(event.item.getEntityItem().getItem().getItemStackDisplayName(event.item.getEntityItem()).replace(" ", "_")))
{
event.item.setDefaultPickupDelay();
event.setCanceled(true);
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/mcmod.info
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"modid": "autopickup",
"name": "AutoPickup",
"description": "Allows items to be picked up automatically or blacklisted and never picked up.",
"version": "1.1",
"version": "1.2",
"mcversion": "1.8",
"url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2566182-1-8-furgls-mods-auto-pickup-baby-mobs",
"updateUrl": "",
Expand Down

0 comments on commit 4af2344

Please sign in to comment.