
InternalError_
Members-
Posts
16 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
InternalError_'s Achievements

Tree Puncher (2/8)
0
Reputation
-
[1.19.2] Block does not Display the accepted energy
InternalError_ replied to InternalError_'s topic in Modder Support
Sorry i have deleted the Repo and rewrote everything. So far no problems with that -
Hi In my mod these three configurations get corrected on each client launch. event if they are on default... What am i doing wrong? [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.ENERGY_UPGRADE_STORAGE_EFFECTIVITY was corrected from 1.0 to its default, 1.0. [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY was corrected from 0.125 to its default, 0.125. [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER was corrected from 1 to its default, 1. This seems to be an error. package net.internalerror.futuristicfactories.fml.config; import lombok.experimental.UtilityClass; import net.minecraftforge.common.ForgeConfigSpec; import java.util.function.Predicate; /** * FuturisticFactories * * @author InternalErrorGit * @version 1.0 Snapshot */ @UtilityClass public final class Configuration { public static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder(); public static final ForgeConfigSpec SPEC; public static final ForgeConfigSpec.ConfigValue<Integer> CRUSHING_MACHINE_BASE_ENERGY_STORAGE; public static final ForgeConfigSpec.ConfigValue<Float> ENERGY_UPGRADE_STORAGE_EFFECTIVITY; public static final ForgeConfigSpec.ConfigValue<Integer> CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION; public static final ForgeConfigSpec.ConfigValue<Float> ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY; public static final ForgeConfigSpec.ConfigValue<Integer> SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER; static { BUILDER.push("Configs for Futuristic Factories"); CRUSHING_MACHINE_BASE_ENERGY_STORAGE = BUILDER .comment("Base energy storage of the crushing machine") .define("CRUSHING_MACHINE_BASE_ENERGY_STORAGE", 16000); ENERGY_UPGRADE_STORAGE_EFFECTIVITY = BUILDER .comment("Energy storage upgrade effectivity (storage = baseStorage + (upgradeCount * (baseStorage*effectivity))") .define("ENERGY_UPGRADE_STORAGE_EFFECTIVITY", 1.0f); CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION = BUILDER .comment("Base energy consumption of the crushing machine in FE/tick") .define("CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION", 1024); ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY = BUILDER .comment("Energy consumption effectivity (consumption = baseConsumption -) (min: 0.01, max: 0.99)") .define("ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY", 0.125f, floatMinMaxValidator(0.01f, 0.99f)); SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER = BUILDER .comment("Energy consumption multiplier by speed upgrade (min: 1, max: 5)") .define("SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER", 1, integerMinMaxValidator(1, 5)); BUILDER.pop(); SPEC = BUILDER.build(); } public static Predicate<Object> integerMinMaxValidator(int pMin, int pMax) { return object -> { if (object instanceof Integer number) return number > pMin && number < pMax; return false; }; } public static Predicate<Object> floatMinMaxValidator(float pMin, float pMax) { return object -> { if (object instanceof Float number) return number > pMin && number < pMax; return false; }; } }
-
Hello there I am currently working on a "pulverizing machine" i followed the tutoial of KaupenJoe. After adding everything important the "crushing machine" works fine. but then i tried to generify those things. Everything works fine, with one exclusion. The EnergyInfoArea in "pulverizing machine" does not display the current energy stored.. I've been debugging for 2 Hours but i cant find the problem. So i want to ask you guys if you can find the problem Sourcecode is available via Space Hopefully you guys can help me
-
[1.19.2] Gui won't display properly
InternalError_ replied to InternalError_'s topic in Modder Support
This fixed the problem, Thanks -
[1.19.2] Gui won't display properly
InternalError_ replied to InternalError_'s topic in Modder Support
Texture is a little more wide than the default inventory texture. I cant post images here, but this would be the image https://github.com/InternalErrorGit/FuturisticFactories/blob/master/src/main/resources/assets/futuristicfactories/textures/gui/crushing_machine.png -
Hello i added a new Block with its own Menu and screen. In the tutorial everything displays propely, but on my end its stretched and only the half of the texture is shown. I havent worked with the rendering system until now, so here's my code. Maybe you guys have an idea what im doing wrong package net.internalerror.futuristicfactories.gui.screen; import net.internalerror.futuristicfactories.block.entity.CrushingMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.CrushingRecipe; import net.internalerror.futuristicfactories.gui.menu.CrushingMachineMenu; import net.internalerror.futuristicfactories.gui.screen.util.FFMachineScreen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; import static net.internalerror.futuristicfactories.FuturisticFactories.MOD_ID; public class CrushingMachineScreen extends FFMachineScreen<CrushingRecipe, CrushingMachineBlockEntity, CrushingMachineMenu> { public CrushingMachineScreen(CrushingMachineMenu menu, Inventory playerInventory, Component title) { super(menu, playerInventory, title); } @Override public int getImageWidth() { return 176; } @Override public int getImageHeight() { return 168; } @Override public ResourceLocation getTexture() { return new ResourceLocation(MOD_ID, "textures/gui/crushing_machine.png"); } } package net.internalerror.futuristicfactories.gui.screen.util; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import net.internalerror.futuristicfactories.block.entity.util.FFSimpleMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.FFSimpleRecipe; import net.internalerror.futuristicfactories.gui.menu.util.FFMachineMenu; import net.internalerror.futuristicfactories.gui.screen.area.EnergyInfoArea; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; import org.jetbrains.annotations.NotNull; import java.util.Optional; public abstract class FFMachineScreen<R extends FFSimpleRecipe, E extends FFSimpleMachineBlockEntity<R>, M extends FFMachineMenu<R, E>> extends AbstractContainerScreen<M> { private EnergyInfoArea energyInfoArea; public FFMachineScreen(M menu, Inventory playerInventory, Component title) { super(menu, playerInventory, title); imageWidth = getImageWidth(); imageHeight = getImageHeight(); } @Override protected void init() { super.init(); assignEnergyInfoArea(); } public abstract int getImageWidth(); public abstract int getImageHeight(); private void assignEnergyInfoArea() { int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; energyInfoArea = new EnergyInfoArea(x + 152, y + 19, menu.getBlockEntity().getEnergyStorage()); } @Override protected void renderLabels(@NotNull PoseStack poseStack, int mouseX, int mouseY) { int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; renderEnergyAreaTooltips(poseStack, mouseX, mouseY, x, y); } private void renderEnergyAreaTooltips(PoseStack poseStack, int mouseX, int mouseY, int x, int y) { if (isMouseAboveArea(mouseX, mouseY, x, y, 152, 19, 16, 52)) { renderTooltip(poseStack, energyInfoArea.getTooltips(), Optional.empty(), mouseX - x, mouseY - y); } } private boolean isMouseAboveArea(int mouseX, int mouseY, int x, int y, int offsetX, int offsetY, int width, int height) { return FFMouseUtil.isMouseOver(mouseX, mouseY, x + offsetX, y + offsetY, width, height); } public abstract ResourceLocation getTexture(); @Override protected void renderBg(@NotNull PoseStack poseStack, float partialTick, int pmousex, int mouseY) { RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); RenderSystem.setShaderTexture(0, getTexture()); int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; blit(poseStack, x, y, 0, 0, imageWidth, imageHeight); renderProgressArrow(poseStack, x, y); energyInfoArea.draw(poseStack); } private void renderProgressArrow(PoseStack poseStack, int x, int y) { if (menu.isCrafting()) { blit(poseStack, x + 77, y + 37, 176, 0, menu.getScaledProgress(), 16); } } } package net.internalerror.futuristicfactories.gui.menu.util; import net.internalerror.futuristicfactories.FuturisticFactories; import net.internalerror.futuristicfactories.block.entity.util.FFSimpleMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.FFSimpleRecipe; import net.internalerror.futuristicfactories.registries.FFBlocks; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; import org.jetbrains.annotations.NotNull; public abstract class FFMachineMenu<R extends FFSimpleRecipe, E extends FFSimpleMachineBlockEntity<R>> extends AbstractContainerMenu { protected final E blockEntity; protected final Level level; protected final ContainerData data; public FFMachineMenu(MenuType<?> menuType, int id, Inventory inventory, FriendlyByteBuf friendlyByteBuf) { this(menuType, id, inventory, inventory.player.level.getBlockEntity(friendlyByteBuf.readBlockPos()), new SimpleContainerData(2)); } public FFMachineMenu(MenuType<?> menuType, int id, Inventory inventory, BlockEntity blockEntity, ContainerData simpleContainerData) { super(menuType, id); checkContainerSize(inventory, castBlockEntity(blockEntity).getSlotCount()); this.blockEntity = castBlockEntity(blockEntity); this.level = inventory.player.level; this.data = simpleContainerData; addPlayerInventory(inventory); addPlayerHotbar(inventory); addSlots(blockEntity.getCapability(ForgeCapabilities.ITEM_HANDLER)); } public E getBlockEntity() { return blockEntity; } protected abstract <T extends IItemHandler> void addSlots(LazyOptional<T> capability); protected void addPlayerInventory(Inventory playerInventory) { for (int i = 0; i < 3; i++) { for (int l = 0; l < 9; l++) { addSlot(new Slot(playerInventory, l + i * 9 + 9, 8 + l * 18, 108 + i * 18)); } } } protected void addPlayerHotbar(Inventory playerInventory) { for (int i = 0; i < 9; i++) { addSlot(new Slot(playerInventory, i, 8 + i * 18, 166)); } } protected abstract E castBlockEntity(BlockEntity blockEntity); private static final int hotbar_slot_count = 9; private static final int player_inventor_row_count = 3; private static final int player_inventory_column_count = 9; private static final int player_inventory_slot_count = player_inventory_column_count * player_inventor_row_count; private static final int vanilla_slot_count = hotbar_slot_count + player_inventory_slot_count; private static final int vanilla_first_slot_index = 0; private static final int te_inventory_first_slot_index = vanilla_first_slot_index + vanilla_slot_count; private static final int te_inventory_slot_count = 3; @Override public @NotNull ItemStack quickMoveStack(@NotNull Player player, int index) { Slot sourceSlot = slots.get(index); if (!sourceSlot.hasItem()) { return ItemStack.EMPTY; } ItemStack sourceStack = sourceSlot.getItem(); ItemStack copyOfSourceStack = sourceStack.copy(); if (index < vanilla_first_slot_index + vanilla_slot_count) { if (!moveItemStackTo(sourceStack, te_inventory_first_slot_index, te_inventory_first_slot_index + te_inventory_slot_count, false)) { return ItemStack.EMPTY; } } else if (index < te_inventory_first_slot_index + te_inventory_slot_count) { if (!moveItemStackTo(sourceStack, vanilla_first_slot_index, vanilla_first_slot_index + vanilla_slot_count, false)) { return ItemStack.EMPTY; } } else { FuturisticFactories.LOGGER.error("Invalid slot index: {}", index); return ItemStack.EMPTY; } if (sourceStack.getCount() == 0) { sourceSlot.set(ItemStack.EMPTY); } else { sourceSlot.setChanged(); } sourceSlot.onTake(player, sourceStack); return copyOfSourceStack; } @Override public boolean stillValid(@NotNull Player player) { return stillValid(ContainerLevelAccess.create(level, blockEntity.getBlockPos()), player, FFBlocks.crushing_machine.get()); } public abstract boolean isCrafting(); public abstract int getScaledProgress(); } package net.internalerror.futuristicfactories.gui.menu; import net.internalerror.futuristicfactories.block.entity.CrushingMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.CrushingRecipe; import net.internalerror.futuristicfactories.gui.menu.util.FFMachineMenu; import net.internalerror.futuristicfactories.registries.FFMenuTypes; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.ContainerData; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.SlotItemHandler; public class CrushingMachineMenu extends FFMachineMenu<CrushingRecipe, CrushingMachineBlockEntity> { public CrushingMachineMenu(int id, Inventory inventory, CrushingMachineBlockEntity blockEntity, ContainerData data) { super(FFMenuTypes.crushing_machine.get(), id, inventory, blockEntity, data); } public CrushingMachineMenu(int id, Inventory inventory, FriendlyByteBuf extraData) { super(FFMenuTypes.crushing_machine.get(), id, inventory, extraData); } @Override protected <T extends IItemHandler> void addSlots(LazyOptional<T> capability) { capability.ifPresent(handler -> { addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Wip_Upgrade, 8, 19)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Speed_Upgrade, 8, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Energy_Upgrade, 8, 55)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Ingredient, 44, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Result, 107, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Secondary_Result, 125, 37)); }); } @Override protected CrushingMachineBlockEntity castBlockEntity(BlockEntity blockEntity) { return (CrushingMachineBlockEntity) blockEntity; } @Override public boolean isCrafting() { return data.get(CrushingMachineBlockEntity.Data_Index_Progress) > 0; } @Override public int getScaledProgress() { int progress = data.get(CrushingMachineBlockEntity.Data_Index_Progress); int maxProgress = data.get(CrushingMachineBlockEntity.Data_Index_Max_Progress); int progressArrowSize = 22; return maxProgress != 0 && progress != 0 ? progress * progressArrowSize / maxProgress : 0; } }
-
How do i set the tool that is required to break the block? BLOCK_ORE = new FFRegistryObject<>("ore_" + name(), blocks.register("ore_" + name(), () -> new DropExperienceBlock(BlockBehaviour.Properties.of(Material.STONE).requiresCorrectToolForDrops().strength(3.0F, 3.0F)))); This block for example cant be mined with any tools. I hope someone can help me
-
in java in general yes
-
could you explain me where i have to do that?
-
I added the project to a git so people access the code easlier https://github.com/ImSePhil/Apocalypse
-
So i updated all to version 1.16.5. I also added @Override public IPacket<?> createSpawnPacket() { return NetworkHooks.getEntitySpawningPacket(this); } in EvolvedZombieEntity.java. but it is still not working....
-
Okay thank you ill try that
-
public class ModEntityType { public static final DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITIES, Tutorial.MOD_ID); // Entity Types public static final RegistryObject<EntityType<HogEntity>> HOG = ENTITY_TYPES.register("hog", () -> EntityType.Builder.create(HogEntity::new, EntityClassification.CREATURE) .size(1.0f, 1.0f) // Hitbox Size .build(new ResourceLocation(Tutorial.MOD_ID, "hog").toString())); public static final RegistryObject<EntityType<EvolvedZombieEntity>> EVOLVED_ZOMBIE = ENTITY_TYPES.register("evolved_zombie", () -> EntityType.Builder.<EvolvedZombieEntity>create(EvolvedZombieEntity::new, EntityClassification.MONSTER) .size(1.0f, 1.0f) .build(new ResourceLocation(Tutorial.MOD_ID, "evolved_zombie").toString())); } public class EvolvedZombieModel<T extends EvolvedZombieEntity> extends ZombieModel<T> { public EvolvedZombieModel(float modelSize, boolean p_i1168_2_) { super(modelSize, p_i1168_2_); } protected EvolvedZombieModel(float p_i48914_1_, float p_i48914_2_, int p_i48914_3_, int p_i48914_4_) { super(p_i48914_1_, p_i48914_2_, p_i48914_3_, p_i48914_4_); } public boolean isAggressive(T entityIn) { return entityIn.isAggressive(); } } public class EvolvedZombieRenderer extends ZombieRenderer { public EvolvedZombieRenderer(EntityRendererManager renderManagerIn) { super(renderManagerIn); } } public class EvolvedZombieEntity extends ZombieEntity { public EvolvedZombieEntity(EntityType<? extends ZombieEntity> type, World worldIn) { super(type, worldIn); Tutorial.LOGGER.log(Level.INFO,toString() + " <-- THIS IS MY INFO"); } public EvolvedZombieEntity(World worldIn) { super(worldIn); } public static AttributeModifierMap.MutableAttribute setCustomAttributes() { return MobEntity.func_233666_p_() .createMutableAttribute(Attributes.MAX_HEALTH, 10.0D) .createMutableAttribute(Attributes.MOVEMENT_SPEED, 0.25D); } @Override public String toString() { return "EvolvedZombieEntity{" + "livingSoundTime=" + livingSoundTime + ",\n experienceValue=" + experienceValue + ",\n lookController=" + lookController + ",\n moveController=" + moveController + ",\n jumpController=" + jumpController + ",\n navigator=" + navigator + ",\n goalSelector=" + goalSelector + ",\n targetSelector=" + targetSelector + ",\n inventoryHandsDropChances=" + Arrays.toString(inventoryHandsDropChances) + ",\n inventoryArmorDropChances=" + Arrays.toString(inventoryArmorDropChances) + ",\n isSwingInProgress=" + isSwingInProgress + ",\n swingingHand=" + swingingHand + ",\n swingProgressInt=" + swingProgressInt + ",\n arrowHitTimer=" + arrowHitTimer + ",\n beeStingRemovalCooldown=" + beeStingRemovalCooldown + ",\n hurtTime=" + hurtTime + ",\n maxHurtTime=" + maxHurtTime + ",\n attackedAtYaw=" + attackedAtYaw + ",\n deathTime=" + deathTime + ",\n prevSwingProgress=" + prevSwingProgress + ",\n swingProgress=" + swingProgress + ",\n ticksSinceLastSwing=" + ticksSinceLastSwing + ",\n prevLimbSwingAmount=" + prevLimbSwingAmount + ",\n limbSwingAmount=" + limbSwingAmount + ",\n limbSwing=" + limbSwing + ",\n maxHurtResistantTime=" + maxHurtResistantTime + ",\n randomUnused2=" + randomUnused2 + ",\n randomUnused1=" + randomUnused1 + ",\n renderYawOffset=" + renderYawOffset + ",\n prevRenderYawOffset=" + prevRenderYawOffset + ",\n rotationYawHead=" + rotationYawHead + ",\n prevRotationYawHead=" + prevRotationYawHead + ",\n jumpMovementFactor=" + jumpMovementFactor + ",\n attackingPlayer=" + attackingPlayer + ",\n recentlyHit=" + recentlyHit + ",\n dead=" + dead + ",\n idleTime=" + idleTime + ",\n prevOnGroundSpeedFactor=" + prevOnGroundSpeedFactor + ",\n onGroundSpeedFactor=" + onGroundSpeedFactor + ",\n movedDistance=" + movedDistance + ",\n prevMovedDistance=" + prevMovedDistance + ",\n unused180=" + unused180 + ",\n scoreValue=" + scoreValue + ",\n lastDamage=" + lastDamage + ",\n isJumping=" + isJumping + ",\n moveStrafing=" + moveStrafing + ",\n moveVertical=" + moveVertical + ",\n moveForward=" + moveForward + ",\n newPosRotationIncrements=" + newPosRotationIncrements + ",\n interpTargetX=" + interpTargetX + ",\n interpTargetY=" + interpTargetY + ",\n interpTargetZ=" + interpTargetZ + ",\n interpTargetYaw=" + interpTargetYaw + ",\n interpTargetPitch=" + interpTargetPitch + ",\n interpTargetHeadYaw=" + interpTargetHeadYaw + ",\n interpTicksHead=" + interpTicksHead + ",\n activeItemStack=" + activeItemStack + ",\n activeItemStackUseCount=" + activeItemStackUseCount + ",\n ticksElytraFlying=" + ticksElytraFlying + ",\n spinAttackDuration=" + spinAttackDuration + ",\n brain=" + brain + ",\n preventEntitySpawning=" + preventEntitySpawning + ",\n rideCooldown=" + rideCooldown + ",\n forceSpawn=" + forceSpawn + ",\n world=" + world + ",\n prevPosX=" + prevPosX + ",\n prevPosY=" + prevPosY + ",\n prevPosZ=" + prevPosZ + ",\n rotationYaw=" + rotationYaw + ",\n rotationPitch=" + rotationPitch + ",\n prevRotationYaw=" + prevRotationYaw + ",\n prevRotationPitch=" + prevRotationPitch + ",\n onGround=" + onGround + ",\n collidedHorizontally=" + collidedHorizontally + ",\n collidedVertically=" + collidedVertically + ",\n velocityChanged=" + velocityChanged + ",\n motionMultiplier=" + motionMultiplier + ",\n removed=" + removed + ",\n prevDistanceWalkedModified=" + prevDistanceWalkedModified + ",\n distanceWalkedModified=" + distanceWalkedModified + ",\n distanceWalkedOnStepModified=" + distanceWalkedOnStepModified + ",\n fallDistance=" + fallDistance + ",\n lastTickPosX=" + lastTickPosX + ",\n lastTickPosY=" + lastTickPosY + ",\n lastTickPosZ=" + lastTickPosZ + ",\n stepHeight=" + stepHeight + ",\n noClip=" + noClip + ",\n entityCollisionReduction=" + entityCollisionReduction + ",\n rand=" + rand + ",\n ticksExisted=" + ticksExisted + ",\n inWater=" + inWater + ",\n eyesFluidLevel=" + eyesFluidLevel + ",\n eyesInWater=" + eyesInWater + ",\n field_241335_O_=" + field_241335_O_ + ",\n inLava=" + inLava + ",\n hurtResistantTime=" + hurtResistantTime + ",\n firstUpdate=" + firstUpdate + ",\n dataManager=" + dataManager + ",\n addedToChunk=" + addedToChunk + ",\n chunkCoordX=" + chunkCoordX + ",\n chunkCoordY=" + chunkCoordY + ",\n chunkCoordZ=" + chunkCoordZ + ",\n serverPosX=" + serverPosX + ",\n serverPosY=" + serverPosY + ",\n serverPosZ=" + serverPosZ + ",\n ignoreFrustumCheck=" + ignoreFrustumCheck + ",\n isAirBorne=" + isAirBorne + ",\n timeUntilPortal=" + timeUntilPortal + ",\n inPortal=" + inPortal + ",\n portalCounter=" + portalCounter + ",\n lastPortalPos=" + lastPortalPos + ",\n lastPortalVec=" + lastPortalVec + ",\n teleportDirection=" + teleportDirection + ",\n entityUniqueID=" + entityUniqueID + ",\n cachedUniqueIdString='" + cachedUniqueIdString + '\'' + ",\n glowing=" + glowing + '}'; } }
-
oh okay sorry
-
EvolvedZombieModel.java EvolvedZombieRenderer.java EvolvedZombieEntity.java ModEntityType.java