Skip to content
Closed

MC 1.21 #4021

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
1c9e761
disable SpongeForge during snapshots
Faithcaio Jun 12, 2024
92040fe
Bump MC to 1.21-pre1
Faithcaio May 29, 2024
541c65c
fix ResourceLocation usage
Faithcaio May 29, 2024
e80ee13
moving MUSIC_DISC to vanilla registry jukebox_playable
Faithcaio May 30, 2024
d43e8e0
fix Keys.PAINTING_VARIANT
Faithcaio May 30, 2024
4919220
fix Keys.ACCELERATION
Faithcaio May 30, 2024
f6208af
fix Keys.IS_SADDLED
Faithcaio May 30, 2024
0aad865
fix Keys.ITEM_STACK_SNAPSHOT jukebox
Faithcaio May 30, 2024
67c5989
fix EquipmentGroups
Faithcaio May 31, 2024
a7744ae
fix enchantment data + tags
Faithcaio May 30, 2024
9df5a39
fix FishingRodItemMixin
Faithcaio Jun 1, 2024
4d5582c
fix attributes
Faithcaio May 31, 2024
82a0232
fix exp
Faithcaio May 31, 2024
aef1bb5
Keys.FOOD_CONVERTS_TO
Faithcaio May 30, 2024
888efb7
fix SpongeWorldManager multiworld check
Faithcaio May 30, 2024
a2abe14
fix client
Faithcaio May 31, 2024
515c245
fix ProjectileUtil
Faithcaio May 31, 2024
648a305
fix LivingEntityMixin
Faithcaio Jun 1, 2024
458d932
Bump MC to 1.21-pre2
Faithcaio Jun 1, 2024
667d99f
fix ServerPlayerMixin_HealthScale
Faithcaio Jun 1, 2024
8f282bb
fix multiworld enabled
Faithcaio Jun 1, 2024
d3e9c3c
fix Hanging entity mixins
Faithcaio Jun 1, 2024
674c816
fix HumanEntity
Faithcaio May 30, 2024
f00ea69
fix shadow$dropAllDeathLoot
Faithcaio Jun 1, 2024
2924a33
fix campfire mixins
Faithcaio Jun 1, 2024
7336cf1
fix DyeColorMixin_API
Faithcaio Jun 1, 2024
c4e0131
fix disconnect
Faithcaio Jun 1, 2024
6451d82
fix EntitySelectorParserMixin_API
Faithcaio Jun 1, 2024
8e13111
JigsawPoolElement waterlogging
Faithcaio Jun 1, 2024
affb9b4
fix client
Faithcaio Jun 1, 2024
f615858
fix custom payload
Faithcaio Jun 1, 2024
912d47d
catch mixin errors in packet handling that would otherwise silently i…
Faithcaio Jun 1, 2024
6d8693b
start fixing chunks
Faithcaio Jun 1, 2024
0b9fcd9
Update chunk generation deadlock fix
aromaa Jun 1, 2024
4bcd2f2
update Painting generator
Faithcaio Jun 1, 2024
225ffe6
MC 1.21 Entities
Faithcaio Jun 1, 2024
b2cb897
Bump MC to 1.21-pre3
Faithcaio Jun 5, 2024
5f513bd
fix chunk events
Faithcaio Jun 1, 2024
1bae845
Attack/DamageEntityEvent Rework
Faithcaio May 31, 2024
17be50e
Bump MC to 1.21-pre4
Faithcaio Jun 7, 2024
0ca8af4
fix PrimedTntMixin
Faithcaio Jun 7, 2024
1e4b87b
fix WorldGenRegionMixin_API
Faithcaio Jun 7, 2024
7d48574
portals & dimension changing
Faithcaio May 30, 2024
45e8429
fix recipes and inventory + implement RecipeInputs
Faithcaio May 30, 2024
cbafec8
Keys for auto spin attacks
Faithcaio May 30, 2024
f5e9261
arrow custom knockback
Faithcaio May 30, 2024
f1b9b62
Bump MC to 1.21-rc1
Faithcaio Jun 10, 2024
65ea727
Bump MC to 1.21
Faithcaio Jun 13, 2024
93f63db
fix Enchantments loading later
Faithcaio Jun 13, 2024
de14abf
TrialSpawner and Crafter
Faithcaio Jun 14, 2024
b7f625b
fix advancements and datapack folder
Faithcaio Jun 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ jobs:
echo "GIT_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
echo "BUILD_NUMBER=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV
- name: Publish to Sponge Maven & GitHub Packages
run: ./gradlew -s -PenableSpongeForge=true :publish :SpongeVanilla:publish :SpongeForge:publish
# run: ./gradlew -s -PenableSpongeForge=true :publish :SpongeVanilla:publish
# run: ./gradlew -s -PenableSpongeForge=true :publish :SpongeVanilla:publish :SpongeForge:publish
run: ./gradlew -s -PenableSpongeForge=true :publish :SpongeVanilla:publish
env:
CI_SYSTEM: Github Actions
GITHUB_USERNAME: "${{ github.actor }}"
Expand Down
2 changes: 1 addition & 1 deletion SpongeAPI
Submodule SpongeAPI updated 66 files
+1 −1 gradle.properties
+10 −17 src/main/java/org/spongepowered/api/block/entity/TrialSpawner.java
+6 −0 src/main/java/org/spongepowered/api/block/entity/carrier/Campfire.java
+52 −0 src/main/java/org/spongepowered/api/block/entity/carrier/Crafter.java
+3 −0 src/main/java/org/spongepowered/api/block/entity/carrier/furnace/FurnaceBlockEntity.java
+52 −18 src/main/java/org/spongepowered/api/data/Keys.java
+43 −3 src/main/java/org/spongepowered/api/data/type/ArtTypes.java
+4 −0 src/main/java/org/spongepowered/api/data/type/BannerPatternShapes.java
+1 −5 src/main/java/org/spongepowered/api/data/type/LlamaTypes.java
+11 −3 src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
+8 −9 src/main/java/org/spongepowered/api/entity/attribute/Attribute.java
+3 −42 src/main/java/org/spongepowered/api/entity/attribute/AttributeModifier.java
+18 −0 src/main/java/org/spongepowered/api/entity/attribute/type/AttributeTypes.java
+1 −2 src/main/java/org/spongepowered/api/entity/projectile/DamagingProjectile.java
+6 −0 src/main/java/org/spongepowered/api/event/EventContextKeys.java
+48 −0 src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageModifier.java
+20 −4 src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageModifierTypes.java
+4 −0 src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageTypes.java
+4 −3 src/main/java/org/spongepowered/api/event/entity/AttackEntityEvent.java
+5 −3 src/main/java/org/spongepowered/api/event/entity/DamageEntityEvent.java
+124 −0 src/main/java/org/spongepowered/api/event/entity/InvokePortalEvent.java
+8 −8 src/main/java/org/spongepowered/api/event/impl/entity/AbstractAttackEntityEvent.java
+9 −9 src/main/java/org/spongepowered/api/event/impl/entity/AbstractDamageEntityEvent.java
+37 −42 src/main/java/org/spongepowered/api/event/impl/entity/AbstractModifierEvent.java
+6 −0 src/main/java/org/spongepowered/api/item/ItemTypes.java
+0 −9 src/main/java/org/spongepowered/api/item/enchantment/Enchantment.java
+9 −3 src/main/java/org/spongepowered/api/item/enchantment/EnchantmentType.java
+2 −2 src/main/java/org/spongepowered/api/item/enchantment/EnchantmentTypes.java
+8 −0 src/main/java/org/spongepowered/api/item/inventory/crafting/CraftingGridInventory.java
+2 −0 src/main/java/org/spongepowered/api/item/inventory/equipment/EquipmentGroups.java
+12 −12 src/main/java/org/spongepowered/api/item/recipe/Recipe.java
+14 −39 src/main/java/org/spongepowered/api/item/recipe/RecipeManager.java
+1 −1 src/main/java/org/spongepowered/api/item/recipe/RecipeRegistration.java
+2 −1 src/main/java/org/spongepowered/api/item/recipe/RecipeType.java
+2 −2 src/main/java/org/spongepowered/api/item/recipe/RecipeTypes.java
+3 −3 src/main/java/org/spongepowered/api/item/recipe/cooking/CookingRecipe.java
+1 −1 src/main/java/org/spongepowered/api/item/recipe/crafting/CraftingRecipe.java
+103 −0 src/main/java/org/spongepowered/api/item/recipe/crafting/RecipeInput.java
+2 −3 src/main/java/org/spongepowered/api/item/recipe/crafting/ShapedCraftingRecipe.java
+2 −3 src/main/java/org/spongepowered/api/item/recipe/crafting/ShapelessCraftingRecipe.java
+3 −4 src/main/java/org/spongepowered/api/item/recipe/crafting/SpecialCraftingRecipe.java
+3 −3 src/main/java/org/spongepowered/api/item/recipe/single/StoneCutterRecipe.java
+3 −3 src/main/java/org/spongepowered/api/item/recipe/smithing/SmithingRecipe.java
+3 −6 src/main/java/org/spongepowered/api/registry/RegistryTypes.java
+1 −1 src/main/java/org/spongepowered/api/spawner/Spawner.java
+2 −0 src/main/java/org/spongepowered/api/tag/BiomeTags.java
+6 −0 src/main/java/org/spongepowered/api/tag/BlockTypeTags.java
+6 −0 src/main/java/org/spongepowered/api/tag/DamageTypeTags.java
+90 −0 src/main/java/org/spongepowered/api/tag/EnchantmenTypeTags.java
+10 −0 src/main/java/org/spongepowered/api/tag/EntityTypeTags.java
+2 −2 src/main/java/org/spongepowered/api/tag/ItemTypeTags.java
+3 −4 src/main/java/org/spongepowered/api/world/WorldTypeDataFetcher.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/feature/FeatureTypes.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/feature/Features.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/feature/PlacedFeatures.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/feature/PlacementModifierTypes.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/structure/StructureSets.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/structure/Structures.java
+13 −1 src/main/java/org/spongepowered/api/world/generation/structure/jigsaw/JigsawPoolElement.java
+90 −0 src/main/java/org/spongepowered/api/world/generation/structure/jigsaw/JigsawPools.java
+2 −0 src/main/java/org/spongepowered/api/world/generation/structure/jigsaw/ProcessorLists.java
+9 −7 src/main/java/org/spongepowered/api/world/portal/Portal.java
+292 −0 src/main/java/org/spongepowered/api/world/portal/PortalLogic.java
+0 −86 src/main/java/org/spongepowered/api/world/portal/PortalType.java
+0 −64 src/main/java/org/spongepowered/api/world/portal/PortalTypes.java
+40 −38 src/test/java/org/spongepowered/api/event/SpongeAbstractDamageEntityEventTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,6 @@
@Mixin(ServerPlayer.class)
public abstract class ServerPlayerMixin_Forge extends LivingEntityMixin_Forge {

/**
* @author dualspiral - 18th December 2020 - 1.16.4
* @reason Redirects the Forge changeDimension method to our own
* to support our event and other logic (see
* ServerPlayerEntityMixin on the common mixin sourceset for
* details).
*
* This will get called on the nether dimension changes, as the
* end portal teleport call itself has been redirected to provide
* the correct type.
*/
@Overwrite
@Nullable // should be javax.annotations.Nullable
public Entity changeDimension(final ServerLevel serverLevel, final ITeleporter teleporter) {
return ((EntityBridge) this).bridge$changeDimension(serverLevel, (PortalLogic) teleporter);
}

// override from LivingEntityMixin_Forge
@Override
protected void forge$onElytraUse(final CallbackInfo ci) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public void generate(final Context ctx) {
} catch (Exception e) {
throw new IllegalStateException("Failed to name for enum field in class " + this.clazz.getName(), e);
}
final ResourceLocation key = new ResourceLocation(this.namespace, name);
final ResourceLocation key = ResourceLocation.fromNamespaceAndPath(this.namespace, name);

final FieldDeclaration existing = fields.remove(key);
if (existing != null) {
Expand Down Expand Up @@ -150,24 +150,24 @@ private ResourceLocation extractFieldIdentifier(final FieldDeclaration declarati
final VariableDeclarator var = declaration.getVariable(0);
final Expression initializer = var.getInitializer().orElse(null);
if (!(initializer instanceof MethodCallExpr) || ((MethodCallExpr) initializer).getArguments().size() != 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

final Expression argument = ((MethodCallExpr) initializer).getArgument(0);
if (!(argument instanceof final MethodCallExpr keyInitializer)
|| keyInitializer.getArguments().size() < 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

if (keyInitializer.getArguments().size() == 1) { // method name as namespace
return new ResourceLocation(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
return ResourceLocation.fromNamespaceAndPath(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
} else if (keyInitializer.getArguments().size() == 2) { // (namespace, path)
return new ResourceLocation(
return ResourceLocation.fromNamespaceAndPath(
keyInitializer.getArgument(0).asStringLiteralExpr().asString(),
keyInitializer.getArgument(1).asStringLiteralExpr().asString()
);
} else {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ private static List<Generator> generators(final Context context) {
final Map<ResourceLocation, Object> out = new HashMap<>(map.size());
map.forEach((BiConsumer<Object, Object>) (k, v) -> {
var key = (GameRules.Key<?>) k;
out.put(new ResourceLocation("sponge:" + CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, key.getId())), v);
out.put(ResourceLocation.fromNamespaceAndPath("sponge", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, key.getId())), v);
});
return out;
}
Expand Down Expand Up @@ -320,7 +320,8 @@ private static List<Generator> generators(final Context context) {
"ArtTypes",
"ART_TYPE",
context.relativeClass("data.type", "ArtType"),
Registries.PAINTING_VARIANT
Registries.PAINTING_VARIANT,
a -> true, RegistryScope.SERVER
),
new RegistryEntriesGenerator<>(
"entity.attribute.type",
Expand Down Expand Up @@ -419,7 +420,7 @@ private static List<Generator> generators(final Context context) {
"EntityTypes",
Registries.ENTITY_TYPE,
$ -> true,
Set.of(new ResourceLocation("sponge", "human")) // Sponge's Human type is an extra addition
Set.of(ResourceLocation.fromNamespaceAndPath("sponge", "human")) // Sponge's Human type is an extra addition
),
new RegistryEntriesGenerator<>(
"fluid",
Expand Down Expand Up @@ -653,6 +654,13 @@ private static List<Generator> generators(final Context context) {
"tag",
"FluidTypeTags"
),
new TagGenerator(
"ENCHANTMENT_TYPE",
Registries.ENCHANTMENT,
context.relativeClass("item.enchantment", "EnchantmentType"),
"tag",
"EnchantmenTypeTags"
),
new RegistryEntriesGenerator<>(
"event.cause.entity.damage",
"DamageTypes",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,24 +161,24 @@ private ResourceLocation extractFieldIdentifier(final FieldDeclaration declarati
final VariableDeclarator var = declaration.getVariable(0);
final Expression initializer = var.getInitializer().orElse(null);
if (!(initializer instanceof MethodCallExpr) || ((MethodCallExpr) initializer).getArguments().size() != 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

final Expression argument = ((MethodCallExpr) initializer).getArgument(0);
if (!(argument instanceof final MethodCallExpr keyInitializer)
|| keyInitializer.getArguments().size() < 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

if (keyInitializer.getArguments().size() == 1) { // method name as namespace
return new ResourceLocation(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
return ResourceLocation.fromNamespaceAndPath(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
} else if (keyInitializer.getArguments().size() == 2) { // (namespace, path)
return new ResourceLocation(
return ResourceLocation.fromNamespaceAndPath(
keyInitializer.getArgument(0).asStringLiteralExpr().asString(),
keyInitializer.getArgument(1).asStringLiteralExpr().asString()
);
} else {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,24 +163,24 @@ private ResourceLocation extractFieldIdentifier(final FieldDeclaration declarati
final VariableDeclarator var = declaration.getVariable(0);
final Expression initializer = var.getInitializer().orElse(null);
if (!(initializer instanceof MethodCallExpr) || ((MethodCallExpr) initializer).getArguments().size() != 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

final Expression argument = ((MethodCallExpr) initializer).getArgument(0);
if (!(argument instanceof final MethodCallExpr keyInitializer)
|| keyInitializer.getArguments().size() < 1) {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

if (keyInitializer.getArguments().size() == 1) { // method name as namespace
return new ResourceLocation(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
return ResourceLocation.fromNamespaceAndPath(keyInitializer.getNameAsString(), keyInitializer.getArgument(0).asStringLiteralExpr().asString());
} else if (keyInitializer.getArguments().size() == 2) { // (namespace, path)
return new ResourceLocation(
return ResourceLocation.fromNamespaceAndPath(
keyInitializer.getArgument(0).asStringLiteralExpr().asString(),
keyInitializer.getArgument(1).asStringLiteralExpr().asString()
);
} else {
return new ResourceLocation(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
return ResourceLocation.parse(var.getNameAsString().toLowerCase(Locale.ROOT)); // a best guess
}

}
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ mixinConfigs=mixins.sponge.accessors.json,mixins.sponge.api.json,mixins.sponge.c
mixins.sponge.tracker.json,mixins.sponge.ipforward.json,mixins.sponge.optimization.json
superClassChanges=common.superclasschange

minecraftVersion=1.20.6
minecraftVersion=1.21
recommendedVersion=0-SNAPSHOT

org.gradle.dependency.verification.console=verbose
Expand Down
8 changes: 8 additions & 0 deletions gradle/verification-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,14 @@
<sha256 value="c02b5c9dddaee986319bb916c2084f0b058ece6c0d486dffcd4f66b262331490" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.mojang" name="datafixerupper" version="8.0.16">
<artifact name="datafixerupper-8.0.16.jar">
<sha256 value="ffc138bc2596c291781b0d5e211ccac51f0f2345f27fc2742f335cedf7e2870d" origin="Generated by Gradle"/>
</artifact>
<artifact name="datafixerupper-8.0.16.module">
<sha256 value="1004a7c99d09653f528ed6ac884808a7245264a33d6f3c6a3f8c092c35df20c9" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.mojang" name="logging" version="1.1.1">
<artifact name="logging-1.1.1.jar">
<sha256 value="c1756eaf0685da94142bacc84309bb7ccddf65e004638c3299ab645710b5938c" origin="Generated by Gradle"/>
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ if (spongeForge.exists()) {
).joinToString(separator = System.lineSeparator(), postfix = System.lineSeparator()))
}
val spongeForgeEnabledInCi: String = startParameter.projectProperties.getOrDefault("enableSpongeForge", "false")
if (spongeForgeEnabledInCi.toBoolean()) {
if (false && spongeForgeEnabledInCi.toBoolean()) {
include(":SpongeForge")
project(":SpongeForge").projectDir = file("forge")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,11 @@
*/
package org.spongepowered.common.accessor.world.entity;

import com.google.common.collect.ImmutableList;
import net.minecraft.BlockUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.Component;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.entity.EntityInLevelCallback;
import net.minecraft.world.level.portal.PortalInfo;
import net.minecraft.world.phys.Vec3;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
Expand Down Expand Up @@ -83,22 +76,9 @@ public interface EntityAccessor {

@Accessor("random") RandomSource accessor$random();

@Accessor("isInsidePortal") void accessor$isInsidePortal(final boolean isInsidePortal);

@Accessor("portalTime") int accessor$portalTime();

@Accessor("portalTime") void accessor$portalTime(final int portalTime);

@Accessor("portalEntrancePos") BlockPos accessor$portalEntrancePos();

@Accessor("portalEntrancePos") void accessor$portalEntrancePos(final BlockPos portalEntrancePos);

@Accessor("passengers") ImmutableList<Entity> accessor$passengers();

@Accessor("levelCallback") EntityInLevelCallback accessor$levelCallback();

@Invoker("setRot") void invoker$setRot(final float yRot, final float xRot);

@Invoker("getEncodeId") @Nullable String invoker$getEncodeId();

@Invoker("removePassenger") void invoker$removePassenger(final Entity passenger);
Expand All @@ -109,12 +89,6 @@ public interface EntityAccessor {

@Invoker("getPermissionLevel") int invoker$getPermissionLevel();

@Invoker("removeAfterChangingDimensions") void invoker$removeAfterChangingDimensions();

@Invoker("getRelativePortalPosition") Vec3 invoker$getRelativePortalPosition(Direction.Axis axis, BlockUtil.FoundRectangle result);

@Invoker("findDimensionEntryPoint") PortalInfo invoker$findDimensionEntryPoint(ServerLevel targetWorld);

@Invoker("unsetRemoved") void invoker$unsetRemoved();

}
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ public interface LivingEntityAccessor {
@Accessor("lastHurtByMob") @Nullable LivingEntity accessor$lastHurtByMob();

@Accessor("autoSpinAttackTicks") int accessor$autoSpinAttackTicks();
@Accessor("autoSpinAttackDmg") float accessor$autoSpinAttackDmg();
@Accessor("autoSpinAttackItemStack") ItemStack accessor$autoSpinAttackItemStack();

@Accessor("useItem") void accessor$useItem(final ItemStack useItem);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,14 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package org.spongepowered.common.accessor.world.entity.projectile;
package org.spongepowered.common.accessor.world.entity;

import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.PortalProcessor;
import net.minecraft.world.level.block.Portal;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(AbstractArrow.class)
public interface AbstractArrowAccessor {

@Accessor("knockback") int accessor$knockback();

@Mixin(PortalProcessor.class)
public interface PortalProcessorAccessor {
@Accessor("portal") Portal accessor$portal();
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,15 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package org.spongepowered.common.accessor.world.entity.decoration;
package org.spongepowered.common.accessor.world.inventory;

import net.minecraft.core.Holder;
import net.minecraft.world.entity.decoration.Painting;
import net.minecraft.world.entity.decoration.PaintingVariant;
import net.minecraft.world.inventory.SmithingMenu;
import net.minecraft.world.item.crafting.SmithingRecipeInput;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;

@Mixin(Painting.class)
public interface PaintingAccessor {

@Invoker("setVariant") void invoker$setVariant(final Holder<PaintingVariant> direction);
@Mixin(SmithingMenu.class)
public interface SmithingMenuAccessor {

@Invoker("createRecipeInput") SmithingRecipeInput invoker$createRecipeInput();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* This file is part of Sponge, licensed under the MIT License (MIT).
*
* Copyright (c) SpongePowered <https://www.spongepowered.org>
* Copyright (c) contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package org.spongepowered.common.accessor.world.inventory;

import net.minecraft.world.Container;
import net.minecraft.world.inventory.StonecutterMenu;
import net.minecraft.world.item.crafting.SingleRecipeInput;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
import org.spongepowered.common.UntransformedInvokerError;

@Mixin(StonecutterMenu.class)
public interface StonecutterMenuAccessor {

@Invoker("createRecipeInput") static SingleRecipeInput invoker$createRecipeInput(Container $$0) {
throw new UntransformedInvokerError();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public interface BaseSpawnerAccessor {
@Accessor("spawnPotentials") void accessor$spawnPotentials(SimpleWeightedRandomList<SpawnData> newData);

@Accessor("nextSpawnData") SpawnData accessor$nextSpawnData();
@Accessor("nextSpawnData") void accessor$nextSpawnData(SpawnData spawnData);

@Accessor("minSpawnDelay") int accessor$minSpawnDelay();

Expand Down
Loading