Skip to content
This repository has been archived by the owner on Feb 1, 2022. It is now read-only.

Commit

Permalink
Upgraded to 1.7.2
Browse files Browse the repository at this point in the history
Yeah, that's right! RecMod has been finally updated to 1.7.2!
Note: KeyBinds broken
  • Loading branch information
fuj1n committed May 1, 2014
1 parent f734411 commit 7c3958c
Show file tree
Hide file tree
Showing 18 changed files with 656 additions and 319 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ buildscript {

}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.0-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}

Expand Down
4 changes: 2 additions & 2 deletions build.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
minecraft_version=1.6.4
forge_version=9.11.1.964
minecraft_version=1.7.2
forge_version=10.12.1.1060
Binary file added pub_build/RecStatusMod-v1.3-MC1.7.2.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions resources/mcmod.info
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"modid": "fuj1n.recmod",
"name": "Recording Status Mod",
"description": "Record/Stream status in the players list, /rec <r/s> to toggle",
"version": "v1.1",
"mcversion": "1.6.4",
"version": "v1.3",
"mcversion": "1.7.2",
"url": "",
"updateUrl": "",
"authors": [
Expand Down
167 changes: 82 additions & 85 deletions src/fuj1n/recmod/RecMod.java
Original file line number Diff line number Diff line change
@@ -1,126 +1,132 @@
package fuj1n.recmod;

import fuj1n.recmod.command.CommandRec;
import java.io.*;
import java.util.*;

import cpw.mods.fml.common.*;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.network.*;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import fuj1n.recmod.client.event.*;
import fuj1n.recmod.client.keybind.KeyHandlerRecMod;
import fuj1n.recmod.network.*;
import java.io.*;
import java.util.*;
import fuj1n.recmod.command.CommandRec;
import fuj1n.recmod.network.PlayerTracker;
import fuj1n.recmod.network.packet.*;
import net.minecraft.command.ServerCommandManager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.entity.player.*;
import net.minecraft.server.MinecraftServer;
import net.minecraftforge.common.MinecraftForge;

@Mod(name="Recording Status Mod", version="1.3", modid="fuj1n.recmod")
@NetworkMod(clientSideRequired=true, channels = {"recModData", "recModDataC", "recModUI"}, packetHandler=PacketHandler.class, serverSideRequired=false)
public class RecMod {
@Mod(name = "Recording Status Mod", version = "v1.3", modid = "fuj1n.recmod")
public class RecMod {

@Instance("fuj1n.recmod")
public static RecMod instance;

public static final PacketPipeline packetPipeline = new PacketPipeline();

private static HashMap<String, Boolean> recorders = new HashMap<String, Boolean>();
private static HashMap<String, Boolean> streamers = new HashMap<String, Boolean>();

public boolean showSelf = true;
public boolean showUI = false;

public String sheetLocation = "recmod:textures/sheets/indicators.png";

public boolean showSelfDef = false;

public File configFile;

@EventHandler
public void preinit(FMLPreInitializationEvent event){
GameRegistry.registerPlayerTracker(new PlayerTracker());
public void preinit(FMLPreInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new PlayerTracker());
configFile = new File(event.getModConfigurationDirectory(), "recmod.ui");
if(event.getSide() == Side.CLIENT){

if (event.getSide() == Side.CLIENT) {
readFromFile();
MinecraftForge.EVENT_BUS.register(new EventRenderGame());
MinecraftForge.EVENT_BUS.register(new EventEntityJoinWorld());

//WIP

KeyHandlerRecMod.registerSelf();
}
}

@EventHandler
public void init(FMLInitializationEvent event){
public void init(FMLInitializationEvent event) {
packetPipeline.initialise();

PacketPipeline pp = packetPipeline;
//Packet Registration
pp.registerPacket(PacketUpdatePlayerStatus.class);
pp.registerPacket(PacketRemovePlayer.class);
pp.registerPacket(PacketChangeUISettings.class);
pp.registerPacket(PacketChangeUISheet.class);
}

@EventHandler
public void postinit(FMLPostInitializationEvent event){

public void postinit(FMLPostInitializationEvent event) {
packetPipeline.postInitialise();
}

@EventHandler
public void serverStart(FMLServerStartedEvent event){
public void serverStart(FMLServerStartedEvent event) {
if (MinecraftServer.getServer() == null) {
return;
}

recorders = new HashMap<String, Boolean>();
streamers = new HashMap<String, Boolean>();
ServerCommandManager handler = (ServerCommandManager)MinecraftServer.getServer().getCommandManager();

ServerCommandManager handler = (ServerCommandManager) MinecraftServer.getServer().getCommandManager();
handler.registerCommand(new CommandRec());
}
public void updatePlayerInformation(String username, int type, boolean flag){

public void updatePlayerInformation(String username, int type, boolean flag) {
HashMap<String, Boolean> modifyMap;
if(type == 0){
if (type == 0) {
modifyMap = recorders;
}else{
} else {
modifyMap = streamers;
}

modifyMap.put(username, flag);
}
public boolean isPlayerRecording(String username){
if(username == null){

public boolean isPlayerRecording(String username) {
if (username == null) {
return false;
}

return recorders.get(username) != null ? recorders.get(username) : false;
}
public boolean isPlayerStreaming(String username){
if(username == null){

public boolean isPlayerStreaming(String username) {
if (username == null) {
return false;
}
return streamers.get(username) != null ? streamers.get(username) : false;
}
public void onUIStateChanged(){

public void onUIStateChanged() {
writeToFile();
}
public void onSheetChanged(){

public void onSheetChanged() {
writeToFile();
}

public void readFromFile() {
if(!configFile.exists()){
if (!configFile.exists()) {
return;
}

try {
BufferedReader b = new BufferedReader(new FileReader(configFile));
String line1 = b.readLine();
String line2 = b.readLine();
String line3 = b.readLine();

showSelfDef = convertToBoolean(line1);
showUI = convertToBoolean(line2);
sheetLocation = line3 != null && !line3.equals("") ? line3 : sheetLocation;
Expand All @@ -131,14 +137,15 @@ public void readFromFile() {
//e.printStackTrace();
}
}
public boolean convertToBoolean(String s){
try{

public boolean convertToBoolean(String s) {
try {
return Boolean.parseBoolean(s);
}catch(Exception e){}
} catch (Exception e) {
}
return false;
}

public void writeToFile() {
configFile.delete();
try {
Expand All @@ -154,46 +161,36 @@ public void writeToFile() {
e.printStackTrace();
}
}
public int calculateNumber(){

public int calculateNumber() {
ArrayList<String> list = new ArrayList<String>();




return list.size();
}
public void removeUnneededData(String username){

public void removeUnneededData(String username) {
recorders.remove(username);
streamers.remove(username);
}
public void sendDataToPlayer(EntityPlayer player){
for(int i = 0; i < recorders.size(); i++){

public void sendDataToPlayer(EntityPlayer player) {
for (int i = 0; i < recorders.size(); i++) {
sendPacket(player, recorders.keySet().toArray()[i].toString(), 0, Boolean.parseBoolean(recorders.values().toArray()[i].toString()));
}
for(int i = 0; i < streamers.size(); i++){

for (int i = 0; i < streamers.size(); i++) {
sendPacket(player, streamers.keySet().toArray()[i].toString(), 1, Boolean.parseBoolean(streamers.values().toArray()[i].toString()));
}
}

public void sendPacket(EntityPlayer target, String player, int type, boolean flag){
ByteArrayOutputStream bos = new ByteArrayOutputStream(8);
DataOutputStream outputStream = new DataOutputStream(bos);
try {
outputStream.writeUTF(player);
outputStream.writeInt(type);
outputStream.writeBoolean(flag);
} catch (Exception ex) {
ex.printStackTrace();
}

Packet250CustomPayload packet = new Packet250CustomPayload();
packet.channel = "recModData";
packet.data = bos.toByteArray();
packet.length = bos.size();
PacketDispatcher.sendPacketToPlayer(packet, (Player)target);
public void sendPacket(EntityPlayer target, String player, int type, boolean flag) {
PacketUpdatePlayerStatus pckt = new PacketUpdatePlayerStatus(player, type, flag);
if(target instanceof EntityPlayerMP){
System.out.println("target = MP");
packetPipeline.sendTo(pckt, (EntityPlayerMP)target);
}else{
System.out.println("target != MP");
}
}

}
4 changes: 2 additions & 2 deletions src/fuj1n/recmod/client/event/EventEntityJoinWorld.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package fuj1n.recmod.client.event;

import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import fuj1n.recmod.RecMod;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;

public class EventEntityJoinWorld {

@ForgeSubscribe
@SubscribeEvent
public void onEntityJoin(EntityJoinWorldEvent event){
if(event.entity instanceof EntityPlayer){
Minecraft mc = Minecraft.getMinecraft().getMinecraft();
Expand Down
32 changes: 16 additions & 16 deletions src/fuj1n/recmod/client/event/EventRenderGame.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
package fuj1n.recmod.client.event;

import org.lwjgl.input.Keyboard;
import java.util.List;

import fuj1n.recmod.lib.IndexReference;
import org.lwjgl.opengl.GL11;

import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import fuj1n.recmod.RecMod;
import java.util.List;
import fuj1n.recmod.lib.IndexReference;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.*;
import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.scoreboard.*;
import net.minecraft.util.*;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.scoreboard.ScorePlayerTeam;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.event.ForgeSubscribe;
import org.lwjgl.opengl.GL11;

public class EventRenderGame extends Gui {

private String sheetLocation = RecMod.instance.sheetLocation;
private ResourceLocation indicators = new ResourceLocation(sheetLocation);

@ForgeSubscribe
@SubscribeEvent
public void onRenderGameOverlay(RenderGameOverlayEvent event) {
if(!sheetLocation.equals(RecMod.instance.sheetLocation)){
sheetLocation = RecMod.instance.sheetLocation;
Expand All @@ -31,9 +30,10 @@ public void onRenderGameOverlay(RenderGameOverlayEvent event) {
return;
}
Minecraft mc = Minecraft.getMinecraft();
if (mc.gameSettings.keyBindPlayerList.pressed && (!mc.isIntegratedServerRunning() || mc.thePlayer.sendQueue.playerInfoList.size() > 1)) {
NetClientHandler netclienthandler = mc.thePlayer.sendQueue;
List list = netclienthandler.playerInfoList;
if (mc.gameSettings.keyBindPlayerList.getIsKeyPressed() && (!mc.isIntegratedServerRunning() || mc.thePlayer.sendQueue.playerInfoList.size() > 1 || mc.theWorld.getScoreboard().func_96539_a(0) != null)) {
mc.mcProfiler.startSection("playerList");
NetHandlerPlayClient nethandlerplayclient = mc.thePlayer.sendQueue;
List list = nethandlerplayclient.playerInfoList;

int k = event.resolution.getScaledWidth();
int i2;
Expand All @@ -43,7 +43,7 @@ public void onRenderGameOverlay(RenderGameOverlayEvent event) {
int i3;
int j3;
int k3;
j2 = netclienthandler.currentServerMaxPlayers;
j2 = nethandlerplayclient.currentServerMaxPlayers;
l2 = j2;

for (k2 = 1; l2 > 20; l2 = (j2 + k2 - 1) / k2) {
Expand Down Expand Up @@ -86,12 +86,12 @@ public void onRenderGameOverlay(RenderGameOverlayEvent event) {
}
}
}
}else if(!mc.gameSettings.keyBindPlayerList.pressed && RecMod.instance.showSelf && mc.currentScreen == null){
}else if(!mc.gameSettings.keyBindPlayerList.getIsKeyPressed() && RecMod.instance.showSelf && mc.currentScreen == null){
int x = event.resolution.getScaledWidth() - 32;
int y = 0;

int indicatorRecIndex = RecMod.instance.isPlayerRecording(mc.thePlayer.username) ? 1 : 0;
int indicatorStrIndex = RecMod.instance.isPlayerStreaming(mc.thePlayer.username) ? 2 : 0;
int indicatorRecIndex = RecMod.instance.isPlayerRecording(mc.thePlayer.getCommandSenderName()) ? 1 : 0;
int indicatorStrIndex = RecMod.instance.isPlayerStreaming(mc.thePlayer.getCommandSenderName()) ? 2 : 0;

mc.getTextureManager().bindTexture(indicators);
drawTexturedModalRect(x, y, indicatorRecIndex * 16, (int)Math.floor(indicatorRecIndex / 16) * 16 + IndexReference.RESOLUTION_SPLIT_Y, 16, 16);
Expand Down
2 changes: 1 addition & 1 deletion src/fuj1n/recmod/client/gui/GuiSimple.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public GuiSimple() {

@Override
public void drawGuiContainerForegroundLayer(int par1, int par2) {
this.fontRenderer.drawString("Simple Gui", 8, this.ySize - 96 + 2, 4210752);
this.fontRendererObj.drawString("Simple Gui", 8, this.ySize - 96 + 2, 4210752);
}

@Override
Expand Down
Loading

0 comments on commit 7c3958c

Please sign in to comment.