Skip to content

Commit

Permalink
Update to 1.21.3 (#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tunfisch96 authored Dec 2, 2024
1 parent 8b41b6d commit e875c1f
Show file tree
Hide file tree
Showing 10 changed files with 54 additions and 28 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '1.6-SNAPSHOT'
id 'fabric-loom' version '1.8-SNAPSHOT'
id 'maven-publish'
id "com.modrinth.minotaur" version "2.+"
id "com.matthewprenger.cursegradle" version "1.4.0"
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
org.gradle.jvmargs=-Xmx1G

# Mod
mod_version = 0.9.1+1.21.1-prerelease
mod_version = 0.9.2+1.21.3-prerelease
maven_group = net.pcal
archives_base_name = highspeed-rail

# Fabric & Minecraft - https://fabricmc.net/develop
minecraft_version=1.21.1
loader_version=0.16.4
fabric_version=0.103.0+1.21.1
minecraft_version=1.21.3
loader_version=0.16.8
fabric_version=0.106.1+1.21.3
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
7 changes: 5 additions & 2 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -55,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand Down Expand Up @@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
22 changes: 12 additions & 10 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down Expand Up @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute

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

goto fail

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

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package net.pcal.highspeed.mixins;

import net.minecraft.util.Mth;
import net.minecraft.world.entity.vehicle.Boat;
import net.minecraft.world.entity.vehicle.AbstractBoat;
import net.pcal.highspeed.HighspeedService;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;

@Mixin(Boat.class)
public class BoatEntityMixin {
@Mixin(AbstractBoat.class)
public class AbstractBoatEntityMixin {

@SuppressWarnings("InvalidInjectorMethodSignature")
// seems to be a plugin bug here, incorrectly complains about var/return types
@ModifyVariable(method = "getStatus", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/world/entity/vehicle/Boat;getGroundFriction()F"))
@ModifyVariable(method = "getStatus", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/world/entity/vehicle/AbstractBoat;getGroundFriction()F"))
protected float limitIceSlipperiness(float original) {
return HighspeedService.getInstance().isIceBoatsEnabled() ? original : Mth.clamp(original, 0f, 0.45f);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package net.pcal.highspeed.mixins;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

import net.minecraft.world.entity.vehicle.AbstractMinecart;
import net.minecraft.world.entity.vehicle.MinecartBehavior;

@Mixin(MinecartBehavior.class)
public interface MinecartBehaviorAccessor {

@Accessor("minecart")
AbstractMinecart getMinecart();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,24 @@
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.vehicle.OldMinecartBehavior;
import net.minecraft.world.entity.vehicle.AbstractMinecart;
import net.minecraft.world.level.block.BaseRailBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.RailShape;
import net.minecraft.world.phys.Vec3;
import net.pcal.highspeed.HighspeedClientService;
import net.pcal.highspeed.HighspeedService;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(AbstractMinecart.class)
public abstract class AbstractMinecartEntityMixin {
@Mixin(OldMinecartBehavior.class)
public abstract class OldMinecartBehaviorMixin {

private static final double VANILLA_MAX_SPEED = 8.0 / 20.0;
private static final double SQRT_TWO = 1.414213;
Expand All @@ -29,7 +31,8 @@ public abstract class AbstractMinecartEntityMixin {
private double lastMaxSpeed = VANILLA_MAX_SPEED;
private Vec3 lastSpeedPos = null;
private long lastSpeedTime = 0;
private final AbstractMinecart minecart = (AbstractMinecart) (Object) this;
private final OldMinecartBehavior minecartBehavior = (OldMinecartBehavior) (Object) this;
private final AbstractMinecart minecart = ((MinecartBehaviorAccessor) minecartBehavior).getMinecart();

@Inject(method = "tick", at = @At("HEAD"))
public void tick(CallbackInfo ci) {
Expand All @@ -50,6 +53,7 @@ protected void getMaxSpeed(CallbackInfoReturnable<Double> cir) {
if (maxSpeed != VANILLA_MAX_SPEED) {
cir.setReturnValue(maxSpeed);
}

}

private double getModifiedMaxSpeed() {
Expand All @@ -63,6 +67,7 @@ private double getModifiedMaxSpeed() {
currentPos.getY(),
currentPos.getZ() + Mth.sign(v.z())
);
System.out.println(nextPos);
final BlockState nextState = minecart.level().getBlockState(nextPos);
if (nextState.getBlock() instanceof BaseRailBlock rail) {
final RailShape shape = nextState.getValue(rail.getShapeProperty());
Expand All @@ -71,6 +76,7 @@ private double getModifiedMaxSpeed() {
} else {
final BlockState underState = minecart.level().getBlockState(currentPos.below());
final ResourceLocation underBlockId = BuiltInRegistries.BLOCK.getKey(underState.getBlock());
System.out.println(underBlockId);
final Integer speedLimit = HighspeedService.getInstance().getSpeedLimit(underBlockId);
if (speedLimit != null) {
return currentMaxSpeed = speedLimit / 20.0;
Expand All @@ -96,7 +102,7 @@ private void clampVelocity() {
private void updateSpeedometer() {
final HighspeedService service = HighspeedService.getInstance();
if (!service.isSpeedometerEnabled()) return;
final AbstractMinecart minecart = (AbstractMinecart) (Object) this;
final AbstractMinecart minecart = ((MinecartBehaviorAccessor) (OldMinecartBehavior) (Object) this).getMinecart();
if (!minecart.level().isClientSide) return;
final HighspeedClientService client = service.getClientService();
if (!client.isPlayerRiding(minecart)) return;
Expand Down
5 changes: 3 additions & 2 deletions src/main/resources/highspeed-mixin.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
"package": "net.pcal.highspeed.mixins",
"compatibilityLevel": "JAVA_17",
"mixins": [
"AbstractMinecartEntityMixin",
"BoatEntityMixin"
"OldMinecartBehaviorMixin",
"AbstractBoatEntityMixin",
"MinecartBehaviorAccessor"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit e875c1f

Please sign in to comment.