After complaints that the manual is a scam, you can now refund it back into its ingredients.
Can be disabled in config
This commit is contained in:
parent
8b82259871
commit
65b95afed8
4 changed files with 97 additions and 6 deletions
|
@ -216,6 +216,7 @@ public class Core {
|
||||||
event.registerPacket(PacketRollingMachineLock.class, Side.SERVER);
|
event.registerPacket(PacketRollingMachineLock.class, Side.SERVER);
|
||||||
event.registerPacket(PacketFusionControlSize.class, Side.SERVER);
|
event.registerPacket(PacketFusionControlSize.class, Side.SERVER);
|
||||||
event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER);
|
event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER);
|
||||||
|
event.registerPacket(PacketRefund.class, Side.SERVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Mod.EventHandler
|
@Mod.EventHandler
|
||||||
|
|
|
@ -30,10 +30,13 @@ import net.minecraft.client.gui.GuiScreen;
|
||||||
import net.minecraft.client.resources.I18n;
|
import net.minecraft.client.resources.I18n;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import reborncore.common.network.NetworkManager;
|
||||||
import techreborn.items.ItemTechManual;
|
import techreborn.items.ItemTechManual;
|
||||||
|
import techreborn.packets.PacketRefund;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
||||||
public class GuiManual extends GuiScreen {
|
public class GuiManual extends GuiScreen {
|
||||||
|
|
||||||
ItemTechManual manual;
|
ItemTechManual manual;
|
||||||
|
@ -44,7 +47,7 @@ public class GuiManual extends GuiScreen {
|
||||||
int guiHeight = 195;
|
int guiHeight = 195;
|
||||||
private static final String text1 = I18n.format("techreborn.manual.wiki");
|
private static final String text1 = I18n.format("techreborn.manual.wiki");
|
||||||
private static final String text2 = I18n.format("techreborn.manual.discord");
|
private static final String text2 = I18n.format("techreborn.manual.discord");
|
||||||
|
private static final String text3 = I18n.format("techreborn.manual.refund");
|
||||||
|
|
||||||
public GuiManual(EntityPlayer player) {
|
public GuiManual(EntityPlayer player) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
|
@ -57,8 +60,12 @@ public class GuiManual extends GuiScreen {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initGui() {
|
public void initGui() {
|
||||||
buttonList.add(new GuiButton(1, (width / 2 - 30), (height / 2 - (guiHeight / 4)) + 17, 60, 20, I18n.format("techreborn.manual.wikibtn")));
|
int y = height / 4;
|
||||||
buttonList.add(new GuiButton(2, (width / 2 - 30), (height / 2) + 22, 60, 20, I18n.format("techreborn.manual.discordbtn")));
|
buttonList.add(new GuiButton(1, (width / 2 - 30), y + 10, 60, 20, I18n.format("techreborn.manual.wikibtn")));
|
||||||
|
buttonList.add(new GuiButton(2, (width / 2 - 30), y + 60, 60, 20, I18n.format("techreborn.manual.discordbtn")));
|
||||||
|
if(PacketRefund.allowRefund){
|
||||||
|
buttonList.add(new GuiButton(3, (width / 2 - 30), y + 110, 60, 20, I18n.format("techreborn.manual.refundbtn")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -68,8 +75,12 @@ public class GuiManual extends GuiScreen {
|
||||||
int centerX = (width / 2) - guiWidth / 2;
|
int centerX = (width / 2) - guiWidth / 2;
|
||||||
int centerY = (height / 2) - guiHeight / 2;
|
int centerY = (height / 2) - guiHeight / 2;
|
||||||
drawTexturedModalRect(centerX, centerY, 0, 0, guiWidth, guiHeight);
|
drawTexturedModalRect(centerX, centerY, 0, 0, guiWidth, guiHeight);
|
||||||
fontRenderer.drawString(text1, ((width / 2) - fontRenderer.getStringWidth(text1) / 2), height / 2 - (guiHeight / 4), 4210752);
|
int y = height / 4;
|
||||||
fontRenderer.drawString(text2, ((width / 2) - fontRenderer.getStringWidth(text2) / 2), height / 2 + 5, 4210752);
|
fontRenderer.drawString(text1, ((width / 2) - fontRenderer.getStringWidth(text1) / 2), y, 4210752);
|
||||||
|
fontRenderer.drawString(text2, ((width / 2) - fontRenderer.getStringWidth(text2) / 2), y + 50, 4210752);
|
||||||
|
if(PacketRefund.allowRefund){
|
||||||
|
fontRenderer.drawString(text3, ((width / 2) - fontRenderer.getStringWidth(text3) / 2), y + 100, 4210752);
|
||||||
|
}
|
||||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +91,11 @@ public class GuiManual extends GuiScreen {
|
||||||
mc.displayGuiScreen(new GuiConfirmOpenLink(this, "http://wiki.techreborn.ovh", 1, false));
|
mc.displayGuiScreen(new GuiConfirmOpenLink(this, "http://wiki.techreborn.ovh", 1, false));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
mc.displayGuiScreen(new GuiConfirmOpenLink(this, "http://discord.gg/0tCDWb77cvetwm0e", 2, false));
|
mc.displayGuiScreen(new GuiConfirmOpenLink(this, "https://discord.gg/teamreborn", 2, false));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
mc.displayGuiScreen(null);
|
||||||
|
NetworkManager.sendToServer(new PacketRefund());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
73
src/main/java/techreborn/packets/PacketRefund.java
Normal file
73
src/main/java/techreborn/packets/PacketRefund.java
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
/*
|
||||||
|
* This file is part of TechReborn, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) 2018 TechReborn
|
||||||
|
*
|
||||||
|
* 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 techreborn.packets;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||||
|
import reborncore.common.network.ExtendedPacketBuffer;
|
||||||
|
import reborncore.common.network.INetworkPacket;
|
||||||
|
import reborncore.common.registration.RebornRegistry;
|
||||||
|
import reborncore.common.registration.impl.ConfigRegistry;
|
||||||
|
import reborncore.common.util.OreUtil;
|
||||||
|
import techreborn.init.ModItems;
|
||||||
|
import techreborn.lib.ModInfo;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@RebornRegistry(modID = ModInfo.MOD_ID)
|
||||||
|
public class PacketRefund implements INetworkPacket<PacketRefund> {
|
||||||
|
|
||||||
|
@ConfigRegistry(config = "misc", category = "general", key = "manualRefund", comment = "Allow refunding items used to craft the manual")
|
||||||
|
public static boolean allowRefund = true;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeData(ExtendedPacketBuffer buffer) throws IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readData(ExtendedPacketBuffer buffer) throws IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processData(PacketRefund message, MessageContext context) {
|
||||||
|
if (allowRefund) {
|
||||||
|
EntityPlayerMP playerMP = context.getServerHandler().player;
|
||||||
|
for (int i = 0; i < playerMP.inventory.getSizeInventory(); i++) {
|
||||||
|
ItemStack stack = playerMP.inventory.getStackInSlot(i);
|
||||||
|
if (stack.getItem() == ModItems.MANUAL) {
|
||||||
|
playerMP.inventory.removeStackFromSlot(i);
|
||||||
|
playerMP.inventory.addItemStackToInventory(new ItemStack(Items.BOOK));
|
||||||
|
playerMP.inventory.addItemStackToInventory(OreUtil.getStackFromName("ingotRefinedIron"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -627,8 +627,10 @@ techreborn.tooltip.alarm=Shift rightclick to change sound
|
||||||
#ManualUI
|
#ManualUI
|
||||||
techreborn.manual.wiki=Online wiki
|
techreborn.manual.wiki=Online wiki
|
||||||
techreborn.manual.discord=Our discord
|
techreborn.manual.discord=Our discord
|
||||||
|
techreborn.manual.refund=I want a refund
|
||||||
techreborn.manual.wikibtn=Open
|
techreborn.manual.wikibtn=Open
|
||||||
techreborn.manual.discordbtn=Join
|
techreborn.manual.discordbtn=Join
|
||||||
|
techreborn.manual.refundbtn=Refund
|
||||||
|
|
||||||
#Advancements
|
#Advancements
|
||||||
advancements.techreborn.root.desc=Now that you have acquired Tech Reborn ore, you might find a tree tap usefull.
|
advancements.techreborn.root.desc=Now that you have acquired Tech Reborn ore, you might find a tree tap usefull.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue