Skip to content

Commit 61dff3a

Browse files
LasmGratelTakakura-Anri
authored andcommitted
simple impl, bump to 1.2.6
1 parent 5f5a862 commit 61dff3a

26 files changed

+404
-554
lines changed

build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ buildscript {
1717
dependencies {
1818
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
1919
classpath 'co.riiid:gradle-github-plugin:0.4.2'
20-
classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.0.11'
20+
classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.4.0'
2121
}
2222
}
2323

@@ -30,20 +30,22 @@ compileJava {
3030
sourceCompatibility = targetCompatibility = "1.8"
3131
}
3232

33-
version = "1.2.5.1"
33+
version = "1.2.6"
3434
group= "net.infstudio.gokistats" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
3535
archivesBaseName = "gokiStats"
3636

3737
minecraft {
38-
version = "1.12.2-14.23.4.2705"
38+
version = "1.12.2-14.23.5.2768"
3939
runDir = "../run"
4040

4141
// the mappings can be changed at any time, and must be in the following format.
4242
// snapshot_YYYYMMDD snapshot are built nightly.
4343
// stable_# stables are built at the discretion of the MCP team.
4444
// Use non-default mappings at your own risk. they may not allways work.
4545
// simply re-run your setup task after changing the mappings to update your workspace.
46-
mappings = "snapshot_20180712"
46+
mappings = "stable_39"
47+
48+
replace "@version@", project.version
4749
}
4850

4951
dependencies {

src/main/java/net/infstudio/goki/GokiStats.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import net.infstudio.goki.common.config.Configurable;
77
import net.infstudio.goki.common.config.GokiConfig;
88
import net.infstudio.goki.common.init.MinecraftEffects;
9-
import net.infstudio.goki.common.network.packet.*;
109
import net.infstudio.goki.common.stats.StatBase;
1110
import net.infstudio.goki.common.stats.Stats;
1211
import net.infstudio.goki.common.utils.Reference;
@@ -24,8 +23,6 @@
2423

2524
@Mod(modid = Reference.MODID, useMetadata = true, updateJSON = "https://infinitystudio.github.io/Updates/gokistats.json")
2625
public class GokiStats {
27-
public static final PacketPipeline packetPipeline = new PacketPipeline();
28-
2926
@Mod.Instance(Reference.MODID)
3027
public static GokiStats instance;
3128

@@ -73,19 +70,11 @@ public void preInit(FMLPreInitializationEvent event) {
7370

7471
@Mod.EventHandler
7572
public void init(FMLInitializationEvent event) {
76-
packetPipeline.initialise();
77-
packetPipeline.registerPacket(PacketStatSync.class);
78-
packetPipeline.registerPacket(PacketStatAlter.Up.class);
79-
packetPipeline.registerPacket(PacketStatAlter.Down.class);
80-
packetPipeline.registerPacket(PacketSyncXP.class);
81-
packetPipeline.registerPacket(PacketSyncStatConfig.class);
82-
8373
proxy.registerHandlers();
8474
}
8575

8676
@Mod.EventHandler
8777
public void postInit(FMLPostInitializationEvent event) {
88-
packetPipeline.postInitialise();
8978
}
9079

9180
@Mod.EventHandler
@@ -102,4 +91,4 @@ public void serverStart(FMLServerStartingEvent event) {
10291
serverCommand.registerCommand(new StatsCommand());
10392
// TODO notice it's a reversion
10493
}
105-
}
94+
}

src/main/java/net/infstudio/goki/client/ClientProxy.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,10 @@ public void registerKeybinding() {
99
GokiKeyHandler keyHandler = new GokiKeyHandler();
1010
MinecraftForge.EVENT_BUS.register(keyHandler);
1111
}
12-
}
12+
13+
@Override
14+
public void registerHandlers() {
15+
super.registerHandlers();
16+
registerKeybinding();
17+
}
18+
}

src/main/java/net/infstudio/goki/client/gui/GuiStats.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package net.infstudio.goki.client.gui;
22

3-
import net.infstudio.goki.GokiStats;
43
import net.infstudio.goki.common.handlers.GokiKeyHandler;
5-
import net.infstudio.goki.common.network.packet.PacketStatAlter;
6-
import net.infstudio.goki.common.utils.DataHelper;
4+
import net.infstudio.goki.common.network.GokiPacketHandler;
5+
import net.infstudio.goki.common.network.message.C2SStatSync;
76
import net.infstudio.goki.common.stats.StatBase;
7+
import net.infstudio.goki.common.utils.DataHelper;
88
import net.minecraft.client.Minecraft;
99
import net.minecraft.client.gui.FontRenderer;
1010
import net.minecraft.client.gui.GuiButton;
1111
import net.minecraft.client.gui.GuiScreen;
12-
import net.minecraft.entity.player.EntityPlayer;
1312
import net.minecraft.client.resources.I18n;
13+
import net.minecraft.entity.player.EntityPlayer;
1414
import org.lwjgl.util.vector.Vector2f;
1515

