Skip to content

Commit d008914

Browse files
committed
Version 1.3.5 (for 1.20.6)
1 parent aab5471 commit d008914

29 files changed

+519
-218
lines changed

CHANGELOG.txt

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
===Version 1.3.5===
2+
-Updated recording format.
3+
4+
===Version 1.3.4===
5+
-Fixed an issue causing recording corruption when recording item or entity with NBT data containing non-ASCII characters (thanks to INV-PLA for reporting).
6+
-Fixed missing translation key for copying and renaming a scene.
7+
8+
===Version 1.3.3===
9+
-Fixed a compatibility issue with JourneyMap (issue reported by seriousfreezing).
10+
11+
===Version 1.3.2===
12+
-Placing fire with flint and steel is now recorded on Fabric (issue reported by Libreh).
13+
-Fixed issue with skin top layers when playing multiple players on version 1.19.2 and older (reported by fogartyfox_gamer).
14+
15+
===Version 1.3.1===
16+
-Added settings "fluentMovements" controlling distance to played entity for player to receive additional packets for more fluent movements (32 by default).
17+
-Fixed entity data synchronization issues.
18+
-Fixed packets being sent to players far away from played entities.
19+
-Fixed issue with horse armor not being set properly (reported by M7MEDpro).
20+
-Fixed issues with players position being offset during playback on versions 1.19.4 and 1.20.1.
21+
-Fixed horse variant resetting to default or chest disappearing on horse-like entities when their mouth "is open" on versions 1.19.2 and lower.
22+
-Fixed llama variants not being recorded on versions 1.19.2 and lower, on Fabric.
23+
-Fixed setting "preventSavingEntities" not preventing saving entities on version 1.16.5.
24+
-Fixes for loading skin from a file.
25+
26+
===Version 1.3===
27+
-Changes to command structure - split "/mocap recording" into "recording" and "recordings".
28+
-Added commands to rename, copy and get information about recordings and scenes.
29+
-Added commands to modify and get information about scene elements.
30+
-Skins can now be set from another player (without changing fake player name) or from a local file (proposed by Live_CK).
31+
-Player model can now be swapped with the other entity by editing scene element (proposed by cucurbito).
32+
-Entities other than player are now recorded.
33+
-Player riding other entity is now properly recorded (mentioned by Snownee, M7MEDpro, Afirmaran1010, erixon_07).
34+
-Hurting player or other entities is now recorded.
35+
-Player death is now recorded.
36+
-Placing double blocks (like beds or doors) is now properly recorded.
37+
-Block destroying progress is now recorded.
38+
-Arrow and bee stinger count are now recorded.
39+
-Potion effects are now recorded.
40+
-Sleeping is now properly recorded.
41+
-Added option to make fake player not collide with other entities (proposed by Snownee).
42+
-Added suggestions for recording and scene names in commands.
43+
-Added setting "trackVehicleEntities" which enables tracking vehicle entities (enabled by default).
44+
-Added setting "trackItemEntities" which enables tracking item (enabled by default).
45+
-Added setting "trackOtherEntities" which enables tracking entities other than vehicles and items (disabled by default).
46+
-Added setting "trackPlayedEntities" which enables tracking entities that are currently played (disabled by default).
47+
-Added settings "playVehicleEntities", "playItemEntities" and "playOtherEntities" which are counterparts of "track..." settings but for playback (all are enabled by default).
48+
-Added setting "entityTrackingDistance" which controls entity tracking distance (128 by default, the number represents the distance from the player in blocks, 0 disables tracking and -1 disables limit).
49+
-Added setting "entitiesAfterPlayback" which determines what will happen with entities after playback (1 by default, -1 - will be released as a normal entity, 0 - will be left untouched, 1 - will be removed, 2 - will be killed with animation).
50+
-Added setting "preventSavingEntities" which prevents game from saving played entities in case of for example leaving game (enabled by default).
51+
-Added setting "dropFromBlocks" which enables drop from blocks (disabled by default - recommended with "playItemEntities" disabled to prevent duplicates).
52+
-Added setting "useCreativeGameMode" which sets fake players game mode to creative therefore making monsters ignore then (disabled by default).
53+
-Added setting "recordPlayerDeath" (enabled by default).
54+
-Fixed message about recording start being sent to recorded player instead of player who started recording.
55+
-Updated help message.
56+
-Stack trace of some non-critical, unknown exceptions is now logged.
57+
58+
===Version 1.2.1===
59+
-Fixed a compatibility issue causing skin top layer not being visible (thanks KlashRaick, JLUsr and efi1212 for reporting).
60+
-Fixed fake players not being removed from the server level causing memory leaks, performance issues, strange mob behaviour, problems with placing blocks, blocks staying activated and probably many other bad things (thanks KlashRaick for reporting).
61+
-When mod is not installed on a client-side, the server now sends text with English translation instead of translation keys.
62+
63+
===Version 1.2===
64+
-Placing, breaking and interacting with blocks is now recorded.
65+
-Skins can now be set from the mineskin.org URL.
66+
-Added setting "playBlockActions" which by default is enabled and controls whether placing, breaking and block interactions are played back.
67+
-Added setting "setBlockStates" which by default is enabled and causes block states to be reset on playback start.
68+
-Added setting "allowMineskinRequests" which by default is enabled and allows HTTPS requests to mineskin.org to load skins.
69+
-Added optional argument "mineskinURL" to "/mocap scenes addTo" that can be used to set skin from the mineskin.org URL.
70+
-Added optional arguments "playerName" and "mineskinURL" to "/mocap playing start".
71+
-Removed "startPos" optional argument from "/mocap playing start" (it didn't work anyway).
72+
-Item enchantments are now recorded.
73+
-Using off-hand item or trident with riptide enchantment is now properly recorded.
74+
-Fake players can now interact with pressure plates and tripwires.
75+
-Fixed multiple issues with Minecraft and mod compatibility caused by UUID duplicates.
76+
-Fixed files being loaded and saved to the same directory after switching saves on the client.
77+
-Fixed server freezing after setting "playingSpeed" to extremely high value.
78+
-Fixed playback freezing after setting "playingSpeed" to zero or value close to zero and then changing it back to normal.
79+
-Fixed command execution ending with unexpected error when trying to list recordings or scenes when one of the files in the directory starts with a dot.
80+
-Added Chinese [simplified] translation (thanks to Kasualix).
81+
82+
===Version 1.1.1===
83+
-Fixed skin top layers not showing properly on Fabric 1.16.5 (thanks ZaCronium for reporting).
84+
85+
===Version 1.1===
86+
-Added "/mocap settings" command.
87+
-Added setting "playingSpeed" that changes playing speed.
88+
-Added setting "recordingSync" which when enabled, syncs playing start with recording start. It can help with creating complex scenes.
89+
-When failed to play scene, error message now also contains path to resource that caused error.
90+
-Small improvements to chat messages.

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# About
2+
**Motion Capture** is a Minecraft mod that allows you to record and replay player movements. It is created mainly for people who want to create complex scenes in Minecraft without using real players.
3+
4+
It records:
5+
- movements
6+
- sprinting, jumping, swimming, sneaking
7+
- swinging hands
8+
- using items
9+
- items in hands and armor
10+
- states like being on fire, being invisible, or glowing
11+
- placing, breaking and interacting with blocks
12+
- nearby entities and riding them
13+
14+
After you save recording, you can create a scene, to which you can add multiple recordings or other scenes, with parameters like player name, position offset, or start delay.
15+
16+
CurseForge page: https://www.curseforge.com/minecraft/mc-mods/motion-capture-mod-mocap
17+
18+
Modrinth page: https://modrinth.com/mod/motion-capture
19+
20+
# How to use
21+
22+
- First, you need to start recording using ```/mocap recording start```. It will record all your movements or movements of a player given as an argument.
23+
- Then, you can stop recording using ```/mocap recording stop``` and save it with ```/mocap recording save <name>```.
24+
- Use ```/mocap playing start <name>``` to play recording.
25+
- You can also create scenes to which you can add multiple recordings or other scenes, with parameters like player name, position offset, or start delay.
26+
- To create scene use ```/mocap scenes add <scene_name>```. Then, add your recording using ```/mocap scenes addTo <scene_name> <recording_name> [delay] [x_offset] [y_offset] [z_offset] [player_name] [skin_source_type] [skin_source]``` (you can skip arguments in square brackets if you want).
27+
- To play scene use ```/mocap playing start .<scene_name>``` - you need to put a dot before the scene name.
28+
- By putting a dot before name, when using ```/mocap scenes addTo (...)```, you can also add scenes to other scenes.
29+
30+
### Commands
31+
```
32+
/mocap recording [...] - Recording player movements
33+
/mocap recordings [...] - Managing recording files
34+
/mocap scenes [...] - Creating and modifying scenes
35+
/mocap playing [...] - Playing scenes and recordings
36+
/mocap settings [...] - Shows and modifies settings
37+
/mocap info - Displays information about mod
38+
/mocap help - Displays help message
39+
```
40+
41+
# Example
42+
43+
Simple example of one recording used 4 times in a scene with time and position offset
44+
45+
![](https://raw.githubusercontent.com/mt1006/mc-mocap-mod/_common/screenshots/example1.png)
46+
47+
One recording of climbing stairs used multiple times in a scene with start delay
48+
49+
![](https://raw.githubusercontent.com/mt1006/mc-mocap-mod/_common/screenshots/example2.png)

build.gradle

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
plugins
22
{
3-
id 'fabric-loom' version '1.4-SNAPSHOT'
4-
id 'maven-publish'
3+
id 'fabric-loom' version '1.6-SNAPSHOT'
54
}
65

76
version = project.mod_version
@@ -12,10 +11,20 @@ base
1211
archivesName = "${project.archives_base_name}-FABRIC-${project.minecraft_version}"
1312
}
1413

14+
repositories
15+
{
16+
maven { url = 'https://maven.parchmentmc.org/' }
17+
}
18+
1519
dependencies
1620
{
1721
minecraft "com.mojang:minecraft:${project.minecraft_version}"
18-
mappings loom.officialMojangMappings()
22+
mappings loom.layered()
23+
{
24+
officialMojangMappings()
25+
parchment("org.parchmentmc.data:parchment-${project.minecraft_version}:${project.mappings_version}@zip")
26+
}
27+
1928
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
2029
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
2130
}
@@ -26,17 +35,17 @@ processResources
2635
filesMatching("fabric.mod.json") { expand "version": project.version }
2736
}
2837

29-
tasks.withType(JavaCompile).configureEach { it.options.release = 17 }
38+
tasks.withType(JavaCompile).configureEach { it.options.release = 21 }
3039

3140
java
3241
{
3342
withSourcesJar()
3443

35-
sourceCompatibility = JavaVersion.VERSION_17
36-
targetCompatibility = JavaVersion.VERSION_17
44+
sourceCompatibility = JavaVersion.VERSION_21
45+
targetCompatibility = JavaVersion.VERSION_21
3746
}
3847

3948
jar
4049
{
41-
from("LICENSE") { rename { "${it}_${project.archivesBaseName}"} }
50+
from("LICENSE")
4251
}

gradle.properties

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@ org.gradle.jvmargs=-Xmx1G
33
org.gradle.parallel=true
44

55
# Fabric Properties
6-
# check these on https://fabricmc.net/develop
7-
minecraft_version=1.20.4
8-
yarn_mappings=1.20.4+build.1
9-
loader_version=0.15.1
6+
# https://fabricmc.net/develop
7+
# https://parchmentmc.org/docs/getting-started
8+
minecraft_version=1.20.6
9+
loader_version=0.15.11
10+
mappings_version=2024.05.01
1011

1112
# Mod Properties
12-
mod_version=1.3.4
13+
mod_version=1.3.5
1314
maven_group=com.mt1006.mocap
1415
archives_base_name=Mocap
1516

1617
# Dependencies
17-
fabric_version=0.91.2+1.20.4
18+
fabric_version=0.99.0+1.20.6

gradle/wrapper/gradle-wrapper.jar

-19.5 KB
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

100644100755
File mode changed.

gradlew.bat

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
4343
%JAVA_EXE% -version >NUL 2>&1
4444
if %ERRORLEVEL% equ 0 goto execute
4545

46-
echo.
47-
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
48-
echo.
49-
echo Please set the JAVA_HOME variable in your environment to match the
50-
echo location of your Java installation.
46+
echo. 1>&2
47+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
48+
echo. 1>&2
49+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
50+
echo location of your Java installation. 1>&2
5151

5252
goto fail
5353

@@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
5757

5858
if exist "%JAVA_EXE%" goto execute
5959

60-
echo.
61-
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
62-
echo.
63-
echo Please set the JAVA_HOME variable in your environment to match the
64-
echo location of your Java installation.
60+
echo. 1>&2
61+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
62+
echo. 1>&2
63+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
64+
echo location of your Java installation. 1>&2
6565

6666
goto fail
6767

settings.gradle

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@ pluginManagement
22
{
33
repositories
44
{
5-
maven
6-
{
7-
name = 'Fabric'
8-
url = 'https://maven.fabricmc.net/'
9-
}
105
mavenCentral()
116
gradlePluginPortal()
7+
maven { url = 'https://maven.fabricmc.net/' }
128
}
139
}

src/main/java/com/mt1006/mocap/MocapMod.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
public class MocapMod implements ModInitializer
2121
{
2222
public static final String MOD_ID = "mocap";
23-
public static final String VERSION = "1.3.4";
24-
public static final String FOR_VERSION = "1.20.4";
23+
public static final String VERSION = "1.3.5";
24+
public static final String FOR_VERSION = "1.20.6";
2525
public static final String FOR_LOADER = "Fabric";
2626
public static final Logger LOGGER = LogManager.getLogger();
2727
public static final boolean isDedicatedServer = FabricLoader.getInstance().getEnvironmentType() == EnvType.SERVER;
@@ -38,7 +38,7 @@ public class MocapMod implements ModInitializer
3838
ServerLivingEntityEvents.ALLOW_DAMAGE.register(EntityEvent::onEntityHurt);
3939

4040
RegisterCommand.registerCommands();
41-
MocapMod.LOGGER.info(getFullName() + " - Author: mt1006 (mt1006x)");
41+
MocapMod.LOGGER.info("{} - Author: mt1006", getFullName());
4242
Fields.init();
4343
MocapPackets.register();
4444
Action.init();

0 commit comments

Comments
 (0)