Skip to content

Commit

Permalink
Remove fake player api in favor of fabrics
Browse files Browse the repository at this point in the history
  • Loading branch information
AlphaMode committed Aug 5, 2023
1 parent c767303 commit a238316
Show file tree
Hide file tree
Showing 16 changed files with 6 additions and 440 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ The latest patch can be found from GitHub Actions as the build number.
| `data` | Additional data generation providers |
| `entity` | Multipart entities, extra spawn data, removal listening |
| `extensions` | Extensions to vanilla classes for additional functionality |
| `fake_players` | A basic fake server player implementation that can be used to simulate player actions |
| `gametest` | Tools to make GameTest creation as easy as possible |
| `lazy_registration` | A implementation of forge's DeferredRegister system rewritten for fabric |
| `loot` | A small library to modify mob loot |
Expand Down
1 change: 0 additions & 1 deletion base/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
moduleDependencies(project, [
"lazy_registration",
"fake_players",
"extensions",
"transfer",
"utility",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,21 @@
package io.github.fabricators_of_create.porting_lib.mixin.common;

import io.github.fabricators_of_create.porting_lib.event.common.AdvancementCallback;
import net.minecraft.advancements.Advancement;
import net.minecraft.server.PlayerAdvancements;

import net.minecraft.server.level.ServerPlayer;

import io.github.fabricators_of_create.porting_lib.fake_players.FakePlayer;

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

import io.github.fabricators_of_create.porting_lib.event.common.AdvancementCallback;
import net.minecraft.advancements.Advancement;
import net.minecraft.server.PlayerAdvancements;
import net.minecraft.server.level.ServerPlayer;

@Mixin(PlayerAdvancements.class)
public abstract class PlayerAdvancementsMixin {
@Shadow
private ServerPlayer player;

@Inject(method = "award", at = @At("HEAD"), cancellable = true)
private void noAdvancementsForFakePlayers(Advancement advancement, String criterionKey, CallbackInfoReturnable<Boolean> cir) {
if (player instanceof FakePlayer)
cir.setReturnValue(false);
}

@Inject(method = "award", at = @At(value = "INVOKE", target = "Lnet/minecraft/advancements/AdvancementRewards;grant(Lnet/minecraft/server/level/ServerPlayer;)V"))
public void port_lib$onAwardAdvancement(Advancement advancement, String criterionKey, CallbackInfoReturnable<Boolean> cir) {
AdvancementCallback.EVENT.invoker().onAdvancement(this.player, advancement);
Expand Down
1 change: 1 addition & 0 deletions base/src/main/resources/porting_lib_base.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
"common.NaturalSpawnerMixin",
"common.PackRepositoryMixin",
"common.PiglinAiMixin",
"common.PlayerAdvancementsMixin",
"common.PlayerListMixin",
"common.PlayerMixin",
"common.PowderSnowBlockMixin",
Expand Down
5 changes: 0 additions & 5 deletions fake_players/build.gradle

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit a238316

Please sign in to comment.