1616
import java.io.IOException;
@@ -100,9 +100,9 @@ protected void actionPerformed(GuiButton button) {
100100
if ((button instanceof GuiStatButton)) {
101101
GuiStatButton statButton = (GuiStatButton) button;
102102
if (!GuiScreen.isCtrlKeyDown())
103-
GokiStats.packetPipeline.sendToServer(new PacketStatAlter.Up(StatBase.stats.indexOf(statButton.stat), 1));
103+
GokiPacketHandler.CHANNEL.sendToServer(new C2SStatSync(StatBase.stats.indexOf(statButton.stat), 1));
104104
else
105-
GokiStats.packetPipeline.sendToServer(new PacketStatAlter.Down(StatBase.stats.indexOf(statButton.stat), 1));
105+
GokiPacketHandler.CHANNEL.sendToServer(new C2SStatSync(StatBase.stats.indexOf(statButton.stat), -1));
106106
}
107107
}
108108
}
@@ -121,4 +121,4 @@ protected void keyTyped(char c, int keyCode) throws IOException {
121121
mc.player.closeScreen();
122122
}
123123
}
124-
}
124+
}

src/main/java/net/infstudio/goki/common/CommonProxy.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
import net.minecraftforge.fml.common.network.NetworkRegistry;
1010

1111
public class CommonProxy {
12-
public void registerKeybinding() {
13-
}
14-
1512
public void registerHandlers() {
1613
MinecraftForge.EVENT_BUS.register(new GokiStats());
1714
MinecraftForge.EVENT_BUS.register(new GokiSounds());
@@ -20,6 +17,5 @@ public void registerHandlers() {
2017

2118
NetworkRegistry.INSTANCE.registerGuiHandler(GokiStats.instance,
2219
new GuiHandler());
23-
registerKeybinding();
2420
}
25-
}
21+
}

src/main/java/net/infstudio/goki/common/config/GokiConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public static class GlobalModifiers {
2525
public float globalCostMultiplier = 1;
2626

2727
@Config.Name("Limit Multiplier")
28-
@Config.Comment("A flat multiplier on the level limit of all stats.")
28+
@Config.Comment("A flat multiplier on the amount limit of all stats.")
2929
public float globalLimitMultiplier = 2.5f;
3030

3131
@Config.Name("Bonus Multiplier")
@@ -40,8 +40,8 @@ public static class GlobalModifiers {
4040
@Config.Comment("Multiplier of levels you will lose, between 0~1.")
4141
public float loseStatsMultiplier = 1;
4242

43-
@Config.Name("Maximum revertable skill level")
44-
@Config.Comment("An integer that constrains the max number of level of the skill can be reverted. -1 for no limit. 0 to disable reverting.")
43+
@Config.Name("Maximum revertable skill amount")
44+
@Config.Comment("An integer that constrains the max number of amount of the skill can be reverted. -1 for no limit. 0 to disable reverting.")
4545
public int globalMaxRevertLevel = -1;
4646

4747
@Config.Name("Revert Factor")

src/main/java/net/infstudio/goki/common/handlers/CommonHandler.java

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package net.infstudio.goki.common.handlers;
22

3-
import net.infstudio.goki.GokiStats;
43
import net.infstudio.goki.common.config.GokiConfig;
54
import net.infstudio.goki.common.init.GokiSounds;
65
import net.infstudio.goki.common.init.MinecraftEffects;
7-
import net.infstudio.goki.common.network.packet.PacketStatAlter;
8-
import net.infstudio.goki.common.network.packet.PacketSyncStatConfig;
6+
import net.infstudio.goki.common.network.GokiPacketHandler;
7+
import net.infstudio.goki.common.network.message.S2CSyncAll;
98
import net.infstudio.goki.common.stats.StatBase;
109
import net.infstudio.goki.common.stats.StatSpecial;
1110
import net.infstudio.goki.common.stats.Stats;
@@ -28,7 +27,10 @@
2827
import net.minecraftforge.common.config.Config;
2928
import net.minecraftforge.common.config.ConfigManager;
3029
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
31-
import net.minecraftforge.event.entity.living.*;
30+
import net.minecraftforge.event.entity.living.LivingEvent;
31+
import net.minecraftforge.event.entity.living.LivingFallEvent;
32+
import net.minecraftforge.event.entity.living.LivingHurtEvent;
33+
import net.minecraftforge.event.entity.living.LivingKnockBackEvent;
3234
import net.minecraftforge.event.entity.player.PlayerEvent;
3335
import net.minecraftforge.event.world.BlockEvent;
3436
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
@@ -122,23 +124,20 @@ public void playerJoinWorld(EntityJoinWorldEvent event) {
122124
if ((event.getEntity() instanceof EntityPlayer)) {
123125
EntityPlayer player = (EntityPlayer) event.getEntity();
124126
if (!player.world.isRemote) {
125-
GokiStats.packetPipeline.sendTo(new PacketSyncStatConfig(),
126-
(EntityPlayerMP) player);
127-
} else {
128-
GokiStats.packetPipeline.sendToServer(new PacketStatAlter(0, 0));
129-
}
127+
// Server side
128+
GokiPacketHandler.CHANNEL.sendTo(new S2CSyncAll(player), (EntityPlayerMP) player);
129+
} // Client side: Do nothing
130130
}
131131
}
132132

133133
@SubscribeEvent
134134
public void onPlayerRespawn(PlayerRespawnEvent event) {
135135
EntityPlayer player = event.player;
136136
if (!player.world.isRemote) {
137-
GokiStats.packetPipeline.sendTo(new PacketSyncStatConfig(),
138-
(EntityPlayerMP) player);
139-
} else {
140-
GokiStats.packetPipeline.sendToServer(new PacketStatAlter(0, 0));
141-
}
137+
// Server side
138+
GokiPacketHandler.CHANNEL.sendTo(new S2CSyncAll(player), (EntityPlayerMP) player);
139+
} // Client side: Do nothing
140+
142141
}
143142

