forked from BRNSystems/tweaks
Compare commits
18 Commits
6e731e2a3e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e388b610d2 | |||
| d8a7331b84 | |||
| 39065c8e98 | |||
| c82c5f911f | |||
| 75fed26c3c | |||
| 790568b04d | |||
| 81590fd70d | |||
| 6832c058ef | |||
| f00fcea551 | |||
| 90a5d8ea95 | |||
| 37310b3d61 | |||
| fe7a1992b6 | |||
| 88620d9d24 | |||
| 11649caaee | |||
| 699b006cee | |||
| 73f605e0e4 | |||
| c55d51bd05 | |||
| 3a9833ed65 |
@@ -1,12 +1,12 @@
|
|||||||
# Done to increase the memory available to gradle.
|
# Done to increase the memory available to gradle.
|
||||||
org.gradle.jvmargs=-Xmx1G
|
org.gradle.jvmargs=-Xmx1G
|
||||||
minecraft_version=1.21.8
|
minecraft_version=1.21.3
|
||||||
yarn_mappings=1.21.8+build.1
|
yarn_mappings=1.21.3+build.2
|
||||||
loader_version=0.16.14
|
loader_version=0.16.14
|
||||||
# Fabric API
|
# Fabric API
|
||||||
fabric_version=0.129.0+1.21.8
|
fabric_version=0.107.3+1.21.3
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.2.5
|
mod_version=1.3
|
||||||
maven_group=systems.brn
|
maven_group=systems.brn
|
||||||
archives_base_name=tweaks
|
archives_base_name=tweaks
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,36 @@ import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry;
|
|||||||
import net.minecraft.world.GameRules;
|
import net.minecraft.world.GameRules;
|
||||||
|
|
||||||
public class Tweaks implements ModInitializer {
|
public class Tweaks implements ModInitializer {
|
||||||
public static final GameRules.Key<GameRules.IntRule> Entity_Portal_Cooldown =
|
public static final GameRules.Key<GameRules.IntRule> ENTITY_PORTAL_COOLDOWN =
|
||||||
GameRuleRegistry.register("entityPortalCooldown", GameRules.Category.MOBS, GameRuleFactory.createIntRule(300));
|
GameRuleRegistry.register("entityPortalCooldown", GameRules.Category.MOBS, GameRuleFactory.createIntRule(300, 0, Integer.MAX_VALUE));
|
||||||
public static final GameRules.Key<GameRules.IntRule> Enderpearl_Damage =
|
|
||||||
GameRuleRegistry.register("enderpearlDamage", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(5));
|
public static final GameRules.Key<GameRules.IntRule> ENDER_PEARL_DAMAGE =
|
||||||
|
GameRuleRegistry.register("enderPearlDamage", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(5, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> SHIELD_AXE_COOLDOWN =
|
||||||
|
GameRuleRegistry.register("shieldAxeCooldown", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(100, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> CRITICAL_MULTIPLIER =
|
||||||
|
GameRuleRegistry.register("criticalHitMultiplier", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(150, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> CREEPER_FUSE_TIME =
|
||||||
|
GameRuleRegistry.register("creeperDefaultFuseTime", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(30, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> ENDER_PEARL_POWER =
|
||||||
|
GameRuleRegistry.register("enderPearlPower", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(150, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> ENDER_PEARL_DIVERGENCE =
|
||||||
|
GameRuleRegistry.register("enderPearlDivergence", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(100, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> ENDER_EYE_POP_CHANCE =
|
||||||
|
GameRuleRegistry.register("enderEyePopChance", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(20, 0, 100));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> LEASH_BREAK_DISTANCE =
|
||||||
|
GameRuleRegistry.register("leashBreakDistance", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(10, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
|
public static final GameRules.Key<GameRules.IntRule> LEASH_ELASTIC_DISTANCE =
|
||||||
|
GameRuleRegistry.register("leashElasticDistance", GameRules.Category.PLAYER, GameRuleFactory.createIntRule(6, 0, Integer.MAX_VALUE));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.mob.CreeperEntity;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.GameRules;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
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.callback.CallbackInfo;
|
||||||
|
import systems.brn.tweaks.Tweaks;
|
||||||
|
import systems.brn.tweaks.mixin.accessors.CreeperEntityAccessor;
|
||||||
|
|
||||||
|
@Mixin(CreeperEntity.class)
|
||||||
|
public abstract class CreeperEntityMixin {
|
||||||
|
@Inject(
|
||||||
|
method = "<init>",
|
||||||
|
at = @At("TAIL")
|
||||||
|
)
|
||||||
|
private void onConstructor(EntityType<? extends CreeperEntity> entityType, World world, CallbackInfo ci) {
|
||||||
|
CreeperEntity creeper = (CreeperEntity)(Object)this;
|
||||||
|
if (!world.isClient) {
|
||||||
|
ServerWorld serverWorld = (ServerWorld) world;
|
||||||
|
GameRules.IntRule rule = serverWorld.getGameRules().get(Tweaks.CREEPER_FUSE_TIME);
|
||||||
|
((CreeperEntityAccessor) creeper).setFuseTime(rule.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,13 @@
|
|||||||
package systems.brn.tweaks.mixin;
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.entity.damage.DamageSource;
|
import net.minecraft.entity.damage.DamageSource;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.world.World;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
import static systems.brn.tweaks.Tweaks.Enderpearl_Damage;
|
import static systems.brn.tweaks.Tweaks.ENDER_PEARL_DAMAGE;
|
||||||
|
|
||||||
@Mixin(net.minecraft.entity.projectile.thrown.EnderPearlEntity.class)
|
@Mixin(net.minecraft.entity.projectile.thrown.EnderPearlEntity.class)
|
||||||
public class DontHurtMePearlMixin {
|
public class DontHurtMePearlMixin {
|
||||||
@@ -17,7 +15,7 @@ public class DontHurtMePearlMixin {
|
|||||||
@Redirect(method = "onCollision(Lnet/minecraft/util/hit/HitResult;)V",
|
@Redirect(method = "onCollision(Lnet/minecraft/util/hit/HitResult;)V",
|
||||||
at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;damage(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Z"))
|
at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;damage(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Z"))
|
||||||
private boolean redirectDamage(ServerPlayerEntity entity, ServerWorld world, DamageSource source, float amount) {
|
private boolean redirectDamage(ServerPlayerEntity entity, ServerWorld world, DamageSource source, float amount) {
|
||||||
entity.damage(world, source, world.getGameRules().getInt(Enderpearl_Damage));
|
entity.damage(world, source, world.getGameRules().getInt(ENDER_PEARL_DAMAGE));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.entity.projectile.thrown.EnderPearlEntity;
|
||||||
|
import net.minecraft.item.EnderPearlItem;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.util.ActionResult;
|
||||||
|
import net.minecraft.util.Hand;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
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.callback.CallbackInfoReturnable;
|
||||||
|
import systems.brn.tweaks.Tweaks;
|
||||||
|
|
||||||
|
@Mixin(EnderPearlItem.class)
|
||||||
|
public class EnderPearlItemMixin {
|
||||||
|
|
||||||
|
@Inject(method = "use", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void injectCustomVelocity(World world, PlayerEntity user, Hand hand,
|
||||||
|
CallbackInfoReturnable<ActionResult> cir) {
|
||||||
|
|
||||||
|
if (!(world instanceof ServerWorld serverWorld)) return;
|
||||||
|
|
||||||
|
ItemStack stack = user.getStackInHand(hand);
|
||||||
|
|
||||||
|
float power = serverWorld.getGameRules().getInt(Tweaks.ENDER_PEARL_POWER) / 100f;
|
||||||
|
float divergence = serverWorld.getGameRules().getInt(Tweaks.ENDER_PEARL_DIVERGENCE) / 100f;
|
||||||
|
|
||||||
|
world.playSound(
|
||||||
|
null,
|
||||||
|
user.getX(),
|
||||||
|
user.getY(),
|
||||||
|
user.getZ(),
|
||||||
|
net.minecraft.sound.SoundEvents.ENTITY_ENDER_PEARL_THROW,
|
||||||
|
net.minecraft.sound.SoundCategory.NEUTRAL,
|
||||||
|
0.5F,
|
||||||
|
0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)
|
||||||
|
);
|
||||||
|
|
||||||
|
net.minecraft.entity.projectile.ProjectileEntity.spawnWithVelocity(
|
||||||
|
EnderPearlEntity::new,
|
||||||
|
serverWorld,
|
||||||
|
stack,
|
||||||
|
user,
|
||||||
|
0f,
|
||||||
|
power,
|
||||||
|
divergence
|
||||||
|
);
|
||||||
|
|
||||||
|
user.incrementStat(net.minecraft.stat.Stats.USED.getOrCreateStat((EnderPearlItem)(Object)this));
|
||||||
|
stack.decrementUnlessCreative(1, user);
|
||||||
|
|
||||||
|
cir.setReturnValue(ActionResult.SUCCESS);
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/main/java/systems/brn/tweaks/mixin/EyeOfEnderMixin.java
Normal file
39
src/main/java/systems/brn/tweaks/mixin/EyeOfEnderMixin.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EyeOfEnderEntity;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
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.callback.CallbackInfo;
|
||||||
|
import systems.brn.tweaks.Tweaks;
|
||||||
|
import systems.brn.tweaks.mixin.accessors.EyeOfEnderEntityAccessor;
|
||||||
|
|
||||||
|
@Mixin(EyeOfEnderEntity.class)
|
||||||
|
public class EyeOfEnderMixin {
|
||||||
|
|
||||||
|
@Inject(
|
||||||
|
method = "initTargetPos",
|
||||||
|
at = @At(
|
||||||
|
value = "FIELD",
|
||||||
|
target = "Lnet/minecraft/entity/EyeOfEnderEntity;dropsItem:Z",
|
||||||
|
ordinal = 0,
|
||||||
|
shift = At.Shift.AFTER
|
||||||
|
)
|
||||||
|
)
|
||||||
|
private void applyCustomBreakChance(CallbackInfo ci) {
|
||||||
|
EyeOfEnderEntity self = (EyeOfEnderEntity)(Object)this;
|
||||||
|
World world = self.getWorld();
|
||||||
|
|
||||||
|
if (!(world instanceof ServerWorld serverWorld))
|
||||||
|
return;
|
||||||
|
|
||||||
|
int popChance = serverWorld.getGameRules().getInt(Tweaks.ENDER_EYE_POP_CHANCE);
|
||||||
|
int roll = self.getRandom().nextInt(100);
|
||||||
|
|
||||||
|
boolean dropsItem = roll >= popChance;
|
||||||
|
|
||||||
|
((EyeOfEnderEntityAccessor) self).setDropsItem(dropsItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
|||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
import static systems.brn.tweaks.Tweaks.Entity_Portal_Cooldown;
|
import static systems.brn.tweaks.Tweaks.ENTITY_PORTAL_COOLDOWN;
|
||||||
|
|
||||||
@Mixin(net.minecraft.entity.Entity.class)
|
@Mixin(net.minecraft.entity.Entity.class)
|
||||||
public class JustTeleportAlreadyMixin {
|
public class JustTeleportAlreadyMixin {
|
||||||
@@ -21,7 +21,7 @@ public class JustTeleportAlreadyMixin {
|
|||||||
cancellable = true)
|
cancellable = true)
|
||||||
private void getDefaultPortalCooldown(CallbackInfoReturnable<Integer> cir) {
|
private void getDefaultPortalCooldown(CallbackInfoReturnable<Integer> cir) {
|
||||||
if (world instanceof ServerWorld sWorld) {
|
if (world instanceof ServerWorld sWorld) {
|
||||||
cir.setReturnValue(sWorld.getGameRules().getInt(Entity_Portal_Cooldown));
|
cir.setReturnValue(sWorld.getGameRules().getInt(ENTITY_PORTAL_COOLDOWN));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ public class JustTeleportAlreadyMixin {
|
|||||||
@Inject(method = "tickPortalCooldown", at = @At(value = "RETURN"))
|
@Inject(method = "tickPortalCooldown", at = @At(value = "RETURN"))
|
||||||
private void tickPortalCooldown(CallbackInfo ci) {
|
private void tickPortalCooldown(CallbackInfo ci) {
|
||||||
if (world instanceof ServerWorld sWorld) {
|
if (world instanceof ServerWorld sWorld) {
|
||||||
int maxCooldown = sWorld.getGameRules().getInt(Entity_Portal_Cooldown);
|
int maxCooldown = sWorld.getGameRules().getInt(ENTITY_PORTAL_COOLDOWN);
|
||||||
if (portalCooldown > maxCooldown) {
|
if (portalCooldown > maxCooldown) {
|
||||||
portalCooldown = maxCooldown;
|
portalCooldown = maxCooldown;
|
||||||
}
|
}
|
||||||
|
|||||||
32
src/main/java/systems/brn/tweaks/mixin/LeashableMixin.java
Normal file
32
src/main/java/systems/brn/tweaks/mixin/LeashableMixin.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.Leashable;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.GameRules;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Constant;
|
||||||
|
import org.spongepowered.asm.mixin.injection.ModifyConstant;
|
||||||
|
import systems.brn.tweaks.Tweaks;
|
||||||
|
|
||||||
|
@Mixin(Leashable.class)
|
||||||
|
public interface LeashableMixin {
|
||||||
|
|
||||||
|
@ModifyConstant(
|
||||||
|
method = "tickLeash",
|
||||||
|
constant = @Constant(doubleValue = 10.0)
|
||||||
|
)
|
||||||
|
private static double modifyLeashBreakDistance(double original, ServerWorld world, Entity entity) {
|
||||||
|
GameRules.IntRule rule = world.getGameRules().get(Tweaks.LEASH_BREAK_DISTANCE);
|
||||||
|
return rule.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ModifyConstant(
|
||||||
|
method = "tickLeash",
|
||||||
|
constant = @Constant(doubleValue = 6.0)
|
||||||
|
)
|
||||||
|
private static double modifyLeashElasticDistance(double original, ServerWorld world, Entity entity) {
|
||||||
|
GameRules.IntRule rule = world.getGameRules().get(Tweaks.LEASH_ELASTIC_DISTANCE);
|
||||||
|
return rule.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package systems.brn.tweaks.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.GameRules;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Constant;
|
||||||
|
import org.spongepowered.asm.mixin.injection.ModifyConstant;
|
||||||
|
import systems.brn.tweaks.Tweaks;
|
||||||
|
|
||||||
|
@Mixin(PlayerEntity.class)
|
||||||
|
public abstract class PlayerEntityMixin {
|
||||||
|
|
||||||
|
@ModifyConstant(
|
||||||
|
method = "disableShield(Lnet/minecraft/item/ItemStack;)V",
|
||||||
|
constant = @Constant(intValue = 100)
|
||||||
|
)
|
||||||
|
private int modifyShieldCooldownConstant(int original) {
|
||||||
|
PlayerEntity player = (PlayerEntity)(Object)this;
|
||||||
|
if (player.getWorld() != null && player.getWorld() instanceof ServerWorld sWorld) {
|
||||||
|
GameRules.IntRule rule = sWorld.getGameRules().get(Tweaks.SHIELD_AXE_COOLDOWN);
|
||||||
|
return rule.get();
|
||||||
|
}
|
||||||
|
return original;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ModifyConstant(
|
||||||
|
method = "attack",
|
||||||
|
constant = @Constant(floatValue = 1.5F)
|
||||||
|
)
|
||||||
|
private float modifyCriticalMultiplier(float original) {
|
||||||
|
PlayerEntity player = (PlayerEntity)(Object)this;
|
||||||
|
if (player.getWorld() != null && player.getWorld() instanceof ServerWorld serverWorld) {
|
||||||
|
GameRules.IntRule rule = serverWorld.getGameRules().get(Tweaks.CRITICAL_MULTIPLIER);
|
||||||
|
return rule.get() / 100.0F;
|
||||||
|
}
|
||||||
|
return original;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package systems.brn.tweaks.mixin.accessors;
|
||||||
|
|
||||||
|
import net.minecraft.entity.mob.CreeperEntity;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
@Mixin(CreeperEntity.class)
|
||||||
|
public interface CreeperEntityAccessor {
|
||||||
|
@Accessor("fuseTime")
|
||||||
|
void setFuseTime(int fuseTime);
|
||||||
|
|
||||||
|
@Accessor("fuseTime")
|
||||||
|
int getFuseTime();
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package systems.brn.tweaks.mixin.accessors;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EyeOfEnderEntity;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
@Mixin(EyeOfEnderEntity.class)
|
||||||
|
public interface EyeOfEnderEntityAccessor {
|
||||||
|
@Accessor("dropsItem")
|
||||||
|
void setDropsItem(boolean value);
|
||||||
|
}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -2,11 +2,11 @@
|
|||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"id": "tweaks",
|
"id": "tweaks",
|
||||||
"version": "${version}",
|
"version": "${version}",
|
||||||
"name": "tweaks",
|
"name": "Tweaks",
|
||||||
"description": "",
|
"description": "Change some values in Minecraft using gamerules",
|
||||||
"authors": [],
|
"authors": ["BRNSystems", "Akis"],
|
||||||
"contact": {
|
"contact": {
|
||||||
"repo": "https://git.brn.systems/BRNSystems/tweaks"
|
"sources": "https://git.brn.systems/BRNSystems/tweaks"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"icon": "assets/icon.png",
|
"icon": "assets/icon.png",
|
||||||
@@ -22,6 +22,6 @@
|
|||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=${loader_version}",
|
"fabricloader": ">=${loader_version}",
|
||||||
"fabric": "*",
|
"fabric": "*",
|
||||||
"minecraft": "${minecraft_version}"
|
"minecraft": ">=${minecraft_version}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,15 @@
|
|||||||
"package": "systems.brn.tweaks.mixin",
|
"package": "systems.brn.tweaks.mixin",
|
||||||
"compatibilityLevel": "JAVA_21",
|
"compatibilityLevel": "JAVA_21",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
|
"CreeperEntityMixin",
|
||||||
"DontHurtMePearlMixin",
|
"DontHurtMePearlMixin",
|
||||||
"JustTeleportAlreadyMixin"
|
"EnderPearlItemMixin",
|
||||||
|
"EyeOfEnderMixin",
|
||||||
|
"JustTeleportAlreadyMixin",
|
||||||
|
"LeashableMixin",
|
||||||
|
"PlayerEntityMixin",
|
||||||
|
"accessors.CreeperEntityAccessor",
|
||||||
|
"accessors.EyeOfEnderEntityAccessor"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": 1
|
"defaultRequire": 1
|
||||||
|
|||||||
Reference in New Issue
Block a user