Skip to content

Commit 61cdd18

Browse files
ScribblePancakeTAS
authored andcommitted
Added ingame tutorial
Closed #11 Ready do realease the first alpha version I guess?
1 parent f1a3481 commit 61cdd18

File tree

8 files changed

+329
-1
lines changed

8 files changed

+329
-1
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ apply plugin: 'org.spongepowered.mixin'
1919
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
2020

2121

22-
version = "Alpha1"
22+
version = "Alpha2"
2323
group = "de.scribble.lp.tastools" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
2424
archivesBaseName = "TASmod-1.12.2"
2525

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,34 @@
11
package de.scribble.lp.tasmod;
22

3+
import de.scribble.lp.tasmod.tutorial.TutorialHandler;
34
import net.minecraftforge.common.MinecraftForge;
5+
import net.minecraftforge.common.config.Configuration;
46
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
57
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
68
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
79

810
public class ClientProxy extends CommonProxy{
911

12+
public static Configuration config;
13+
14+
static TutorialHandler playbackTutorial;
15+
1016
public void preInit(FMLPreInitializationEvent ev) {
17+
config = new Configuration(ev.getSuggestedConfigurationFile());
18+
Config.reloadClientConfig(config);
1119
super.preInit(ev);
1220
}
1321
public void init(FMLInitializationEvent ev) {
22+
playbackTutorial=new TutorialHandler((short)1);
1423
MinecraftForge.EVENT_BUS.register(new InfoGui());
24+
MinecraftForge.EVENT_BUS.register(playbackTutorial);
25+
1526
super.init(ev);
1627
}
1728
public void postInit(FMLPostInitializationEvent ev) {
1829
super.postInit(ev);
1930
}
31+
public static TutorialHandler getPlaybackTutorial() {
32+
return playbackTutorial;
33+
}
2034
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package de.scribble.lp.tasmod;
2+
3+
import de.scribble.lp.tasmod.tutorial.TutorialHandler;
4+
import net.minecraftforge.common.config.Configuration;
5+
6+
public class Config {
7+
public static void reloadServerConfig(Configuration serverconfig) {
8+
9+
}
10+
public static void reloadClientConfig(Configuration clientconfig) {
11+
clientconfig.load();
12+
TutorialHandler.istutorial=clientconfig.get("Tutorial","Enabled",true,"If the tutorial is enabled").getBoolean();
13+
clientconfig.save();
14+
}
15+
}

src/main/java/de/scribble/lp/tasmod/ModLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import de.scribble.lp.tasmod.recording.CommandRecord;
88
import de.scribble.lp.tasmod.tickratechanger.CommandTickrate;
99
import de.scribble.lp.tasmod.ticksync.CommandTickSync;
10+
import de.scribble.lp.tasmod.tutorial.CommandPlaybacktutorial;
1011
import net.minecraft.server.MinecraftServer;
1112
import net.minecraftforge.fml.common.Mod;
1213
import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -60,6 +61,7 @@ public void serverStart(FMLServerStartingEvent ev) {
6061
ev.registerServerCommand(new CommandTickSync());
6162
ev.registerServerCommand(new CommandRecord());
6263
ev.registerServerCommand(new CommandPlay());
64+
ev.registerServerCommand(new CommandPlaybacktutorial());
6365
}
6466
public static ModLoader getInstance() {
6567
return instance;

src/main/java/de/scribble/lp/tasmod/playback/InputPlayback.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import org.apache.logging.log4j.LogManager;
1111
import org.apache.logging.log4j.Logger;
1212

13+
import de.scribble.lp.tasmod.ClientProxy;
14+
import de.scribble.lp.tasmod.tutorial.TutorialHandler;
1315
import de.scribble.lp.tasmod.virtual.VirtualKeyboardEvent;
1416
import de.scribble.lp.tasmod.virtual.VirtualMouseAndKeyboard;
1517
import de.scribble.lp.tasmod.virtual.VirtualMouseEvent;
@@ -48,6 +50,10 @@ public static void startPlayback(File file, String filename) {
4850
playingback=true;
4951
playbackIndex=-1;
5052
subtickPlaybackindex=-1;
53+
TutorialHandler tutorial= ClientProxy.getPlaybackTutorial();
54+
if(tutorial.istutorial&&tutorial.getState()==6) {
55+
tutorial.advanceState();
56+
}
5157
// Minecraft.getMinecraft().randommanager.setEntityRandomnessAll(0);
5258
// RandomLogger.startRandomLogging();
5359
}else {
@@ -56,6 +62,10 @@ public static void startPlayback(File file, String filename) {
5662
}
5763
public static void stopPlayback() {
5864
if(isPlayingback()) {
65+
TutorialHandler tutorial= ClientProxy.getPlaybackTutorial();
66+
if(tutorial.istutorial&&tutorial.getState()==7) {
67+
tutorial.advanceState();
68+
}
5969
playingback=false;
6070
inputList=new ArrayList<TickFrame>();
6171
subtickList=new ArrayList<VirtualSubticks>();

src/main/java/de/scribble/lp/tasmod/recording/InputRecorder.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import org.apache.logging.log4j.Logger;
99
import org.lwjgl.input.Keyboard;
1010

11+
import de.scribble.lp.tasmod.ClientProxy;
12+
import de.scribble.lp.tasmod.tutorial.TutorialHandler;
1113
import de.scribble.lp.tasmod.virtual.VirtualKeyboardEvent;
1214
import de.scribble.lp.tasmod.virtual.VirtualMouseAndKeyboard;
1315
import de.scribble.lp.tasmod.virtual.VirtualMouseEvent;
@@ -59,6 +61,10 @@ public static void startRecording(String filename) {
5961
// Minecraft.getMinecraft().randommanager.setEntityRandomnessAll(0);
6062
// RandomLogger.startRandomLogging();
6163
// new SavestateHandlerClient().saveState();
64+
TutorialHandler tutorial= ClientProxy.getPlaybackTutorial();
65+
if(tutorial.istutorial&&tutorial.getState()==3) {
66+
tutorial.advanceState();
67+
}
6268
}else {
6369
logger.error("There is already a recording running!");
6470
}
@@ -195,6 +201,10 @@ public static void stopRecording() {
195201
recording=false;
196202
Thread t = new Thread(new FileWriterThread(output, fileLocation, logger), "FileWriterThreadTicks");
197203
t.start();
204+
TutorialHandler tutorial= ClientProxy.getPlaybackTutorial();
205+
if(tutorial.istutorial&&tutorial.getState()==4) {
206+
tutorial.advanceState();
207+
}
198208
// Thread t2 = new Thread(new FileWriterThread(outputSubtick, fileLocationSubTick, logger), "FileWriterThreadSubtick");
199209
// t2.start();
200210
// RandomLogger.stopRandomLogging();
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package de.scribble.lp.tasmod.tutorial;
2+
3+
import de.scribble.lp.tasmod.ClientProxy;
4+
import net.minecraft.command.CommandBase;
5+
import net.minecraft.command.CommandException;
6+
import net.minecraft.command.ICommandSender;
7+
import net.minecraft.entity.player.EntityPlayer;
8+
import net.minecraft.server.MinecraftServer;
9+
10+
public class CommandPlaybacktutorial extends CommandBase{
11+
12+
@Override
13+
public String getName() {
14+
return "playbacktutorial";
15+
}
16+
17+
@Override
18+
public String getUsage(ICommandSender sender) {
19+
return "/playbacktutorial";
20+
}
21+
22+
@Override
23+
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
24+
if(sender instanceof EntityPlayer) {
25+
if(!server.isDedicatedServer()) {
26+
TutorialHandler handler=ClientProxy.getPlaybackTutorial();
27+
if(handler.istutorial) {
28+
handler.istutorial=false;
29+
ClientProxy.config.get("Tutorial","Enabled",true,"If the tutorial is enabled").set(false);
30+
ClientProxy.config.save();
31+
}else {
32+
handler.setState((short)1);
33+
handler.istutorial=true;
34+
}
35+
}
36+
}
37+
}
38+
}

0 commit comments

Comments
 (0)