144143
@SubscribeEvent
@@ -154,16 +153,15 @@ public void playerFall(LivingFallEvent event) {
154153
}
155154

156155
@SubscribeEvent
157-
public void playerDead(LivingDeathEvent event) {
158-
if ((event.getEntityLiving() instanceof EntityPlayer)) {
159-
EntityPlayer player = (EntityPlayer) event.getEntityLiving();
160-
if (GokiConfig.globalModifiers.loseStatsOnDeath) {
161-
for (int stat = 0; stat < StatBase.totalStats; stat++) {
162-
DataHelper.multiplyPlayerStatLevel(player,
163-
StatBase.stats.get(stat),
164-
level -> level - (int) GokiConfig.globalModifiers.loseStatsMultiplier * level);
165-
}
156+
public void playerRespawn(PlayerRespawnEvent event) {
157+
EntityPlayer player = event.player;
158+
if (!player.world.isRemote && GokiConfig.globalModifiers.loseStatsOnDeath) {
159+
for (int stat = 0; stat < StatBase.totalStats; stat++) {
160+
DataHelper.multiplyPlayerStatLevel(player,
161+
StatBase.stats.get(stat),
162+
level -> level - (int) GokiConfig.globalModifiers.loseStatsMultiplier * level);
166163
}
164+
GokiPacketHandler.CHANNEL.sendTo(new S2CSyncAll(player), (EntityPlayerMP) player);
167165
}
168166
}
169167

@@ -298,4 +296,4 @@ public void configChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
298296
ConfigManager.sync(Reference.MODID, Config.Type.INSTANCE);
299297
}
300298
}
301-
}
299+
}

src/main/java/net/infstudio/goki/common/handlers/TickHandler.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package net.infstudio.goki.common.handlers;
22

3-
import net.infstudio.goki.common.utils.DataHelper;
43
import net.infstudio.goki.common.stats.Stats;
5-
import net.infstudio.goki.common.utils.Reference;
4+
import net.infstudio.goki.common.utils.DataHelper;
65
import net.minecraft.entity.EntityLivingBase;
76
import net.minecraft.entity.MoverType;
87
import net.minecraft.entity.SharedMonsterAttributes;
@@ -13,7 +12,6 @@
1312
import net.minecraft.tileentity.TileEntityFurnace;
1413
import net.minecraft.util.math.BlockPos;
1514
import net.minecraft.util.math.MathHelper;
16-
import net.minecraftforge.fml.common.Mod;
1715
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
1816
import net.minecraftforge.fml.common.gameevent.TickEvent;
1917

