Update Workbench
This commit is contained in:
parent
ab013975b1
commit
7c730827e5
src/main/java/ru/magistu/siegemachines/client/gui/workbench
@ -57,12 +57,12 @@ public class SiegeWorkbenchResultSlot extends Slot {
|
||||
*/
|
||||
protected void checkTakeAchievements(ItemStack stack) {
|
||||
if (this.removeCount > 0) {
|
||||
stack.onCraftedBy(this.player.level, this.player, this.removeCount);
|
||||
stack.onCraftedBy(this.player.level(), this.player, this.removeCount);
|
||||
net.minecraftforge.event.ForgeEventFactory.firePlayerCraftingEvent(this.player, stack, this.craftSlots);
|
||||
}
|
||||
|
||||
if (this.container instanceof RecipeHolder) {
|
||||
((RecipeHolder)this.container).awardUsedRecipes(this.player);
|
||||
((RecipeHolder) this.container).awardUsedRecipes(this.player, this.craftSlots.getItems()); //TODO
|
||||
}
|
||||
|
||||
this.removeCount = 0;
|
||||
@ -71,8 +71,8 @@ public class SiegeWorkbenchResultSlot extends Slot {
|
||||
public void onTake(Player player, ItemStack stack) {
|
||||
this.checkTakeAchievements(stack);
|
||||
net.minecraftforge.common.ForgeHooks.setCraftingPlayer(player);
|
||||
RecipeManager manager = player.level.getRecipeManager();
|
||||
NonNullList<ItemStack> nonnulllist = manager.getRemainingItemsFor(ModRecipes.SIEGE_WORKBENCH_RECIPE, craftSlots, player.level);
|
||||
RecipeManager manager = player.level().getRecipeManager();
|
||||
NonNullList<ItemStack> nonnulllist = manager.getRemainingItemsFor(ModRecipes.SIEGE_WORKBENCH_RECIPE, craftSlots, player.level());
|
||||
net.minecraftforge.common.ForgeHooks.setCraftingPlayer(null);
|
||||
for (int i = 0; i < nonnulllist.size(); ++i) {
|
||||
ItemStack itemstack = this.craftSlots.getItem(i);
|
||||
@ -85,7 +85,7 @@ public class SiegeWorkbenchResultSlot extends Slot {
|
||||
if (!itemstack1.isEmpty()) {
|
||||
if (itemstack.isEmpty()) {
|
||||
this.craftSlots.setItem(i, itemstack1);
|
||||
} else if (ItemStack.isSame(itemstack, itemstack1) && ItemStack.tagMatches(itemstack, itemstack1)) {
|
||||
} else if (ItemStack.isSameItem(itemstack, itemstack1) && ItemStack.matches(itemstack, itemstack1)) {
|
||||
itemstack1.grow(itemstack.getCount());
|
||||
this.craftSlots.setItem(i, itemstack1);
|
||||
} else if (!this.player.getInventory().add(itemstack1)) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package ru.magistu.siegemachines.client.gui.workbench;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.network.chat.Component;
|
||||
@ -13,60 +13,51 @@ import org.jetbrains.annotations.NotNull;
|
||||
import ru.magistu.siegemachines.SiegeMachines;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class SiegeWorkbenchScreen extends AbstractContainerScreen<SiegeWorkbenchContainer>
|
||||
{
|
||||
private static final ResourceLocation DISPLAY_CASE_GUI = new ResourceLocation(SiegeMachines.ID, "textures/gui/siege_workbench.png");
|
||||
public class SiegeWorkbenchScreen extends AbstractContainerScreen<SiegeWorkbenchContainer> {
|
||||
private static final ResourceLocation DISPLAY_CASE_GUI = new ResourceLocation(SiegeMachines.ID, "textures/gui/siege_workbench.png");
|
||||
|
||||
public SiegeWorkbenchScreen(SiegeWorkbenchContainer screenContainer, Inventory inv, Component titleIn)
|
||||
{
|
||||
super(screenContainer, inv, titleIn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack matrixStack, int mouseX, int mouseY, float partialTicks)
|
||||
{
|
||||
this.renderBackground(matrixStack);
|
||||
super.render(matrixStack, mouseX, mouseY, partialTicks);
|
||||
this.renderTooltip(matrixStack, mouseX, mouseY);
|
||||
}
|
||||
public SiegeWorkbenchScreen(SiegeWorkbenchContainer screenContainer, Inventory inv, Component titleIn) {
|
||||
super(screenContainer, inv, titleIn);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void renderTooltip(@NotNull PoseStack matrixStack, int x, int y)
|
||||
{
|
||||
if (this.minecraft.player.getInventory().getSelected().isEmpty() && this.hoveredSlot != null && this.hoveredSlot.hasItem())
|
||||
{
|
||||
this.renderTooltip(matrixStack, this.hoveredSlot.getItem(), x, y);
|
||||
}
|
||||
}
|
||||
public void render(GuiGraphics matrixStack, int mouseX, int mouseY, float partialTicks) {
|
||||
this.renderBackground(matrixStack);
|
||||
super.render(matrixStack, mouseX, mouseY, partialTicks);
|
||||
this.renderTooltip(matrixStack, mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init()
|
||||
{
|
||||
super.init();
|
||||
this.titleLabelX = 29;
|
||||
}
|
||||
@Override
|
||||
protected void renderTooltip(@NotNull GuiGraphics matrixStack, int x, int y) {
|
||||
if (this.minecraft.player.getInventory().getSelected().isEmpty() && this.hoveredSlot != null && this.hoveredSlot.hasItem()) {
|
||||
this.renderTooltip(matrixStack, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void renderBg(@NotNull PoseStack matrixStack, float partialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexShader);
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderSystem.setShaderTexture(0, DISPLAY_CASE_GUI);
|
||||
int i = this.leftPos;
|
||||
int j = (this.height - this.imageHeight) / 2;
|
||||
this.blit(matrixStack, i, j, 0, 0, this.imageWidth, this.imageHeight);
|
||||
}
|
||||
@Override
|
||||
protected void init() {
|
||||
super.init();
|
||||
this.titleLabelX = 29;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyPressed(int key, int b, int c)
|
||||
{
|
||||
assert this.minecraft != null;
|
||||
if (key == 256)
|
||||
{
|
||||
assert this.minecraft.player != null;
|
||||
this.minecraft.player.closeContainer();
|
||||
return true;
|
||||
}
|
||||
return super.keyPressed(key, b, c);
|
||||
}
|
||||
@Override
|
||||
protected void renderBg(@NotNull GuiGraphics matrixStack, float partialTicks, int mouseX, int mouseY) {
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexShader);
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderSystem.setShaderTexture(0, DISPLAY_CASE_GUI);
|
||||
int i = this.leftPos;
|
||||
int j = (this.height - this.imageHeight) / 2;
|
||||
matrixStack.blit(DISPLAY_CASE_GUI, i, j, 0, 0, this.imageWidth, this.imageHeight);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyPressed(int key, int b, int c) {
|
||||
assert this.minecraft != null;
|
||||
if (key == 256) {
|
||||
assert this.minecraft.player != null;
|
||||
this.minecraft.player.closeContainer();
|
||||
return true;
|
||||
}
|
||||
return super.keyPressed(key, b, c);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user