Forum
Tweakcraft => Support => Topic started by: windwarrior on 30 July 2011, 15:16:52
-
TweakCart
gemaakt door Edoxile, Windwarrior, Meaglin en TheSec
Wat is het?
Tweakcart is bedoeld als een vervanging voor Minecart Mania, samen met TweakFurnance. Het idee van TweakCart is dat het mogelijk is om storageminecarts automatisch kisten kan vullen, en legen.
Welke functies heeft het?
- Minecarts uit dispensers laten komen, en terug
- StorageCarts items automatisch uit kisten te laten pakken, en terugstoppen
- Langzame minecarts stoppen om lag te voorkomen
Hoe werkt het?
Om een storagecart iets uit een k]ist te laten pakken moet naast de kist een bordje staan. Dan moet er op dat bordje een bepaalde tekst staan die aangeeft wat er meegenomen moet worden.
Om aan te geven of een cart iets mee moet nemen of juist moet bezorgen moet er op het bordje of "deposit items" (om items mee te nemen) of "collect items" (om items terug te stoppen) staan. Dan kan daar onder met tekens aangegeven worden wat meegenomen wordt en wat terug gestopt wordt.
De verschillende tekens zijn:
: is een scheidingsteken.
; geeft een datavalue aan (bijvoorbeeld 35;4 is gele wol)
@ geef een hoeveelheid aan (bijvoorbeeld 35@17 laat totaal 17 wol meenemen)
- geeft een gebied aan (bijvoorbeeld 1-4 neemt alle blokken met id 1 tot en met 4 mee)
! sluit items uit (bijvoorbeeld "all items" met daar onder "!35" neemt alle items mee, behalve 35)
Het is ook nog mogelijk om aan te geven wat een cart moet doen als hij een bepaalde richting op rijd
dat geef je aan met hetvolgende:
N+ (als de cart naar het noorden loopt doe dan dit)
S+
E+
W+
Voorbeelden
deposit items
35;4
Als een storagecart daar langs komt neemt hij alle gele wol mee
deposit items
35
!35;4
Als een storagecart daar langs komt neem hij alle wol mee behalve de gele
deposit items
all items
!35-60
neemt alle items mee, behalve de nummers 35 tot en met 60
deposit items
35;4-35;8@50
!35;5
neemt van alle wol met datavalue 4 tot en met 8 per stack 50 blokken mee, behalve van de wol met datavalue 5
deposit items
N+35
neemt alle wol mee, maar alleen als de cart naar het noorden rijdt
Belangrijk om te weten
Er mogen geen '[' en ']' meer om de teksten op de bordjes Fixed per 0.2.1- Datavalues staan hier: http://www.minecraftwiki.net/wiki/Data_values (http://www.minecraftwiki.net/wiki/Data_values)
- het is NIET meer mogelijk om namen van items te gebruiken
- het is mogelijk zowel collect als deposit op een bordje te hebben
- Als je een bordje moet omzetten kun je /pen gebruiken, /pen set [tekst] en dan met een coal op een bordje klikken
Woord achteraf
Tweakcart is nog een beta, mochten er fouten in zitten, meldt deze dan meteen, dan kunnen wij de devvers er wat aan doen. Mochen er nog vragen zijn dan kan dat in dit topic, of ingame.
Edit: ik heb een poll toegevoegd, omdat er mensen opmerkte dat "collect items" en "deposit items" miss verkeerdom staan, dit kan aangepast, maar ik wil eerst de meningen weten :)
Edit2 een screenshot van signlocatie
(http://i54.tinypic.com/6hkdc1.png)
-
Dus toch nog via bordjes. Hoe is de parser opgebouwd? Wordt de tekst van tevoren gelext?
-
nee, pas op het moment dat er een cart langsheen rijd, miss is het inderdaad slim dat te veranderen
-
bouw er een pinguin in! :D
-
Nice!
Kan niet wachten hoe jullie dat gaan oplossen met kruisingen
-
FINALLY :D Dit zal zeker toegepast worden in mijn storage! Moet alleen de signs veranderen :+
-
Toch nog even een bericht van mijn kant,
Doordat we compatibiliteit willen hebben met MM hebben we de functies van deposit en collect wel omgedraait
deposit is van een kist naar een storagecart
collect is van een storagecart naar een kist
Houd /version TweakCart in de gaten, staat er 0.2.1 dan zijn de wijzigingen van kracht, excuus voor het ongemak. En ik hoop de topic start goed aangepast te hebben.
Ook heb ik een foutje met de directions uit de TS gehaalt het is "N+" voor carts die alleen wat mee moeten nemen als ze naar noord gaan.
-
Netjes, misschien dat ik dan toch weer eens actief ga spelen. :)
Dank voor alle moeite, devvers.
-
wat is het commando voor het vullen en legen van furnaces? of zit dat er niet in?
-
Dat zit er niet in, en zal er ook niet in komen...
GuntherDW en ik zijn van plan de functionaliteit daarvan af te vangen met een andere plugin, genaamd TweakFurnace (waarvan een versie al draait, die laat je stuff in furnace stoppen door erop te meppen). Nadat TweakCart officieel is gereleased ga ik daar verder mee, of Gunther moet tijd hebben om het af te maken, maar daar zou ik maar niet van uit gaan, gezien die wel belangrijkere dingen te doen heeft.
-
Gunther heeft het te druk met minecraft fixen :)
shiet op Gunther! XD
-
Volgens mij heeft Gunther over niet al te lange tijd tweede zit.
-
De carts nemen nog steeds niet alles mee.
En ze plaatsen het daarna in de dispencers :x
-
Dankjulliewel voor de mod:D Ben er mee aan het experimenteren xD
-
klopt het dat als een storagecart te snel langs een bordje gaat hij soms (of helemaal nooit) de items uitwisselt?
en carts storen in dispensers na een bocht is buggy, de carts glitchen er half doorheen.
-
klopt het dat als een storagecart te snel langs een bordje gaat hij soms (of helemaal nooit) de items uitwisselt?
en carts storen in dispensers na een bocht is buggy, de carts glitchen er half doorheen.
TE snel zou niet kunnen, dat zou dan een notchfaal zijn. Je laatste punt zou best kunnen, maar daar moet men dan gewoon rekening mee houden (anders wordt de code te uitgebreid als we ook nog op bochten etc. moeten controlleren).
-
Ik ben op het moment van schrijven heel hard bezig tweakcart weer werkend te krijgen, door een slechte fix is er een probleempje ontstaan, maar ik zit er dicht op :)
Ook wil ik even Ruud033 bedanken, voor zijn goede testwerk, dat zorgt ervoor dat jullie vanavond weer een tweakcart hebben :) (hoop ik)
-
Graag gedaan!
-
Wat is de status hiervan? Wil het graag weer gebruiken ;)
-
De status is op het moment pending, wij (Meaglin en ik) zijn hard aan het denken waarom er een duplicatiebug inzit, is die fixed dan kan er een release volgen
-
Ok, thanks. Ben benieuwd.
Veel succes natuurlijk!
-
Deze maar eens afstoffen
Wat is de status van TweakCart
De status is op het moment, BETA, maar een beta zonder testers is geen echte beta. Omdat het vrij ingewikkelde code bevat, die zeer goed in elkaar moet steken hebben we testers nodig. Op de testserver kan je dan tweakcart 0.2.4 (stable) uitproberen en eventuele bugs kan je op www.github.com/tweakcraft/tweakcart (http://www.github.com/tweakcraft/tweakcart) bij het tabje 'issues' toevoegen
Wanneer draait TweakCart weer op de server
Heel eenvoudig antwoord, als we bevinden dat er geen fouten meer in itemcode zit. Er mogen geen duplicatiebugs inzitten, en geen verdwijnende items, dan kan tweakcart weer enabled worden.
Hoe kan ik helpen
Super eenvoudig, test tweakcart en post bugs op github, dan ga ik er naar kijken
Nog een laatste opmerking
Ik ben een student, ik doe dit in mijn vrije tijd, en het lijkt me daarmee logisch dat ik niet 24/7 kan coden (al wil ik dat wel heel graag :D), geduld is een schone zaak
-
Als er een testserver zou zijn, met freebuild oid zou ik wel kunnen/willen testen.
-
we hebben volgens mij een testworld, dan moet je denk ik even toegang vragen aan een admin.
-
Wanneer ik weer wat tijd heb, zal ik wel weer wat stress setups maken haha.
Geef even aan welke punten vooral bij Jou de aandacht op ligt. Dan bedenk ik hier zelf wel een stress-setup voor.
-
ik geloof dat de minecarts langzamer gaan nu :(. mn boosters versnellen ook minder dan dat ze eerst deden.
-
Ik weet niet zeker of hier nog naar gekeken wordt, of dat jullie alleen maar druk bezig zijn met het ontwikkelen van versie 2. Maar er zit op het moment een bug in het systeem. Wanneer ik de richtingen aangeef op het bordje wat er moet gebeuren in bepaalde richtingen, dan werkt dat niet. Op het moment slaat ie dat over. Dus stel een minecart rijdt naar het noorden, en op het bordje staat dat wanneer hij naar het zuiden rijdt spul moet meenemen, dan neemt de minecart het spul mee ookal rijdt hij naar het noorden. Dit lijkt mij niet helemaal de bedoeling.
-
Het beste van dit soort dingen is een issue maken op github (https://github.com/TweakCraft/TweakCart/issues). Ik denk inderdaad dat je even moet wachten tot TC2 uitkomt, wat hopenlijk snel is (*Kijkt naar windwarrior*), of we moeten de bug vrij snel kunnen oplossen.
-
Het beste van dit soort dingen is een issue maken op github (https://github.com/TweakCraft/TweakCart/issues). Ik denk inderdaad dat je even moet wachten tot TC2 uitkomt, wat hopenlijk snel is (*Kijkt naar windwarrior*), of we moeten de bug vrij snel kunnen oplossen.
Ik wist niet dat jullie daar veel keken :$ Maar dan wacht ik rustig af!
-
Om hier even op terug te komen. Wanneer ik gebruik maak van Tweakcraft Essentials Client, dan klopt de minimap ook niet. Kijk ik op de kaart naar het zuiden (de S bovenin) en doe ik /compass, dan zegt die dat ik naar het westen kijk. Dus misschien gaat het daar ook ergens fout?
Dat kun je aanpassen in het menu van de minimap zelf. Als je "m" indrukt open je het menu. Dan volgens mij bij iets van minimap options kun je de direction veranderen zodat het goed staat.
Ik had daar al even naar gekeken, maar dat heet "Sunrise Direction". Dus dan klopt dat nu ook. Bedankt voor de hulp Wouter.
-
Versie 2 van TweakCart ziet er al goed uit en zou niet zo heel erg lang meer moeten duren denk ik. Wat betreft issues op github: Als je daar post krijgen de eigenaar en medewerkers een mailtje, en het is een stuk overzichtelijker voor ze dan een forum post ;)
-
Om nog even een update te geven over de huidige status:
De code is vrijwel af, maar op dit moment zitten windwarrior en ik in onze tentamenperiode. We hebben het erg druk, dus de komende 3 weken zal er niets aan gebeuren. Daarna verwachten we dat het binnen een paar weken af zal zijn.
Ook willen we even vermelden dat het geen zin heeft om constant te vragen hoe het zit met TC2. Als we iets veranderen, is dat te zien op github (https://github.com/TweakCraft/TweakCart2/). Mocht je niet tevreden zijn over de voortgang, dan nodigen we je uit om mee te helpen aan het programmeerwerk; het is immers opensource dus iedereen kan er aan meewerken. Het programmeren & testen van vitale functies zoals code die met inventories werkt (dupe-bug gevoelig), neemt veel tijd in beslag en moet goed gebeuren. We willen geen release maken totdat we zeker weten dat alle vitale bugs eruit zijn. Als TC2 af is, dan zullen we dat als nieuws posten op de frontpage, op de twitterfeed, in de IRC title, en misschien zelfs in de MOTD. Wij verzoeken dan ook vriendelijk dat iedereen geduldig afwacht en ons niet constant lopen vragen wanneer/of het af is.
Groet,
Namens het TC2 dev team,
Edoxile
-
Mooi dat jullie er hard mee bezig zijn! Vind het een supernuttige plugin en ben er heel blij mee. Denk dat dit voor de meesten geldt en ze daarom zo enthousiast wachten tot het weer werkt. :)
Goed bezig iig, ik wacht het af. Helaas is m'n Java kennis minimaal, maar als ik met niet-programmeer taken kan helpen hoor ik het graag.
-
Sorry dat ik de er zo nu en dan om vroeg, maar ik was gewoon benieuwd hoe het ermee stond ;) Voor de rest is het een super plugin en natuurlijk zit er veel werk in!
Succes in ieder geval met jullie tentamens!!
-
En ook ik ben heel erg blij met Tweakcart, mijn storage kan niet zonder. Daarom ook dat ik hoop dat het zo snel mogelijk weer up and running is. :)
Ik zou graag meehelpen met ontwikkelen, maar dat lijkt me niet verstandig. Ik heb weinig kennis van Java, weinig kennis van Bukkit-development, en ik weet niet goed wat er nu precies nog moet gebeuren. Daarom dus dat het mij beter lijkt om me niet met het ontwikkelwerk te bemoeien.
Wel wil ik graag helpen met het testen van de plugin, wanneer de tijd daarvoor rijp is.
-
@Iedereen die graag wil meehelpen, der is nu een mogelijkheid om tests te maken, waarmee de werking van tweakcart (nu/toekomst) snel getest kan worden. Ze moeten alleen nog gemaakt worden :'(, om de tests te maken is er geen kennis van een bepaalde taal nodig alleen een werkend brein + kennis van hoe tweakcart hoort te sorteren.
-
En hoe maken we die tests? Zijn dat unit tests (code), of moet ik dan denken aan testopstellingen maken op een server en naderhand het resultaat bekijken?
-
Unit tests achtig, echte unit tests zijn helaas mij niet gelukt :(
Code hoeft zelf niet geschreven te worden, alleen wat er op het bordje komt te staan + de inhoud van de cart+kist en wat er naderhand in de cart+kist moet zitten.
-
@wind en @Edox: Jullie kunnen denk ik het best aangeven hoe/wanneer/wat we kunnen helpen. Misschien handig dat jullie een concreet voorstel doen als de belangstelling er voor is?
-
Vraagje, is er ook iets van een lijstje met de features van TC2?
-
Heuj, tentamens voorbij :>
-
Sorry moest gewoon xD
(http://eriatus.mwas.nl/aacoba/files/overig/WeWantUpdate%21.png)
<3 Windwarrior en Edoxile voor het harde werk
Fix'd door Edoxile
-
Zoals jullie misschien gemerkt hebben is er weinig echte activiteit rond tweakcart 2. En ik zal proberen uit te leggen waarom.
Toen ik begon met programmeren voor TweakCraft vroeg ik aan Gunther en Edox of ik iets kon doen. Ik kreeg het tweakcart project, en begon met coden. Na enige tijd hadden we het idee af, en zou het moeten werken, alleen zaten we steeds met kritieke bugs waardoor mensen konden dupen.
Mensen waren niet bereid om te helpen, en zeurden steeds dat er nog bugs inzaten, soms zelfs zo erg dat ik ze niet kon reproduceren.
Toen heb ik bedacht dat het anders moest, ik ben begonnen met TweakCart2 omdat ik een meeer Object Oriented aanpak wou, een mooier design. Het was in eerste instantie bedoelt als een fork van TweakCart2 omdat ik het vermoeden had dat Edoxile niet mee zou gaan in mijn nieuwe aanpak. Later schaarde Edox zich ook bij TweakCart2, en moesten er van mijn kant wat consessies gedaan worden in het design, en van edox's kant wat consessies gedaan worden in peformance.
Na een paar maanden coden begaf TweakCart1 het, de krakkemikkige code is volledig unpatchbaar, en dat wil ik ook nieteens meer proberen. Positief dat ik was probeerde ik TweakCart2 klaar te stomen voor een release zodat het "gat" maar een maand of iets was. Dat lukte niet, en mijn tentamenweek was aanstaande, en daarin moest ik een vak halen anders kreeg ik mijn Propedeuse niet. Dus besloot ik me daarop te focussen, dat hebben we ook aangegeven via een post hier.
Daarna begon de stroom onzin, mensen gingen eisen dat we het METEEN naar de tentamenweek af gingen maken, en er gingen hele discussies over dat wij nou een VERPLICHTING hadden om het af te maken. En dat is nou het probleem. Elke keer als ik TweakCart weer clone, en eraan wil gaan werken staan me 2 dingen bij, het is ten eerste complexe inventorycode, en ten tweede staat iedereen over mijn schouder mee te kijken of ik het wel goed doe. Resultaat is dat als ik nu er wat aan wil doen, dat ik dat niet meer doe, het heeft te veel negatieve lading gekregen.
Uiteindelijk vond ik het tegenover jullie ook niet eerlijk om steeds vol te blijven houden dat ik het wel af zou krijgen, want ik merk gewoon dat ik er niet echt meer aan wil werken :( .
Nou voor de oplossing van het probleem, de code van tweakcart2 is te vinden op github (https://github.com/tweakcraft) en ik accepteer pull requests. Behalve dat krijg ik vaak meer zin in programmeren als er meer mensen aan werken, en ben ik niet te beroerd om mee te praten. Voor codetalk hebben we een eigen irc channel (#minecraft.code), en daar idle ik ook in.
Tot slot hoop ik dat ik mijn zin om eraan te werken weer terugvind, maar voor dit moment moet ik het even loslaten...
Edit: Voor mensen die willen meewerken, de core is verantwoordelijk voor het doorgeven van events, en bevat ook een gedeelte inventoryraamwerk. Het inventoryraamwerk faalt in het verplaatsen van items van de ene naar de andere kist. Voor de handigheid heb ik een testklasse gemaakt waarin je inventories met elkaar kan vergelijken op inhoud. Ik geloof dat dat een van de laatste dingen is die moet gebeuren.
-
Ik ben software tester misschien kan ik jullie helpen om na elke release Tweakcart te testen? Mijn bug reports zijn gestructureerd en reproduceerbaar. ;)
-
Jammer maar begrijpelijk
-
Begrijpelijk! Zou het ook niet leuk vinden als ik wat schreef en mensen er telkens over zeurden. Zou zeggen: doe het lekker op je eigen tempo en hoop dat je weer meer zin erin krijgt.
Voor de mensen die nog steeds klagen: ga zelf lekker wat schrijven :+
-
Ik hoop niet dat mijn reacties hebben bijgedragen aan dit. Indien wel, excuses daarvoor. Het is niet zo bedoeld. Ik heb respect voor iedereen die heeft bijgedragen aan plugins op TweakCraft dus ook voor jullie! Ik doe het jullie niet na!
Je hebt een lik aan je oor tegoed! _O- :+
-
als er echt volk nodig is om mee te helpen code wil ik mij wel aanmelden mijn java is atm wel beetje roestig maar dat komt wel goed . }) }) })
-
windwarrior,
Ik begrijp je frustraties en je gebrek aan motivatie ten zeerste - het gevoel dat er mensen op je vingers staan te kijken kan zeer vervelend zijn.
Wat wellicht kan helpen voor de mensen die het stokje willen overnemen is een soort-van specificaties of testscripts hebben, zodat de werking geverifieerd kan worden. Ik zou namelijk graag helpen, maar zolang ik niet goed weet wat de verwachte output is wordt het ontwikkelen voor mij ook een stuk moeilijker - ik ken de code immers niet.
Zie je mogelijkheden om hiervoor een aanzetje te geven?
-
Er staat een dergelijk opzetje in de code, er is een stuk testcode waar twee inventories op inhoud met elkaar vergeleken worden. Je kan dus de parser aanroepen met een "intmap string", daar krijg je intmap objecten van, en die kan je de inventorycode invoeren, dan kan je die testklasse gebruiken om te checken of verwacht gelijk is aan werkelijk.
Maar ik kan wel even kijken of ik het helemaal kan automatiseren... (ik beloof niets)
-
Aan alle mensen die graag willen helpen met tweakcart2. Ik heb nu (ik weet, niet al te mooie code) geschreven waarmee de cartstorage code getest kan worden, alleen nu moeten er nog tests geschreven worden. Deze tests kan door iedereen die de syntaxis van tweakcart snapt geschreven worden, dus geen kennis van java nodig 8).
Hoe maak ik een test:
Een test bestaat uit 5 onderdelen:
- Tekst wat op het bordje staat
- Inhoud van cart voordat cart er langs is gelopen
- Inhoud van kisten voordat cart er langs is gelopen
- Inhoud van cart nadat cart er langs is gelopen(resultaat)
- Inhoud van kist nadat cart er langs is gelopen(resultaat)
Tekst wat op het bordje staat
Dit lijkt me duidelijk, hier dus alles dumpen wat op je sign moet komen te staan, om alles op 1 regel te houden is er voorgekozen om de regels te scheiden met een |
Inhoud cart/kisten
Deze hebben de volgende syntax: id:aantal;id:aantal
Zoals je ziet worden de verschillende materialen gescheiden met een ; (punt comma), verder moet bij elk id een hoeveelheid(verplicht), het id en aantal wordt gescheiden door een : (dubbele punt). Overigens als je van 1 materiaal meerder stacks in de kist wil hoef je de id's niet te herhalen, je kan dan bv als aantal 128 neerzetten(2 stacks)
Voorbeeld(omdat het allemaal zo duidelijk is ;)):
collect items|all items
7:64
5:32
7:64;5:32
wat je hier ziet is een bord met de volgende text:
collect items
all items
De inhoud van de cart voor de cart er langs is gereden:
7:64
bedrock(7) een hele stack(64)
De inhoud van de kist voor de cart er langs is gereden:
5:32
wood(5) een halve stack(32)
De inhoud van de cart na de cart er langs is gereden:
(leeg)
De inhoud van de kist na de cart er langs is gereden:
7:64;5:32
2 materialen:
bedrock(7) een hele stack(64)
wood(5) een halve stack(32)
nog een voorbeeldje om het af te leren:
collect items|all items
7:192
5:32
7:192;5:32
wat je hier ziet is een bord met de volgende text:
collect items
all items
De inhoud van de cart voor de cart er langs is gereden:
3:192
durt(3) 3 hele stack(64*3)
De inhoud van de kist voor de cart er langs is gereden:
5:32
wood(5) een halve stack(32)
De inhoud van de cart na de cart er langs is gereden:
(leeg)
De inhoud van de kist na de cart er langs is gereden:
3:192;5:32
2 materialen:
durt(3) 3 hele stack(64*3)
wood(5) een halve stack(32)
Ik hoop dat veel mensen willen meewerken aan het maken van tests, zodat de devvvers zien dat de communitie graag wil helpen waardoor ze misschien weer zin krijgen in devven _o_
Groetjes Remie *;
-
Ik houd van jullie. *;
-
Goed bezig Remie! :)
-
Dus voor Remie je wilt een test samples, geloof dat ik er 1 geschreven heb voor je
Dus als ik het goed begrijp:
collect items|3
3:10;98:128
2:64
98:128
2:64;3:10
Wat je hier ziet is een bord met de volgende text:
collect items
3(dirt)
De inhoud van de cart voor de cart er langs is gereden:
3:10;98:128
dirt(3) maar 10stuks
StoneBricks(98) 2 hele stacks(64*2)
De inhoud van de kist voor de cart er langs is gereden:
2:64
grass(2) 1 stack(64)
De inhoud van de cart na de cart er langs is gereden:
98:128
stonebrick(98) 2 hele stacks(64*2)
De inhoud van de kist na de cart er langs is gereden:
2:64;3:10
grass(2) 1 stack(64)
dirt(3) 10stuks
-
Laatste poging dan..
Is er een testserver of een manier om de huidige tweakcraft setup na te bootsen. Ik heb gekregen TweakCart2 en TweakcraftUtils, echter heeft TweakcraftUtils teveel dependency (oa Logblock/Zones) wat ik niet in mijn eigen server wil stoppen.
-
die dependencies zijn alleen noodzakelijk bij het compilen :), en je kan ze er ook wel uitslopen geloof ik, in de plugin.yml staat alles was NIET strict noodzakelijk is onder soft depend.
-
Cool, leven in de brouwerij voor Tweakcart! (Y)
Hopelijk lukt het om daar snel een versie van te kunnen gebruiken. Heel veel succes! :)
-
Kijk positief nieuws :)
-
Op slot met de aankomst van TweakCart2