diff --git a/.tmp/software/bernie/geckolib/animatable/GeoBlockEntity.java b/.tmp/software/bernie/geckolib/animatable/GeoBlockEntity.java deleted file mode 100644 index 170ed02c..00000000 --- a/.tmp/software/bernie/geckolib/animatable/GeoBlockEntity.java +++ /dev/null @@ -1,146 +0,0 @@ -package software.bernie.geckolib.animatable; - -import net.minecraft.class_1937; -import net.minecraft.class_2586; -import net.minecraft.class_3218; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; -import software.bernie.geckolib.GeckoLibConstants; -import software.bernie.geckolib.GeckoLibServices; -import software.bernie.geckolib.animation.AnimatableManager; -import software.bernie.geckolib.animation.AnimationController; -import software.bernie.geckolib.constant.dataticket.SerializableDataTicket; -import software.bernie.geckolib.util.RenderUtil; - -/** - * The {@link GeoAnimatable} interface specific to {@link class_2586 BlockEntities} - * - * @see GeckoLib Wiki - Block Animations - */ -public interface GeoBlockEntity extends GeoAnimatable { - /** - * Get server-synced animation data via its relevant {@link SerializableDataTicket}. - *
- * Should only be used on the client-side - *
- * DO NOT OVERRIDE
- *
- * @param dataTicket The data ticket for the data to retrieve
- * @return The synced data, or null if no data of that type has been synced
- */
- @ApiStatus.NonExtendable
- @Nullable
- default
- * DO NOT OVERRIDE
- *
- * @param dataTicket The DataTicket to sync the data for
- * @param data The data to sync
- */
- @ApiStatus.NonExtendable
- default
- * This can be fired from either the client or the server, but optimally you would call it from the server
- *
- * DO NOT OVERRIDE
- *
- * @param controllerName The name of the controller name the animation belongs to, or null to do an inefficient lazy search
- * @param animName The name of animation to trigger. This needs to have been registered with the controller via {@link AnimationController#triggerableAnim AnimationController.triggerableAnim}
- */
- @ApiStatus.NonExtendable
- default void triggerAnim(@Nullable String controllerName, String animName) {
- class_2586 blockEntity = (class_2586)this;
- class_1937 level = blockEntity.method_10997();
-
- if (level == null) {
- GeckoLibConstants.LOGGER.error("Attempting to trigger an animation for a BlockEntity too early! Must wait until after the BlockEntity has been set in the world. (" + blockEntity.getClass().toString() + ")");
-
- return;
- }
-
- if (level.method_8608()) {
- if (controllerName != null) {
- getAnimatableInstanceCache().getManagerForId(0).tryTriggerAnimation(controllerName, animName);
- }
- else {
- getAnimatableInstanceCache().getManagerForId(0).tryTriggerAnimation(animName);
- }
- }
- else {
- GeckoLibServices.NETWORK.triggerBlockEntityAnim(blockEntity.method_11016(), controllerName, animName, (class_3218)level);
- }
- }
-
- /**
- * Stop a previously triggered animation for this BlockEntity for the given controller name and animation name
- *
- * This can be fired from either the client or the server, but optimally you would call it from the server
- *
- * DO NOT OVERRIDE
- *
- * @param controllerName The name of the controller name the animation belongs to, or null to do an inefficient lazy search
- * @param animName The name of the triggered animation to stop, or null to stop any currently playing triggered animation
- */
- @ApiStatus.NonExtendable
- default void stopTriggeredAnim(@Nullable String controllerName, @Nullable String animName) {
- class_2586 blockEntity = (class_2586)this;
- class_1937 level = blockEntity.method_10997();
-
- if (level == null) {
- GeckoLibConstants.LOGGER.error("Attempting to stop a triggered animation for a BlockEntity too early! Must wait until after the BlockEntity has been set in the world. (" + blockEntity.getClass().toString() + ")");
-
- return;
- }
-
- if (level.method_8608()) {
- AnimatableManager
- * By default this is just the animatable's age in ticks, but this method allows for non-ticking custom animatables to provide their own values
- *
- * @param blockEntity The BlockEntity representing this animatable
- * @return The current tick/age of the animatable, for animation purposes
- */
- @Override
- default double getTick(Object blockEntity) {
- return RenderUtil.getCurrentTick();
- }
-}
diff --git a/.tmp/software/bernie/geckolib/model/DefaultedBlockGeoModel.java b/.tmp/software/bernie/geckolib/model/DefaultedBlockGeoModel.java
deleted file mode 100644
index 799e55a8..00000000
--- a/.tmp/software/bernie/geckolib/model/DefaultedBlockGeoModel.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package software.bernie.geckolib.model;
-
-import net.minecraft.class_2960;
-import software.bernie.geckolib.animatable.GeoAnimatable;
-
-/**
- * {@link DefaultedGeoModel} specific to {@link net.minecraft.class_2248 Blocks}
- *
- * Using this class pre-sorts provided asset paths into the "block" subdirectory
- */
-public class DefaultedBlockGeoModel
- * The asset path should be the truncated relative path from the base folder
- *
- * E.G.
- *
- * This allows for sorting of asset files into neat subdirectories for clean management.
- */
- @Override
- protected String subtype() {
- return "block";
- }
-
- /**
- * Changes the constructor-defined model path for this model to an alternate
- *
- * This is useful if your animatable shares a model path with another animatable that differs in path to the texture and animations for this model
- */
- @Override
- public DefaultedBlockGeoModel
- * This is useful if your animatable shares an animations path with another animatable that differs in path to the model and texture for this model
- */
- @Override
- public DefaultedBlockGeoModel
- * This is useful if your animatable shares a texture path with another animatable that differs in path to the model and animations for this model
- */
- @Override
- public DefaultedBlockGeoModel
- * All models registered to a {@link GeoRenderer} must be an instance of this or one of its subclasses
- *
- * @see GeckoLib Wiki - Models
- */
-public abstract class GeoModel
- * Should NOT be used as the primary animation resource path, and in general shouldn't be used
- * at all unless you know what you are doing
- */
- public class_2960[] getAnimationResourceFallbacks(T animatable) {
- return new class_2960[0];
- }
-
- /**
- * Override this and return true if Geckolib should crash when attempting to animate the model, but fails to find a bone
- *
- * By default, GeckoLib will just gracefully ignore a missing bone, which might cause oddities with incorrect models or mismatching variables
- */
- public boolean crashIfBoneMissing() {
- return false;
- }
-
- /**
- * Gets the default render type for this animatable, to be selected by default by the renderer using it
- *
- * @return Return the RenderType to use, or null to prevent the model rendering. Returning null will not prevent animation functions taking place
- */
- @Nullable
- public class_1921 getRenderType(T animatable, class_2960 texture) {
- return class_1921.method_23578(texture);
- }
-
- /**
- * Get the baked geo model object used for rendering from the given resource path
- */
- public BakedGeoModel getBakedModel(class_2960 location) {
- BakedGeoModel model = GeckoLibCache.getBakedModels().get(location);
-
- if (model == null) {
- if (!location.method_12832().contains("geo/"))
- throw GeckoLibConstants.exception(location, "Invalid model resource path provided - GeckoLib models must be placed in assets/
- * It is an internal method for automated animation parsing. Use {@link GeoModel#setCustomAnimations(GeoAnimatable, long, AnimationState)} for custom animation work
- */
- @ApiStatus.Internal
- public void handleAnimations(T animatable, long instanceId, AnimationState
- * Override to set custom animations (such as head rotation, etc)
- *
- * @param animatable The {@code GeoAnimatable} instance currently being rendered
- * @param instanceId The instance id of the {@code GeoAnimatable}
- * @param animationState An {@link AnimationState} instance created to hold animation data for the {@code animatable} for this method call
- */
- public void setCustomAnimations(T animatable, long instanceId, AnimationState
- * Use this method to set custom {@link software.bernie.geckolib.loading.math.value.Variable Variable} values via
- * {@link software.bernie.geckolib.loading.math.MathParser#setVariable(String, DoubleSupplier) MathParser.setVariable}
- *
- * @param animationState The AnimationState data for the current render frame
- * @param animTime The internal tick counter kept by the {@link AnimatableManager manager} for this animatable
- */
- public void applyMolangQueries(AnimationState
- * All blocks added to be rendered by GeckoLib should use an instance of this class.
- */
-public class GeoBlockRenderer
- * This is mostly useful for things like items, which have a single registered instance for all objects
- */
- @Override
- public long getInstanceId(T animatable) {
- return animatable.method_11016().hashCode();
- }
-
- /**
- * Returns the list of registered {@link GeoRenderLayer GeoRenderLayers} for this renderer
- */
- @Override
- public List
- * {@link class_4587} translations made here are kept until the end of the render process
- */
- @Override
- public void preRender(class_4587 poseStack, T animatable, BakedGeoModel model, @Nullable class_4597 bufferSource, @Nullable class_4588 buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int colour) {
- this.blockRenderTranslations = new Matrix4f(poseStack.method_23760().method_23761());
-
- if (!isReRender)
- poseStack.method_22904(0.5, 0, 0.5);
-
- scaleModelForRender(this.scaleWidth, this.scaleHeight, poseStack, animatable, model, isReRender, partialTick, packedLight, packedOverlay);
- }
-
- @Override
- @ApiStatus.Internal
- public void method_3569(T animatable, float partialTick, class_4587 poseStack, class_4597 bufferSource,
- int packedLight, int packedOverlay) {
- this.animatable = animatable;
-
- defaultRender(poseStack, this.animatable, bufferSource, null, null, 0, partialTick, packedLight);
- }
-
- /**
- * The actual render method that subtype renderers should override to handle their specific rendering tasks
- *
- * {@link GeoRenderer#preRender} has already been called by this stage, and {@link GeoRenderer#postRender} will be called directly after
- */
- @Override
- public void actuallyRender(class_4587 poseStack, T animatable, BakedGeoModel model, @Nullable class_1921 renderType,
- class_4597 bufferSource, @Nullable class_4588 buffer, boolean isReRender, float partialTick, int packedLight,
- int packedOverlay, int colour) {
- if (!isReRender) {
- AnimationState
- * Use this method to clean up any leftover persistent objects stored during rendering or any other post-render maintenance tasks as required
- */
- @Override
- public void doPostRenderCleanup() {
- this.animatable = null;
- }
-
- /**
- * Renders the provided {@link GeoBone} and its associated child bones
- */
- @Override
- public void renderRecursively(class_4587 poseStack, T animatable, GeoBone bone, class_1921 renderType, class_4597 bufferSource, class_4588 buffer, boolean isReRender, float partialTick, int packedLight,
- int packedOverlay, int colour) {
- if (bone.isTrackingMatrices()) {
- Matrix4f poseState = new Matrix4f(poseStack.method_23760().method_23761());
- Matrix4f localMatrix = RenderUtil.invertAndMultiplyMatrices(poseState, this.blockRenderTranslations);
- Matrix4f worldState = new Matrix4f(localMatrix);
- class_2338 pos = this.animatable.method_11016();
-
- bone.setModelSpaceMatrix(RenderUtil.invertAndMultiplyMatrices(poseState, this.modelRenderTranslations));
- bone.setLocalSpaceMatrix(localMatrix);
- bone.setWorldSpaceMatrix(worldState.translate(new Vector3f(pos.method_10263(), pos.method_10264(), pos.method_10260())));
- }
-
- GeoRenderer.super.renderRecursively(poseStack, animatable, bone, renderType, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay,
- colour);
- }
-
- /**
- * Rotate the {@link class_4587} based on the determined {@link class_2350} the block is facing
- */
- protected void rotateBlock(class_2350 facing, class_4587 poseStack) {
- switch (facing) {
- case field_11035 -> poseStack.method_22907(class_7833.field_40716.rotationDegrees(180));
- case field_11039 -> poseStack.method_22907(class_7833.field_40716.rotationDegrees(90));
- case field_11043 -> poseStack.method_22907(class_7833.field_40716.rotationDegrees(0));
- case field_11034 -> poseStack.method_22907(class_7833.field_40716.rotationDegrees(270));
- case field_11036 -> poseStack.method_22907(class_7833.field_40714.rotationDegrees(90));
- case field_11033 -> poseStack.method_22907(class_7833.field_40713.rotationDegrees(90));
- }
- }
-
- /**
- * Attempt to extract a direction from the block so that the model can be oriented correctly
- */
- protected class_2350 getFacing(T block) {
- class_2680 blockState = block.method_11010();
-
- if (blockState.method_28498(class_2383.field_11177))
- return blockState.method_11654(class_2383.field_11177);
-
- if (blockState.method_28498(class_2318.field_10927))
- return blockState.method_11654(class_2318.field_10927);
-
- return class_2350.field_11043;
- }
-
- /**
- * Update the current frame of a {@link AnimatableTexture potentially animated} texture used by this GeoRenderer
- *
- * This should only be called immediately prior to rendering
- *
- * @see AnimatableTexture#setAndUpdate
- */
- @Override
- public void updateAnimatedTextureFrame(T animatable) {
- AnimatableTexture.setAndUpdate(getTextureLocation(animatable));
- }
-
- /**
- * Create and fire the relevant {@code CompileLayers} event hook for this renderer
- */
- @Override
- public void fireCompileRenderLayersEvent() {
- GeckoLibServices.Client.EVENTS.fireCompileBlockRenderLayers(this);
- }
-
- /**
- * Create and fire the relevant {@code Pre-Render} event hook for this renderer
- *
- * @return Whether the renderer should proceed based on the cancellation state of the event
- */
- @Override
- public boolean firePreRenderEvent(class_4587 poseStack, BakedGeoModel model, class_4597 bufferSource, float partialTick, int packedLight) {
- return GeckoLibServices.Client.EVENTS.fireBlockPreRender(this, poseStack, model, bufferSource, partialTick, packedLight);
- }
-
- /**
- * Create and fire the relevant {@code Post-Render} event hook for this renderer
- */
- @Override
- public void firePostRenderEvent(class_4587 poseStack, BakedGeoModel model, class_4597 bufferSource, float partialTick, int packedLight) {
- GeckoLibServices.Client.EVENTS.fireBlockPostRender(this, poseStack, model, bufferSource, partialTick, packedLight);
- }
-}
diff --git a/tmp_extract/Frog.javap.txt b/tmp_extract/Frog.javap.txt
deleted file mode 100644
index 5d6a49fb..00000000
Binary files a/tmp_extract/Frog.javap.txt and /dev/null differ
diff --git a/tmp_extract/Frog_full.javap.txt b/tmp_extract/Frog_full.javap.txt
deleted file mode 100644
index 5d6a49fb..00000000
Binary files a/tmp_extract/Frog_full.javap.txt and /dev/null differ
diff --git a/tmp_extract/ShootTongue.javap.txt b/tmp_extract/ShootTongue.javap.txt
deleted file mode 100644
index e35a4828..00000000
Binary files a/tmp_extract/ShootTongue.javap.txt and /dev/null differ
diff --git a/tmp_extract/net/fabricmc/fabric/api/registry/FabricBrewingRecipeRegistryBuilder.java b/tmp_extract/net/fabricmc/fabric/api/registry/FabricBrewingRecipeRegistryBuilder.java
deleted file mode 100644
index 88084cd5..00000000
--- a/tmp_extract/net/fabricmc/fabric/api/registry/FabricBrewingRecipeRegistryBuilder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2016, 2017, 2018, 2019 FabricMC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.fabricmc.fabric.api.registry;
-
-import net.fabricmc.fabric.api.event.Event;
-import net.fabricmc.fabric.api.event.EventFactory;
-import net.minecraft.class_1792;
-import net.minecraft.class_1842;
-import net.minecraft.class_1845;
-import net.minecraft.class_1856;
-import net.minecraft.class_6880;
-import net.minecraft.class_7699;
-
-/**
- * An extension of {@link class_1845.class_9665} to support ingredients.
- */
-public interface FabricBrewingRecipeRegistryBuilder {
- /**
- * An event that is called when the brewing recipe registry is being built.
- */
- Event Register using {@link RegisterBrewingRecipesEvent} and {@link Builder#addRecipe(IBrewingRecipe)}.
- */
-public interface IBrewingRecipe {
- /**
- * Returns true is the passed ItemStack is an input for this recipe. "Input"
- * being the item that goes in one of the three bottom slots of the brewing
- * stand (e.g: water bottle)
- */
- boolean isInput(ItemStack input);
-
- /**
- * Returns true if the passed ItemStack is an ingredient for this recipe.
- * "Ingredient" being the item that goes in the top slot of the brewing
- * stand (e.g: nether wart)
- */
- boolean isIngredient(ItemStack ingredient);
-
- /**
- * Returns the output when the passed input is brewed with the passed
- * ingredient. Empty if invalid input or ingredient.
- */
- ItemStack getOutput(ItemStack input, ItemStack ingredient);
-}
diff --git a/tmp_extract/net/neoforged/neoforge/event/brewing/RegisterBrewingRecipesEvent.java b/tmp_extract/net/neoforged/neoforge/event/brewing/RegisterBrewingRecipesEvent.java
deleted file mode 100644
index 669e61ce..00000000
--- a/tmp_extract/net/neoforged/neoforge/event/brewing/RegisterBrewingRecipesEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) NeoForged and contributors
- * SPDX-License-Identifier: LGPL-2.1-only
- */
-
-package net.neoforged.neoforge.event.brewing;
-
-import net.minecraft.core.RegistryAccess;
-import net.minecraft.world.item.alchemy.PotionBrewing;
-import net.neoforged.bus.api.Event;
-import org.jetbrains.annotations.ApiStatus;
-
-/**
- * Event to register new brewing recipes.
- *
- * Fired on both client and server side, on the main event bus.
- */
-public class RegisterBrewingRecipesEvent extends Event {
- private final PotionBrewing.Builder builder;
- private final RegistryAccess registryAccess;
-
- @ApiStatus.Internal
- public RegisterBrewingRecipesEvent(PotionBrewing.Builder builder, RegistryAccess registryAccess) {
- this.builder = builder;
- this.registryAccess = registryAccess;
- }
-
- public PotionBrewing.Builder getBuilder() {
- return builder;
- }
-
- public RegistryAccess getRegistryAccess() {
- return registryAccess;
- }
-}
{@code
- * new ResourceLocation("myMod", "workbench/sawmill")
- * }
- */
- public DefaultedBlockGeoModel(class_2960 assetSubpath) {
- super(assetSubpath);
- }
-
- /**
- * Returns the subtype string for this type of model
- *