@@ -28,31 +26,33 @@ public class TickHandler {
2826

2927
@SubscribeEvent
3028
public void playerTick(TickEvent.PlayerTickEvent event) {
31-
EntityPlayer player = event.player;
29+
if (event.phase == TickEvent.Phase.END) { // Due to issue #32
30+
EntityPlayer player = event.player;
3231

33-
handleTaskPlayerAPI(player);
32+
handleTaskPlayerAPI(player);
3433

35-
IAttributeInstance atinst = player.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED);
36-
AttributeModifier mod = new AttributeModifier(stealthSpeedID, "SneakSpeed", Stats.STEALTH.getBonus(player) / 100.0F, 1);
37-
if (player.isSneaking()) {
38-
if (atinst.getModifier(stealthSpeedID) == null) {
39-
atinst.applyModifier(mod);
34+
IAttributeInstance atinst = player.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED);
35+
AttributeModifier mod = new AttributeModifier(stealthSpeedID, "SneakSpeed", Stats.STEALTH.getBonus(player) / 100.0F, 1);
36+
if (player.isSneaking()) {
37+
if (atinst.getModifier(stealthSpeedID) == null) {
38+
atinst.applyModifier(mod);
39+
}
40+
} else if (atinst.getModifier(stealthSpeedID) != null) {
41+
atinst.removeModifier(mod);
4042
}
41-
} else if (atinst.getModifier(stealthSpeedID) != null) {
42-
atinst.removeModifier(mod);
43-
}
4443

45-
atinst = player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE);
46-
mod = new AttributeModifier(knockbackResistanceID, "KnockbackResistance", Stats.STEADY_GUARD.getBonus(player), 0);
47-
if (player.isActiveItemStackBlocking()) {
48-
if (atinst.getModifier(knockbackResistanceID) == null) {
49-
atinst.applyModifier(mod);
44+
atinst = player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE);
45+
mod = new AttributeModifier(knockbackResistanceID, "KnockbackResistance", Stats.STEADY_GUARD.getBonus(player), 0);
46+
if (player.isActiveItemStackBlocking()) {
47+
if (atinst.getModifier(knockbackResistanceID) == null) {
48+
atinst.applyModifier(mod);
49+
}
50+
} else if (atinst.getModifier(knockbackResistanceID) != null) {
51+
atinst.removeModifier(mod);
5052
}
51-
} else if (atinst.getModifier(knockbackResistanceID) != null) {
52-
atinst.removeModifier(mod);
53-
}
5453

55-
handleFurnace(player);
54+
handleFurnace(player);
55+
}
5656
}
5757

5858
public static boolean isJumping(EntityLivingBase livingBase) {
@@ -131,7 +131,7 @@ private void handleFurnace(EntityPlayer player) {
131131
ArrayList<TileEntityFurnace> furnacesAroundPlayer = new ArrayList<>();
132132

133133
for (TileEntity listEntity : player.world.loadedTileEntityList) {
134-
if (listEntity instanceof TileEntity) {
134+
if (listEntity != null) {
135135
TileEntity tileEntity = (TileEntity) listEntity;
136136
BlockPos pos = tileEntity.getPos();
137137
if (tileEntity instanceof TileEntityFurnace && MathHelper.sqrt(player.getDistanceSq(pos)) < 4.0D) {

src/main/java/net/infstudio/goki/common/network/packet/GokiPacket.java renamed to src/main/java/net/infstudio/goki/common/network/GokiPacket.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.infstudio.goki.common.network.packet;
1+
package net.infstudio.goki.common.network;
22

33
import io.netty.buffer.ByteBuf;
44
import io.netty.channel.ChannelHandlerContext;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package net.infstudio.goki.common.network;
2+
3+
import net.infstudio.goki.common.network.handler.PacketSyncClientHandler;
4+
import net.infstudio.goki.common.network.handler.PacketSyncHandler;
5+
import net.infstudio.goki.common.network.message.C2SStatSync;
6+
import net.infstudio.goki.common.network.message.S2CStatSync;
7+
import net.infstudio.goki.common.network.message.S2CSyncAll;
8+
import net.infstudio.goki.common.utils.Reference;
9+
import net.minecraftforge.fml.common.network.NetworkRegistry;
10+
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
11+
import net.minecraftforge.fml.relauncher.Side;
12+
13+
public class GokiPacketHandler {
14+
public static final SimpleNetworkWrapper CHANNEL = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.MODID);
15+
16+
static {
17+
CHANNEL.registerMessage(new PacketSyncHandler.Stat(), C2SStatSync.class, 0, Side.SERVER);
18+
CHANNEL.registerMessage(PacketSyncClientHandler.StatAll.class, S2CSyncAll.class, 1, Side.CLIENT);
19+
CHANNEL.registerMessage(PacketSyncClientHandler.Stat.class, S2CStatSync.class, 2, Side.CLIENT);
20+
// CHANNEL.registerMessage(new PacketConfigHandler(), MessageConfig.class, 0, Side.CLIENT);
21+
22+
// CHANNEL.registerMessage(new PacketSyncHandler.XP(), MessageXPSync.class, 0, Side.SERVER);
23+
}
24+
}

0 commit comments

Comments
 (0)